From 49c435c2c4689ff9af3f657fea3db6612fba2127 Mon Sep 17 00:00:00 2001 From: Jeff Ator Date: Tue, 9 Jul 2024 19:51:22 +0000 Subject: [PATCH] documentation updates for v12.1.0 --- annotated.html | 33 +- annotated_dup.js | 1 - apxdx_8F90.html | 151 + apxdx_8F90.js | 4 + apxdx_8F90_source.html | 153 + arallocc_8c.html | 43 +- arallocc_8c.js | 3 +- arallocc_8c_source.html | 151 +- arallocf_8F90.html | 359 ++ arallocf_8F90.js | 8 + arallocf_8F90_source.html | 1334 +++++ binv_8F90.html | 143 + binv_8F90.js | 4 + binv_8F90_source.html | 187 + bitmaps_8F90.html | 336 ++ bitmaps_8F90.js | 7 + bitmaps_8F90_source.html | 460 ++ blocks_8F90.html | 216 + blocks_8F90.js | 5 + blocks_8F90_source.html | 182 + borts_8F90.html | 204 + borts_8F90.js | 5 + borts_8F90_source.html | 134 + bufr__c2f__interface_8F90.html | 28 +- bufr__c2f__interface_8F90.js | 2 - bufr__c2f__interface_8F90_source.html | 229 +- bufr__interface_8F90.html | 2 +- bufr__interface_8F90_source.html | 4 +- bufr__interface_8h.html | 138 +- bufr__interface_8h.js | 1 + bufr__interface_8h_source.html | 232 +- bufrlib_8F90.html | 4 +- bufrlib_8F90_source.html | 13 +- bufrlib_8h.html | 391 +- bufrlib_8h.js | 11 +- bufrlib_8h_source.html | 108 +- cfe_8c.html | 49 +- cfe_8c_source.html | 410 +- cftbvs_8F90.html | 463 ++ cftbvs_8F90.js | 8 + cftbvs_8F90_source.html | 461 ++ cidecode_8F90.html | 616 +++ cidecode_8F90.js | 11 + cidecode_8F90_source.html | 363 ++ ciencode_8F90.html | 433 ++ ciencode_8F90.js | 8 + ciencode_8F90_source.html | 332 ++ classes.html | 4 +- cmpbqm_8F90.html | 4 +- cmpbqm_8F90_source.html | 60 +- compress_8F90.html | 357 ++ compress_8F90.js | 8 + compress_8F90_source.html | 759 +++ copydata_8F90.html | 720 +++ copydata_8F90.js | 14 + copydata_8F90_source.html | 794 +++ cpmstabs_8c.html | 14 +- cpmstabs_8c_source.html | 95 +- cread_8c.html | 4 +- cread_8c_source.html | 18 +- cread_8h.html | 8 +- cread_8h_source.html | 2 +- crwbmg_8c.html | 20 +- crwbmg_8c_source.html | 191 +- debufr_8F90.html | 44 +- debufr_8F90_source.html | 668 ++- debufr_8c.html | 26 +- debufr_8c.js | 2 +- debufr_8c_source.html | 110 +- dir_22e12ea4559d63fc79cb69a343f5f5b4.html | 109 + dir_49e56c817e5e54854c35e136979f97ca.html | 2 +- dir_68267d1309a1af8e8297ef4c3efbcdba.html | 773 +-- dir_7a6c296ee00f7c8711e279503c1d5b5f.html | 106 + dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html | 17 +- dumpdata_8F90.html | 343 ++ dumpdata_8F90.js | 7 + dumpdata_8F90_source.html | 929 ++++ dxtable_8F90.html | 1530 ++++++ dxtable_8F90.js | 26 + dxtable_8F90_source.html | 1673 +++++++ errwrt_8F90.html | 157 + errwrt_8F90.js | 4 + errwrt_8F90_source.html | 112 + files.html | 334 +- files_dup.js | 287 +- functions.html | 5 +- functions_func.html | 5 +- fxy_8F90.html | 655 +++ fxy_8F90.js | 12 + fxy_8F90_source.html | 469 ++ gettab_8F90.html | 143 + gettab_8F90.js | 4 + gettab_8F90_source.html | 139 + globals.html | 15 +- globals_b.html | 22 +- globals_c.html | 70 +- globals_d.html | 21 +- globals_defs.html | 16 +- globals_e.html | 8 +- globals_f.html | 10 +- globals_func.html | 15 +- globals_func_b.html | 22 +- globals_func_c.html | 54 +- globals_func_d.html | 21 +- globals_func_e.html | 8 +- globals_func_f.html | 10 +- globals_func_g.html | 26 +- globals_func_h.html | 4 +- globals_func_i.html | 95 +- globals_func_j.html | 4 +- globals_func_l.html | 8 +- globals_func_m.html | 28 +- globals_func_n.html | 40 +- globals_func_o.html | 22 +- globals_func_p.html | 28 +- globals_func_r.html | 54 +- globals_func_s.html | 55 +- globals_func_t.html | 8 +- globals_func_u.html | 76 +- globals_func_w.html | 29 +- globals_func_x.html | 6 +- globals_g.html | 26 +- globals_h.html | 4 +- globals_i.html | 104 +- globals_j.html | 4 +- globals_l.html | 8 +- globals_m.html | 37 +- globals_n.html | 49 +- globals_o.html | 22 +- globals_p.html | 28 +- globals_r.html | 54 +- globals_s.html | 55 +- globals_t.html | 8 +- globals_u.html | 76 +- globals_v.html | 4 +- globals_vars.html | 33 +- globals_w.html | 29 +- globals_x.html | 6 +- icvidx_8c.html | 4 +- icvidx_8c_source.html | 4 +- index.html | 25 +- interfacebufr__interface_1_1ccbfl__c.html | 2 +- interfacebufr__interface_1_1cobfl__c.html | 2 +- interfacebufr__interface_1_1crbmg__c.html | 2 +- interfacebufr__interface_1_1cwbmg__c.html | 2 +- interfacebufr__interface_1_1dlloctbf__c.html | 2 +- interfacebufrlib_1_1arallocc__c.html | 2 +- interfacebufrlib_1_1ardllocc__c.html | 4 +- interfacebufrlib_1_1backbufr__c.html | 4 +- interfacebufrlib_1_1cewind__c.html | 4 +- interfacebufrlib_1_1closfb__c.html | 4 +- interfacebufrlib_1_1cpmstabs__c.html | 10 +- interfacebufrlib_1_1crdbufr__c.html | 4 +- interfacebufrlib_1_1cwrbufr__c.html | 4 +- interfacebufrlib_1_1icvidx__c.html | 4 +- interfacebufrlib_1_1inittbf__c.html | 4 +- interfacebufrlib_1_1openab__c.html | 4 +- interfacebufrlib_1_1openrb__c.html | 4 +- interfacebufrlib_1_1openwb__c.html | 4 +- interfacebufrlib_1_1restd__c.html | 4 +- interfacebufrlib_1_1sorttbf__c.html | 4 +- interfacebufrlib_1_1srchtbf__c.html | 10 +- interfacebufrlib_1_1strtbfe__c.html | 6 +- interfacebufrlib_1_1stseq__c.html | 4 +- jumplink_8F90.html | 1403 ++++++ jumplink_8F90.js | 23 + jumplink_8F90_source.html | 1447 ++++++ mastertable_8F90.html | 1365 ++++++ mastertable_8F90.js | 19 + mastertable_8F90_source.html | 1151 +++++ ..._NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html | 305 +- ...ufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html | 35 +- ...NCEPLIBS_bufr_bufr_docs_master_tables.html | 28 +- ...BS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html | 60 +- memmsgs_8F90.html | 832 ++++ memmsgs_8F90.js | 14 + memmsgs_8F90_source.html | 1203 +++++ menudata.js | 4 +- misc_8F90.html | 581 +++ misc_8F90.js | 14 + misc_8F90_source.html | 557 +++ missing_8F90.html | 279 ++ missing_8F90.js | 7 + missing_8F90_source.html | 212 + modules__arrs_8F90.html | 272 +- modules__arrs_8F90.js | 33 +- modules__arrs_8F90_source.html | 797 +-- modules__vars_8F90.html | 1212 ++++- modules__vars_8F90.js | 79 +- modules__vars_8F90_source.html | 286 +- mstabs_8h.html | 235 +- mstabs_8h.js | 29 +- mstabs_8h_source.html | 95 +- namespacebufr__c2f__interface.html | 271 +- namespacebufr__interface.html | 2 +- namespacebufrlib.html | 4 +- namespacebufrlib.js | 1 - namespacemembers.html | 5 +- namespacemembers_c.html | 19 +- namespacemembers_d.html | 2 +- namespacemembers_e.html | 2 +- namespacemembers_f.html | 2 +- namespacemembers_func.html | 12 +- namespacemembers_g.html | 2 +- namespacemembers_i.html | 36 +- namespacemembers_j.html | 11 +- namespacemembers_k.html | 9 +- namespacemembers_l.html | 2 +- namespacemembers_m.html | 94 +- namespacemembers_n.html | 7 +- namespacemembers_o.html | 2 +- namespacemembers_p.html | 2 +- namespacemembers_r.html | 2 +- namespacemembers_s.html | 2 +- namespacemembers_t.html | 2 +- namespacemembers_u.html | 2 +- namespacemembers_v.html | 2 +- namespacemembers_vars.html | 170 +- namespacemembers_w.html | 5 +- namespacemembers_x.html | 2 +- namespacemoda__bitbuf.html | 36 +- namespacemoda__bitmaps.html | 46 +- namespacemoda__bufrmg.html | 18 +- namespacemoda__bufrsr.html | 115 +- namespacemoda__comprs.html | 48 +- namespacemoda__comprx.html | 128 +- namespacemoda__dscach.html | 66 +- namespacemoda__h4wlc.html | 32 +- namespacemoda__idrdm.html | 16 +- namespacemoda__ival.html | 24 +- namespacemoda__ivttmp.html | 18 +- namespacemoda__lushr.html | 16 +- namespacemoda__mgwa.html | 10 +- namespacemoda__mgwb.html | 10 +- namespacemoda__msgcmp.html | 140 + namespacemoda__msgcwd.html | 26 +- namespacemoda__msglim.html | 18 +- namespacemoda__msgmem.html | 92 +- namespacemoda__msgstd.html | 140 + namespacemoda__mstabs.html | 84 +- namespacemoda__nmikrp.html | 20 +- namespacemoda__nrv203.html | 44 +- namespacemoda__nulbfr.html | 16 +- namespacemoda__rdmtb.html | 28 +- namespacemoda__rlccmn.html | 22 +- namespacemoda__s01cm.html | 20 +- namespacemoda__s3list.html | 159 + namespacemoda__sc3bfr.html | 24 +- namespacemoda__stbfr.html | 16 +- namespacemoda__stcode.html | 14 +- namespacemoda__tababd.html | 78 +- namespacemoda__tablef.html | 140 + namespacemoda__tables.html | 61 +- namespacemoda__tnkrcp.html | 255 + namespacemoda__ufbcpl.html | 10 +- namespacemoda__unptyp.html | 8 +- namespacemoda__usrbit.html | 12 +- namespacemoda__usrint.html | 23 +- namespacemoda__usrtmp.html | 14 +- namespacemoda__xtab.html | 18 +- namespaces.html | 143 +- namespaces_dup.js | 190 +- namespaceshare__table__info.html | 6 +- navtreedata.js | 144 +- navtreeindex0.js | 490 +- navtreeindex1.js | 400 +- navtreeindex2.js | 432 +- navtreeindex3.js | 462 +- navtreeindex4.js | 460 +- navtreeindex5.js | 317 +- openbt_8F90.html | 173 + openbt_8F90.js | 4 + openbt_8F90_source.html | 142 + openclosebf_8F90.html | 753 +++ openclosebf_8F90.js | 13 + openclosebf_8F90_source.html | 1049 ++++ pages.html | 2 +- .../v12.0.1/adn30_8f.html | 0 .../v12.0.1/adn30_8f.js | 0 .../v12.0.1/adn30_8f_source.html | 0 previous_versions/v12.0.1/annotated.html | 128 + previous_versions/v12.0.1/annotated_dup.js | 31 + previous_versions/v12.0.1/arallocc_8c.html | 177 + previous_versions/v12.0.1/arallocc_8c.js | 5 + .../v12.0.1/arallocc_8c_source.html | 184 + .../v12.0.1/arallocf_8f.html | 0 .../v12.0.1/arallocf_8f.js | 0 .../v12.0.1/arallocf_8f_source.html | 0 .../v12.0.1/ardllocc_8c.html | 0 .../v12.0.1/ardllocc_8c.js | 0 .../v12.0.1/ardllocc_8c_source.html | 0 .../v12.0.1/ardllocf_8f.html | 0 .../v12.0.1/ardllocf_8f.js | 0 .../v12.0.1/ardllocf_8f_source.html | 0 .../v12.0.1/atrcpt_8f.html | 0 .../v12.0.1/atrcpt_8f.js | 0 .../v12.0.1/atrcpt_8f_source.html | 0 previous_versions/v12.0.1/bc_s.png | Bin 0 -> 676 bytes previous_versions/v12.0.1/bdwn.png | Bin 0 -> 147 bytes .../v12.0.1/bfrini_8f90.html | 0 .../v12.0.1/bfrini_8f90.js | 0 .../v12.0.1/bfrini_8f90_source.html | 0 .../v12.0.1/binv_8f90.html | 0 .../v12.0.1/binv_8f90.js | 0 .../v12.0.1/binv_8f90_source.html | 0 .../v12.0.1/blocks_8f.html | 0 .../v12.0.1/blocks_8f.js | 0 .../v12.0.1/blocks_8f_source.html | 0 .../v12.0.1/bort2_8f.html | 0 .../v12.0.1/bort2_8f.js | 0 .../v12.0.1/bort2_8f_source.html | 0 .../v12.0.1/bort_8f.html | 0 .../v12.0.1/bort_8f.js | 0 .../v12.0.1/bort_8f_source.html | 0 .../v12.0.1/bort__exit_8c.html | 0 .../v12.0.1/bort__exit_8c.js | 0 .../v12.0.1/bort__exit_8c_source.html | 0 .../v12.0.1/bufr__c2f__interface_8F90.html | 282 ++ .../v12.0.1/bufr__c2f__interface_8F90.js | 66 + .../bufr__c2f__interface_8F90_source.html | 811 ++++ .../v12.0.1/bufr__interface_8F90.html | 133 + .../v12.0.1/bufr__interface_8F90_source.html | 143 + .../v12.0.1/bufr__interface_8h.html | 2209 +++++++++ .../v12.0.1/bufr__interface_8h.js | 46 + .../v12.0.1/bufr__interface_8h_source.html | 261 + previous_versions/v12.0.1/bufrlib_8F90.html | 161 + .../v12.0.1/bufrlib_8F90_source.html | 238 + previous_versions/v12.0.1/bufrlib_8h.html | 1778 +++++++ previous_versions/v12.0.1/bufrlib_8h.js | 44 + .../v12.0.1/bufrlib_8h_source.html | 207 + .../v12.0.1/bvers_8f.html | 0 .../v12.0.1/bvers_8f.js | 0 .../v12.0.1/bvers_8f_source.html | 0 .../v12.0.1/cadn30_8f.html | 0 .../v12.0.1/cadn30_8f.js | 0 .../v12.0.1/cadn30_8f_source.html | 0 .../v12.0.1/capit_8f.html | 0 .../v12.0.1/capit_8f.js | 0 .../v12.0.1/capit_8f_source.html | 0 previous_versions/v12.0.1/cfe_8c.html | 595 +++ previous_versions/v12.0.1/cfe_8c.js | 14 + previous_versions/v12.0.1/cfe_8c_source.html | 336 ++ .../v12.0.1/chekstab_8f.html | 0 .../v12.0.1/chekstab_8f.js | 0 .../v12.0.1/chekstab_8f_source.html | 0 .../v12.0.1/cktaba_8f.html | 0 .../v12.0.1/cktaba_8f.js | 0 .../v12.0.1/cktaba_8f_source.html | 0 previous_versions/v12.0.1/classes.html | 125 + .../v12.0.1/closbf_8f.html | 0 .../v12.0.1/closbf_8f.js | 0 .../v12.0.1/closbf_8f_source.html | 0 previous_versions/v12.0.1/closed.png | Bin 0 -> 132 bytes .../v12.0.1/closmg_8f.html | 0 .../v12.0.1/closmg_8f.js | 0 .../v12.0.1/closmg_8f_source.html | 0 previous_versions/v12.0.1/cmpbqm_8F90.html | 143 + previous_versions/v12.0.1/cmpbqm_8F90.js | 4 + .../v12.0.1/cmpbqm_8F90_source.html | 226 + .../v12.0.1/cmpmsg_8f.html | 0 .../v12.0.1/cmpmsg_8f.js | 0 .../v12.0.1/cmpmsg_8f_source.html | 0 .../v12.0.1/cmsgini_8f.html | 0 .../v12.0.1/cmsgini_8f.js | 0 .../v12.0.1/cmsgini_8f_source.html | 0 .../v12.0.1/cnved4_8f.html | 0 .../v12.0.1/cnved4_8f.js | 0 .../v12.0.1/cnved4_8f_source.html | 0 .../v12.0.1/codflg_8f.html | 0 .../v12.0.1/codflg_8f.js | 0 .../v12.0.1/codflg_8f_source.html | 0 .../v12.0.1/conwin_8f.html | 0 .../v12.0.1/conwin_8f.js | 0 .../v12.0.1/conwin_8f_source.html | 0 .../v12.0.1/copybf_8f.html | 0 .../v12.0.1/copybf_8f.js | 0 .../v12.0.1/copybf_8f_source.html | 0 .../v12.0.1/copymg_8f.html | 0 .../v12.0.1/copymg_8f.js | 0 .../v12.0.1/copymg_8f_source.html | 0 .../v12.0.1/copysb_8f.html | 0 .../v12.0.1/copysb_8f.js | 0 .../v12.0.1/copysb_8f_source.html | 0 .../v12.0.1/cpbfdx_8f.html | 0 .../v12.0.1/cpbfdx_8f.js | 0 .../v12.0.1/cpbfdx_8f_source.html | 0 .../v12.0.1/cpdxmm_8f.html | 0 .../v12.0.1/cpdxmm_8f.js | 0 .../v12.0.1/cpdxmm_8f_source.html | 0 previous_versions/v12.0.1/cpmstabs_8c.html | 257 + previous_versions/v12.0.1/cpmstabs_8c.js | 4 + .../v12.0.1/cpmstabs_8c_source.html | 183 + .../v12.0.1/cpymem_8f.html | 0 .../v12.0.1/cpymem_8f.js | 0 .../v12.0.1/cpymem_8f_source.html | 0 .../v12.0.1/cpyupd_8f.html | 0 .../v12.0.1/cpyupd_8f.js | 0 .../v12.0.1/cpyupd_8f_source.html | 0 previous_versions/v12.0.1/cread_8c.html | 477 ++ previous_versions/v12.0.1/cread_8c.js | 11 + .../v12.0.1/cread_8c_source.html | 227 + previous_versions/v12.0.1/cread_8h.html | 177 + previous_versions/v12.0.1/cread_8h.js | 5 + .../v12.0.1/cread_8h_source.html | 109 + previous_versions/v12.0.1/crwbmg_8c.html | 458 ++ previous_versions/v12.0.1/crwbmg_8c.js | 10 + .../v12.0.1/crwbmg_8c_source.html | 281 ++ .../v12.0.1/datebf_8f.html | 0 .../v12.0.1/datebf_8f.js | 0 .../v12.0.1/datebf_8f_source.html | 0 .../v12.0.1/datelen_8f.html | 0 .../v12.0.1/datelen_8f.js | 0 .../v12.0.1/datelen_8f_source.html | 0 previous_versions/v12.0.1/debufr_8F90.html | 321 ++ previous_versions/v12.0.1/debufr_8F90.js | 8 + .../v12.0.1/debufr_8F90_source.html | 477 ++ previous_versions/v12.0.1/debufr_8c.html | 372 ++ previous_versions/v12.0.1/debufr_8c.js | 6 + .../v12.0.1/debufr_8c_source.html | 356 ++ .../v12.0.1/digit_8f.html | 0 .../v12.0.1/digit_8f.js | 0 .../v12.0.1/digit_8f_source.html | 0 .../dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html | 0 .../dir_49e56c817e5e54854c35e136979f97ca.html | 99 + .../dir_4e7c8c4fc0d923782da8a23d70a9725b.html | 0 .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 892 ++++ .../dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html | 127 + previous_versions/v12.0.1/doc.png | Bin 0 -> 746 bytes previous_versions/v12.0.1/doxygen.css | 1793 +++++++ previous_versions/v12.0.1/doxygen.svg | 26 + .../v12.0.1/drfini_8f.html | 0 .../v12.0.1/drfini_8f.js | 0 .../v12.0.1/drfini_8f_source.html | 0 .../v12.0.1/drstpl_8f.html | 0 .../v12.0.1/drstpl_8f.js | 0 .../v12.0.1/drstpl_8f_source.html | 0 .../v12.0.1/dumpbf_8f.html | 0 .../v12.0.1/dumpbf_8f.js | 0 .../v12.0.1/dumpbf_8f_source.html | 0 .../v12.0.1/dxdump_8f.html | 0 .../v12.0.1/dxdump_8f.js | 0 .../v12.0.1/dxdump_8f_source.html | 0 .../v12.0.1/dxinit_8f.html | 0 .../v12.0.1/dxinit_8f.js | 0 .../v12.0.1/dxinit_8f_source.html | 0 .../v12.0.1/dxmini_8f.html | 0 .../v12.0.1/dxmini_8f.js | 0 .../v12.0.1/dxmini_8f_source.html | 0 previous_versions/v12.0.1/dynsections.js | 128 + .../v12.0.1/elemdx_8f.html | 0 .../v12.0.1/elemdx_8f.js | 0 .../v12.0.1/elemdx_8f_source.html | 0 .../v12.0.1/errwrt_8f.html | 0 .../v12.0.1/errwrt_8f.js | 0 .../v12.0.1/errwrt_8f_source.html | 0 .../v12.0.1/exitbufr_8f.html | 0 .../v12.0.1/exitbufr_8f.js | 0 .../v12.0.1/exitbufr_8f_source.html | 0 previous_versions/v12.0.1/files.html | 378 ++ previous_versions/v12.0.1/files_dup.js | 305 ++ previous_versions/v12.0.1/folderclosed.png | Bin 0 -> 616 bytes previous_versions/v12.0.1/folderopen.png | Bin 0 -> 597 bytes .../v12.0.1/fortran__close_8F90.html | 0 .../v12.0.1/fortran__close_8F90.js | 0 .../v12.0.1/fortran__close_8F90_source.html | 0 .../v12.0.1/fortran__open_8F90.html | 0 .../v12.0.1/fortran__open_8F90.js | 0 .../v12.0.1/fortran__open_8F90_source.html | 0 .../v12.0.1/fstag_8f.html | 0 .../v12.0.1/fstag_8f.js | 0 .../v12.0.1/fstag_8f_source.html | 0 previous_versions/v12.0.1/functions.html | 168 + previous_versions/v12.0.1/functions_func.html | 168 + .../v12.0.1/getabdb_8f.html | 0 .../v12.0.1/getabdb_8f.js | 0 .../v12.0.1/getabdb_8f_source.html | 0 .../v12.0.1/getbmiss_8f.html | 0 .../v12.0.1/getbmiss_8f.js | 0 .../v12.0.1/getbmiss_8f_source.html | 0 .../v12.0.1/getcfmng_8f.html | 0 .../v12.0.1/getcfmng_8f.js | 0 .../v12.0.1/getcfmng_8f_source.html | 0 .../v12.0.1/getlens_8f.html | 0 .../v12.0.1/getlens_8f.js | 0 .../v12.0.1/getlens_8f_source.html | 0 .../v12.0.1/getntbe_8f.html | 0 .../v12.0.1/getntbe_8f.js | 0 .../v12.0.1/getntbe_8f_source.html | 0 .../v12.0.1/gets1loc_8f.html | 0 .../v12.0.1/gets1loc_8f.js | 0 .../v12.0.1/gets1loc_8f_source.html | 0 .../v12.0.1/gettab_8f90.html | 0 .../v12.0.1/gettab_8f90.js | 0 .../v12.0.1/gettab_8f90_source.html | 0 .../v12.0.1/gettagpr_8f.html | 0 .../v12.0.1/gettagpr_8f.js | 0 .../v12.0.1/gettagpr_8f_source.html | 0 .../v12.0.1/gettagre_8f.html | 0 .../v12.0.1/gettagre_8f.js | 0 .../v12.0.1/gettagre_8f_source.html | 0 .../v12.0.1/gettbh_8f.html | 0 .../v12.0.1/gettbh_8f.js | 0 .../v12.0.1/gettbh_8f_source.html | 0 .../v12.0.1/getvalnb_8f.html | 0 .../v12.0.1/getvalnb_8f.js | 0 .../v12.0.1/getvalnb_8f_source.html | 0 .../v12.0.1/getwin_8f.html | 0 .../v12.0.1/getwin_8f.js | 0 .../v12.0.1/getwin_8f_source.html | 0 previous_versions/v12.0.1/globals.html | 118 + previous_versions/v12.0.1/globals_b.html | 130 + previous_versions/v12.0.1/globals_c.html | 238 + previous_versions/v12.0.1/globals_d.html | 131 + previous_versions/v12.0.1/globals_defs.html | 138 + previous_versions/v12.0.1/globals_dup.js | 25 + previous_versions/v12.0.1/globals_e.html | 113 + previous_versions/v12.0.1/globals_f.html | 116 + previous_versions/v12.0.1/globals_func.html | 118 + previous_versions/v12.0.1/globals_func.js | 24 + previous_versions/v12.0.1/globals_func_b.html | 130 + previous_versions/v12.0.1/globals_func_c.html | 211 + previous_versions/v12.0.1/globals_func_d.html | 131 + previous_versions/v12.0.1/globals_func_e.html | 113 + previous_versions/v12.0.1/globals_func_f.html | 113 + previous_versions/v12.0.1/globals_func_g.html | 167 + previous_versions/v12.0.1/globals_func_h.html | 101 + previous_versions/v12.0.1/globals_func_i.html | 276 ++ previous_versions/v12.0.1/globals_func_j.html | 101 + previous_versions/v12.0.1/globals_func_l.html | 107 + previous_versions/v12.0.1/globals_func_m.html | 147 + previous_versions/v12.0.1/globals_func_n.html | 173 + previous_versions/v12.0.1/globals_func_o.html | 132 + previous_versions/v12.0.1/globals_func_p.html | 147 + previous_versions/v12.0.1/globals_func_r.html | 186 + previous_versions/v12.0.1/globals_func_s.html | 189 + previous_versions/v12.0.1/globals_func_t.html | 107 + previous_versions/v12.0.1/globals_func_u.html | 221 + previous_versions/v12.0.1/globals_func_w.html | 135 + previous_versions/v12.0.1/globals_func_x.html | 104 + previous_versions/v12.0.1/globals_g.html | 167 + previous_versions/v12.0.1/globals_h.html | 101 + previous_versions/v12.0.1/globals_i.html | 288 ++ previous_versions/v12.0.1/globals_j.html | 101 + previous_versions/v12.0.1/globals_l.html | 110 + previous_versions/v12.0.1/globals_m.html | 174 + previous_versions/v12.0.1/globals_n.html | 191 + previous_versions/v12.0.1/globals_o.html | 132 + previous_versions/v12.0.1/globals_p.html | 153 + previous_versions/v12.0.1/globals_r.html | 186 + previous_versions/v12.0.1/globals_s.html | 189 + previous_versions/v12.0.1/globals_t.html | 107 + previous_versions/v12.0.1/globals_u.html | 224 + previous_versions/v12.0.1/globals_v.html | 101 + previous_versions/v12.0.1/globals_vars.html | 156 + previous_versions/v12.0.1/globals_w.html | 135 + previous_versions/v12.0.1/globals_x.html | 104 + .../v12.0.1/hold4wlc_8f.html | 0 .../v12.0.1/hold4wlc_8f.js | 0 .../v12.0.1/hold4wlc_8f_source.html | 0 .../v12.0.1/i4dy_8f.html | 0 .../v12.0.1/i4dy_8f.js | 0 .../v12.0.1/i4dy_8f_source.html | 0 .../v12.0.1/ibfms_8f.html | 0 .../v12.0.1/ibfms_8f.js | 0 .../v12.0.1/ibfms_8f_source.html | 0 .../v12.0.1/icbfms_8f.html | 0 .../v12.0.1/icbfms_8f.js | 0 .../v12.0.1/icbfms_8f_source.html | 0 .../v12.0.1/icmpdx_8f.html | 0 .../v12.0.1/icmpdx_8f.js | 0 .../v12.0.1/icmpdx_8f_source.html | 0 .../v12.0.1/icopysb_8f.html | 0 .../v12.0.1/icopysb_8f.js | 0 .../v12.0.1/icopysb_8f_source.html | 0 previous_versions/v12.0.1/icvidx_8c.html | 172 + previous_versions/v12.0.1/icvidx_8c.js | 4 + .../v12.0.1/icvidx_8c_source.html | 106 + .../v12.0.1/idn30_8f.html | 0 .../v12.0.1/idn30_8f.js | 0 .../v12.0.1/idn30_8f_source.html | 0 .../v12.0.1/idxmsg_8f.html | 0 .../v12.0.1/idxmsg_8f.js | 0 .../v12.0.1/idxmsg_8f_source.html | 0 .../v12.0.1/ifbget_8f.html | 0 .../v12.0.1/ifbget_8f.js | 0 .../v12.0.1/ifbget_8f_source.html | 0 .../v12.0.1/ifxy_8f.html | 0 .../v12.0.1/ifxy_8f.js | 0 .../v12.0.1/ifxy_8f_source.html | 0 .../v12.0.1/igetdate_8f.html | 0 .../v12.0.1/igetdate_8f.js | 0 .../v12.0.1/igetdate_8f_source.html | 0 .../v12.0.1/igetfxy_8f.html | 0 .../v12.0.1/igetfxy_8f.js | 0 .../v12.0.1/igetfxy_8f_source.html | 0 .../v12.0.1/igetmxby_8f.html | 0 .../v12.0.1/igetmxby_8f.js | 0 .../v12.0.1/igetmxby_8f_source.html | 0 .../v12.0.1/igetntbi_8f.html | 0 .../v12.0.1/igetntbi_8f.js | 0 .../v12.0.1/igetntbi_8f_source.html | 0 .../v12.0.1/igetntbl_8f.html | 0 .../v12.0.1/igetntbl_8f.js | 0 .../v12.0.1/igetntbl_8f_source.html | 0 .../v12.0.1/igetprm_8f.html | 0 .../v12.0.1/igetprm_8f.js | 0 .../v12.0.1/igetprm_8f_source.html | 0 .../v12.0.1/igetrfel_8f.html | 0 .../v12.0.1/igetrfel_8f.js | 0 .../v12.0.1/igetrfel_8f_source.html | 0 .../v12.0.1/igetsc_8f.html | 0 .../v12.0.1/igetsc_8f.js | 0 .../v12.0.1/igetsc_8f_source.html | 0 .../v12.0.1/igettdi_8f.html | 0 .../v12.0.1/igettdi_8f.js | 0 .../v12.0.1/igettdi_8f_source.html | 0 .../v12.0.1/imrkopr_8f.html | 0 .../v12.0.1/imrkopr_8f.js | 0 .../v12.0.1/imrkopr_8f_source.html | 0 .../v12.0.1/inctab_8f.html | 0 .../v12.0.1/inctab_8f.js | 0 .../v12.0.1/inctab_8f_source.html | 0 previous_versions/v12.0.1/index.html | 156 + .../interfacebufr__interface_1_1ccbfl__c.html | 136 + .../interfacebufr__interface_1_1ccbfl__c.js | 4 + .../interfacebufr__interface_1_1cobfl__c.html | 157 + .../interfacebufr__interface_1_1cobfl__c.js | 4 + .../interfacebufr__interface_1_1crbmg__c.html | 171 + .../interfacebufr__interface_1_1crbmg__c.js | 4 + .../interfacebufr__interface_1_1cwbmg__c.html | 164 + .../interfacebufr__interface_1_1cwbmg__c.js | 4 + ...terfacebufr__interface_1_1dlloctbf__c.html | 136 + ...interfacebufr__interface_1_1dlloctbf__c.js | 4 + .../interfacebufrlib_1_1arallocc__c.html | 136 + .../interfacebufrlib_1_1arallocc__c.js | 4 + .../interfacebufrlib_1_1ardllocc__c.html | 136 + .../interfacebufrlib_1_1ardllocc__c.js | 4 + .../interfacebufrlib_1_1backbufr__c.html | 146 + .../interfacebufrlib_1_1backbufr__c.js | 4 + .../interfacebufrlib_1_1bort__exit__c.html | 0 .../interfacebufrlib_1_1bort__exit__c.js | 0 .../interfacebufrlib_1_1cewind__c.html | 146 + .../v12.0.1/interfacebufrlib_1_1cewind__c.js | 4 + .../interfacebufrlib_1_1closfb__c.html | 146 + .../v12.0.1/interfacebufrlib_1_1closfb__c.js | 4 + .../interfacebufrlib_1_1cpmstabs__c.html | 248 + .../interfacebufrlib_1_1cpmstabs__c.js | 4 + .../interfacebufrlib_1_1crdbufr__c.html | 170 + .../v12.0.1/interfacebufrlib_1_1crdbufr__c.js | 4 + .../interfacebufrlib_1_1cwrbufr__c.html | 164 + .../v12.0.1/interfacebufrlib_1_1cwrbufr__c.js | 4 + .../interfacebufrlib_1_1icvidx__c.html | 165 + .../v12.0.1/interfacebufrlib_1_1icvidx__c.js | 4 + .../interfacebufrlib_1_1inittbf__c.html | 136 + .../v12.0.1/interfacebufrlib_1_1inittbf__c.js | 4 + .../interfacebufrlib_1_1openab__c.html | 157 + .../v12.0.1/interfacebufrlib_1_1openab__c.js | 4 + .../interfacebufrlib_1_1openrb__c.html | 157 + .../v12.0.1/interfacebufrlib_1_1openrb__c.js | 4 + .../interfacebufrlib_1_1openwb__c.html | 157 + .../v12.0.1/interfacebufrlib_1_1openwb__c.js | 4 + .../v12.0.1/interfacebufrlib_1_1restd__c.html | 171 + .../v12.0.1/interfacebufrlib_1_1restd__c.js | 4 + .../interfacebufrlib_1_1sorttbf__c.html | 136 + .../v12.0.1/interfacebufrlib_1_1sorttbf__c.js | 4 + .../interfacebufrlib_1_1srchtbf__c.html | 215 + .../v12.0.1/interfacebufrlib_1_1srchtbf__c.js | 4 + .../interfacebufrlib_1_1strtbfe__c.html | 185 + .../v12.0.1/interfacebufrlib_1_1strtbfe__c.js | 4 + .../v12.0.1/interfacebufrlib_1_1stseq__c.html | 192 + .../v12.0.1/interfacebufrlib_1_1stseq__c.js | 4 + .../v12.0.1/invcon_8f.html | 0 .../v12.0.1/invcon_8f.js | 0 .../v12.0.1/invcon_8f_source.html | 0 .../v12.0.1/invmrg_8f.html | 0 .../v12.0.1/invmrg_8f.js | 0 .../v12.0.1/invmrg_8f_source.html | 0 .../v12.0.1/invtag_8f.html | 0 .../v12.0.1/invtag_8f.js | 0 .../v12.0.1/invtag_8f_source.html | 0 .../v12.0.1/invwin_8f.html | 0 .../v12.0.1/invwin_8f.js | 0 .../v12.0.1/invwin_8f_source.html | 0 .../v12.0.1/iok2cpy_8f.html | 0 .../v12.0.1/iok2cpy_8f.js | 0 .../v12.0.1/iok2cpy_8f_source.html | 0 .../v12.0.1/iokoper_8f.html | 0 .../v12.0.1/iokoper_8f.js | 0 .../v12.0.1/iokoper_8f_source.html | 0 .../v12.0.1/ipkm_8f.html | 0 .../v12.0.1/ipkm_8f.js | 0 .../v12.0.1/ipkm_8f_source.html | 0 .../v12.0.1/ipks_8f.html | 0 .../v12.0.1/ipks_8f.js | 0 .../v12.0.1/ipks_8f_source.html | 0 .../v12.0.1/ireadmg_8f.html | 0 .../v12.0.1/ireadmg_8f.js | 0 .../v12.0.1/ireadmg_8f_source.html | 0 .../v12.0.1/ireadmm_8f.html | 0 .../v12.0.1/ireadmm_8f.js | 0 .../v12.0.1/ireadmm_8f_source.html | 0 .../v12.0.1/ireadmt_8f.html | 0 .../v12.0.1/ireadmt_8f.js | 0 .../v12.0.1/ireadmt_8f_source.html | 0 .../v12.0.1/ireadns_8f.html | 0 .../v12.0.1/ireadns_8f.js | 0 .../v12.0.1/ireadns_8f_source.html | 0 .../v12.0.1/ireadsb_8f.html | 0 .../v12.0.1/ireadsb_8f.js | 0 .../v12.0.1/ireadsb_8f_source.html | 0 .../v12.0.1/irev_8F.html | 0 .../v12.0.1/irev_8F.js | 0 .../v12.0.1/irev_8F_source.html | 0 .../v12.0.1/isetprm_8f.html | 0 .../v12.0.1/isetprm_8f.js | 0 .../v12.0.1/isetprm_8f_source.html | 0 .../v12.0.1/ishrdx_8f.html | 0 .../v12.0.1/ishrdx_8f.js | 0 .../v12.0.1/ishrdx_8f_source.html | 0 .../v12.0.1/isize_8f.html | 0 .../v12.0.1/isize_8f.js | 0 .../v12.0.1/isize_8f_source.html | 0 .../v12.0.1/istdesc_8f.html | 0 .../v12.0.1/istdesc_8f.js | 0 .../v12.0.1/istdesc_8f_source.html | 0 .../v12.0.1/iupb_8f.html | 0 .../v12.0.1/iupb_8f.js | 0 .../v12.0.1/iupb_8f_source.html | 0 .../v12.0.1/iupbs01_8f.html | 0 .../v12.0.1/iupbs01_8f.js | 0 .../v12.0.1/iupbs01_8f_source.html | 0 .../v12.0.1/iupbs3_8f.html | 0 .../v12.0.1/iupbs3_8f.js | 0 .../v12.0.1/iupbs3_8f_source.html | 0 .../v12.0.1/iupm_8f.html | 0 .../v12.0.1/iupm_8f.js | 0 .../v12.0.1/iupm_8f_source.html | 0 .../v12.0.1/iupvs01_8f.html | 0 .../v12.0.1/iupvs01_8f.js | 0 .../v12.0.1/iupvs01_8f_source.html | 0 previous_versions/v12.0.1/jquery.js | 35 + .../v12.0.1/jstnum_8f.html | 0 .../v12.0.1/jstnum_8f.js | 0 .../v12.0.1/jstnum_8f_source.html | 0 .../v12.0.1/lcmgdf_8f.html | 0 .../v12.0.1/lcmgdf_8f.js | 0 .../v12.0.1/lcmgdf_8f_source.html | 0 .../v12.0.1/lmsg_8f.html | 0 .../v12.0.1/lmsg_8f.js | 0 .../v12.0.1/lmsg_8f_source.html | 0 .../v12.0.1/lstjpb_8f.html | 0 .../v12.0.1/lstjpb_8f.js | 0 .../v12.0.1/lstjpb_8f_source.html | 0 .../v12.0.1/makestab_8f.html | 0 .../v12.0.1/makestab_8f.js | 0 .../v12.0.1/makestab_8f_source.html | 0 .../v12.0.1/maxout_8f.html | 0 .../v12.0.1/maxout_8f.js | 0 .../v12.0.1/maxout_8f_source.html | 0 ..._NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html | 644 +++ ...ufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html | 706 +++ ...NCEPLIBS_bufr_bufr_docs_master_tables.html | 418 ++ ...BS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html | 609 +++ previous_versions/v12.0.1/menu.js | 51 + previous_versions/v12.0.1/menudata.js | 137 + .../v12.0.1/mesgbc_8f.html | 0 .../v12.0.1/mesgbc_8f.js | 0 .../v12.0.1/mesgbc_8f_source.html | 0 .../v12.0.1/mesgbf_8f.html | 0 .../v12.0.1/mesgbf_8f.js | 0 .../v12.0.1/mesgbf_8f_source.html | 0 .../v12.0.1/minimg_8f.html | 0 .../v12.0.1/minimg_8f.js | 0 .../v12.0.1/minimg_8f_source.html | 0 .../v12.0.1/modules__arrs_8F90.html | 717 +++ .../v12.0.1/modules__arrs_8F90.js | 167 + .../v12.0.1/modules__arrs_8F90_source.html | 577 +++ .../v12.0.1/modules__vars_8F90.html | 315 ++ .../v12.0.1/modules__vars_8F90.js | 36 + .../v12.0.1/modules__vars_8F90_source.html | 293 ++ .../v12.0.1/mrginv_8f.html | 0 .../v12.0.1/mrginv_8f.js | 0 .../v12.0.1/mrginv_8f_source.html | 0 .../v12.0.1/msgfull_8f.html | 0 .../v12.0.1/msgfull_8f.js | 0 .../v12.0.1/msgfull_8f_source.html | 0 .../v12.0.1/msgini_8f.html | 0 .../v12.0.1/msgini_8f.js | 0 .../v12.0.1/msgini_8f_source.html | 0 .../v12.0.1/msgupd_8f.html | 0 .../v12.0.1/msgupd_8f.js | 0 .../v12.0.1/msgupd_8f_source.html | 0 .../v12.0.1/msgwrt_8f.html | 0 .../v12.0.1/msgwrt_8f.js | 0 .../v12.0.1/msgwrt_8f_source.html | 0 previous_versions/v12.0.1/mstabs_8h.html | 524 ++ previous_versions/v12.0.1/mstabs_8h.js | 17 + .../v12.0.1/mstabs_8h_source.html | 145 + .../v12.0.1/mtfnam_8f.html | 0 .../v12.0.1/mtfnam_8f.js | 0 .../v12.0.1/mtfnam_8f_source.html | 0 .../v12.0.1/mtinfo_8f.html | 0 .../v12.0.1/mtinfo_8f.js | 0 .../v12.0.1/mtinfo_8f_source.html | 0 .../v12.0.1/mvb_8f.html | 0 .../v12.0.1/mvb_8f.js | 0 .../v12.0.1/mvb_8f_source.html | 0 .../namespacebufr__c2f__interface.html | 2815 +++++++++++ .../v12.0.1/namespacebufr__interface.html | 122 + .../v12.0.1/namespacebufr__interface.js | 8 + .../v12.0.1/namespacebufrlib.html | 150 + previous_versions/v12.0.1/namespacebufrlib.js | 22 + .../v12.0.1/namespacemembers.html | 107 + .../v12.0.1/namespacemembers_c.html | 161 + .../v12.0.1/namespacemembers_d.html | 101 + .../v12.0.1/namespacemembers_dup.js | 24 + .../v12.0.1/namespacemembers_e.html | 104 + .../v12.0.1/namespacemembers_f.html | 101 + .../v12.0.1/namespacemembers_func.html | 309 ++ .../v12.0.1/namespacemembers_g.html | 131 + .../v12.0.1/namespacemembers_i.html | 287 ++ .../v12.0.1/namespacemembers_j.html | 140 + .../v12.0.1/namespacemembers_k.html | 125 + .../v12.0.1/namespacemembers_l.html | 134 + .../v12.0.1/namespacemembers_m.html | 254 + .../v12.0.1/namespacemembers_n.html | 203 + .../v12.0.1/namespacemembers_o.html | 107 + .../v12.0.1/namespacemembers_p.html | 101 + .../v12.0.1/namespacemembers_r.html | 101 + .../v12.0.1/namespacemembers_s.html | 110 + .../v12.0.1/namespacemembers_t.html | 125 + .../v12.0.1/namespacemembers_u.html | 110 + .../v12.0.1/namespacemembers_v.html | 110 + .../v12.0.1/namespacemembers_vars.html | 750 +++ .../v12.0.1/namespacemembers_w.html | 104 + .../v12.0.1/namespacemembers_x.html | 101 + .../v12.0.1/namespacemoda__bitbuf.html | 228 + .../v12.0.1/namespacemoda__bitmaps.html | 413 ++ .../v12.0.1/namespacemoda__bufrmg.html | 159 + .../v12.0.1/namespacemoda__bufrsr.html | 391 ++ .../v12.0.1/namespacemoda__comprs.html | 206 + .../v12.0.1/namespacemoda__comprx.html | 398 ++ .../v12.0.1/namespacemoda__dscach.html | 206 + .../v12.0.1/namespacemoda__h4wlc.html | 206 + .../v12.0.1/namespacemoda__idrdm.html | 137 + .../v12.0.1/namespacemoda__ival.html | 137 + .../v12.0.1/namespacemoda__ivttmp.html | 182 + .../v12.0.1/namespacemoda__lushr.html | 137 + .../v12.0.1/namespacemoda__mgwa.html | 136 + .../v12.0.1/namespacemoda__mgwb.html | 136 + .../v12.0.1/namespacemoda__msgcwd.html | 228 + .../v12.0.1/namespacemoda__msglim.html | 138 + .../v12.0.1/namespacemoda__msgmem.html | 459 ++ .../v12.0.1/namespacemoda__mstabs.html | 436 ++ .../v12.0.1/namespacemoda__nmikrp.html | 195 + .../v12.0.1/namespacemoda__nrv203.html | 298 ++ .../v12.0.1/namespacemoda__nulbfr.html | 141 + .../v12.0.1/namespacemoda__rdmtb.html | 206 + .../v12.0.1/namespacemoda__rlccmn.html | 205 + .../v12.0.1/namespacemoda__s01cm.html | 183 + .../v12.0.1/namespacemoda__sc3bfr.html | 164 + .../v12.0.1/namespacemoda__stbfr.html | 167 + .../v12.0.1/namespacemoda__stcode.html | 141 + .../v12.0.1/namespacemoda__tababd.html | 343 ++ .../v12.0.1/namespacemoda__tables.html | 537 +++ .../v12.0.1/namespacemoda__ufbcpl.html | 137 + .../v12.0.1/namespacemoda__unptyp.html | 141 + .../v12.0.1/namespacemoda__usrbit.html | 160 + .../v12.0.1/namespacemoda__usrint.html | 206 + .../v12.0.1/namespacemoda__usrtmp.html | 158 + .../v12.0.1/namespacemoda__xtab.html | 138 + .../v12.0.1/namespacemodv__bmiss.html | 0 .../v12.0.1/namespacemodv__ifopbf.html | 0 .../v12.0.1/namespacemodv__im8b.html | 0 .../v12.0.1/namespacemodv__maxcd.html | 0 .../v12.0.1/namespacemodv__maxjl.html | 0 .../v12.0.1/namespacemodv__maxmem.html | 0 .../v12.0.1/namespacemodv__maxmsg.html | 0 .../v12.0.1/namespacemodv__maxnc.html | 0 .../v12.0.1/namespacemodv__maxss.html | 0 .../v12.0.1/namespacemodv__maxtba.html | 0 .../v12.0.1/namespacemodv__maxtbb.html | 0 .../v12.0.1/namespacemodv__maxtbd.html | 0 .../v12.0.1/namespacemodv__mxbtm.html | 0 .../v12.0.1/namespacemodv__mxbtmse.html | 0 .../v12.0.1/namespacemodv__mxcdv.html | 0 .../v12.0.1/namespacemodv__mxcnem.html | 0 .../v12.0.1/namespacemodv__mxcsb.html | 0 .../v12.0.1/namespacemodv__mxdxts.html | 0 .../v12.0.1/namespacemodv__mxh4wlc.html | 0 .../v12.0.1/namespacemodv__mxlcc.html | 0 .../v12.0.1/namespacemodv__mxmsgl.html | 0 .../v12.0.1/namespacemodv__mxmtbb.html | 0 .../v12.0.1/namespacemodv__mxmtbd.html | 0 .../v12.0.1/namespacemodv__mxmtbf.html | 0 .../v12.0.1/namespacemodv__mxnaf.html | 0 .../v12.0.1/namespacemodv__mxnrv.html | 0 .../v12.0.1/namespacemodv__mxrst.html | 0 .../v12.0.1/namespacemodv__mxs.html | 0 .../v12.0.1/namespacemodv__mxs01v.html | 0 .../v12.0.1/namespacemodv__mxtamc.html | 0 .../v12.0.1/namespacemodv__mxtco.html | 0 .../v12.0.1/namespacemodv__nfiles.html | 0 previous_versions/v12.0.1/namespaces.html | 197 + previous_versions/v12.0.1/namespaces_dup.js | 406 ++ .../v12.0.1/namespaceshare__table__info.html | 182 + previous_versions/v12.0.1/nav_f.png | Bin 0 -> 153 bytes previous_versions/v12.0.1/nav_g.png | Bin 0 -> 95 bytes previous_versions/v12.0.1/nav_h.png | Bin 0 -> 98 bytes previous_versions/v12.0.1/navtree.css | 146 + previous_versions/v12.0.1/navtree.js | 546 +++ previous_versions/v12.0.1/navtreedata.js | 150 + previous_versions/v12.0.1/navtreeindex0.js | 253 + previous_versions/v12.0.1/navtreeindex1.js | 253 + previous_versions/v12.0.1/navtreeindex2.js | 253 + previous_versions/v12.0.1/navtreeindex3.js | 253 + previous_versions/v12.0.1/navtreeindex4.js | 253 + previous_versions/v12.0.1/navtreeindex5.js | 253 + .../v12.0.1/navtreeindex6.js | 0 .../v12.0.1/navtreeindex7.js | 0 .../v12.0.1/nemdefs_8f.html | 0 .../v12.0.1/nemdefs_8f.js | 0 .../v12.0.1/nemdefs_8f_source.html | 0 .../v12.0.1/nemock_8f.html | 0 .../v12.0.1/nemock_8f.js | 0 .../v12.0.1/nemock_8f_source.html | 0 .../v12.0.1/nemspecs_8f.html | 0 .../v12.0.1/nemspecs_8f.js | 0 .../v12.0.1/nemspecs_8f_source.html | 0 .../v12.0.1/nemtab_8f.html | 0 .../v12.0.1/nemtab_8f.js | 0 .../v12.0.1/nemtab_8f_source.html | 0 .../v12.0.1/nemtba_8f.html | 0 .../v12.0.1/nemtba_8f.js | 0 .../v12.0.1/nemtba_8f_source.html | 0 .../v12.0.1/nemtbax_8f.html | 0 .../v12.0.1/nemtbax_8f.js | 0 .../v12.0.1/nemtbax_8f_source.html | 0 .../v12.0.1/nemtbb_8f.html | 0 .../v12.0.1/nemtbb_8f.js | 0 .../v12.0.1/nemtbb_8f_source.html | 0 .../v12.0.1/nemtbd_8f.html | 0 .../v12.0.1/nemtbd_8f.js | 0 .../v12.0.1/nemtbd_8f_source.html | 0 .../v12.0.1/nenubd_8f.html | 0 .../v12.0.1/nenubd_8f.js | 0 .../v12.0.1/nenubd_8f_source.html | 0 .../v12.0.1/nevn_8f.html | 0 .../v12.0.1/nevn_8f.js | 0 .../v12.0.1/nevn_8f_source.html | 0 .../v12.0.1/newwin_8f.html | 0 .../v12.0.1/newwin_8f.js | 0 .../v12.0.1/newwin_8f_source.html | 0 .../v12.0.1/nmsub_8f.html | 0 .../v12.0.1/nmsub_8f.js | 0 .../v12.0.1/nmsub_8f_source.html | 0 .../v12.0.1/nmwrd_8f.html | 0 .../v12.0.1/nmwrd_8f.js | 0 .../v12.0.1/nmwrd_8f_source.html | 0 .../v12.0.1/numbck_8f.html | 0 .../v12.0.1/numbck_8f.js | 0 .../v12.0.1/numbck_8f_source.html | 0 .../v12.0.1/numtab_8f.html | 0 .../v12.0.1/numtab_8f.js | 0 .../v12.0.1/numtab_8f_source.html | 0 .../v12.0.1/numtbd_8f.html | 0 .../v12.0.1/numtbd_8f.js | 0 .../v12.0.1/numtbd_8f_source.html | 0 .../v12.0.1/nvnwin_8f.html | 0 .../v12.0.1/nvnwin_8f.js | 0 .../v12.0.1/nvnwin_8f_source.html | 0 .../v12.0.1/nwords_8f.html | 0 .../v12.0.1/nwords_8f.js | 0 .../v12.0.1/nwords_8f_source.html | 0 .../v12.0.1/nxtwin_8f.html | 0 .../v12.0.1/nxtwin_8f.js | 0 .../v12.0.1/nxtwin_8f_source.html | 0 previous_versions/v12.0.1/open.png | Bin 0 -> 123 bytes .../v12.0.1/openbf_8f.html | 0 .../v12.0.1/openbf_8f.js | 0 .../v12.0.1/openbf_8f_source.html | 0 .../v12.0.1/openbt_8f.html | 0 .../v12.0.1/openbt_8f.js | 0 .../v12.0.1/openbt_8f_source.html | 0 .../v12.0.1/openmb_8f.html | 0 .../v12.0.1/openmb_8f.js | 0 .../v12.0.1/openmb_8f_source.html | 0 .../v12.0.1/openmg_8f.html | 0 .../v12.0.1/openmg_8f.js | 0 .../v12.0.1/openmg_8f_source.html | 0 .../v12.0.1/pad_8f.html | 0 .../v12.0.1/pad_8f.js | 0 .../v12.0.1/pad_8f_source.html | 0 .../v12.0.1/padmsg_8f.html | 0 .../v12.0.1/padmsg_8f.js | 0 .../v12.0.1/padmsg_8f_source.html | 0 previous_versions/v12.0.1/pages.html | 106 + .../v12.0.1/parstr_8f.html | 0 .../v12.0.1/parstr_8f.js | 0 .../v12.0.1/parstr_8f_source.html | 0 .../v12.0.1/parusr_8f.html | 0 .../v12.0.1/parusr_8f.js | 0 .../v12.0.1/parusr_8f_source.html | 0 .../v12.0.1/parutg_8f.html | 0 .../v12.0.1/parutg_8f.js | 0 .../v12.0.1/parutg_8f_source.html | 0 .../v12.0.1/pkb8_8f.html | 0 .../v12.0.1/pkb8_8f.js | 0 .../v12.0.1/pkb8_8f_source.html | 0 .../v12.0.1/pkb_8f.html | 0 .../v12.0.1/pkb_8f.js | 0 .../v12.0.1/pkb_8f_source.html | 0 .../v12.0.1/pkbs1_8f.html | 0 .../v12.0.1/pkbs1_8f.js | 0 .../v12.0.1/pkbs1_8f_source.html | 0 .../v12.0.1/pkc_8f.html | 0 .../v12.0.1/pkc_8f.js | 0 .../v12.0.1/pkc_8f_source.html | 0 .../v12.0.1/pkftbv_8f.html | 0 .../v12.0.1/pkftbv_8f.js | 0 .../v12.0.1/pkftbv_8f_source.html | 0 .../v12.0.1/pktdd_8f.html | 0 .../v12.0.1/pktdd_8f.js | 0 .../v12.0.1/pktdd_8f_source.html | 0 .../v12.0.1/pkvs01_8f.html | 0 .../v12.0.1/pkvs01_8f.js | 0 .../v12.0.1/pkvs01_8f_source.html | 0 .../v12.0.1/posapx_8f.html | 0 .../v12.0.1/posapx_8f.js | 0 .../v12.0.1/posapx_8f_source.html | 0 previous_versions/v12.0.1/python/index.html | 250 + .../v12.0.1/python/ncepbufr.html | 2723 +++++++++++ .../__pycache__/__init__.cpython-38.pyc | Bin .../python/ncepbufr/bufr_mnemonics.html | 937 ++++ .../v12.0.1/python}/search.json | 0 .../v12.0.1/rcstpl_8f.html | 0 .../v12.0.1/rcstpl_8f.js | 0 .../v12.0.1/rcstpl_8f_source.html | 0 .../v12.0.1/rdbfdx_8f.html | 0 .../v12.0.1/rdbfdx_8f.js | 0 .../v12.0.1/rdbfdx_8f_source.html | 0 .../v12.0.1/rdcmps_8f.html | 0 .../v12.0.1/rdcmps_8f.js | 0 .../v12.0.1/rdcmps_8f_source.html | 0 .../v12.0.1/rdmemm_8f.html | 0 .../v12.0.1/rdmemm_8f.js | 0 .../v12.0.1/rdmemm_8f_source.html | 0 .../v12.0.1/rdmems_8f.html | 0 .../v12.0.1/rdmems_8f.js | 0 .../v12.0.1/rdmems_8f_source.html | 0 .../v12.0.1/rdmgsb_8f.html | 0 .../v12.0.1/rdmgsb_8f.js | 0 .../v12.0.1/rdmgsb_8f_source.html | 0 .../v12.0.1/rdmsgw_8F90.html | 0 .../v12.0.1/rdmsgw_8F90.js | 0 .../v12.0.1/rdmsgw_8F90_source.html | 0 .../v12.0.1/rdmtbb_8f.html | 0 .../v12.0.1/rdmtbb_8f.js | 0 .../v12.0.1/rdmtbb_8f_source.html | 0 .../v12.0.1/rdmtbd_8f.html | 0 .../v12.0.1/rdmtbd_8f.js | 0 .../v12.0.1/rdmtbd_8f_source.html | 0 .../v12.0.1/rdmtbf_8f.html | 0 .../v12.0.1/rdmtbf_8f.js | 0 .../v12.0.1/rdmtbf_8f_source.html | 0 .../v12.0.1/rdtree_8f.html | 0 .../v12.0.1/rdtree_8f.js | 0 .../v12.0.1/rdtree_8f_source.html | 0 .../v12.0.1/rdusdx_8f.html | 0 .../v12.0.1/rdusdx_8f.js | 0 .../v12.0.1/rdusdx_8f_source.html | 0 previous_versions/v12.0.1/readbp_8F90.html | 179 + previous_versions/v12.0.1/readbp_8F90.js | 5 + .../v12.0.1/readbp_8F90_source.html | 356 ++ .../v12.0.1/readdx_8f.html | 0 .../v12.0.1/readdx_8f.js | 0 .../v12.0.1/readdx_8f_source.html | 0 .../v12.0.1/readerme_8f.html | 0 .../v12.0.1/readerme_8f.js | 0 .../v12.0.1/readerme_8f_source.html | 0 .../v12.0.1/readlc_8f.html | 0 .../v12.0.1/readlc_8f.js | 0 .../v12.0.1/readlc_8f_source.html | 0 .../v12.0.1/readmg_8f.html | 0 .../v12.0.1/readmg_8f.js | 0 .../v12.0.1/readmg_8f_source.html | 0 .../v12.0.1/readmm_8f.html | 0 .../v12.0.1/readmm_8f.js | 0 .../v12.0.1/readmm_8f_source.html | 0 previous_versions/v12.0.1/readmp_8F90.html | 143 + previous_versions/v12.0.1/readmp_8F90.js | 4 + .../v12.0.1/readmp_8F90_source.html | 146 + .../v12.0.1/readns_8f.html | 0 .../v12.0.1/readns_8f.js | 0 .../v12.0.1/readns_8f_source.html | 0 .../v12.0.1/reads3_8f.html | 0 .../v12.0.1/reads3_8f.js | 0 .../v12.0.1/reads3_8f_source.html | 0 .../v12.0.1/readsb_8f.html | 0 .../v12.0.1/readsb_8f.js | 0 .../v12.0.1/readsb_8f_source.html | 0 previous_versions/v12.0.1/resize.js | 140 + previous_versions/v12.0.1/restd_8c.html | 180 + previous_versions/v12.0.1/restd_8c.js | 4 + .../v12.0.1/restd_8c_source.html | 208 + .../v12.0.1/rewnbf_8f.html | 0 .../v12.0.1/rewnbf_8f.js | 0 .../v12.0.1/rewnbf_8f_source.html | 0 .../v12.0.1/rsvfvm_8f.html | 0 .../v12.0.1/rsvfvm_8f.js | 0 .../v12.0.1/rsvfvm_8f_source.html | 0 .../v12.0.1/rtrcpt_8f.html | 0 .../v12.0.1/rtrcpt_8f.js | 0 .../v12.0.1/rtrcpt_8f_source.html | 0 .../v12.0.1/rtrcptb_8f.html | 0 .../v12.0.1/rtrcptb_8f.js | 0 .../v12.0.1/rtrcptb_8f_source.html | 0 previous_versions/v12.0.1/search/all_0.html | 37 + previous_versions/v12.0.1/search/all_0.js | 17 + previous_versions/v12.0.1/search/all_1.html | 37 + previous_versions/v12.0.1/search/all_1.js | 33 + previous_versions/v12.0.1/search/all_10.html | 37 + previous_versions/v12.0.1/search/all_10.js | 62 + previous_versions/v12.0.1/search/all_11.html | 37 + previous_versions/v12.0.1/search/all_11.js | 65 + previous_versions/v12.0.1/search/all_12.html | 37 + previous_versions/v12.0.1/search/all_12.js | 18 + previous_versions/v12.0.1/search/all_13.html | 37 + previous_versions/v12.0.1/search/all_13.js | 87 + previous_versions/v12.0.1/search/all_14.html | 37 + previous_versions/v12.0.1/search/all_14.js | 8 + previous_versions/v12.0.1/search/all_15.html | 37 + previous_versions/v12.0.1/search/all_15.js | 28 + previous_versions/v12.0.1/search/all_16.html | 37 + previous_versions/v12.0.1/search/all_16.js | 9 + previous_versions/v12.0.1/search/all_2.html | 37 + previous_versions/v12.0.1/search/all_2.js | 101 + previous_versions/v12.0.1/search/all_3.html | 37 + previous_versions/v12.0.1/search/all_3.js | 28 + previous_versions/v12.0.1/search/all_4.html | 37 + previous_versions/v12.0.1/search/all_4.js | 13 + previous_versions/v12.0.1/search/all_5.html | 37 + previous_versions/v12.0.1/search/all_5.js | 13 + previous_versions/v12.0.1/search/all_6.html | 37 + previous_versions/v12.0.1/search/all_6.js | 49 + previous_versions/v12.0.1/search/all_7.html | 37 + previous_versions/v12.0.1/search/all_7.js | 5 + previous_versions/v12.0.1/search/all_8.html | 37 + previous_versions/v12.0.1/search/all_8.js | 175 + previous_versions/v12.0.1/search/all_9.html | 37 + previous_versions/v12.0.1/search/all_9.js | 19 + previous_versions/v12.0.1/search/all_a.html | 37 + previous_versions/v12.0.1/search/all_a.js | 12 + previous_versions/v12.0.1/search/all_b.html | 37 + previous_versions/v12.0.1/search/all_b.js | 22 + previous_versions/v12.0.1/search/all_c.html | 37 + previous_versions/v12.0.1/search/all_c.js | 163 + previous_versions/v12.0.1/search/all_d.html | 37 + previous_versions/v12.0.1/search/all_d.js | 88 + previous_versions/v12.0.1/search/all_e.html | 37 + previous_versions/v12.0.1/search/all_e.js | 23 + previous_versions/v12.0.1/search/all_f.html | 37 + previous_versions/v12.0.1/search/all_f.js | 35 + .../v12.0.1/search/classes_0.html | 37 + previous_versions/v12.0.1/search/classes_0.js | 5 + .../v12.0.1/search/classes_1.html | 37 + previous_versions/v12.0.1/search/classes_1.js | 5 + .../v12.0.1/search/classes_2.html | 37 + previous_versions/v12.0.1/search/classes_2.js | 12 + .../v12.0.1/search/classes_3.html | 37 + previous_versions/v12.0.1/search/classes_3.js | 4 + .../v12.0.1/search/classes_4.html | 37 + previous_versions/v12.0.1/search/classes_4.js | 5 + .../v12.0.1/search/classes_5.html | 37 + previous_versions/v12.0.1/search/classes_5.js | 6 + .../v12.0.1/search/classes_6.html | 37 + previous_versions/v12.0.1/search/classes_6.js | 4 + .../v12.0.1/search/classes_7.html | 37 + previous_versions/v12.0.1/search/classes_7.js | 7 + previous_versions/v12.0.1/search/close.svg | 31 + .../v12.0.1/search/defines_0.html | 37 + previous_versions/v12.0.1/search/defines_0.js | 4 + .../v12.0.1/search/defines_1.html | 37 + previous_versions/v12.0.1/search/defines_1.js | 4 + .../v12.0.1/search/defines_2.html | 37 + previous_versions/v12.0.1/search/defines_2.js | 11 + .../v12.0.1/search/defines_3.html | 37 + previous_versions/v12.0.1/search/defines_3.js | 5 + .../v12.0.1/search/defines_4.html | 37 + previous_versions/v12.0.1/search/defines_4.js | 4 + .../v12.0.1/search/defines_5.html | 37 + previous_versions/v12.0.1/search/defines_5.js | 4 + previous_versions/v12.0.1/search/files_0.html | 37 + previous_versions/v12.0.1/search/files_0.js | 9 + previous_versions/v12.0.1/search/files_1.html | 37 + previous_versions/v12.0.1/search/files_1.js | 15 + .../v12.0.1/search}/files_10.html | 0 .../v12.0.1/search}/files_10.js | 0 .../v12.0.1/search}/files_11.html | 0 .../v12.0.1/search}/files_11.js | 0 .../v12.0.1/search}/files_12.html | 0 .../v12.0.1/search}/files_12.js | 0 .../v12.0.1/search}/files_13.html | 0 .../v12.0.1/search}/files_13.js | 0 .../v12.0.1/search}/files_14.html | 0 .../v12.0.1/search}/files_14.js | 0 previous_versions/v12.0.1/search/files_2.html | 37 + previous_versions/v12.0.1/search/files_2.js | 27 + previous_versions/v12.0.1/search/files_3.html | 37 + previous_versions/v12.0.1/search/files_3.js | 14 + previous_versions/v12.0.1/search/files_4.html | 37 + previous_versions/v12.0.1/search/files_4.js | 6 + previous_versions/v12.0.1/search/files_5.html | 37 + previous_versions/v12.0.1/search/files_5.js | 6 + previous_versions/v12.0.1/search/files_6.html | 37 + previous_versions/v12.0.1/search/files_6.js | 15 + previous_versions/v12.0.1/search/files_7.html | 37 + previous_versions/v12.0.1/search/files_7.js | 4 + previous_versions/v12.0.1/search/files_8.html | 37 + previous_versions/v12.0.1/search/files_8.js | 47 + previous_versions/v12.0.1/search/files_9.html | 37 + previous_versions/v12.0.1/search/files_9.js | 4 + previous_versions/v12.0.1/search/files_a.html | 37 + previous_versions/v12.0.1/search/files_a.js | 6 + previous_versions/v12.0.1/search/files_b.html | 37 + previous_versions/v12.0.1/search/files_b.js | 19 + previous_versions/v12.0.1/search/files_c.html | 37 + previous_versions/v12.0.1/search/files_c.js | 22 + previous_versions/v12.0.1/search/files_d.html | 37 + previous_versions/v12.0.1/search/files_d.js | 7 + previous_versions/v12.0.1/search/files_e.html | 37 + previous_versions/v12.0.1/search/files_e.js | 16 + .../v12.0.1/search}/files_f.html | 0 .../v12.0.1/search}/files_f.js | 0 .../v12.0.1/search/functions_0.html | 37 + .../v12.0.1/search/functions_0.js | 11 + .../v12.0.1/search/functions_1.html | 37 + .../v12.0.1/search/functions_1.js | 17 + .../v12.0.1/search/functions_10.html | 37 + .../v12.0.1/search/functions_10.js | 40 + .../v12.0.1/search/functions_11.html | 37 + .../v12.0.1/search/functions_11.js | 6 + .../v12.0.1/search/functions_12.html | 37 + .../v12.0.1/search/functions_12.js | 48 + .../v12.0.1/search/functions_13.html | 37 + .../v12.0.1/search/functions_13.js | 16 + .../v12.0.1/search/functions_14.html | 37 + .../v12.0.1/search/functions_14.js | 5 + .../v12.0.1/search/functions_2.html | 37 + .../v12.0.1/search/functions_2.js | 50 + .../v12.0.1/search/functions_3.html | 37 + .../v12.0.1/search/functions_3.js | 16 + .../v12.0.1/search/functions_4.html | 37 + .../v12.0.1/search/functions_4.js | 10 + .../v12.0.1/search/functions_5.html | 37 + .../v12.0.1/search/functions_5.js | 8 + .../v12.0.1/search/functions_6.html | 37 + .../v12.0.1/search/functions_6.js | 37 + .../v12.0.1/search/functions_7.html | 37 + .../v12.0.1/search/functions_7.js | 4 + .../v12.0.1/search/functions_8.html | 37 + .../v12.0.1/search/functions_8.js | 78 + .../v12.0.1/search/functions_9.html | 37 + .../v12.0.1/search/functions_9.js | 4 + .../v12.0.1/search/functions_a.html | 37 + .../v12.0.1/search/functions_a.js | 6 + .../v12.0.1/search/functions_b.html | 37 + .../v12.0.1/search/functions_b.js | 21 + .../v12.0.1/search/functions_c.html | 37 + .../v12.0.1/search/functions_c.js | 33 + .../v12.0.1/search/functions_d.html | 37 + .../v12.0.1/search/functions_d.js | 19 + .../v12.0.1/search/functions_e.html | 37 + .../v12.0.1/search/functions_e.js | 20 + .../v12.0.1/search/functions_f.html | 37 + .../v12.0.1/search/functions_f.js | 34 + previous_versions/v12.0.1/search/mag_sel.svg | 74 + .../v12.0.1/search/namespaces_0.html | 37 + .../v12.0.1/search/namespaces_0.js | 6 + .../v12.0.1/search/namespaces_1.html | 37 + .../v12.0.1/search/namespaces_1.js | 70 + .../v12.0.1/search/namespaces_2.html | 37 + .../v12.0.1/search/namespaces_2.js | 4 + .../v12.0.1/search/nomatches.html | 13 + previous_versions/v12.0.1/search/pages_0.html | 37 + previous_versions/v12.0.1/search/pages_0.js | 4 + previous_versions/v12.0.1/search/pages_1.html | 37 + previous_versions/v12.0.1/search/pages_1.js | 4 + previous_versions/v12.0.1/search/pages_2.html | 37 + previous_versions/v12.0.1/search/pages_2.js | 4 + previous_versions/v12.0.1/search/pages_3.html | 37 + previous_versions/v12.0.1/search/pages_3.js | 4 + previous_versions/v12.0.1/search/search.css | 257 + previous_versions/v12.0.1/search/search.js | 816 ++++ previous_versions/v12.0.1/search/search_l.png | Bin 0 -> 567 bytes previous_versions/v12.0.1/search/search_m.png | Bin 0 -> 158 bytes previous_versions/v12.0.1/search/search_r.png | Bin 0 -> 553 bytes .../v12.0.1/search/searchdata.js | 36 + .../v12.0.1/search/variables_0.html | 37 + .../v12.0.1/search/variables_0.js | 4 + .../v12.0.1/search/variables_1.html | 37 + .../v12.0.1/search/variables_1.js | 30 + .../v12.0.1/search/variables_2.html | 37 + .../v12.0.1/search/variables_2.js | 4 + .../v12.0.1/search/variables_3.html | 37 + .../v12.0.1/search/variables_3.js | 55 + .../v12.0.1/search/variables_4.html | 37 + .../v12.0.1/search/variables_4.js | 17 + .../v12.0.1/search/variables_5.html | 37 + .../v12.0.1/search/variables_5.js | 12 + .../v12.0.1/search/variables_6.html | 37 + .../v12.0.1/search/variables_6.js | 16 + .../v12.0.1/search/variables_7.html | 37 + .../v12.0.1/search/variables_7.js | 53 + .../v12.0.1/search/variables_8.html | 37 + .../v12.0.1/search/variables_8.js | 37 + .../v12.0.1/search/variables_9.html | 37 + .../v12.0.1/search/variables_9.js | 5 + .../v12.0.1/search/variables_a.html | 37 + .../v12.0.1/search/variables_a.js | 4 + .../v12.0.1/search/variables_b.html | 37 + .../v12.0.1/search/variables_b.js | 12 + .../v12.0.1/search/variables_c.html | 37 + .../v12.0.1/search/variables_c.js | 7 + .../v12.0.1/search/variables_d.html | 37 + .../v12.0.1/search/variables_d.js | 4 + .../v12.0.1/search/variables_e.html | 37 + .../v12.0.1/search/variables_e.js | 4 + .../v12.0.1/seqsdx_8f.html | 0 .../v12.0.1/seqsdx_8f.js | 0 .../v12.0.1/seqsdx_8f_source.html | 0 .../v12.0.1/setblock_8f.html | 0 .../v12.0.1/setblock_8f.js | 0 .../v12.0.1/setblock_8f_source.html | 0 .../v12.0.1/setbmiss_8f.html | 0 .../v12.0.1/setbmiss_8f.js | 0 .../v12.0.1/setbmiss_8f_source.html | 0 .../v12.0.1/setim8b_8F90.html | 0 .../v12.0.1/setim8b_8F90.js | 0 .../v12.0.1/setim8b_8F90_source.html | 0 .../v12.0.1/setvalnb_8f.html | 0 .../v12.0.1/setvalnb_8f.js | 0 .../v12.0.1/setvalnb_8f_source.html | 0 .../v12.0.1/sinv_8f90.html | 0 .../v12.0.1/sinv_8f90.js | 0 .../v12.0.1/sinv_8f90_source.html | 0 .../v12.0.1/sntbbe_8f.html | 0 .../v12.0.1/sntbbe_8f.js | 0 .../v12.0.1/sntbbe_8f_source.html | 0 .../v12.0.1/sntbde_8f.html | 0 .../v12.0.1/sntbde_8f.js | 0 .../v12.0.1/sntbde_8f_source.html | 0 .../v12.0.1/sntbfe_8f.html | 0 .../v12.0.1/sntbfe_8f.js | 0 .../v12.0.1/sntbfe_8f_source.html | 0 .../v12.0.1/split__by__subset_8f90.html | 0 .../v12.0.1/split__by__subset_8f90.js | 0 .../split__by__subset_8f90_source.html | 0 previous_versions/v12.0.1/splitbar.png | Bin 0 -> 314 bytes .../v12.0.1/status_8f.html | 0 .../v12.0.1/status_8f.js | 0 .../v12.0.1/status_8f_source.html | 0 .../v12.0.1/stbfdx_8f.html | 0 .../v12.0.1/stbfdx_8f.js | 0 .../v12.0.1/stbfdx_8f_source.html | 0 .../v12.0.1/stdmsg_8f.html | 0 .../v12.0.1/stdmsg_8f.js | 0 .../v12.0.1/stdmsg_8f_source.html | 0 .../v12.0.1/stndrd_8f.html | 0 .../v12.0.1/stndrd_8f.js | 0 .../v12.0.1/stndrd_8f_source.html | 0 .../v12.0.1/stntbi_8f.html | 0 .../v12.0.1/stntbi_8f.js | 0 .../v12.0.1/stntbi_8f_source.html | 0 .../v12.0.1/stntbia_8f.html | 0 .../v12.0.1/stntbia_8f.js | 0 .../v12.0.1/stntbia_8f_source.html | 0 .../v12.0.1/strbtm_8f.html | 0 .../v12.0.1/strbtm_8f.js | 0 .../v12.0.1/strbtm_8f_source.html | 0 .../v12.0.1/strcln_8f.html | 0 .../v12.0.1/strcln_8f.js | 0 .../v12.0.1/strcln_8f_source.html | 0 .../v12.0.1/strcpt_8f.html | 0 .../v12.0.1/strcpt_8f.js | 0 .../v12.0.1/strcpt_8f_source.html | 0 .../v12.0.1/string_8f.html | 0 .../v12.0.1/string_8f.js | 0 .../v12.0.1/string_8f_source.html | 0 .../v12.0.1/strnum_8F90.html | 0 .../v12.0.1/strnum_8F90.js | 0 .../v12.0.1/strnum_8F90_source.html | 0 .../v12.0.1/strsuc_8F90.html | 0 .../v12.0.1/strsuc_8F90.js | 0 .../v12.0.1/strsuc_8F90_source.html | 0 previous_versions/v12.0.1/stseq_8c.html | 310 ++ previous_versions/v12.0.1/stseq_8c.js | 6 + .../v12.0.1/stseq_8c_source.html | 556 +++ previous_versions/v12.0.1/sync_off.png | Bin 0 -> 853 bytes previous_versions/v12.0.1/sync_on.png | Bin 0 -> 845 bytes previous_versions/v12.0.1/tab_a.png | Bin 0 -> 142 bytes previous_versions/v12.0.1/tab_b.png | Bin 0 -> 169 bytes previous_versions/v12.0.1/tab_h.png | Bin 0 -> 177 bytes previous_versions/v12.0.1/tab_s.png | Bin 0 -> 184 bytes .../v12.0.1/tabent_8f.html | 0 .../v12.0.1/tabent_8f.js | 0 .../v12.0.1/tabent_8f_source.html | 0 previous_versions/v12.0.1/tabs.css | 1 + .../v12.0.1/tabsub_8f.html | 0 .../v12.0.1/tabsub_8f.js | 0 .../v12.0.1/tabsub_8f_source.html | 0 .../v12.0.1/trybump_8f.html | 0 .../v12.0.1/trybump_8f.js | 0 .../v12.0.1/trybump_8f_source.html | 0 .../v12.0.1/ufbcnt_8f.html | 0 .../v12.0.1/ufbcnt_8f.js | 0 .../v12.0.1/ufbcnt_8f_source.html | 0 .../v12.0.1/ufbcpy_8f.html | 0 .../v12.0.1/ufbcpy_8f.js | 0 .../v12.0.1/ufbcpy_8f_source.html | 0 .../v12.0.1/ufbcup_8f.html | 0 .../v12.0.1/ufbcup_8f.js | 0 .../v12.0.1/ufbcup_8f_source.html | 0 .../v12.0.1/ufbdmp_8f.html | 0 .../v12.0.1/ufbdmp_8f.js | 0 .../v12.0.1/ufbdmp_8f_source.html | 0 .../v12.0.1/ufbevn_8f.html | 0 .../v12.0.1/ufbevn_8f.js | 0 .../v12.0.1/ufbevn_8f_source.html | 0 .../v12.0.1/ufbget_8f.html | 0 .../v12.0.1/ufbget_8f.js | 0 .../v12.0.1/ufbget_8f_source.html | 0 .../v12.0.1/ufbin3_8f.html | 0 .../v12.0.1/ufbin3_8f.js | 0 .../v12.0.1/ufbin3_8f_source.html | 0 .../v12.0.1/ufbint_8f.html | 0 .../v12.0.1/ufbint_8f.js | 0 .../v12.0.1/ufbint_8f_source.html | 0 .../v12.0.1/ufbinx_8f.html | 0 .../v12.0.1/ufbinx_8f.js | 0 .../v12.0.1/ufbinx_8f_source.html | 0 .../v12.0.1/ufbmem_8f.html | 0 .../v12.0.1/ufbmem_8f.js | 0 .../v12.0.1/ufbmem_8f_source.html | 0 .../v12.0.1/ufbmex_8f.html | 0 .../v12.0.1/ufbmex_8f.js | 0 .../v12.0.1/ufbmex_8f_source.html | 0 .../v12.0.1/ufbmms_8f.html | 0 .../v12.0.1/ufbmms_8f.js | 0 .../v12.0.1/ufbmms_8f_source.html | 0 .../v12.0.1/ufbmns_8f.html | 0 .../v12.0.1/ufbmns_8f.js | 0 .../v12.0.1/ufbmns_8f_source.html | 0 .../v12.0.1/ufbovr_8f.html | 0 .../v12.0.1/ufbovr_8f.js | 0 .../v12.0.1/ufbovr_8f_source.html | 0 .../v12.0.1/ufbpos_8f.html | 0 .../v12.0.1/ufbpos_8f.js | 0 .../v12.0.1/ufbpos_8f_source.html | 0 .../v12.0.1/ufbqcd_8f.html | 0 .../v12.0.1/ufbqcd_8f.js | 0 .../v12.0.1/ufbqcd_8f_source.html | 0 .../v12.0.1/ufbqcp_8f.html | 0 .../v12.0.1/ufbqcp_8f.js | 0 .../v12.0.1/ufbqcp_8f_source.html | 0 .../v12.0.1/ufbrep_8f.html | 0 .../v12.0.1/ufbrep_8f.js | 0 .../v12.0.1/ufbrep_8f_source.html | 0 .../v12.0.1/ufbrms_8f.html | 0 .../v12.0.1/ufbrms_8f.js | 0 .../v12.0.1/ufbrms_8f_source.html | 0 .../v12.0.1/ufbrp_8f.html | 0 .../v12.0.1/ufbrp_8f.js | 0 .../v12.0.1/ufbrp_8f_source.html | 0 .../v12.0.1/ufbrw_8f.html | 0 .../v12.0.1/ufbrw_8f.js | 0 .../v12.0.1/ufbrw_8f_source.html | 0 .../v12.0.1/ufbseq_8f.html | 0 .../v12.0.1/ufbseq_8f.js | 0 .../v12.0.1/ufbseq_8f_source.html | 0 .../v12.0.1/ufbsp_8f.html | 0 .../v12.0.1/ufbsp_8f.js | 0 .../v12.0.1/ufbsp_8f_source.html | 0 .../v12.0.1/ufbstp_8f.html | 0 .../v12.0.1/ufbstp_8f.js | 0 .../v12.0.1/ufbstp_8f_source.html | 0 .../v12.0.1/ufbtab_8f.html | 0 .../v12.0.1/ufbtab_8f.js | 0 .../v12.0.1/ufbtab_8f_source.html | 0 .../v12.0.1/ufbtam_8f.html | 0 .../v12.0.1/ufbtam_8f.js | 0 .../v12.0.1/ufbtam_8f_source.html | 0 .../v12.0.1/ufdump_8f.html | 0 .../v12.0.1/ufdump_8f.js | 0 .../v12.0.1/ufdump_8f_source.html | 0 .../v12.0.1/up8_8f.html | 0 .../v12.0.1/up8_8f.js | 0 .../v12.0.1/up8_8f_source.html | 0 .../v12.0.1/upb8_8f.html | 0 .../v12.0.1/upb8_8f.js | 0 .../v12.0.1/upb8_8f_source.html | 0 .../v12.0.1/upb_8f.html | 0 .../v12.0.1/upb_8f.js | 0 .../v12.0.1/upb_8f_source.html | 0 .../v12.0.1/upbb_8f.html | 0 .../v12.0.1/upbb_8f.js | 0 .../v12.0.1/upbb_8f_source.html | 0 .../v12.0.1/upc_8f.html | 0 .../v12.0.1/upc_8f.js | 0 .../v12.0.1/upc_8f_source.html | 0 .../v12.0.1/upds3_8f.html | 0 .../v12.0.1/upds3_8f.js | 0 .../v12.0.1/upds3_8f_source.html | 0 .../v12.0.1/upftbv_8f.html | 0 .../v12.0.1/upftbv_8f.js | 0 .../v12.0.1/upftbv_8f_source.html | 0 .../v12.0.1/ups_8f.html | 0 .../v12.0.1/ups_8f.js | 0 .../v12.0.1/ups_8f_source.html | 0 .../v12.0.1/uptdd_8f.html | 0 .../v12.0.1/uptdd_8f.js | 0 .../v12.0.1/uptdd_8f_source.html | 0 .../v12.0.1/usrtpl_8f.html | 0 .../v12.0.1/usrtpl_8f.js | 0 .../v12.0.1/usrtpl_8f_source.html | 0 .../v12.0.1/wrcmps_8f.html | 0 .../v12.0.1/wrcmps_8f.js | 0 .../v12.0.1/wrcmps_8f_source.html | 0 .../v12.0.1/wrdesc_8c.html | 0 .../v12.0.1/wrdesc_8c.js | 0 .../v12.0.1/wrdesc_8c_source.html | 0 .../v12.0.1/wrdlen_8F.html | 0 .../v12.0.1/wrdlen_8F.js | 0 .../v12.0.1/wrdlen_8F_source.html | 0 .../v12.0.1/wrdxtb_8f.html | 0 .../v12.0.1/wrdxtb_8f.js | 0 .../v12.0.1/wrdxtb_8f_source.html | 0 .../v12.0.1/writcp_8f.html | 0 .../v12.0.1/writcp_8f.js | 0 .../v12.0.1/writcp_8f_source.html | 0 .../v12.0.1/writdx_8f.html | 0 .../v12.0.1/writdx_8f.js | 0 .../v12.0.1/writdx_8f_source.html | 0 .../v12.0.1/writlc_8f.html | 0 .../v12.0.1/writlc_8f.js | 0 .../v12.0.1/writlc_8f_source.html | 0 .../v12.0.1/writsa_8f.html | 0 .../v12.0.1/writsa_8f.js | 0 .../v12.0.1/writsa_8f_source.html | 0 .../v12.0.1/writsb_8f.html | 0 .../v12.0.1/writsb_8f.js | 0 .../v12.0.1/writsb_8f_source.html | 0 .../v12.0.1/wrtree_8f.html | 0 .../v12.0.1/wrtree_8f.js | 0 .../v12.0.1/wrtree_8f_source.html | 0 .../v12.0.1/wtstat_8f.html | 0 .../v12.0.1/wtstat_8f.js | 0 .../v12.0.1/wtstat_8f_source.html | 0 .../v12.0.1/x48_8F.html | 0 .../v12.0.1/x48_8F.js | 0 .../v12.0.1/x48_8F_source.html | 0 .../v12.0.1/x84_8F.html | 0 .../v12.0.1/x84_8F.js | 0 .../v12.0.1/x84_8F_source.html | 0 previous_versions/v12.0.1/xbfmg_8c.html | 238 + previous_versions/v12.0.1/xbfmg_8c.js | 5 + .../v12.0.1/xbfmg_8c_source.html | 325 ++ python/index.html | 249 +- python/ncepbufr.html | 4284 +++++++++-------- python/ncepbufr/bufr_mnemonics.html | 1759 +++---- python/search.js | 46 + readbp_8F90.html | 4 +- readbp_8F90_source.html | 78 +- readmp_8F90.html | 4 +- readmp_8F90_source.html | 32 +- readwritemg_8F90.html | 1152 +++++ readwritemg_8F90.js | 22 + readwritemg_8F90_source.html | 1292 +++++ readwritesb_8F90.html | 1065 ++++ readwritesb_8F90.js | 20 + readwritesb_8F90_source.html | 1448 ++++++ readwriteval_8F90.html | 1753 +++++++ readwriteval_8F90.js | 23 + readwriteval_8F90_source.html | 2226 +++++++++ restd_8c.html | 80 +- restd_8c.js | 3 +- restd_8c_source.html | 223 +- s013vals_8F90.html | 1268 +++++ s013vals_8F90.js | 20 + s013vals_8F90_source.html | 1329 +++++ search/all_0.js | 27 +- search/all_1.js | 55 +- search/all_10.js | 98 +- search/all_11.js | 108 +- search/all_12.js | 29 +- search/all_13.js | 131 +- search/all_14.js | 10 +- search/all_15.js | 36 +- search/all_16.js | 11 +- search/all_2.js | 188 +- search/all_3.js | 42 +- search/all_4.js | 18 +- search/all_5.js | 18 +- search/all_6.js | 81 +- search/all_7.js | 3 +- search/all_8.js | 312 +- search/all_9.js | 31 +- search/all_a.js | 17 +- search/all_b.js | 37 +- search/all_c.js | 281 +- search/all_d.js | 152 +- search/all_e.js | 38 +- search/all_f.js | 51 +- search/classes_0.js | 4 +- search/classes_1.js | 3 +- search/classes_2.js | 18 +- search/classes_3.js | 2 +- search/classes_4.js | 4 +- search/classes_5.js | 6 +- search/classes_6.js | 2 +- search/classes_7.js | 8 +- search/defines_0.js | 2 +- search/defines_1.js | 2 +- search/defines_2.js | 13 +- search/defines_3.js | 3 +- search/defines_4.js | 2 +- search/defines_5.js | 2 +- search/files_0.js | 9 +- search/files_1.js | 21 +- search/files_2.js | 35 +- search/files_3.js | 15 +- search/files_4.js | 4 +- search/files_5.js | 4 +- search/files_6.js | 13 +- search/files_7.js | 2 +- search/files_8.js | 45 +- search/files_9.js | 8 +- search/files_a.js | 5 +- search/files_b.js | 22 +- search/files_c.js | 25 +- search/files_d.js | 5 +- search/files_e.js | 15 +- search/functions_0.js | 17 +- search/functions_1.js | 26 +- search/functions_10.js | 75 +- search/functions_11.js | 6 +- search/functions_12.js | 90 +- search/functions_13.js | 23 +- search/functions_14.js | 4 +- search/functions_2.js | 94 +- search/functions_3.js | 25 +- search/functions_4.js | 14 +- search/functions_5.js | 10 +- search/functions_6.js | 68 +- search/functions_7.js | 2 +- search/functions_8.js | 148 +- search/functions_9.js | 2 +- search/functions_a.js | 6 +- search/functions_b.js | 36 +- search/functions_c.js | 60 +- search/functions_d.js | 32 +- search/functions_e.js | 34 +- search/functions_f.js | 62 +- search/namespaces_0.js | 6 +- search/namespaces_1.js | 107 +- search/namespaces_2.js | 2 +- search/pages_0.js | 2 +- search/pages_1.js | 2 +- search/pages_2.js | 2 +- search/pages_3.js | 2 +- search/searchdata.js | 4 +- search/variables_0.js | 2 +- search/variables_1.js | 28 +- search/variables_10.html | 37 + search/variables_10.js | 4 + search/variables_2.js | 33 +- search/variables_3.js | 53 +- search/variables_4.js | 79 +- search/variables_5.js | 22 +- search/variables_6.js | 21 +- search/variables_7.js | 65 +- search/variables_8.js | 84 +- search/variables_9.js | 38 +- search/variables_a.js | 3 +- search/variables_b.js | 10 +- search/variables_c.js | 5 +- search/variables_d.js | 11 +- search/variables_e.js | 5 +- search/variables_f.html | 37 + search/variables_f.js | 4 + sinv_8F90.html | 213 + sinv_8F90.js | 5 + sinv_8F90_source.html | 224 + split__by__subset_8F90.html | 144 + split__by__subset_8F90.js | 4 + split__by__subset_8F90_source.html | 203 + standard_8F90.html | 269 ++ standard_8F90.js | 6 + standard_8F90_source.html | 387 ++ strings_8F90.html | 471 ++ strings_8F90.js | 8 + strings_8F90_source.html | 507 ++ stseq_8c.html | 28 +- stseq_8c_source.html | 780 +-- tankrcpt_8F90.html | 436 ++ tankrcpt_8F90.js | 7 + tankrcpt_8F90_source.html | 344 ++ x4884_8F90.html | 263 + x4884_8F90.js | 6 + x4884_8F90_source.html | 182 + xbfmg_8c.html | 6 +- xbfmg_8c_source.html | 182 +- 1712 files changed, 119541 insertions(+), 13606 deletions(-) create mode 100644 apxdx_8F90.html create mode 100644 apxdx_8F90.js create mode 100644 apxdx_8F90_source.html create mode 100644 arallocf_8F90.html create mode 100644 arallocf_8F90.js create mode 100644 arallocf_8F90_source.html create mode 100644 binv_8F90.html create mode 100644 binv_8F90.js create mode 100644 binv_8F90_source.html create mode 100644 bitmaps_8F90.html create mode 100644 bitmaps_8F90.js create mode 100644 bitmaps_8F90_source.html create mode 100644 blocks_8F90.html create mode 100644 blocks_8F90.js create mode 100644 blocks_8F90_source.html create mode 100644 borts_8F90.html create mode 100644 borts_8F90.js create mode 100644 borts_8F90_source.html create mode 100644 cftbvs_8F90.html create mode 100644 cftbvs_8F90.js create mode 100644 cftbvs_8F90_source.html create mode 100644 cidecode_8F90.html create mode 100644 cidecode_8F90.js create mode 100644 cidecode_8F90_source.html create mode 100644 ciencode_8F90.html create mode 100644 ciencode_8F90.js create mode 100644 ciencode_8F90_source.html create mode 100644 compress_8F90.html create mode 100644 compress_8F90.js create mode 100644 compress_8F90_source.html create mode 100644 copydata_8F90.html create mode 100644 copydata_8F90.js create mode 100644 copydata_8F90_source.html create mode 100644 dir_22e12ea4559d63fc79cb69a343f5f5b4.html create mode 100644 dir_7a6c296ee00f7c8711e279503c1d5b5f.html create mode 100644 dumpdata_8F90.html create mode 100644 dumpdata_8F90.js create mode 100644 dumpdata_8F90_source.html create mode 100644 dxtable_8F90.html create mode 100644 dxtable_8F90.js create mode 100644 dxtable_8F90_source.html create mode 100644 errwrt_8F90.html create mode 100644 errwrt_8F90.js create mode 100644 errwrt_8F90_source.html create mode 100644 fxy_8F90.html create mode 100644 fxy_8F90.js create mode 100644 fxy_8F90_source.html create mode 100644 gettab_8F90.html create mode 100644 gettab_8F90.js create mode 100644 gettab_8F90_source.html create mode 100644 jumplink_8F90.html create mode 100644 jumplink_8F90.js create mode 100644 jumplink_8F90_source.html create mode 100644 mastertable_8F90.html create mode 100644 mastertable_8F90.js create mode 100644 mastertable_8F90_source.html create mode 100644 memmsgs_8F90.html create mode 100644 memmsgs_8F90.js create mode 100644 memmsgs_8F90_source.html create mode 100644 misc_8F90.html create mode 100644 misc_8F90.js create mode 100644 misc_8F90_source.html create mode 100644 missing_8F90.html create mode 100644 missing_8F90.js create mode 100644 missing_8F90_source.html create mode 100644 namespacemoda__msgcmp.html create mode 100644 namespacemoda__msgstd.html create mode 100644 namespacemoda__s3list.html create mode 100644 namespacemoda__tablef.html create mode 100644 namespacemoda__tnkrcp.html create mode 100644 openbt_8F90.html create mode 100644 openbt_8F90.js create mode 100644 openbt_8F90_source.html create mode 100644 openclosebf_8F90.html create mode 100644 openclosebf_8F90.js create mode 100644 openclosebf_8F90_source.html rename adn30_8f.html => previous_versions/v12.0.1/adn30_8f.html (100%) rename adn30_8f.js => previous_versions/v12.0.1/adn30_8f.js (100%) rename adn30_8f_source.html => previous_versions/v12.0.1/adn30_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/annotated.html create mode 100644 previous_versions/v12.0.1/annotated_dup.js create mode 100644 previous_versions/v12.0.1/arallocc_8c.html create mode 100644 previous_versions/v12.0.1/arallocc_8c.js create mode 100644 previous_versions/v12.0.1/arallocc_8c_source.html rename arallocf_8f.html => previous_versions/v12.0.1/arallocf_8f.html (100%) rename arallocf_8f.js => previous_versions/v12.0.1/arallocf_8f.js (100%) rename arallocf_8f_source.html => previous_versions/v12.0.1/arallocf_8f_source.html (100%) rename ardllocc_8c.html => previous_versions/v12.0.1/ardllocc_8c.html (100%) rename ardllocc_8c.js => previous_versions/v12.0.1/ardllocc_8c.js (100%) rename ardllocc_8c_source.html => previous_versions/v12.0.1/ardllocc_8c_source.html (100%) rename ardllocf_8f.html => previous_versions/v12.0.1/ardllocf_8f.html (100%) rename ardllocf_8f.js => previous_versions/v12.0.1/ardllocf_8f.js (100%) rename ardllocf_8f_source.html => previous_versions/v12.0.1/ardllocf_8f_source.html (100%) rename atrcpt_8f.html => previous_versions/v12.0.1/atrcpt_8f.html (100%) rename atrcpt_8f.js => previous_versions/v12.0.1/atrcpt_8f.js (100%) rename atrcpt_8f_source.html => previous_versions/v12.0.1/atrcpt_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/bc_s.png create mode 100644 previous_versions/v12.0.1/bdwn.png rename bfrini_8f90.html => previous_versions/v12.0.1/bfrini_8f90.html (100%) rename bfrini_8f90.js => previous_versions/v12.0.1/bfrini_8f90.js (100%) rename bfrini_8f90_source.html => previous_versions/v12.0.1/bfrini_8f90_source.html (100%) rename binv_8f90.html => previous_versions/v12.0.1/binv_8f90.html (100%) rename binv_8f90.js => previous_versions/v12.0.1/binv_8f90.js (100%) rename binv_8f90_source.html => previous_versions/v12.0.1/binv_8f90_source.html (100%) rename blocks_8f.html => previous_versions/v12.0.1/blocks_8f.html (100%) rename blocks_8f.js => previous_versions/v12.0.1/blocks_8f.js (100%) rename blocks_8f_source.html => previous_versions/v12.0.1/blocks_8f_source.html (100%) rename bort2_8f.html => previous_versions/v12.0.1/bort2_8f.html (100%) rename bort2_8f.js => previous_versions/v12.0.1/bort2_8f.js (100%) rename bort2_8f_source.html => previous_versions/v12.0.1/bort2_8f_source.html (100%) rename bort_8f.html => previous_versions/v12.0.1/bort_8f.html (100%) rename bort_8f.js => previous_versions/v12.0.1/bort_8f.js (100%) rename bort_8f_source.html => previous_versions/v12.0.1/bort_8f_source.html (100%) rename bort__exit_8c.html => previous_versions/v12.0.1/bort__exit_8c.html (100%) rename bort__exit_8c.js => previous_versions/v12.0.1/bort__exit_8c.js (100%) rename bort__exit_8c_source.html => previous_versions/v12.0.1/bort__exit_8c_source.html (100%) create mode 100644 previous_versions/v12.0.1/bufr__c2f__interface_8F90.html create mode 100644 previous_versions/v12.0.1/bufr__c2f__interface_8F90.js create mode 100644 previous_versions/v12.0.1/bufr__c2f__interface_8F90_source.html create mode 100644 previous_versions/v12.0.1/bufr__interface_8F90.html create mode 100644 previous_versions/v12.0.1/bufr__interface_8F90_source.html create mode 100644 previous_versions/v12.0.1/bufr__interface_8h.html create mode 100644 previous_versions/v12.0.1/bufr__interface_8h.js create mode 100644 previous_versions/v12.0.1/bufr__interface_8h_source.html create mode 100644 previous_versions/v12.0.1/bufrlib_8F90.html create mode 100644 previous_versions/v12.0.1/bufrlib_8F90_source.html create mode 100644 previous_versions/v12.0.1/bufrlib_8h.html create mode 100644 previous_versions/v12.0.1/bufrlib_8h.js create mode 100644 previous_versions/v12.0.1/bufrlib_8h_source.html rename bvers_8f.html => previous_versions/v12.0.1/bvers_8f.html (100%) rename bvers_8f.js => previous_versions/v12.0.1/bvers_8f.js (100%) rename bvers_8f_source.html => previous_versions/v12.0.1/bvers_8f_source.html (100%) rename cadn30_8f.html => previous_versions/v12.0.1/cadn30_8f.html (100%) rename cadn30_8f.js => previous_versions/v12.0.1/cadn30_8f.js (100%) rename cadn30_8f_source.html => previous_versions/v12.0.1/cadn30_8f_source.html (100%) rename capit_8f.html => previous_versions/v12.0.1/capit_8f.html (100%) rename capit_8f.js => previous_versions/v12.0.1/capit_8f.js (100%) rename capit_8f_source.html => previous_versions/v12.0.1/capit_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/cfe_8c.html create mode 100644 previous_versions/v12.0.1/cfe_8c.js create mode 100644 previous_versions/v12.0.1/cfe_8c_source.html rename chekstab_8f.html => previous_versions/v12.0.1/chekstab_8f.html (100%) rename chekstab_8f.js => previous_versions/v12.0.1/chekstab_8f.js (100%) rename chekstab_8f_source.html => previous_versions/v12.0.1/chekstab_8f_source.html (100%) rename cktaba_8f.html => previous_versions/v12.0.1/cktaba_8f.html (100%) rename cktaba_8f.js => previous_versions/v12.0.1/cktaba_8f.js (100%) rename cktaba_8f_source.html => previous_versions/v12.0.1/cktaba_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/classes.html rename closbf_8f.html => previous_versions/v12.0.1/closbf_8f.html (100%) rename closbf_8f.js => previous_versions/v12.0.1/closbf_8f.js (100%) rename closbf_8f_source.html => previous_versions/v12.0.1/closbf_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/closed.png rename closmg_8f.html => previous_versions/v12.0.1/closmg_8f.html (100%) rename closmg_8f.js => previous_versions/v12.0.1/closmg_8f.js (100%) rename closmg_8f_source.html => previous_versions/v12.0.1/closmg_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/cmpbqm_8F90.html create mode 100644 previous_versions/v12.0.1/cmpbqm_8F90.js create mode 100644 previous_versions/v12.0.1/cmpbqm_8F90_source.html rename cmpmsg_8f.html => previous_versions/v12.0.1/cmpmsg_8f.html (100%) rename cmpmsg_8f.js => previous_versions/v12.0.1/cmpmsg_8f.js (100%) rename cmpmsg_8f_source.html => previous_versions/v12.0.1/cmpmsg_8f_source.html (100%) rename cmsgini_8f.html => previous_versions/v12.0.1/cmsgini_8f.html (100%) rename cmsgini_8f.js => previous_versions/v12.0.1/cmsgini_8f.js (100%) rename cmsgini_8f_source.html => previous_versions/v12.0.1/cmsgini_8f_source.html (100%) rename cnved4_8f.html => previous_versions/v12.0.1/cnved4_8f.html (100%) rename cnved4_8f.js => previous_versions/v12.0.1/cnved4_8f.js (100%) rename cnved4_8f_source.html => previous_versions/v12.0.1/cnved4_8f_source.html (100%) rename codflg_8f.html => previous_versions/v12.0.1/codflg_8f.html (100%) rename codflg_8f.js => previous_versions/v12.0.1/codflg_8f.js (100%) rename codflg_8f_source.html => previous_versions/v12.0.1/codflg_8f_source.html (100%) rename conwin_8f.html => previous_versions/v12.0.1/conwin_8f.html (100%) rename conwin_8f.js => previous_versions/v12.0.1/conwin_8f.js (100%) rename conwin_8f_source.html => previous_versions/v12.0.1/conwin_8f_source.html (100%) rename copybf_8f.html => previous_versions/v12.0.1/copybf_8f.html (100%) rename copybf_8f.js => previous_versions/v12.0.1/copybf_8f.js (100%) rename copybf_8f_source.html => previous_versions/v12.0.1/copybf_8f_source.html (100%) rename copymg_8f.html => previous_versions/v12.0.1/copymg_8f.html (100%) rename copymg_8f.js => previous_versions/v12.0.1/copymg_8f.js (100%) rename copymg_8f_source.html => previous_versions/v12.0.1/copymg_8f_source.html (100%) rename copysb_8f.html => previous_versions/v12.0.1/copysb_8f.html (100%) rename copysb_8f.js => previous_versions/v12.0.1/copysb_8f.js (100%) rename copysb_8f_source.html => previous_versions/v12.0.1/copysb_8f_source.html (100%) rename cpbfdx_8f.html => previous_versions/v12.0.1/cpbfdx_8f.html (100%) rename cpbfdx_8f.js => previous_versions/v12.0.1/cpbfdx_8f.js (100%) rename cpbfdx_8f_source.html => previous_versions/v12.0.1/cpbfdx_8f_source.html (100%) rename cpdxmm_8f.html => previous_versions/v12.0.1/cpdxmm_8f.html (100%) rename cpdxmm_8f.js => previous_versions/v12.0.1/cpdxmm_8f.js (100%) rename cpdxmm_8f_source.html => previous_versions/v12.0.1/cpdxmm_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/cpmstabs_8c.html create mode 100644 previous_versions/v12.0.1/cpmstabs_8c.js create mode 100644 previous_versions/v12.0.1/cpmstabs_8c_source.html rename cpymem_8f.html => previous_versions/v12.0.1/cpymem_8f.html (100%) rename cpymem_8f.js => previous_versions/v12.0.1/cpymem_8f.js (100%) rename cpymem_8f_source.html => previous_versions/v12.0.1/cpymem_8f_source.html (100%) rename cpyupd_8f.html => previous_versions/v12.0.1/cpyupd_8f.html (100%) rename cpyupd_8f.js => previous_versions/v12.0.1/cpyupd_8f.js (100%) rename cpyupd_8f_source.html => previous_versions/v12.0.1/cpyupd_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/cread_8c.html create mode 100644 previous_versions/v12.0.1/cread_8c.js create mode 100644 previous_versions/v12.0.1/cread_8c_source.html create mode 100644 previous_versions/v12.0.1/cread_8h.html create mode 100644 previous_versions/v12.0.1/cread_8h.js create mode 100644 previous_versions/v12.0.1/cread_8h_source.html create mode 100644 previous_versions/v12.0.1/crwbmg_8c.html create mode 100644 previous_versions/v12.0.1/crwbmg_8c.js create mode 100644 previous_versions/v12.0.1/crwbmg_8c_source.html rename datebf_8f.html => previous_versions/v12.0.1/datebf_8f.html (100%) rename datebf_8f.js => previous_versions/v12.0.1/datebf_8f.js (100%) rename datebf_8f_source.html => previous_versions/v12.0.1/datebf_8f_source.html (100%) rename datelen_8f.html => previous_versions/v12.0.1/datelen_8f.html (100%) rename datelen_8f.js => previous_versions/v12.0.1/datelen_8f.js (100%) rename datelen_8f_source.html => previous_versions/v12.0.1/datelen_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/debufr_8F90.html create mode 100644 previous_versions/v12.0.1/debufr_8F90.js create mode 100644 previous_versions/v12.0.1/debufr_8F90_source.html create mode 100644 previous_versions/v12.0.1/debufr_8c.html create mode 100644 previous_versions/v12.0.1/debufr_8c.js create mode 100644 previous_versions/v12.0.1/debufr_8c_source.html rename digit_8f.html => previous_versions/v12.0.1/digit_8f.html (100%) rename digit_8f.js => previous_versions/v12.0.1/digit_8f.js (100%) rename digit_8f_source.html => previous_versions/v12.0.1/digit_8f_source.html (100%) rename dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html => previous_versions/v12.0.1/dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html (100%) create mode 100644 previous_versions/v12.0.1/dir_49e56c817e5e54854c35e136979f97ca.html rename dir_4e7c8c4fc0d923782da8a23d70a9725b.html => previous_versions/v12.0.1/dir_4e7c8c4fc0d923782da8a23d70a9725b.html (100%) create mode 100644 previous_versions/v12.0.1/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 previous_versions/v12.0.1/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html create mode 100644 previous_versions/v12.0.1/doc.png create mode 100644 previous_versions/v12.0.1/doxygen.css create mode 100644 previous_versions/v12.0.1/doxygen.svg rename drfini_8f.html => previous_versions/v12.0.1/drfini_8f.html (100%) rename drfini_8f.js => previous_versions/v12.0.1/drfini_8f.js (100%) rename drfini_8f_source.html => previous_versions/v12.0.1/drfini_8f_source.html (100%) rename drstpl_8f.html => previous_versions/v12.0.1/drstpl_8f.html (100%) rename drstpl_8f.js => previous_versions/v12.0.1/drstpl_8f.js (100%) rename drstpl_8f_source.html => previous_versions/v12.0.1/drstpl_8f_source.html (100%) rename dumpbf_8f.html => previous_versions/v12.0.1/dumpbf_8f.html (100%) rename dumpbf_8f.js => previous_versions/v12.0.1/dumpbf_8f.js (100%) rename dumpbf_8f_source.html => previous_versions/v12.0.1/dumpbf_8f_source.html (100%) rename dxdump_8f.html => previous_versions/v12.0.1/dxdump_8f.html (100%) rename dxdump_8f.js => previous_versions/v12.0.1/dxdump_8f.js (100%) rename dxdump_8f_source.html => previous_versions/v12.0.1/dxdump_8f_source.html (100%) rename dxinit_8f.html => previous_versions/v12.0.1/dxinit_8f.html (100%) rename dxinit_8f.js => previous_versions/v12.0.1/dxinit_8f.js (100%) rename dxinit_8f_source.html => previous_versions/v12.0.1/dxinit_8f_source.html (100%) rename dxmini_8f.html => previous_versions/v12.0.1/dxmini_8f.html (100%) rename dxmini_8f.js => previous_versions/v12.0.1/dxmini_8f.js (100%) rename dxmini_8f_source.html => previous_versions/v12.0.1/dxmini_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/dynsections.js rename elemdx_8f.html => previous_versions/v12.0.1/elemdx_8f.html (100%) rename elemdx_8f.js => previous_versions/v12.0.1/elemdx_8f.js (100%) rename elemdx_8f_source.html => previous_versions/v12.0.1/elemdx_8f_source.html (100%) rename errwrt_8f.html => previous_versions/v12.0.1/errwrt_8f.html (100%) rename errwrt_8f.js => previous_versions/v12.0.1/errwrt_8f.js (100%) rename errwrt_8f_source.html => previous_versions/v12.0.1/errwrt_8f_source.html (100%) rename exitbufr_8f.html => previous_versions/v12.0.1/exitbufr_8f.html (100%) rename exitbufr_8f.js => previous_versions/v12.0.1/exitbufr_8f.js (100%) rename exitbufr_8f_source.html => previous_versions/v12.0.1/exitbufr_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/files.html create mode 100644 previous_versions/v12.0.1/files_dup.js create mode 100644 previous_versions/v12.0.1/folderclosed.png create mode 100644 previous_versions/v12.0.1/folderopen.png rename fortran__close_8F90.html => previous_versions/v12.0.1/fortran__close_8F90.html (100%) rename fortran__close_8F90.js => previous_versions/v12.0.1/fortran__close_8F90.js (100%) rename fortran__close_8F90_source.html => previous_versions/v12.0.1/fortran__close_8F90_source.html (100%) rename fortran__open_8F90.html => previous_versions/v12.0.1/fortran__open_8F90.html (100%) rename fortran__open_8F90.js => previous_versions/v12.0.1/fortran__open_8F90.js (100%) rename fortran__open_8F90_source.html => previous_versions/v12.0.1/fortran__open_8F90_source.html (100%) rename fstag_8f.html => previous_versions/v12.0.1/fstag_8f.html (100%) rename fstag_8f.js => previous_versions/v12.0.1/fstag_8f.js (100%) rename fstag_8f_source.html => previous_versions/v12.0.1/fstag_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/functions.html create mode 100644 previous_versions/v12.0.1/functions_func.html rename getabdb_8f.html => previous_versions/v12.0.1/getabdb_8f.html (100%) rename getabdb_8f.js => previous_versions/v12.0.1/getabdb_8f.js (100%) rename getabdb_8f_source.html => previous_versions/v12.0.1/getabdb_8f_source.html (100%) rename getbmiss_8f.html => previous_versions/v12.0.1/getbmiss_8f.html (100%) rename getbmiss_8f.js => previous_versions/v12.0.1/getbmiss_8f.js (100%) rename getbmiss_8f_source.html => previous_versions/v12.0.1/getbmiss_8f_source.html (100%) rename getcfmng_8f.html => previous_versions/v12.0.1/getcfmng_8f.html (100%) rename getcfmng_8f.js => previous_versions/v12.0.1/getcfmng_8f.js (100%) rename getcfmng_8f_source.html => previous_versions/v12.0.1/getcfmng_8f_source.html (100%) rename getlens_8f.html => previous_versions/v12.0.1/getlens_8f.html (100%) rename getlens_8f.js => previous_versions/v12.0.1/getlens_8f.js (100%) rename getlens_8f_source.html => previous_versions/v12.0.1/getlens_8f_source.html (100%) rename getntbe_8f.html => previous_versions/v12.0.1/getntbe_8f.html (100%) rename getntbe_8f.js => previous_versions/v12.0.1/getntbe_8f.js (100%) rename getntbe_8f_source.html => previous_versions/v12.0.1/getntbe_8f_source.html (100%) rename gets1loc_8f.html => previous_versions/v12.0.1/gets1loc_8f.html (100%) rename gets1loc_8f.js => previous_versions/v12.0.1/gets1loc_8f.js (100%) rename gets1loc_8f_source.html => previous_versions/v12.0.1/gets1loc_8f_source.html (100%) rename gettab_8f90.html => previous_versions/v12.0.1/gettab_8f90.html (100%) rename gettab_8f90.js => previous_versions/v12.0.1/gettab_8f90.js (100%) rename gettab_8f90_source.html => previous_versions/v12.0.1/gettab_8f90_source.html (100%) rename gettagpr_8f.html => previous_versions/v12.0.1/gettagpr_8f.html (100%) rename gettagpr_8f.js => previous_versions/v12.0.1/gettagpr_8f.js (100%) rename gettagpr_8f_source.html => previous_versions/v12.0.1/gettagpr_8f_source.html (100%) rename gettagre_8f.html => previous_versions/v12.0.1/gettagre_8f.html (100%) rename gettagre_8f.js => previous_versions/v12.0.1/gettagre_8f.js (100%) rename gettagre_8f_source.html => previous_versions/v12.0.1/gettagre_8f_source.html (100%) rename gettbh_8f.html => previous_versions/v12.0.1/gettbh_8f.html (100%) rename gettbh_8f.js => previous_versions/v12.0.1/gettbh_8f.js (100%) rename gettbh_8f_source.html => previous_versions/v12.0.1/gettbh_8f_source.html (100%) rename getvalnb_8f.html => previous_versions/v12.0.1/getvalnb_8f.html (100%) rename getvalnb_8f.js => previous_versions/v12.0.1/getvalnb_8f.js (100%) rename getvalnb_8f_source.html => previous_versions/v12.0.1/getvalnb_8f_source.html (100%) rename getwin_8f.html => previous_versions/v12.0.1/getwin_8f.html (100%) rename getwin_8f.js => previous_versions/v12.0.1/getwin_8f.js (100%) rename getwin_8f_source.html => previous_versions/v12.0.1/getwin_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/globals.html create mode 100644 previous_versions/v12.0.1/globals_b.html create mode 100644 previous_versions/v12.0.1/globals_c.html create mode 100644 previous_versions/v12.0.1/globals_d.html create mode 100644 previous_versions/v12.0.1/globals_defs.html create mode 100644 previous_versions/v12.0.1/globals_dup.js create mode 100644 previous_versions/v12.0.1/globals_e.html create mode 100644 previous_versions/v12.0.1/globals_f.html create mode 100644 previous_versions/v12.0.1/globals_func.html create mode 100644 previous_versions/v12.0.1/globals_func.js create mode 100644 previous_versions/v12.0.1/globals_func_b.html create mode 100644 previous_versions/v12.0.1/globals_func_c.html create mode 100644 previous_versions/v12.0.1/globals_func_d.html create mode 100644 previous_versions/v12.0.1/globals_func_e.html create mode 100644 previous_versions/v12.0.1/globals_func_f.html create mode 100644 previous_versions/v12.0.1/globals_func_g.html create mode 100644 previous_versions/v12.0.1/globals_func_h.html create mode 100644 previous_versions/v12.0.1/globals_func_i.html create mode 100644 previous_versions/v12.0.1/globals_func_j.html create mode 100644 previous_versions/v12.0.1/globals_func_l.html create mode 100644 previous_versions/v12.0.1/globals_func_m.html create mode 100644 previous_versions/v12.0.1/globals_func_n.html create mode 100644 previous_versions/v12.0.1/globals_func_o.html create mode 100644 previous_versions/v12.0.1/globals_func_p.html create mode 100644 previous_versions/v12.0.1/globals_func_r.html create mode 100644 previous_versions/v12.0.1/globals_func_s.html create mode 100644 previous_versions/v12.0.1/globals_func_t.html create mode 100644 previous_versions/v12.0.1/globals_func_u.html create mode 100644 previous_versions/v12.0.1/globals_func_w.html create mode 100644 previous_versions/v12.0.1/globals_func_x.html create mode 100644 previous_versions/v12.0.1/globals_g.html create mode 100644 previous_versions/v12.0.1/globals_h.html create mode 100644 previous_versions/v12.0.1/globals_i.html create mode 100644 previous_versions/v12.0.1/globals_j.html create mode 100644 previous_versions/v12.0.1/globals_l.html create mode 100644 previous_versions/v12.0.1/globals_m.html create mode 100644 previous_versions/v12.0.1/globals_n.html create mode 100644 previous_versions/v12.0.1/globals_o.html create mode 100644 previous_versions/v12.0.1/globals_p.html create mode 100644 previous_versions/v12.0.1/globals_r.html create mode 100644 previous_versions/v12.0.1/globals_s.html create mode 100644 previous_versions/v12.0.1/globals_t.html create mode 100644 previous_versions/v12.0.1/globals_u.html create mode 100644 previous_versions/v12.0.1/globals_v.html create mode 100644 previous_versions/v12.0.1/globals_vars.html create mode 100644 previous_versions/v12.0.1/globals_w.html create mode 100644 previous_versions/v12.0.1/globals_x.html rename hold4wlc_8f.html => previous_versions/v12.0.1/hold4wlc_8f.html (100%) rename hold4wlc_8f.js => previous_versions/v12.0.1/hold4wlc_8f.js (100%) rename hold4wlc_8f_source.html => previous_versions/v12.0.1/hold4wlc_8f_source.html (100%) rename i4dy_8f.html => previous_versions/v12.0.1/i4dy_8f.html (100%) rename i4dy_8f.js => previous_versions/v12.0.1/i4dy_8f.js (100%) rename i4dy_8f_source.html => previous_versions/v12.0.1/i4dy_8f_source.html (100%) rename ibfms_8f.html => previous_versions/v12.0.1/ibfms_8f.html (100%) rename ibfms_8f.js => previous_versions/v12.0.1/ibfms_8f.js (100%) rename ibfms_8f_source.html => previous_versions/v12.0.1/ibfms_8f_source.html (100%) rename icbfms_8f.html => previous_versions/v12.0.1/icbfms_8f.html (100%) rename icbfms_8f.js => previous_versions/v12.0.1/icbfms_8f.js (100%) rename icbfms_8f_source.html => previous_versions/v12.0.1/icbfms_8f_source.html (100%) rename icmpdx_8f.html => previous_versions/v12.0.1/icmpdx_8f.html (100%) rename icmpdx_8f.js => previous_versions/v12.0.1/icmpdx_8f.js (100%) rename icmpdx_8f_source.html => previous_versions/v12.0.1/icmpdx_8f_source.html (100%) rename icopysb_8f.html => previous_versions/v12.0.1/icopysb_8f.html (100%) rename icopysb_8f.js => previous_versions/v12.0.1/icopysb_8f.js (100%) rename icopysb_8f_source.html => previous_versions/v12.0.1/icopysb_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/icvidx_8c.html create mode 100644 previous_versions/v12.0.1/icvidx_8c.js create mode 100644 previous_versions/v12.0.1/icvidx_8c_source.html rename idn30_8f.html => previous_versions/v12.0.1/idn30_8f.html (100%) rename idn30_8f.js => previous_versions/v12.0.1/idn30_8f.js (100%) rename idn30_8f_source.html => previous_versions/v12.0.1/idn30_8f_source.html (100%) rename idxmsg_8f.html => previous_versions/v12.0.1/idxmsg_8f.html (100%) rename idxmsg_8f.js => previous_versions/v12.0.1/idxmsg_8f.js (100%) rename idxmsg_8f_source.html => previous_versions/v12.0.1/idxmsg_8f_source.html (100%) rename ifbget_8f.html => previous_versions/v12.0.1/ifbget_8f.html (100%) rename ifbget_8f.js => previous_versions/v12.0.1/ifbget_8f.js (100%) rename ifbget_8f_source.html => previous_versions/v12.0.1/ifbget_8f_source.html (100%) rename ifxy_8f.html => previous_versions/v12.0.1/ifxy_8f.html (100%) rename ifxy_8f.js => previous_versions/v12.0.1/ifxy_8f.js (100%) rename ifxy_8f_source.html => previous_versions/v12.0.1/ifxy_8f_source.html (100%) rename igetdate_8f.html => previous_versions/v12.0.1/igetdate_8f.html (100%) rename igetdate_8f.js => previous_versions/v12.0.1/igetdate_8f.js (100%) rename igetdate_8f_source.html => previous_versions/v12.0.1/igetdate_8f_source.html (100%) rename igetfxy_8f.html => previous_versions/v12.0.1/igetfxy_8f.html (100%) rename igetfxy_8f.js => previous_versions/v12.0.1/igetfxy_8f.js (100%) rename igetfxy_8f_source.html => previous_versions/v12.0.1/igetfxy_8f_source.html (100%) rename igetmxby_8f.html => previous_versions/v12.0.1/igetmxby_8f.html (100%) rename igetmxby_8f.js => previous_versions/v12.0.1/igetmxby_8f.js (100%) rename igetmxby_8f_source.html => previous_versions/v12.0.1/igetmxby_8f_source.html (100%) rename igetntbi_8f.html => previous_versions/v12.0.1/igetntbi_8f.html (100%) rename igetntbi_8f.js => previous_versions/v12.0.1/igetntbi_8f.js (100%) rename igetntbi_8f_source.html => previous_versions/v12.0.1/igetntbi_8f_source.html (100%) rename igetntbl_8f.html => previous_versions/v12.0.1/igetntbl_8f.html (100%) rename igetntbl_8f.js => previous_versions/v12.0.1/igetntbl_8f.js (100%) rename igetntbl_8f_source.html => previous_versions/v12.0.1/igetntbl_8f_source.html (100%) rename igetprm_8f.html => previous_versions/v12.0.1/igetprm_8f.html (100%) rename igetprm_8f.js => previous_versions/v12.0.1/igetprm_8f.js (100%) rename igetprm_8f_source.html => previous_versions/v12.0.1/igetprm_8f_source.html (100%) rename igetrfel_8f.html => previous_versions/v12.0.1/igetrfel_8f.html (100%) rename igetrfel_8f.js => previous_versions/v12.0.1/igetrfel_8f.js (100%) rename igetrfel_8f_source.html => previous_versions/v12.0.1/igetrfel_8f_source.html (100%) rename igetsc_8f.html => previous_versions/v12.0.1/igetsc_8f.html (100%) rename igetsc_8f.js => previous_versions/v12.0.1/igetsc_8f.js (100%) rename igetsc_8f_source.html => previous_versions/v12.0.1/igetsc_8f_source.html (100%) rename igettdi_8f.html => previous_versions/v12.0.1/igettdi_8f.html (100%) rename igettdi_8f.js => previous_versions/v12.0.1/igettdi_8f.js (100%) rename igettdi_8f_source.html => previous_versions/v12.0.1/igettdi_8f_source.html (100%) rename imrkopr_8f.html => previous_versions/v12.0.1/imrkopr_8f.html (100%) rename imrkopr_8f.js => previous_versions/v12.0.1/imrkopr_8f.js (100%) rename imrkopr_8f_source.html => previous_versions/v12.0.1/imrkopr_8f_source.html (100%) rename inctab_8f.html => previous_versions/v12.0.1/inctab_8f.html (100%) rename inctab_8f.js => previous_versions/v12.0.1/inctab_8f.js (100%) rename inctab_8f_source.html => previous_versions/v12.0.1/inctab_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/index.html create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.html create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.js create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.html create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.js create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.html create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.js create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.html create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.js create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.html create mode 100644 previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.js rename interfacebufrlib_1_1bort__exit__c.html => previous_versions/v12.0.1/interfacebufrlib_1_1bort__exit__c.html (100%) rename interfacebufrlib_1_1bort__exit__c.js => previous_versions/v12.0.1/interfacebufrlib_1_1bort__exit__c.js (100%) create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.js create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.html create mode 100644 previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.js rename invcon_8f.html => previous_versions/v12.0.1/invcon_8f.html (100%) rename invcon_8f.js => previous_versions/v12.0.1/invcon_8f.js (100%) rename invcon_8f_source.html => previous_versions/v12.0.1/invcon_8f_source.html (100%) rename invmrg_8f.html => previous_versions/v12.0.1/invmrg_8f.html (100%) rename invmrg_8f.js => previous_versions/v12.0.1/invmrg_8f.js (100%) rename invmrg_8f_source.html => previous_versions/v12.0.1/invmrg_8f_source.html (100%) rename invtag_8f.html => previous_versions/v12.0.1/invtag_8f.html (100%) rename invtag_8f.js => previous_versions/v12.0.1/invtag_8f.js (100%) rename invtag_8f_source.html => previous_versions/v12.0.1/invtag_8f_source.html (100%) rename invwin_8f.html => previous_versions/v12.0.1/invwin_8f.html (100%) rename invwin_8f.js => previous_versions/v12.0.1/invwin_8f.js (100%) rename invwin_8f_source.html => previous_versions/v12.0.1/invwin_8f_source.html (100%) rename iok2cpy_8f.html => previous_versions/v12.0.1/iok2cpy_8f.html (100%) rename iok2cpy_8f.js => previous_versions/v12.0.1/iok2cpy_8f.js (100%) rename iok2cpy_8f_source.html => previous_versions/v12.0.1/iok2cpy_8f_source.html (100%) rename iokoper_8f.html => previous_versions/v12.0.1/iokoper_8f.html (100%) rename iokoper_8f.js => previous_versions/v12.0.1/iokoper_8f.js (100%) rename iokoper_8f_source.html => previous_versions/v12.0.1/iokoper_8f_source.html (100%) rename ipkm_8f.html => previous_versions/v12.0.1/ipkm_8f.html (100%) rename ipkm_8f.js => previous_versions/v12.0.1/ipkm_8f.js (100%) rename ipkm_8f_source.html => previous_versions/v12.0.1/ipkm_8f_source.html (100%) rename ipks_8f.html => previous_versions/v12.0.1/ipks_8f.html (100%) rename ipks_8f.js => previous_versions/v12.0.1/ipks_8f.js (100%) rename ipks_8f_source.html => previous_versions/v12.0.1/ipks_8f_source.html (100%) rename ireadmg_8f.html => previous_versions/v12.0.1/ireadmg_8f.html (100%) rename ireadmg_8f.js => previous_versions/v12.0.1/ireadmg_8f.js (100%) rename ireadmg_8f_source.html => previous_versions/v12.0.1/ireadmg_8f_source.html (100%) rename ireadmm_8f.html => previous_versions/v12.0.1/ireadmm_8f.html (100%) rename ireadmm_8f.js => previous_versions/v12.0.1/ireadmm_8f.js (100%) rename ireadmm_8f_source.html => previous_versions/v12.0.1/ireadmm_8f_source.html (100%) rename ireadmt_8f.html => previous_versions/v12.0.1/ireadmt_8f.html (100%) rename ireadmt_8f.js => previous_versions/v12.0.1/ireadmt_8f.js (100%) rename ireadmt_8f_source.html => previous_versions/v12.0.1/ireadmt_8f_source.html (100%) rename ireadns_8f.html => previous_versions/v12.0.1/ireadns_8f.html (100%) rename ireadns_8f.js => previous_versions/v12.0.1/ireadns_8f.js (100%) rename ireadns_8f_source.html => previous_versions/v12.0.1/ireadns_8f_source.html (100%) rename ireadsb_8f.html => previous_versions/v12.0.1/ireadsb_8f.html (100%) rename ireadsb_8f.js => previous_versions/v12.0.1/ireadsb_8f.js (100%) rename ireadsb_8f_source.html => previous_versions/v12.0.1/ireadsb_8f_source.html (100%) rename irev_8F.html => previous_versions/v12.0.1/irev_8F.html (100%) rename irev_8F.js => previous_versions/v12.0.1/irev_8F.js (100%) rename irev_8F_source.html => previous_versions/v12.0.1/irev_8F_source.html (100%) rename isetprm_8f.html => previous_versions/v12.0.1/isetprm_8f.html (100%) rename isetprm_8f.js => previous_versions/v12.0.1/isetprm_8f.js (100%) rename isetprm_8f_source.html => previous_versions/v12.0.1/isetprm_8f_source.html (100%) rename ishrdx_8f.html => previous_versions/v12.0.1/ishrdx_8f.html (100%) rename ishrdx_8f.js => previous_versions/v12.0.1/ishrdx_8f.js (100%) rename ishrdx_8f_source.html => previous_versions/v12.0.1/ishrdx_8f_source.html (100%) rename isize_8f.html => previous_versions/v12.0.1/isize_8f.html (100%) rename isize_8f.js => previous_versions/v12.0.1/isize_8f.js (100%) rename isize_8f_source.html => previous_versions/v12.0.1/isize_8f_source.html (100%) rename istdesc_8f.html => previous_versions/v12.0.1/istdesc_8f.html (100%) rename istdesc_8f.js => previous_versions/v12.0.1/istdesc_8f.js (100%) rename istdesc_8f_source.html => previous_versions/v12.0.1/istdesc_8f_source.html (100%) rename iupb_8f.html => previous_versions/v12.0.1/iupb_8f.html (100%) rename iupb_8f.js => previous_versions/v12.0.1/iupb_8f.js (100%) rename iupb_8f_source.html => previous_versions/v12.0.1/iupb_8f_source.html (100%) rename iupbs01_8f.html => previous_versions/v12.0.1/iupbs01_8f.html (100%) rename iupbs01_8f.js => previous_versions/v12.0.1/iupbs01_8f.js (100%) rename iupbs01_8f_source.html => previous_versions/v12.0.1/iupbs01_8f_source.html (100%) rename iupbs3_8f.html => previous_versions/v12.0.1/iupbs3_8f.html (100%) rename iupbs3_8f.js => previous_versions/v12.0.1/iupbs3_8f.js (100%) rename iupbs3_8f_source.html => previous_versions/v12.0.1/iupbs3_8f_source.html (100%) rename iupm_8f.html => previous_versions/v12.0.1/iupm_8f.html (100%) rename iupm_8f.js => previous_versions/v12.0.1/iupm_8f.js (100%) rename iupm_8f_source.html => previous_versions/v12.0.1/iupm_8f_source.html (100%) rename iupvs01_8f.html => previous_versions/v12.0.1/iupvs01_8f.html (100%) rename iupvs01_8f.js => previous_versions/v12.0.1/iupvs01_8f.js (100%) rename iupvs01_8f_source.html => previous_versions/v12.0.1/iupvs01_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/jquery.js rename jstnum_8f.html => previous_versions/v12.0.1/jstnum_8f.html (100%) rename jstnum_8f.js => previous_versions/v12.0.1/jstnum_8f.js (100%) rename jstnum_8f_source.html => previous_versions/v12.0.1/jstnum_8f_source.html (100%) rename lcmgdf_8f.html => previous_versions/v12.0.1/lcmgdf_8f.html (100%) rename lcmgdf_8f.js => previous_versions/v12.0.1/lcmgdf_8f.js (100%) rename lcmgdf_8f_source.html => previous_versions/v12.0.1/lcmgdf_8f_source.html (100%) rename lmsg_8f.html => previous_versions/v12.0.1/lmsg_8f.html (100%) rename lmsg_8f.js => previous_versions/v12.0.1/lmsg_8f.js (100%) rename lmsg_8f_source.html => previous_versions/v12.0.1/lmsg_8f_source.html (100%) rename lstjpb_8f.html => previous_versions/v12.0.1/lstjpb_8f.html (100%) rename lstjpb_8f.js => previous_versions/v12.0.1/lstjpb_8f.js (100%) rename lstjpb_8f_source.html => previous_versions/v12.0.1/lstjpb_8f_source.html (100%) rename makestab_8f.html => previous_versions/v12.0.1/makestab_8f.html (100%) rename makestab_8f.js => previous_versions/v12.0.1/makestab_8f.js (100%) rename makestab_8f_source.html => previous_versions/v12.0.1/makestab_8f_source.html (100%) rename maxout_8f.html => previous_versions/v12.0.1/maxout_8f.html (100%) rename maxout_8f.js => previous_versions/v12.0.1/maxout_8f.js (100%) rename maxout_8f_source.html => previous_versions/v12.0.1/maxout_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html create mode 100644 previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html create mode 100644 previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html create mode 100644 previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html create mode 100644 previous_versions/v12.0.1/menu.js create mode 100644 previous_versions/v12.0.1/menudata.js rename mesgbc_8f.html => previous_versions/v12.0.1/mesgbc_8f.html (100%) rename mesgbc_8f.js => previous_versions/v12.0.1/mesgbc_8f.js (100%) rename mesgbc_8f_source.html => previous_versions/v12.0.1/mesgbc_8f_source.html (100%) rename mesgbf_8f.html => previous_versions/v12.0.1/mesgbf_8f.html (100%) rename mesgbf_8f.js => previous_versions/v12.0.1/mesgbf_8f.js (100%) rename mesgbf_8f_source.html => previous_versions/v12.0.1/mesgbf_8f_source.html (100%) rename minimg_8f.html => previous_versions/v12.0.1/minimg_8f.html (100%) rename minimg_8f.js => previous_versions/v12.0.1/minimg_8f.js (100%) rename minimg_8f_source.html => previous_versions/v12.0.1/minimg_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/modules__arrs_8F90.html create mode 100644 previous_versions/v12.0.1/modules__arrs_8F90.js create mode 100644 previous_versions/v12.0.1/modules__arrs_8F90_source.html create mode 100644 previous_versions/v12.0.1/modules__vars_8F90.html create mode 100644 previous_versions/v12.0.1/modules__vars_8F90.js create mode 100644 previous_versions/v12.0.1/modules__vars_8F90_source.html rename mrginv_8f.html => previous_versions/v12.0.1/mrginv_8f.html (100%) rename mrginv_8f.js => previous_versions/v12.0.1/mrginv_8f.js (100%) rename mrginv_8f_source.html => previous_versions/v12.0.1/mrginv_8f_source.html (100%) rename msgfull_8f.html => previous_versions/v12.0.1/msgfull_8f.html (100%) rename msgfull_8f.js => previous_versions/v12.0.1/msgfull_8f.js (100%) rename msgfull_8f_source.html => previous_versions/v12.0.1/msgfull_8f_source.html (100%) rename msgini_8f.html => previous_versions/v12.0.1/msgini_8f.html (100%) rename msgini_8f.js => previous_versions/v12.0.1/msgini_8f.js (100%) rename msgini_8f_source.html => previous_versions/v12.0.1/msgini_8f_source.html (100%) rename msgupd_8f.html => previous_versions/v12.0.1/msgupd_8f.html (100%) rename msgupd_8f.js => previous_versions/v12.0.1/msgupd_8f.js (100%) rename msgupd_8f_source.html => previous_versions/v12.0.1/msgupd_8f_source.html (100%) rename msgwrt_8f.html => previous_versions/v12.0.1/msgwrt_8f.html (100%) rename msgwrt_8f.js => previous_versions/v12.0.1/msgwrt_8f.js (100%) rename msgwrt_8f_source.html => previous_versions/v12.0.1/msgwrt_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/mstabs_8h.html create mode 100644 previous_versions/v12.0.1/mstabs_8h.js create mode 100644 previous_versions/v12.0.1/mstabs_8h_source.html rename mtfnam_8f.html => previous_versions/v12.0.1/mtfnam_8f.html (100%) rename mtfnam_8f.js => previous_versions/v12.0.1/mtfnam_8f.js (100%) rename mtfnam_8f_source.html => previous_versions/v12.0.1/mtfnam_8f_source.html (100%) rename mtinfo_8f.html => previous_versions/v12.0.1/mtinfo_8f.html (100%) rename mtinfo_8f.js => previous_versions/v12.0.1/mtinfo_8f.js (100%) rename mtinfo_8f_source.html => previous_versions/v12.0.1/mtinfo_8f_source.html (100%) rename mvb_8f.html => previous_versions/v12.0.1/mvb_8f.html (100%) rename mvb_8f.js => previous_versions/v12.0.1/mvb_8f.js (100%) rename mvb_8f_source.html => previous_versions/v12.0.1/mvb_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/namespacebufr__c2f__interface.html create mode 100644 previous_versions/v12.0.1/namespacebufr__interface.html create mode 100644 previous_versions/v12.0.1/namespacebufr__interface.js create mode 100644 previous_versions/v12.0.1/namespacebufrlib.html create mode 100644 previous_versions/v12.0.1/namespacebufrlib.js create mode 100644 previous_versions/v12.0.1/namespacemembers.html create mode 100644 previous_versions/v12.0.1/namespacemembers_c.html create mode 100644 previous_versions/v12.0.1/namespacemembers_d.html create mode 100644 previous_versions/v12.0.1/namespacemembers_dup.js create mode 100644 previous_versions/v12.0.1/namespacemembers_e.html create mode 100644 previous_versions/v12.0.1/namespacemembers_f.html create mode 100644 previous_versions/v12.0.1/namespacemembers_func.html create mode 100644 previous_versions/v12.0.1/namespacemembers_g.html create mode 100644 previous_versions/v12.0.1/namespacemembers_i.html create mode 100644 previous_versions/v12.0.1/namespacemembers_j.html create mode 100644 previous_versions/v12.0.1/namespacemembers_k.html create mode 100644 previous_versions/v12.0.1/namespacemembers_l.html create mode 100644 previous_versions/v12.0.1/namespacemembers_m.html create mode 100644 previous_versions/v12.0.1/namespacemembers_n.html create mode 100644 previous_versions/v12.0.1/namespacemembers_o.html create mode 100644 previous_versions/v12.0.1/namespacemembers_p.html create mode 100644 previous_versions/v12.0.1/namespacemembers_r.html create mode 100644 previous_versions/v12.0.1/namespacemembers_s.html create mode 100644 previous_versions/v12.0.1/namespacemembers_t.html create mode 100644 previous_versions/v12.0.1/namespacemembers_u.html create mode 100644 previous_versions/v12.0.1/namespacemembers_v.html create mode 100644 previous_versions/v12.0.1/namespacemembers_vars.html create mode 100644 previous_versions/v12.0.1/namespacemembers_w.html create mode 100644 previous_versions/v12.0.1/namespacemembers_x.html create mode 100644 previous_versions/v12.0.1/namespacemoda__bitbuf.html create mode 100644 previous_versions/v12.0.1/namespacemoda__bitmaps.html create mode 100644 previous_versions/v12.0.1/namespacemoda__bufrmg.html create mode 100644 previous_versions/v12.0.1/namespacemoda__bufrsr.html create mode 100644 previous_versions/v12.0.1/namespacemoda__comprs.html create mode 100644 previous_versions/v12.0.1/namespacemoda__comprx.html create mode 100644 previous_versions/v12.0.1/namespacemoda__dscach.html create mode 100644 previous_versions/v12.0.1/namespacemoda__h4wlc.html create mode 100644 previous_versions/v12.0.1/namespacemoda__idrdm.html create mode 100644 previous_versions/v12.0.1/namespacemoda__ival.html create mode 100644 previous_versions/v12.0.1/namespacemoda__ivttmp.html create mode 100644 previous_versions/v12.0.1/namespacemoda__lushr.html create mode 100644 previous_versions/v12.0.1/namespacemoda__mgwa.html create mode 100644 previous_versions/v12.0.1/namespacemoda__mgwb.html create mode 100644 previous_versions/v12.0.1/namespacemoda__msgcwd.html create mode 100644 previous_versions/v12.0.1/namespacemoda__msglim.html create mode 100644 previous_versions/v12.0.1/namespacemoda__msgmem.html create mode 100644 previous_versions/v12.0.1/namespacemoda__mstabs.html create mode 100644 previous_versions/v12.0.1/namespacemoda__nmikrp.html create mode 100644 previous_versions/v12.0.1/namespacemoda__nrv203.html create mode 100644 previous_versions/v12.0.1/namespacemoda__nulbfr.html create mode 100644 previous_versions/v12.0.1/namespacemoda__rdmtb.html create mode 100644 previous_versions/v12.0.1/namespacemoda__rlccmn.html create mode 100644 previous_versions/v12.0.1/namespacemoda__s01cm.html create mode 100644 previous_versions/v12.0.1/namespacemoda__sc3bfr.html create mode 100644 previous_versions/v12.0.1/namespacemoda__stbfr.html create mode 100644 previous_versions/v12.0.1/namespacemoda__stcode.html create mode 100644 previous_versions/v12.0.1/namespacemoda__tababd.html create mode 100644 previous_versions/v12.0.1/namespacemoda__tables.html create mode 100644 previous_versions/v12.0.1/namespacemoda__ufbcpl.html create mode 100644 previous_versions/v12.0.1/namespacemoda__unptyp.html create mode 100644 previous_versions/v12.0.1/namespacemoda__usrbit.html create mode 100644 previous_versions/v12.0.1/namespacemoda__usrint.html create mode 100644 previous_versions/v12.0.1/namespacemoda__usrtmp.html create mode 100644 previous_versions/v12.0.1/namespacemoda__xtab.html rename namespacemodv__bmiss.html => previous_versions/v12.0.1/namespacemodv__bmiss.html (100%) rename namespacemodv__ifopbf.html => previous_versions/v12.0.1/namespacemodv__ifopbf.html (100%) rename namespacemodv__im8b.html => previous_versions/v12.0.1/namespacemodv__im8b.html (100%) rename namespacemodv__maxcd.html => previous_versions/v12.0.1/namespacemodv__maxcd.html (100%) rename namespacemodv__maxjl.html => previous_versions/v12.0.1/namespacemodv__maxjl.html (100%) rename namespacemodv__maxmem.html => previous_versions/v12.0.1/namespacemodv__maxmem.html (100%) rename namespacemodv__maxmsg.html => previous_versions/v12.0.1/namespacemodv__maxmsg.html (100%) rename namespacemodv__maxnc.html => previous_versions/v12.0.1/namespacemodv__maxnc.html (100%) rename namespacemodv__maxss.html => previous_versions/v12.0.1/namespacemodv__maxss.html (100%) rename namespacemodv__maxtba.html => previous_versions/v12.0.1/namespacemodv__maxtba.html (100%) rename namespacemodv__maxtbb.html => previous_versions/v12.0.1/namespacemodv__maxtbb.html (100%) rename namespacemodv__maxtbd.html => previous_versions/v12.0.1/namespacemodv__maxtbd.html (100%) rename namespacemodv__mxbtm.html => previous_versions/v12.0.1/namespacemodv__mxbtm.html (100%) rename namespacemodv__mxbtmse.html => previous_versions/v12.0.1/namespacemodv__mxbtmse.html (100%) rename namespacemodv__mxcdv.html => previous_versions/v12.0.1/namespacemodv__mxcdv.html (100%) rename namespacemodv__mxcnem.html => previous_versions/v12.0.1/namespacemodv__mxcnem.html (100%) rename namespacemodv__mxcsb.html => previous_versions/v12.0.1/namespacemodv__mxcsb.html (100%) rename namespacemodv__mxdxts.html => previous_versions/v12.0.1/namespacemodv__mxdxts.html (100%) rename namespacemodv__mxh4wlc.html => previous_versions/v12.0.1/namespacemodv__mxh4wlc.html (100%) rename namespacemodv__mxlcc.html => previous_versions/v12.0.1/namespacemodv__mxlcc.html (100%) rename namespacemodv__mxmsgl.html => previous_versions/v12.0.1/namespacemodv__mxmsgl.html (100%) rename namespacemodv__mxmtbb.html => previous_versions/v12.0.1/namespacemodv__mxmtbb.html (100%) rename namespacemodv__mxmtbd.html => previous_versions/v12.0.1/namespacemodv__mxmtbd.html (100%) rename namespacemodv__mxmtbf.html => previous_versions/v12.0.1/namespacemodv__mxmtbf.html (100%) rename namespacemodv__mxnaf.html => previous_versions/v12.0.1/namespacemodv__mxnaf.html (100%) rename namespacemodv__mxnrv.html => previous_versions/v12.0.1/namespacemodv__mxnrv.html (100%) rename namespacemodv__mxrst.html => previous_versions/v12.0.1/namespacemodv__mxrst.html (100%) rename namespacemodv__mxs.html => previous_versions/v12.0.1/namespacemodv__mxs.html (100%) rename namespacemodv__mxs01v.html => previous_versions/v12.0.1/namespacemodv__mxs01v.html (100%) rename namespacemodv__mxtamc.html => previous_versions/v12.0.1/namespacemodv__mxtamc.html (100%) rename namespacemodv__mxtco.html => previous_versions/v12.0.1/namespacemodv__mxtco.html (100%) rename namespacemodv__nfiles.html => previous_versions/v12.0.1/namespacemodv__nfiles.html (100%) create mode 100644 previous_versions/v12.0.1/namespaces.html create mode 100644 previous_versions/v12.0.1/namespaces_dup.js create mode 100644 previous_versions/v12.0.1/namespaceshare__table__info.html create mode 100644 previous_versions/v12.0.1/nav_f.png create mode 100644 previous_versions/v12.0.1/nav_g.png create mode 100644 previous_versions/v12.0.1/nav_h.png create mode 100644 previous_versions/v12.0.1/navtree.css create mode 100644 previous_versions/v12.0.1/navtree.js create mode 100644 previous_versions/v12.0.1/navtreedata.js create mode 100644 previous_versions/v12.0.1/navtreeindex0.js create mode 100644 previous_versions/v12.0.1/navtreeindex1.js create mode 100644 previous_versions/v12.0.1/navtreeindex2.js create mode 100644 previous_versions/v12.0.1/navtreeindex3.js create mode 100644 previous_versions/v12.0.1/navtreeindex4.js create mode 100644 previous_versions/v12.0.1/navtreeindex5.js rename navtreeindex6.js => previous_versions/v12.0.1/navtreeindex6.js (100%) rename navtreeindex7.js => previous_versions/v12.0.1/navtreeindex7.js (100%) rename nemdefs_8f.html => previous_versions/v12.0.1/nemdefs_8f.html (100%) rename nemdefs_8f.js => previous_versions/v12.0.1/nemdefs_8f.js (100%) rename nemdefs_8f_source.html => previous_versions/v12.0.1/nemdefs_8f_source.html (100%) rename nemock_8f.html => previous_versions/v12.0.1/nemock_8f.html (100%) rename nemock_8f.js => previous_versions/v12.0.1/nemock_8f.js (100%) rename nemock_8f_source.html => previous_versions/v12.0.1/nemock_8f_source.html (100%) rename nemspecs_8f.html => previous_versions/v12.0.1/nemspecs_8f.html (100%) rename nemspecs_8f.js => previous_versions/v12.0.1/nemspecs_8f.js (100%) rename nemspecs_8f_source.html => previous_versions/v12.0.1/nemspecs_8f_source.html (100%) rename nemtab_8f.html => previous_versions/v12.0.1/nemtab_8f.html (100%) rename nemtab_8f.js => previous_versions/v12.0.1/nemtab_8f.js (100%) rename nemtab_8f_source.html => previous_versions/v12.0.1/nemtab_8f_source.html (100%) rename nemtba_8f.html => previous_versions/v12.0.1/nemtba_8f.html (100%) rename nemtba_8f.js => previous_versions/v12.0.1/nemtba_8f.js (100%) rename nemtba_8f_source.html => previous_versions/v12.0.1/nemtba_8f_source.html (100%) rename nemtbax_8f.html => previous_versions/v12.0.1/nemtbax_8f.html (100%) rename nemtbax_8f.js => previous_versions/v12.0.1/nemtbax_8f.js (100%) rename nemtbax_8f_source.html => previous_versions/v12.0.1/nemtbax_8f_source.html (100%) rename nemtbb_8f.html => previous_versions/v12.0.1/nemtbb_8f.html (100%) rename nemtbb_8f.js => previous_versions/v12.0.1/nemtbb_8f.js (100%) rename nemtbb_8f_source.html => previous_versions/v12.0.1/nemtbb_8f_source.html (100%) rename nemtbd_8f.html => previous_versions/v12.0.1/nemtbd_8f.html (100%) rename nemtbd_8f.js => previous_versions/v12.0.1/nemtbd_8f.js (100%) rename nemtbd_8f_source.html => previous_versions/v12.0.1/nemtbd_8f_source.html (100%) rename nenubd_8f.html => previous_versions/v12.0.1/nenubd_8f.html (100%) rename nenubd_8f.js => previous_versions/v12.0.1/nenubd_8f.js (100%) rename nenubd_8f_source.html => previous_versions/v12.0.1/nenubd_8f_source.html (100%) rename nevn_8f.html => previous_versions/v12.0.1/nevn_8f.html (100%) rename nevn_8f.js => previous_versions/v12.0.1/nevn_8f.js (100%) rename nevn_8f_source.html => previous_versions/v12.0.1/nevn_8f_source.html (100%) rename newwin_8f.html => previous_versions/v12.0.1/newwin_8f.html (100%) rename newwin_8f.js => previous_versions/v12.0.1/newwin_8f.js (100%) rename newwin_8f_source.html => previous_versions/v12.0.1/newwin_8f_source.html (100%) rename nmsub_8f.html => previous_versions/v12.0.1/nmsub_8f.html (100%) rename nmsub_8f.js => previous_versions/v12.0.1/nmsub_8f.js (100%) rename nmsub_8f_source.html => previous_versions/v12.0.1/nmsub_8f_source.html (100%) rename nmwrd_8f.html => previous_versions/v12.0.1/nmwrd_8f.html (100%) rename nmwrd_8f.js => previous_versions/v12.0.1/nmwrd_8f.js (100%) rename nmwrd_8f_source.html => previous_versions/v12.0.1/nmwrd_8f_source.html (100%) rename numbck_8f.html => previous_versions/v12.0.1/numbck_8f.html (100%) rename numbck_8f.js => previous_versions/v12.0.1/numbck_8f.js (100%) rename numbck_8f_source.html => previous_versions/v12.0.1/numbck_8f_source.html (100%) rename numtab_8f.html => previous_versions/v12.0.1/numtab_8f.html (100%) rename numtab_8f.js => previous_versions/v12.0.1/numtab_8f.js (100%) rename numtab_8f_source.html => previous_versions/v12.0.1/numtab_8f_source.html (100%) rename numtbd_8f.html => previous_versions/v12.0.1/numtbd_8f.html (100%) rename numtbd_8f.js => previous_versions/v12.0.1/numtbd_8f.js (100%) rename numtbd_8f_source.html => previous_versions/v12.0.1/numtbd_8f_source.html (100%) rename nvnwin_8f.html => previous_versions/v12.0.1/nvnwin_8f.html (100%) rename nvnwin_8f.js => previous_versions/v12.0.1/nvnwin_8f.js (100%) rename nvnwin_8f_source.html => previous_versions/v12.0.1/nvnwin_8f_source.html (100%) rename nwords_8f.html => previous_versions/v12.0.1/nwords_8f.html (100%) rename nwords_8f.js => previous_versions/v12.0.1/nwords_8f.js (100%) rename nwords_8f_source.html => previous_versions/v12.0.1/nwords_8f_source.html (100%) rename nxtwin_8f.html => previous_versions/v12.0.1/nxtwin_8f.html (100%) rename nxtwin_8f.js => previous_versions/v12.0.1/nxtwin_8f.js (100%) rename nxtwin_8f_source.html => previous_versions/v12.0.1/nxtwin_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/open.png rename openbf_8f.html => previous_versions/v12.0.1/openbf_8f.html (100%) rename openbf_8f.js => previous_versions/v12.0.1/openbf_8f.js (100%) rename openbf_8f_source.html => previous_versions/v12.0.1/openbf_8f_source.html (100%) rename openbt_8f.html => previous_versions/v12.0.1/openbt_8f.html (100%) rename openbt_8f.js => previous_versions/v12.0.1/openbt_8f.js (100%) rename openbt_8f_source.html => previous_versions/v12.0.1/openbt_8f_source.html (100%) rename openmb_8f.html => previous_versions/v12.0.1/openmb_8f.html (100%) rename openmb_8f.js => previous_versions/v12.0.1/openmb_8f.js (100%) rename openmb_8f_source.html => previous_versions/v12.0.1/openmb_8f_source.html (100%) rename openmg_8f.html => previous_versions/v12.0.1/openmg_8f.html (100%) rename openmg_8f.js => previous_versions/v12.0.1/openmg_8f.js (100%) rename openmg_8f_source.html => previous_versions/v12.0.1/openmg_8f_source.html (100%) rename pad_8f.html => previous_versions/v12.0.1/pad_8f.html (100%) rename pad_8f.js => previous_versions/v12.0.1/pad_8f.js (100%) rename pad_8f_source.html => previous_versions/v12.0.1/pad_8f_source.html (100%) rename padmsg_8f.html => previous_versions/v12.0.1/padmsg_8f.html (100%) rename padmsg_8f.js => previous_versions/v12.0.1/padmsg_8f.js (100%) rename padmsg_8f_source.html => previous_versions/v12.0.1/padmsg_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/pages.html rename parstr_8f.html => previous_versions/v12.0.1/parstr_8f.html (100%) rename parstr_8f.js => previous_versions/v12.0.1/parstr_8f.js (100%) rename parstr_8f_source.html => previous_versions/v12.0.1/parstr_8f_source.html (100%) rename parusr_8f.html => previous_versions/v12.0.1/parusr_8f.html (100%) rename parusr_8f.js => previous_versions/v12.0.1/parusr_8f.js (100%) rename parusr_8f_source.html => previous_versions/v12.0.1/parusr_8f_source.html (100%) rename parutg_8f.html => previous_versions/v12.0.1/parutg_8f.html (100%) rename parutg_8f.js => previous_versions/v12.0.1/parutg_8f.js (100%) rename parutg_8f_source.html => previous_versions/v12.0.1/parutg_8f_source.html (100%) rename pkb8_8f.html => previous_versions/v12.0.1/pkb8_8f.html (100%) rename pkb8_8f.js => previous_versions/v12.0.1/pkb8_8f.js (100%) rename pkb8_8f_source.html => previous_versions/v12.0.1/pkb8_8f_source.html (100%) rename pkb_8f.html => previous_versions/v12.0.1/pkb_8f.html (100%) rename pkb_8f.js => previous_versions/v12.0.1/pkb_8f.js (100%) rename pkb_8f_source.html => previous_versions/v12.0.1/pkb_8f_source.html (100%) rename pkbs1_8f.html => previous_versions/v12.0.1/pkbs1_8f.html (100%) rename pkbs1_8f.js => previous_versions/v12.0.1/pkbs1_8f.js (100%) rename pkbs1_8f_source.html => previous_versions/v12.0.1/pkbs1_8f_source.html (100%) rename pkc_8f.html => previous_versions/v12.0.1/pkc_8f.html (100%) rename pkc_8f.js => previous_versions/v12.0.1/pkc_8f.js (100%) rename pkc_8f_source.html => previous_versions/v12.0.1/pkc_8f_source.html (100%) rename pkftbv_8f.html => previous_versions/v12.0.1/pkftbv_8f.html (100%) rename pkftbv_8f.js => previous_versions/v12.0.1/pkftbv_8f.js (100%) rename pkftbv_8f_source.html => previous_versions/v12.0.1/pkftbv_8f_source.html (100%) rename pktdd_8f.html => previous_versions/v12.0.1/pktdd_8f.html (100%) rename pktdd_8f.js => previous_versions/v12.0.1/pktdd_8f.js (100%) rename pktdd_8f_source.html => previous_versions/v12.0.1/pktdd_8f_source.html (100%) rename pkvs01_8f.html => previous_versions/v12.0.1/pkvs01_8f.html (100%) rename pkvs01_8f.js => previous_versions/v12.0.1/pkvs01_8f.js (100%) rename pkvs01_8f_source.html => previous_versions/v12.0.1/pkvs01_8f_source.html (100%) rename posapx_8f.html => previous_versions/v12.0.1/posapx_8f.html (100%) rename posapx_8f.js => previous_versions/v12.0.1/posapx_8f.js (100%) rename posapx_8f_source.html => previous_versions/v12.0.1/posapx_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/python/index.html create mode 100644 previous_versions/v12.0.1/python/ncepbufr.html rename {python => previous_versions/v12.0.1/python}/ncepbufr/__pycache__/__init__.cpython-38.pyc (100%) create mode 100644 previous_versions/v12.0.1/python/ncepbufr/bufr_mnemonics.html rename {python => previous_versions/v12.0.1/python}/search.json (100%) rename rcstpl_8f.html => previous_versions/v12.0.1/rcstpl_8f.html (100%) rename rcstpl_8f.js => previous_versions/v12.0.1/rcstpl_8f.js (100%) rename rcstpl_8f_source.html => previous_versions/v12.0.1/rcstpl_8f_source.html (100%) rename rdbfdx_8f.html => previous_versions/v12.0.1/rdbfdx_8f.html (100%) rename rdbfdx_8f.js => previous_versions/v12.0.1/rdbfdx_8f.js (100%) rename rdbfdx_8f_source.html => previous_versions/v12.0.1/rdbfdx_8f_source.html (100%) rename rdcmps_8f.html => previous_versions/v12.0.1/rdcmps_8f.html (100%) rename rdcmps_8f.js => previous_versions/v12.0.1/rdcmps_8f.js (100%) rename rdcmps_8f_source.html => previous_versions/v12.0.1/rdcmps_8f_source.html (100%) rename rdmemm_8f.html => previous_versions/v12.0.1/rdmemm_8f.html (100%) rename rdmemm_8f.js => previous_versions/v12.0.1/rdmemm_8f.js (100%) rename rdmemm_8f_source.html => previous_versions/v12.0.1/rdmemm_8f_source.html (100%) rename rdmems_8f.html => previous_versions/v12.0.1/rdmems_8f.html (100%) rename rdmems_8f.js => previous_versions/v12.0.1/rdmems_8f.js (100%) rename rdmems_8f_source.html => previous_versions/v12.0.1/rdmems_8f_source.html (100%) rename rdmgsb_8f.html => previous_versions/v12.0.1/rdmgsb_8f.html (100%) rename rdmgsb_8f.js => previous_versions/v12.0.1/rdmgsb_8f.js (100%) rename rdmgsb_8f_source.html => previous_versions/v12.0.1/rdmgsb_8f_source.html (100%) rename rdmsgw_8F90.html => previous_versions/v12.0.1/rdmsgw_8F90.html (100%) rename rdmsgw_8F90.js => previous_versions/v12.0.1/rdmsgw_8F90.js (100%) rename rdmsgw_8F90_source.html => previous_versions/v12.0.1/rdmsgw_8F90_source.html (100%) rename rdmtbb_8f.html => previous_versions/v12.0.1/rdmtbb_8f.html (100%) rename rdmtbb_8f.js => previous_versions/v12.0.1/rdmtbb_8f.js (100%) rename rdmtbb_8f_source.html => previous_versions/v12.0.1/rdmtbb_8f_source.html (100%) rename rdmtbd_8f.html => previous_versions/v12.0.1/rdmtbd_8f.html (100%) rename rdmtbd_8f.js => previous_versions/v12.0.1/rdmtbd_8f.js (100%) rename rdmtbd_8f_source.html => previous_versions/v12.0.1/rdmtbd_8f_source.html (100%) rename rdmtbf_8f.html => previous_versions/v12.0.1/rdmtbf_8f.html (100%) rename rdmtbf_8f.js => previous_versions/v12.0.1/rdmtbf_8f.js (100%) rename rdmtbf_8f_source.html => previous_versions/v12.0.1/rdmtbf_8f_source.html (100%) rename rdtree_8f.html => previous_versions/v12.0.1/rdtree_8f.html (100%) rename rdtree_8f.js => previous_versions/v12.0.1/rdtree_8f.js (100%) rename rdtree_8f_source.html => previous_versions/v12.0.1/rdtree_8f_source.html (100%) rename rdusdx_8f.html => previous_versions/v12.0.1/rdusdx_8f.html (100%) rename rdusdx_8f.js => previous_versions/v12.0.1/rdusdx_8f.js (100%) rename rdusdx_8f_source.html => previous_versions/v12.0.1/rdusdx_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/readbp_8F90.html create mode 100644 previous_versions/v12.0.1/readbp_8F90.js create mode 100644 previous_versions/v12.0.1/readbp_8F90_source.html rename readdx_8f.html => previous_versions/v12.0.1/readdx_8f.html (100%) rename readdx_8f.js => previous_versions/v12.0.1/readdx_8f.js (100%) rename readdx_8f_source.html => previous_versions/v12.0.1/readdx_8f_source.html (100%) rename readerme_8f.html => previous_versions/v12.0.1/readerme_8f.html (100%) rename readerme_8f.js => previous_versions/v12.0.1/readerme_8f.js (100%) rename readerme_8f_source.html => previous_versions/v12.0.1/readerme_8f_source.html (100%) rename readlc_8f.html => previous_versions/v12.0.1/readlc_8f.html (100%) rename readlc_8f.js => previous_versions/v12.0.1/readlc_8f.js (100%) rename readlc_8f_source.html => previous_versions/v12.0.1/readlc_8f_source.html (100%) rename readmg_8f.html => previous_versions/v12.0.1/readmg_8f.html (100%) rename readmg_8f.js => previous_versions/v12.0.1/readmg_8f.js (100%) rename readmg_8f_source.html => previous_versions/v12.0.1/readmg_8f_source.html (100%) rename readmm_8f.html => previous_versions/v12.0.1/readmm_8f.html (100%) rename readmm_8f.js => previous_versions/v12.0.1/readmm_8f.js (100%) rename readmm_8f_source.html => previous_versions/v12.0.1/readmm_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/readmp_8F90.html create mode 100644 previous_versions/v12.0.1/readmp_8F90.js create mode 100644 previous_versions/v12.0.1/readmp_8F90_source.html rename readns_8f.html => previous_versions/v12.0.1/readns_8f.html (100%) rename readns_8f.js => previous_versions/v12.0.1/readns_8f.js (100%) rename readns_8f_source.html => previous_versions/v12.0.1/readns_8f_source.html (100%) rename reads3_8f.html => previous_versions/v12.0.1/reads3_8f.html (100%) rename reads3_8f.js => previous_versions/v12.0.1/reads3_8f.js (100%) rename reads3_8f_source.html => previous_versions/v12.0.1/reads3_8f_source.html (100%) rename readsb_8f.html => previous_versions/v12.0.1/readsb_8f.html (100%) rename readsb_8f.js => previous_versions/v12.0.1/readsb_8f.js (100%) rename readsb_8f_source.html => previous_versions/v12.0.1/readsb_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/resize.js create mode 100644 previous_versions/v12.0.1/restd_8c.html create mode 100644 previous_versions/v12.0.1/restd_8c.js create mode 100644 previous_versions/v12.0.1/restd_8c_source.html rename rewnbf_8f.html => previous_versions/v12.0.1/rewnbf_8f.html (100%) rename rewnbf_8f.js => previous_versions/v12.0.1/rewnbf_8f.js (100%) rename rewnbf_8f_source.html => previous_versions/v12.0.1/rewnbf_8f_source.html (100%) rename rsvfvm_8f.html => previous_versions/v12.0.1/rsvfvm_8f.html (100%) rename rsvfvm_8f.js => previous_versions/v12.0.1/rsvfvm_8f.js (100%) rename rsvfvm_8f_source.html => previous_versions/v12.0.1/rsvfvm_8f_source.html (100%) rename rtrcpt_8f.html => previous_versions/v12.0.1/rtrcpt_8f.html (100%) rename rtrcpt_8f.js => previous_versions/v12.0.1/rtrcpt_8f.js (100%) rename rtrcpt_8f_source.html => previous_versions/v12.0.1/rtrcpt_8f_source.html (100%) rename rtrcptb_8f.html => previous_versions/v12.0.1/rtrcptb_8f.html (100%) rename rtrcptb_8f.js => previous_versions/v12.0.1/rtrcptb_8f.js (100%) rename rtrcptb_8f_source.html => previous_versions/v12.0.1/rtrcptb_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/search/all_0.html create mode 100644 previous_versions/v12.0.1/search/all_0.js create mode 100644 previous_versions/v12.0.1/search/all_1.html create mode 100644 previous_versions/v12.0.1/search/all_1.js create mode 100644 previous_versions/v12.0.1/search/all_10.html create mode 100644 previous_versions/v12.0.1/search/all_10.js create mode 100644 previous_versions/v12.0.1/search/all_11.html create mode 100644 previous_versions/v12.0.1/search/all_11.js create mode 100644 previous_versions/v12.0.1/search/all_12.html create mode 100644 previous_versions/v12.0.1/search/all_12.js create mode 100644 previous_versions/v12.0.1/search/all_13.html create mode 100644 previous_versions/v12.0.1/search/all_13.js create mode 100644 previous_versions/v12.0.1/search/all_14.html create mode 100644 previous_versions/v12.0.1/search/all_14.js create mode 100644 previous_versions/v12.0.1/search/all_15.html create mode 100644 previous_versions/v12.0.1/search/all_15.js create mode 100644 previous_versions/v12.0.1/search/all_16.html create mode 100644 previous_versions/v12.0.1/search/all_16.js create mode 100644 previous_versions/v12.0.1/search/all_2.html create mode 100644 previous_versions/v12.0.1/search/all_2.js create mode 100644 previous_versions/v12.0.1/search/all_3.html create mode 100644 previous_versions/v12.0.1/search/all_3.js create mode 100644 previous_versions/v12.0.1/search/all_4.html create mode 100644 previous_versions/v12.0.1/search/all_4.js create mode 100644 previous_versions/v12.0.1/search/all_5.html create mode 100644 previous_versions/v12.0.1/search/all_5.js create mode 100644 previous_versions/v12.0.1/search/all_6.html create mode 100644 previous_versions/v12.0.1/search/all_6.js create mode 100644 previous_versions/v12.0.1/search/all_7.html create mode 100644 previous_versions/v12.0.1/search/all_7.js create mode 100644 previous_versions/v12.0.1/search/all_8.html create mode 100644 previous_versions/v12.0.1/search/all_8.js create mode 100644 previous_versions/v12.0.1/search/all_9.html create mode 100644 previous_versions/v12.0.1/search/all_9.js create mode 100644 previous_versions/v12.0.1/search/all_a.html create mode 100644 previous_versions/v12.0.1/search/all_a.js create mode 100644 previous_versions/v12.0.1/search/all_b.html create mode 100644 previous_versions/v12.0.1/search/all_b.js create mode 100644 previous_versions/v12.0.1/search/all_c.html create mode 100644 previous_versions/v12.0.1/search/all_c.js create mode 100644 previous_versions/v12.0.1/search/all_d.html create mode 100644 previous_versions/v12.0.1/search/all_d.js create mode 100644 previous_versions/v12.0.1/search/all_e.html create mode 100644 previous_versions/v12.0.1/search/all_e.js create mode 100644 previous_versions/v12.0.1/search/all_f.html create mode 100644 previous_versions/v12.0.1/search/all_f.js create mode 100644 previous_versions/v12.0.1/search/classes_0.html create mode 100644 previous_versions/v12.0.1/search/classes_0.js create mode 100644 previous_versions/v12.0.1/search/classes_1.html create mode 100644 previous_versions/v12.0.1/search/classes_1.js create mode 100644 previous_versions/v12.0.1/search/classes_2.html create mode 100644 previous_versions/v12.0.1/search/classes_2.js create mode 100644 previous_versions/v12.0.1/search/classes_3.html create mode 100644 previous_versions/v12.0.1/search/classes_3.js create mode 100644 previous_versions/v12.0.1/search/classes_4.html create mode 100644 previous_versions/v12.0.1/search/classes_4.js create mode 100644 previous_versions/v12.0.1/search/classes_5.html create mode 100644 previous_versions/v12.0.1/search/classes_5.js create mode 100644 previous_versions/v12.0.1/search/classes_6.html create mode 100644 previous_versions/v12.0.1/search/classes_6.js create mode 100644 previous_versions/v12.0.1/search/classes_7.html create mode 100644 previous_versions/v12.0.1/search/classes_7.js create mode 100644 previous_versions/v12.0.1/search/close.svg create mode 100644 previous_versions/v12.0.1/search/defines_0.html create mode 100644 previous_versions/v12.0.1/search/defines_0.js create mode 100644 previous_versions/v12.0.1/search/defines_1.html create mode 100644 previous_versions/v12.0.1/search/defines_1.js create mode 100644 previous_versions/v12.0.1/search/defines_2.html create mode 100644 previous_versions/v12.0.1/search/defines_2.js create mode 100644 previous_versions/v12.0.1/search/defines_3.html create mode 100644 previous_versions/v12.0.1/search/defines_3.js create mode 100644 previous_versions/v12.0.1/search/defines_4.html create mode 100644 previous_versions/v12.0.1/search/defines_4.js create mode 100644 previous_versions/v12.0.1/search/defines_5.html create mode 100644 previous_versions/v12.0.1/search/defines_5.js create mode 100644 previous_versions/v12.0.1/search/files_0.html create mode 100644 previous_versions/v12.0.1/search/files_0.js create mode 100644 previous_versions/v12.0.1/search/files_1.html create mode 100644 previous_versions/v12.0.1/search/files_1.js rename {search => previous_versions/v12.0.1/search}/files_10.html (100%) rename {search => previous_versions/v12.0.1/search}/files_10.js (100%) rename {search => previous_versions/v12.0.1/search}/files_11.html (100%) rename {search => previous_versions/v12.0.1/search}/files_11.js (100%) rename {search => previous_versions/v12.0.1/search}/files_12.html (100%) rename {search => previous_versions/v12.0.1/search}/files_12.js (100%) rename {search => previous_versions/v12.0.1/search}/files_13.html (100%) rename {search => previous_versions/v12.0.1/search}/files_13.js (100%) rename {search => previous_versions/v12.0.1/search}/files_14.html (100%) rename {search => previous_versions/v12.0.1/search}/files_14.js (100%) create mode 100644 previous_versions/v12.0.1/search/files_2.html create mode 100644 previous_versions/v12.0.1/search/files_2.js create mode 100644 previous_versions/v12.0.1/search/files_3.html create mode 100644 previous_versions/v12.0.1/search/files_3.js create mode 100644 previous_versions/v12.0.1/search/files_4.html create mode 100644 previous_versions/v12.0.1/search/files_4.js create mode 100644 previous_versions/v12.0.1/search/files_5.html create mode 100644 previous_versions/v12.0.1/search/files_5.js create mode 100644 previous_versions/v12.0.1/search/files_6.html create mode 100644 previous_versions/v12.0.1/search/files_6.js create mode 100644 previous_versions/v12.0.1/search/files_7.html create mode 100644 previous_versions/v12.0.1/search/files_7.js create mode 100644 previous_versions/v12.0.1/search/files_8.html create mode 100644 previous_versions/v12.0.1/search/files_8.js create mode 100644 previous_versions/v12.0.1/search/files_9.html create mode 100644 previous_versions/v12.0.1/search/files_9.js create mode 100644 previous_versions/v12.0.1/search/files_a.html create mode 100644 previous_versions/v12.0.1/search/files_a.js create mode 100644 previous_versions/v12.0.1/search/files_b.html create mode 100644 previous_versions/v12.0.1/search/files_b.js create mode 100644 previous_versions/v12.0.1/search/files_c.html create mode 100644 previous_versions/v12.0.1/search/files_c.js create mode 100644 previous_versions/v12.0.1/search/files_d.html create mode 100644 previous_versions/v12.0.1/search/files_d.js create mode 100644 previous_versions/v12.0.1/search/files_e.html create mode 100644 previous_versions/v12.0.1/search/files_e.js rename {search => previous_versions/v12.0.1/search}/files_f.html (100%) rename {search => previous_versions/v12.0.1/search}/files_f.js (100%) create mode 100644 previous_versions/v12.0.1/search/functions_0.html create mode 100644 previous_versions/v12.0.1/search/functions_0.js create mode 100644 previous_versions/v12.0.1/search/functions_1.html create mode 100644 previous_versions/v12.0.1/search/functions_1.js create mode 100644 previous_versions/v12.0.1/search/functions_10.html create mode 100644 previous_versions/v12.0.1/search/functions_10.js create mode 100644 previous_versions/v12.0.1/search/functions_11.html create mode 100644 previous_versions/v12.0.1/search/functions_11.js create mode 100644 previous_versions/v12.0.1/search/functions_12.html create mode 100644 previous_versions/v12.0.1/search/functions_12.js create mode 100644 previous_versions/v12.0.1/search/functions_13.html create mode 100644 previous_versions/v12.0.1/search/functions_13.js create mode 100644 previous_versions/v12.0.1/search/functions_14.html create mode 100644 previous_versions/v12.0.1/search/functions_14.js create mode 100644 previous_versions/v12.0.1/search/functions_2.html create mode 100644 previous_versions/v12.0.1/search/functions_2.js create mode 100644 previous_versions/v12.0.1/search/functions_3.html create mode 100644 previous_versions/v12.0.1/search/functions_3.js create mode 100644 previous_versions/v12.0.1/search/functions_4.html create mode 100644 previous_versions/v12.0.1/search/functions_4.js create mode 100644 previous_versions/v12.0.1/search/functions_5.html create mode 100644 previous_versions/v12.0.1/search/functions_5.js create mode 100644 previous_versions/v12.0.1/search/functions_6.html create mode 100644 previous_versions/v12.0.1/search/functions_6.js create mode 100644 previous_versions/v12.0.1/search/functions_7.html create mode 100644 previous_versions/v12.0.1/search/functions_7.js create mode 100644 previous_versions/v12.0.1/search/functions_8.html create mode 100644 previous_versions/v12.0.1/search/functions_8.js create mode 100644 previous_versions/v12.0.1/search/functions_9.html create mode 100644 previous_versions/v12.0.1/search/functions_9.js create mode 100644 previous_versions/v12.0.1/search/functions_a.html create mode 100644 previous_versions/v12.0.1/search/functions_a.js create mode 100644 previous_versions/v12.0.1/search/functions_b.html create mode 100644 previous_versions/v12.0.1/search/functions_b.js create mode 100644 previous_versions/v12.0.1/search/functions_c.html create mode 100644 previous_versions/v12.0.1/search/functions_c.js create mode 100644 previous_versions/v12.0.1/search/functions_d.html create mode 100644 previous_versions/v12.0.1/search/functions_d.js create mode 100644 previous_versions/v12.0.1/search/functions_e.html create mode 100644 previous_versions/v12.0.1/search/functions_e.js create mode 100644 previous_versions/v12.0.1/search/functions_f.html create mode 100644 previous_versions/v12.0.1/search/functions_f.js create mode 100644 previous_versions/v12.0.1/search/mag_sel.svg create mode 100644 previous_versions/v12.0.1/search/namespaces_0.html create mode 100644 previous_versions/v12.0.1/search/namespaces_0.js create mode 100644 previous_versions/v12.0.1/search/namespaces_1.html create mode 100644 previous_versions/v12.0.1/search/namespaces_1.js create mode 100644 previous_versions/v12.0.1/search/namespaces_2.html create mode 100644 previous_versions/v12.0.1/search/namespaces_2.js create mode 100644 previous_versions/v12.0.1/search/nomatches.html create mode 100644 previous_versions/v12.0.1/search/pages_0.html create mode 100644 previous_versions/v12.0.1/search/pages_0.js create mode 100644 previous_versions/v12.0.1/search/pages_1.html create mode 100644 previous_versions/v12.0.1/search/pages_1.js create mode 100644 previous_versions/v12.0.1/search/pages_2.html create mode 100644 previous_versions/v12.0.1/search/pages_2.js create mode 100644 previous_versions/v12.0.1/search/pages_3.html create mode 100644 previous_versions/v12.0.1/search/pages_3.js create mode 100644 previous_versions/v12.0.1/search/search.css create mode 100644 previous_versions/v12.0.1/search/search.js create mode 100644 previous_versions/v12.0.1/search/search_l.png create mode 100644 previous_versions/v12.0.1/search/search_m.png create mode 100644 previous_versions/v12.0.1/search/search_r.png create mode 100644 previous_versions/v12.0.1/search/searchdata.js create mode 100644 previous_versions/v12.0.1/search/variables_0.html create mode 100644 previous_versions/v12.0.1/search/variables_0.js create mode 100644 previous_versions/v12.0.1/search/variables_1.html create mode 100644 previous_versions/v12.0.1/search/variables_1.js create mode 100644 previous_versions/v12.0.1/search/variables_2.html create mode 100644 previous_versions/v12.0.1/search/variables_2.js create mode 100644 previous_versions/v12.0.1/search/variables_3.html create mode 100644 previous_versions/v12.0.1/search/variables_3.js create mode 100644 previous_versions/v12.0.1/search/variables_4.html create mode 100644 previous_versions/v12.0.1/search/variables_4.js create mode 100644 previous_versions/v12.0.1/search/variables_5.html create mode 100644 previous_versions/v12.0.1/search/variables_5.js create mode 100644 previous_versions/v12.0.1/search/variables_6.html create mode 100644 previous_versions/v12.0.1/search/variables_6.js create mode 100644 previous_versions/v12.0.1/search/variables_7.html create mode 100644 previous_versions/v12.0.1/search/variables_7.js create mode 100644 previous_versions/v12.0.1/search/variables_8.html create mode 100644 previous_versions/v12.0.1/search/variables_8.js create mode 100644 previous_versions/v12.0.1/search/variables_9.html create mode 100644 previous_versions/v12.0.1/search/variables_9.js create mode 100644 previous_versions/v12.0.1/search/variables_a.html create mode 100644 previous_versions/v12.0.1/search/variables_a.js create mode 100644 previous_versions/v12.0.1/search/variables_b.html create mode 100644 previous_versions/v12.0.1/search/variables_b.js create mode 100644 previous_versions/v12.0.1/search/variables_c.html create mode 100644 previous_versions/v12.0.1/search/variables_c.js create mode 100644 previous_versions/v12.0.1/search/variables_d.html create mode 100644 previous_versions/v12.0.1/search/variables_d.js create mode 100644 previous_versions/v12.0.1/search/variables_e.html create mode 100644 previous_versions/v12.0.1/search/variables_e.js rename seqsdx_8f.html => previous_versions/v12.0.1/seqsdx_8f.html (100%) rename seqsdx_8f.js => previous_versions/v12.0.1/seqsdx_8f.js (100%) rename seqsdx_8f_source.html => previous_versions/v12.0.1/seqsdx_8f_source.html (100%) rename setblock_8f.html => previous_versions/v12.0.1/setblock_8f.html (100%) rename setblock_8f.js => previous_versions/v12.0.1/setblock_8f.js (100%) rename setblock_8f_source.html => previous_versions/v12.0.1/setblock_8f_source.html (100%) rename setbmiss_8f.html => previous_versions/v12.0.1/setbmiss_8f.html (100%) rename setbmiss_8f.js => previous_versions/v12.0.1/setbmiss_8f.js (100%) rename setbmiss_8f_source.html => previous_versions/v12.0.1/setbmiss_8f_source.html (100%) rename setim8b_8F90.html => previous_versions/v12.0.1/setim8b_8F90.html (100%) rename setim8b_8F90.js => previous_versions/v12.0.1/setim8b_8F90.js (100%) rename setim8b_8F90_source.html => previous_versions/v12.0.1/setim8b_8F90_source.html (100%) rename setvalnb_8f.html => previous_versions/v12.0.1/setvalnb_8f.html (100%) rename setvalnb_8f.js => previous_versions/v12.0.1/setvalnb_8f.js (100%) rename setvalnb_8f_source.html => previous_versions/v12.0.1/setvalnb_8f_source.html (100%) rename sinv_8f90.html => previous_versions/v12.0.1/sinv_8f90.html (100%) rename sinv_8f90.js => previous_versions/v12.0.1/sinv_8f90.js (100%) rename sinv_8f90_source.html => previous_versions/v12.0.1/sinv_8f90_source.html (100%) rename sntbbe_8f.html => previous_versions/v12.0.1/sntbbe_8f.html (100%) rename sntbbe_8f.js => previous_versions/v12.0.1/sntbbe_8f.js (100%) rename sntbbe_8f_source.html => previous_versions/v12.0.1/sntbbe_8f_source.html (100%) rename sntbde_8f.html => previous_versions/v12.0.1/sntbde_8f.html (100%) rename sntbde_8f.js => previous_versions/v12.0.1/sntbde_8f.js (100%) rename sntbde_8f_source.html => previous_versions/v12.0.1/sntbde_8f_source.html (100%) rename sntbfe_8f.html => previous_versions/v12.0.1/sntbfe_8f.html (100%) rename sntbfe_8f.js => previous_versions/v12.0.1/sntbfe_8f.js (100%) rename sntbfe_8f_source.html => previous_versions/v12.0.1/sntbfe_8f_source.html (100%) rename split__by__subset_8f90.html => previous_versions/v12.0.1/split__by__subset_8f90.html (100%) rename split__by__subset_8f90.js => previous_versions/v12.0.1/split__by__subset_8f90.js (100%) rename split__by__subset_8f90_source.html => previous_versions/v12.0.1/split__by__subset_8f90_source.html (100%) create mode 100644 previous_versions/v12.0.1/splitbar.png rename status_8f.html => previous_versions/v12.0.1/status_8f.html (100%) rename status_8f.js => previous_versions/v12.0.1/status_8f.js (100%) rename status_8f_source.html => previous_versions/v12.0.1/status_8f_source.html (100%) rename stbfdx_8f.html => previous_versions/v12.0.1/stbfdx_8f.html (100%) rename stbfdx_8f.js => previous_versions/v12.0.1/stbfdx_8f.js (100%) rename stbfdx_8f_source.html => previous_versions/v12.0.1/stbfdx_8f_source.html (100%) rename stdmsg_8f.html => previous_versions/v12.0.1/stdmsg_8f.html (100%) rename stdmsg_8f.js => previous_versions/v12.0.1/stdmsg_8f.js (100%) rename stdmsg_8f_source.html => previous_versions/v12.0.1/stdmsg_8f_source.html (100%) rename stndrd_8f.html => previous_versions/v12.0.1/stndrd_8f.html (100%) rename stndrd_8f.js => previous_versions/v12.0.1/stndrd_8f.js (100%) rename stndrd_8f_source.html => previous_versions/v12.0.1/stndrd_8f_source.html (100%) rename stntbi_8f.html => previous_versions/v12.0.1/stntbi_8f.html (100%) rename stntbi_8f.js => previous_versions/v12.0.1/stntbi_8f.js (100%) rename stntbi_8f_source.html => previous_versions/v12.0.1/stntbi_8f_source.html (100%) rename stntbia_8f.html => previous_versions/v12.0.1/stntbia_8f.html (100%) rename stntbia_8f.js => previous_versions/v12.0.1/stntbia_8f.js (100%) rename stntbia_8f_source.html => previous_versions/v12.0.1/stntbia_8f_source.html (100%) rename strbtm_8f.html => previous_versions/v12.0.1/strbtm_8f.html (100%) rename strbtm_8f.js => previous_versions/v12.0.1/strbtm_8f.js (100%) rename strbtm_8f_source.html => previous_versions/v12.0.1/strbtm_8f_source.html (100%) rename strcln_8f.html => previous_versions/v12.0.1/strcln_8f.html (100%) rename strcln_8f.js => previous_versions/v12.0.1/strcln_8f.js (100%) rename strcln_8f_source.html => previous_versions/v12.0.1/strcln_8f_source.html (100%) rename strcpt_8f.html => previous_versions/v12.0.1/strcpt_8f.html (100%) rename strcpt_8f.js => previous_versions/v12.0.1/strcpt_8f.js (100%) rename strcpt_8f_source.html => previous_versions/v12.0.1/strcpt_8f_source.html (100%) rename string_8f.html => previous_versions/v12.0.1/string_8f.html (100%) rename string_8f.js => previous_versions/v12.0.1/string_8f.js (100%) rename string_8f_source.html => previous_versions/v12.0.1/string_8f_source.html (100%) rename strnum_8F90.html => previous_versions/v12.0.1/strnum_8F90.html (100%) rename strnum_8F90.js => previous_versions/v12.0.1/strnum_8F90.js (100%) rename strnum_8F90_source.html => previous_versions/v12.0.1/strnum_8F90_source.html (100%) rename strsuc_8F90.html => previous_versions/v12.0.1/strsuc_8F90.html (100%) rename strsuc_8F90.js => previous_versions/v12.0.1/strsuc_8F90.js (100%) rename strsuc_8F90_source.html => previous_versions/v12.0.1/strsuc_8F90_source.html (100%) create mode 100644 previous_versions/v12.0.1/stseq_8c.html create mode 100644 previous_versions/v12.0.1/stseq_8c.js create mode 100644 previous_versions/v12.0.1/stseq_8c_source.html create mode 100644 previous_versions/v12.0.1/sync_off.png create mode 100644 previous_versions/v12.0.1/sync_on.png create mode 100644 previous_versions/v12.0.1/tab_a.png create mode 100644 previous_versions/v12.0.1/tab_b.png create mode 100644 previous_versions/v12.0.1/tab_h.png create mode 100644 previous_versions/v12.0.1/tab_s.png rename tabent_8f.html => previous_versions/v12.0.1/tabent_8f.html (100%) rename tabent_8f.js => previous_versions/v12.0.1/tabent_8f.js (100%) rename tabent_8f_source.html => previous_versions/v12.0.1/tabent_8f_source.html (100%) create mode 100644 previous_versions/v12.0.1/tabs.css rename tabsub_8f.html => previous_versions/v12.0.1/tabsub_8f.html (100%) rename tabsub_8f.js => previous_versions/v12.0.1/tabsub_8f.js (100%) rename tabsub_8f_source.html => previous_versions/v12.0.1/tabsub_8f_source.html (100%) rename trybump_8f.html => previous_versions/v12.0.1/trybump_8f.html (100%) rename trybump_8f.js => previous_versions/v12.0.1/trybump_8f.js (100%) rename trybump_8f_source.html => previous_versions/v12.0.1/trybump_8f_source.html (100%) rename ufbcnt_8f.html => previous_versions/v12.0.1/ufbcnt_8f.html (100%) rename ufbcnt_8f.js => previous_versions/v12.0.1/ufbcnt_8f.js (100%) rename ufbcnt_8f_source.html => previous_versions/v12.0.1/ufbcnt_8f_source.html (100%) rename ufbcpy_8f.html => previous_versions/v12.0.1/ufbcpy_8f.html (100%) rename ufbcpy_8f.js => previous_versions/v12.0.1/ufbcpy_8f.js (100%) rename ufbcpy_8f_source.html => previous_versions/v12.0.1/ufbcpy_8f_source.html (100%) rename ufbcup_8f.html => previous_versions/v12.0.1/ufbcup_8f.html (100%) rename ufbcup_8f.js => previous_versions/v12.0.1/ufbcup_8f.js (100%) rename ufbcup_8f_source.html => previous_versions/v12.0.1/ufbcup_8f_source.html (100%) rename ufbdmp_8f.html => previous_versions/v12.0.1/ufbdmp_8f.html (100%) rename ufbdmp_8f.js => previous_versions/v12.0.1/ufbdmp_8f.js (100%) rename ufbdmp_8f_source.html => previous_versions/v12.0.1/ufbdmp_8f_source.html (100%) rename ufbevn_8f.html => previous_versions/v12.0.1/ufbevn_8f.html (100%) rename ufbevn_8f.js => previous_versions/v12.0.1/ufbevn_8f.js (100%) rename ufbevn_8f_source.html => previous_versions/v12.0.1/ufbevn_8f_source.html (100%) rename ufbget_8f.html => previous_versions/v12.0.1/ufbget_8f.html (100%) rename ufbget_8f.js => previous_versions/v12.0.1/ufbget_8f.js (100%) rename ufbget_8f_source.html => previous_versions/v12.0.1/ufbget_8f_source.html (100%) rename ufbin3_8f.html => previous_versions/v12.0.1/ufbin3_8f.html (100%) rename ufbin3_8f.js => previous_versions/v12.0.1/ufbin3_8f.js (100%) rename ufbin3_8f_source.html => previous_versions/v12.0.1/ufbin3_8f_source.html (100%) rename ufbint_8f.html => previous_versions/v12.0.1/ufbint_8f.html (100%) rename ufbint_8f.js => previous_versions/v12.0.1/ufbint_8f.js (100%) rename ufbint_8f_source.html => previous_versions/v12.0.1/ufbint_8f_source.html (100%) rename ufbinx_8f.html => previous_versions/v12.0.1/ufbinx_8f.html (100%) rename ufbinx_8f.js => previous_versions/v12.0.1/ufbinx_8f.js (100%) rename ufbinx_8f_source.html => previous_versions/v12.0.1/ufbinx_8f_source.html (100%) rename ufbmem_8f.html => previous_versions/v12.0.1/ufbmem_8f.html (100%) rename ufbmem_8f.js => previous_versions/v12.0.1/ufbmem_8f.js (100%) rename ufbmem_8f_source.html => previous_versions/v12.0.1/ufbmem_8f_source.html (100%) rename ufbmex_8f.html => previous_versions/v12.0.1/ufbmex_8f.html (100%) rename ufbmex_8f.js => previous_versions/v12.0.1/ufbmex_8f.js (100%) rename ufbmex_8f_source.html => previous_versions/v12.0.1/ufbmex_8f_source.html (100%) rename ufbmms_8f.html => previous_versions/v12.0.1/ufbmms_8f.html (100%) rename ufbmms_8f.js => previous_versions/v12.0.1/ufbmms_8f.js (100%) rename ufbmms_8f_source.html => previous_versions/v12.0.1/ufbmms_8f_source.html (100%) rename ufbmns_8f.html => previous_versions/v12.0.1/ufbmns_8f.html (100%) rename ufbmns_8f.js => previous_versions/v12.0.1/ufbmns_8f.js (100%) rename ufbmns_8f_source.html => previous_versions/v12.0.1/ufbmns_8f_source.html (100%) rename ufbovr_8f.html => previous_versions/v12.0.1/ufbovr_8f.html (100%) rename ufbovr_8f.js => previous_versions/v12.0.1/ufbovr_8f.js (100%) rename ufbovr_8f_source.html => previous_versions/v12.0.1/ufbovr_8f_source.html (100%) rename ufbpos_8f.html => previous_versions/v12.0.1/ufbpos_8f.html (100%) rename ufbpos_8f.js => previous_versions/v12.0.1/ufbpos_8f.js (100%) rename ufbpos_8f_source.html => previous_versions/v12.0.1/ufbpos_8f_source.html (100%) rename ufbqcd_8f.html => previous_versions/v12.0.1/ufbqcd_8f.html (100%) rename ufbqcd_8f.js => previous_versions/v12.0.1/ufbqcd_8f.js (100%) rename ufbqcd_8f_source.html => previous_versions/v12.0.1/ufbqcd_8f_source.html (100%) rename ufbqcp_8f.html => previous_versions/v12.0.1/ufbqcp_8f.html (100%) rename ufbqcp_8f.js => previous_versions/v12.0.1/ufbqcp_8f.js (100%) rename ufbqcp_8f_source.html => previous_versions/v12.0.1/ufbqcp_8f_source.html (100%) rename ufbrep_8f.html => previous_versions/v12.0.1/ufbrep_8f.html (100%) rename ufbrep_8f.js => previous_versions/v12.0.1/ufbrep_8f.js (100%) rename ufbrep_8f_source.html => previous_versions/v12.0.1/ufbrep_8f_source.html (100%) rename ufbrms_8f.html => previous_versions/v12.0.1/ufbrms_8f.html (100%) rename ufbrms_8f.js => previous_versions/v12.0.1/ufbrms_8f.js (100%) rename ufbrms_8f_source.html => previous_versions/v12.0.1/ufbrms_8f_source.html (100%) rename ufbrp_8f.html => previous_versions/v12.0.1/ufbrp_8f.html (100%) rename ufbrp_8f.js => previous_versions/v12.0.1/ufbrp_8f.js (100%) rename ufbrp_8f_source.html => previous_versions/v12.0.1/ufbrp_8f_source.html (100%) rename ufbrw_8f.html => previous_versions/v12.0.1/ufbrw_8f.html (100%) rename ufbrw_8f.js => previous_versions/v12.0.1/ufbrw_8f.js (100%) rename ufbrw_8f_source.html => previous_versions/v12.0.1/ufbrw_8f_source.html (100%) rename ufbseq_8f.html => previous_versions/v12.0.1/ufbseq_8f.html (100%) rename ufbseq_8f.js => previous_versions/v12.0.1/ufbseq_8f.js (100%) rename ufbseq_8f_source.html => previous_versions/v12.0.1/ufbseq_8f_source.html (100%) rename ufbsp_8f.html => previous_versions/v12.0.1/ufbsp_8f.html (100%) rename ufbsp_8f.js => previous_versions/v12.0.1/ufbsp_8f.js (100%) rename ufbsp_8f_source.html => previous_versions/v12.0.1/ufbsp_8f_source.html (100%) rename ufbstp_8f.html => previous_versions/v12.0.1/ufbstp_8f.html (100%) rename ufbstp_8f.js => previous_versions/v12.0.1/ufbstp_8f.js (100%) rename ufbstp_8f_source.html => previous_versions/v12.0.1/ufbstp_8f_source.html (100%) rename ufbtab_8f.html => previous_versions/v12.0.1/ufbtab_8f.html (100%) rename ufbtab_8f.js => previous_versions/v12.0.1/ufbtab_8f.js (100%) rename ufbtab_8f_source.html => previous_versions/v12.0.1/ufbtab_8f_source.html (100%) rename ufbtam_8f.html => previous_versions/v12.0.1/ufbtam_8f.html (100%) rename ufbtam_8f.js => previous_versions/v12.0.1/ufbtam_8f.js (100%) rename ufbtam_8f_source.html => previous_versions/v12.0.1/ufbtam_8f_source.html (100%) rename ufdump_8f.html => previous_versions/v12.0.1/ufdump_8f.html (100%) rename ufdump_8f.js => previous_versions/v12.0.1/ufdump_8f.js (100%) rename ufdump_8f_source.html => previous_versions/v12.0.1/ufdump_8f_source.html (100%) rename up8_8f.html => previous_versions/v12.0.1/up8_8f.html (100%) rename up8_8f.js => previous_versions/v12.0.1/up8_8f.js (100%) rename up8_8f_source.html => previous_versions/v12.0.1/up8_8f_source.html (100%) rename upb8_8f.html => previous_versions/v12.0.1/upb8_8f.html (100%) rename upb8_8f.js => previous_versions/v12.0.1/upb8_8f.js (100%) rename upb8_8f_source.html => previous_versions/v12.0.1/upb8_8f_source.html (100%) rename upb_8f.html => previous_versions/v12.0.1/upb_8f.html (100%) rename upb_8f.js => previous_versions/v12.0.1/upb_8f.js (100%) rename upb_8f_source.html => previous_versions/v12.0.1/upb_8f_source.html (100%) rename upbb_8f.html => previous_versions/v12.0.1/upbb_8f.html (100%) rename upbb_8f.js => previous_versions/v12.0.1/upbb_8f.js (100%) rename upbb_8f_source.html => previous_versions/v12.0.1/upbb_8f_source.html (100%) rename upc_8f.html => previous_versions/v12.0.1/upc_8f.html (100%) rename upc_8f.js => previous_versions/v12.0.1/upc_8f.js (100%) rename upc_8f_source.html => previous_versions/v12.0.1/upc_8f_source.html (100%) rename upds3_8f.html => previous_versions/v12.0.1/upds3_8f.html (100%) rename upds3_8f.js => previous_versions/v12.0.1/upds3_8f.js (100%) rename upds3_8f_source.html => previous_versions/v12.0.1/upds3_8f_source.html (100%) rename upftbv_8f.html => previous_versions/v12.0.1/upftbv_8f.html (100%) rename upftbv_8f.js => previous_versions/v12.0.1/upftbv_8f.js (100%) rename upftbv_8f_source.html => previous_versions/v12.0.1/upftbv_8f_source.html (100%) rename ups_8f.html => previous_versions/v12.0.1/ups_8f.html (100%) rename ups_8f.js => previous_versions/v12.0.1/ups_8f.js (100%) rename ups_8f_source.html => previous_versions/v12.0.1/ups_8f_source.html (100%) rename uptdd_8f.html => previous_versions/v12.0.1/uptdd_8f.html (100%) rename uptdd_8f.js => previous_versions/v12.0.1/uptdd_8f.js (100%) rename uptdd_8f_source.html => previous_versions/v12.0.1/uptdd_8f_source.html (100%) rename usrtpl_8f.html => previous_versions/v12.0.1/usrtpl_8f.html (100%) rename usrtpl_8f.js => previous_versions/v12.0.1/usrtpl_8f.js (100%) rename usrtpl_8f_source.html => previous_versions/v12.0.1/usrtpl_8f_source.html (100%) rename wrcmps_8f.html => previous_versions/v12.0.1/wrcmps_8f.html (100%) rename wrcmps_8f.js => previous_versions/v12.0.1/wrcmps_8f.js (100%) rename wrcmps_8f_source.html => previous_versions/v12.0.1/wrcmps_8f_source.html (100%) rename wrdesc_8c.html => previous_versions/v12.0.1/wrdesc_8c.html (100%) rename wrdesc_8c.js => previous_versions/v12.0.1/wrdesc_8c.js (100%) rename wrdesc_8c_source.html => previous_versions/v12.0.1/wrdesc_8c_source.html (100%) rename wrdlen_8F.html => previous_versions/v12.0.1/wrdlen_8F.html (100%) rename wrdlen_8F.js => previous_versions/v12.0.1/wrdlen_8F.js (100%) rename wrdlen_8F_source.html => previous_versions/v12.0.1/wrdlen_8F_source.html (100%) rename wrdxtb_8f.html => previous_versions/v12.0.1/wrdxtb_8f.html (100%) rename wrdxtb_8f.js => previous_versions/v12.0.1/wrdxtb_8f.js (100%) rename wrdxtb_8f_source.html => previous_versions/v12.0.1/wrdxtb_8f_source.html (100%) rename writcp_8f.html => previous_versions/v12.0.1/writcp_8f.html (100%) rename writcp_8f.js => previous_versions/v12.0.1/writcp_8f.js (100%) rename writcp_8f_source.html => previous_versions/v12.0.1/writcp_8f_source.html (100%) rename writdx_8f.html => previous_versions/v12.0.1/writdx_8f.html (100%) rename writdx_8f.js => previous_versions/v12.0.1/writdx_8f.js (100%) rename writdx_8f_source.html => previous_versions/v12.0.1/writdx_8f_source.html (100%) rename writlc_8f.html => previous_versions/v12.0.1/writlc_8f.html (100%) rename writlc_8f.js => previous_versions/v12.0.1/writlc_8f.js (100%) rename writlc_8f_source.html => previous_versions/v12.0.1/writlc_8f_source.html (100%) rename writsa_8f.html => previous_versions/v12.0.1/writsa_8f.html (100%) rename writsa_8f.js => previous_versions/v12.0.1/writsa_8f.js (100%) rename writsa_8f_source.html => previous_versions/v12.0.1/writsa_8f_source.html (100%) rename writsb_8f.html => previous_versions/v12.0.1/writsb_8f.html (100%) rename writsb_8f.js => previous_versions/v12.0.1/writsb_8f.js (100%) rename writsb_8f_source.html => previous_versions/v12.0.1/writsb_8f_source.html (100%) rename wrtree_8f.html => previous_versions/v12.0.1/wrtree_8f.html (100%) rename wrtree_8f.js => previous_versions/v12.0.1/wrtree_8f.js (100%) rename wrtree_8f_source.html => previous_versions/v12.0.1/wrtree_8f_source.html (100%) rename wtstat_8f.html => previous_versions/v12.0.1/wtstat_8f.html (100%) rename wtstat_8f.js => previous_versions/v12.0.1/wtstat_8f.js (100%) rename wtstat_8f_source.html => previous_versions/v12.0.1/wtstat_8f_source.html (100%) rename x48_8F.html => previous_versions/v12.0.1/x48_8F.html (100%) rename x48_8F.js => previous_versions/v12.0.1/x48_8F.js (100%) rename x48_8F_source.html => previous_versions/v12.0.1/x48_8F_source.html (100%) rename x84_8F.html => previous_versions/v12.0.1/x84_8F.html (100%) rename x84_8F.js => previous_versions/v12.0.1/x84_8F.js (100%) rename x84_8F_source.html => previous_versions/v12.0.1/x84_8F_source.html (100%) create mode 100644 previous_versions/v12.0.1/xbfmg_8c.html create mode 100644 previous_versions/v12.0.1/xbfmg_8c.js create mode 100644 previous_versions/v12.0.1/xbfmg_8c_source.html create mode 100644 python/search.js create mode 100644 readwritemg_8F90.html create mode 100644 readwritemg_8F90.js create mode 100644 readwritemg_8F90_source.html create mode 100644 readwritesb_8F90.html create mode 100644 readwritesb_8F90.js create mode 100644 readwritesb_8F90_source.html create mode 100644 readwriteval_8F90.html create mode 100644 readwriteval_8F90.js create mode 100644 readwriteval_8F90_source.html create mode 100644 s013vals_8F90.html create mode 100644 s013vals_8F90.js create mode 100644 s013vals_8F90_source.html create mode 100644 search/variables_10.html create mode 100644 search/variables_10.js create mode 100644 search/variables_f.html create mode 100644 search/variables_f.js create mode 100644 sinv_8F90.html create mode 100644 sinv_8F90.js create mode 100644 sinv_8F90_source.html create mode 100644 split__by__subset_8F90.html create mode 100644 split__by__subset_8F90.js create mode 100644 split__by__subset_8F90_source.html create mode 100644 standard_8F90.html create mode 100644 standard_8F90.js create mode 100644 standard_8F90_source.html create mode 100644 strings_8F90.html create mode 100644 strings_8F90.js create mode 100644 strings_8F90_source.html create mode 100644 tankrcpt_8F90.html create mode 100644 tankrcpt_8F90.js create mode 100644 tankrcpt_8F90_source.html create mode 100644 x4884_8F90.html create mode 100644 x4884_8F90.js create mode 100644 x4884_8F90_source.html diff --git a/annotated.html b/annotated.html index 5ee93c54e..83146400f 100644 --- a/annotated.html +++ b/annotated.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -98,22 +98,21 @@  Carallocc_c  Cardllocc_c  Cbackbufr_c - Cbort_exit_c - Ccewind_c - Cclosfb_c - Ccpmstabs_c - Ccrdbufr_c - Ccwrbufr_c - Cicvidx_c - Cinittbf_c - Copenab_c - Copenrb_c - Copenwb_c - Crestd_c - Csorttbf_c - Csrchtbf_c - Cstrtbfe_c - Cstseq_c + Ccewind_c + Cclosfb_c + Ccpmstabs_c + Ccrdbufr_c + Ccwrbufr_c + Cicvidx_c + Cinittbf_c + Copenab_c + Copenrb_c + Copenwb_c + Crestd_c + Csorttbf_c + Csrchtbf_c + Cstrtbfe_c + Cstseq_c diff --git a/annotated_dup.js b/annotated_dup.js index 1eab62f36..f73ada25d 100644 --- a/annotated_dup.js +++ b/annotated_dup.js @@ -11,7 +11,6 @@ var annotated_dup = [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html", "interfacebufrlib_1_1arallocc__c" ], [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html", "interfacebufrlib_1_1ardllocc__c" ], [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html", "interfacebufrlib_1_1backbufr__c" ], - [ "bort_exit_c", "interfacebufrlib_1_1bort__exit__c.html", "interfacebufrlib_1_1bort__exit__c" ], [ "cewind_c", "interfacebufrlib_1_1cewind__c.html", "interfacebufrlib_1_1cewind__c" ], [ "closfb_c", "interfacebufrlib_1_1closfb__c.html", "interfacebufrlib_1_1closfb__c" ], [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html", "interfacebufrlib_1_1cpmstabs__c" ], diff --git a/apxdx_8F90.html b/apxdx_8F90.html new file mode 100644 index 000000000..d57ace5e5 --- /dev/null +++ b/apxdx_8F90.html @@ -0,0 +1,151 @@ + + + + + + + +NCEPLIBS-bufr: apxdx.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
apxdx.F90 File Reference
+
+
+ +

Append a specified DX BUFR table to a specified BUFR file. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Functions/Subroutines

program apxdx
 Generate BUFR messages corresponding to a given DX BUFR table and append them to a given BUFR file. More...
 
+

Detailed Description

+

Append a specified DX BUFR table to a specified BUFR file.

+
Author
J. Ator
+
Date
2009-07-01
+ +

Definition in file apxdx.F90.

+

Function/Subroutine Documentation

+ +

◆ apxdx()

+ +
+
+ + + + +
program apxdx
+
+ +

Generate BUFR messages corresponding to a given DX BUFR table and append them to a given BUFR file.

+

This program is primarily intended for use when implementing DX BUFR table changes to one or more BUFR tankfiles in the NCEP observational database, but it has other potential uses as well.

+

Usage: apxdx BUFRfile DXtable

+

Upon successful output, the original BUFRfile will have BUFR messages appended to it corresponding to the given DXtable.

+
Returns
0 for success, error message otherwise
+
Remarks
    +
  • The original BUFRfile must contain embedded DX BUFR table messages corresponding to any existing BUFR messages in the file
  • +
  • Fortran logical unit numbers 10, 11, and 12 are reserved for use within this program
  • +
+
+
Author
J. Ator
+
Date
2009-07-01
+ +

Definition at line 22 of file apxdx.F90.

+ +

References closbf(), openbf(), and wrdxtb().

+ +
+
+
+
+ + + + diff --git a/apxdx_8F90.js b/apxdx_8F90.js new file mode 100644 index 000000000..3da59f377 --- /dev/null +++ b/apxdx_8F90.js @@ -0,0 +1,4 @@ +var apxdx_8F90 = +[ + [ "apxdx", "apxdx_8F90.html#ae072f0fa8326c098de4e6dfe2deef450", null ] +]; \ No newline at end of file diff --git a/apxdx_8F90_source.html b/apxdx_8F90_source.html new file mode 100644 index 000000000..6bd222291 --- /dev/null +++ b/apxdx_8F90_source.html @@ -0,0 +1,153 @@ + + + + + + + +NCEPLIBS-bufr: apxdx.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
apxdx.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
22 program apxdx
+
23 
+
24  implicit none
+
25 
+
26  character*240 cdxtbl, cbffil
+
27 
+
28  integer, parameter :: lunin = 10, lundx = 11, lunot = 12
+
29  integer narg
+
30 
+
31  logical exists
+
32 
+
33  ! Read and verify the input arguments.
+
34  narg = command_argument_count()
+
35  if ( narg /= 2 ) then
+
36  print *,'Usage: apxdx BUFRfile DXtable'
+
37  call exit(1)
+
38  endif
+
39  call get_command_argument( 1, cbffil )
+
40  inquire ( file = cbffil, exist = exists )
+
41  if ( .not. exists ) then
+
42  print *,'Specified BUFR file ' // trim(cbffil) // ' does not exist'
+
43  call exit(2)
+
44  endif
+
45  call get_command_argument( 2, cdxtbl )
+
46  inquire ( file = cdxtbl, exist = exists )
+
47  if ( .not. exists ) then
+
48  print *,'Specified DX table ' // trim(cdxtbl) // ' does not exist'
+
49  call exit(3)
+
50  endif
+
51 
+
52  ! Read the user DX table into the NCEPLIBS-bufr library.
+
53  cdxtbl = trim(cdxtbl) // char(0) ! append trailing null
+
54  open ( unit = lundx, file = cdxtbl )
+
55  call openbf ( lunin, 'INUL', lundx )
+
56 
+
57  ! Open the BUFR file for append.
+
58  cbffil = trim(cbffil) // char(0) ! append trailing null
+
59  open ( unit = lunot, file = cbffil, form = 'unformatted' )
+
60  call openbf ( lunot, 'APX', lunot )
+
61 
+
62  ! Generate DX messages from the table and append them to the BUFR file.
+
63  call wrdxtb ( lunin, lunot )
+
64 
+
65  ! Close the BUFR file.
+
66  call closbf ( lunot )
+
67 
+
68  stop
+
69 end program apxdx
+
program apxdx
Generate BUFR messages corresponding to a given DX BUFR table and append them to a given BUFR file.
Definition: apxdx.F90:22
+
recursive subroutine wrdxtb(lundx, lunot)
Generate one or more BUFR messages from the DX BUFR tables information associated with a given BUFR f...
Definition: dxtable.F90:850
+
recursive subroutine closbf(lunit)
Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
+
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
+
+
+ + + + diff --git a/arallocc_8c.html b/arallocc_8c.html index 3b112f076..a5a6fb023 100644 --- a/arallocc_8c.html +++ b/arallocc_8c.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -90,7 +90,7 @@
-

Dynamically allocate C language arrays. +

Allocate or deallocate C language arrays. More...

#include "bufrlib.h"
#include "cread.h"
@@ -109,9 +109,12 @@ void arallocc (void)  Dynamically allocate C language arrays. More...
  +void ardllocc (void) + Free all memory that was dynamically allocated during a previous call to subroutine arallocc(). More...

Detailed Description

-

Dynamically allocate C language arrays.

+

Allocate or deallocate C language arrays.

Author
J. Ator
Date
2014-12-04
@@ -131,7 +134,7 @@

Definition at line 10 of file arallocc.c.

+

Definition at line 9 of file arallocc.c.

@@ -153,14 +156,40 @@

Dynamically allocate C language arrays.

-

This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal C language arrays based on parameter values set during one or more previous calls to function isetprm().

-

All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

+

This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal C language arrays based on parameter values set during one or more previous calls to function isetprm().

+

All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

Author
J. Ator
Date
2014-12-04

Definition at line 29 of file arallocc.c.

-

References bort_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, ibfxyn_c, idefxy_c, idfxyn_c, igetprm_f(), lstpos, modv_maxcd::maxcd, modv_mxmtbb::mxmtbb, modv_mxmtbd::mxmtbd, ndelem_c, modv_nfiles::nfiles, and pb.

+

References bort_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, iafpk, ibfxyn_c, idefxy_c, idfxyn_c, igetprm_f(), lstpos, ndelem_c, and pb.

+ +

+
+ +

◆ ardllocc()

+ +
+
+ + + + + + + + +
void ardllocc (void )
+
+ +

Free all memory that was dynamically allocated during a previous call to subroutine arallocc().

+
Author
J. Ator
+
Date
2014-12-04
+ +

Definition at line 90 of file arallocc.c.

+ +

References cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, iafpk, ibfxyn_c, idefxy_c, idfxyn_c, lstpos, ndelem_c, and pb.

diff --git a/arallocc_8c.js b/arallocc_8c.js index 7e319ddb7..4f52cf6f2 100644 --- a/arallocc_8c.js +++ b/arallocc_8c.js @@ -1,5 +1,6 @@ var arallocc_8c = [ [ "IN_ARALLOCC", "arallocc_8c.html#a99a030277b9ff412087d1e599de3f730", null ], - [ "arallocc", "arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28", null ] + [ "arallocc", "arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28", null ], + [ "ardllocc", "arallocc_8c.html#ac283516a1391fee0635b01beffdad7cb", null ] ]; \ No newline at end of file diff --git a/arallocc_8c_source.html b/arallocc_8c_source.html index 48830c468..b32887331 100644 --- a/arallocc_8c_source.html +++ b/arallocc_8c_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -89,65 +89,91 @@ Go to the documentation of this file.
1 
6 #include "bufrlib.h"
7 
-
10 #define IN_ARALLOCC
+
9 #define IN_ARALLOCC
+
10 
11 #include "cread.h"
12 #include "mstabs.h"
13 
28 void
29 arallocc(void)
30 {
-
31 
-
32  char brtstr[50] = "BUFRLIB: ARALLOCC FAILED ALLOCATING";
-
33 
-
34  int nfiles;
-
35 
-
36  int mxmtbb;
-
37  int mxmtbd;
-
38  int maxcd;
+
31  char brtstr[50] = "BUFRLIB: ARALLOCC FAILED ALLOCATING";
+
32 
+
33  int nfiles;
+
34 
+
35  int mxmtbb;
+
36  int mxmtbd;
+
37  int maxcd;
+
38  int mxnaf;
39 
-
40 /*
-
41 ** cread arrays
-
42 */
+
40  /* cread arrays */
+
41 
+
42  nfiles = igetprm_f("NFILES");
43 
-
44  nfiles = igetprm_f("NFILES");
+
44  if (!(pb = malloc((nfiles+1) * sizeof(FILE *)))) bort_f(brtstr);
45 
-
46  if (!(pb = malloc((nfiles+1) * sizeof(FILE *)))) bort_f(brtstr);
+
46  if (!(lstpos = malloc((nfiles+1) * sizeof(fpos_t)))) bort_f(brtstr);
47 
-
48  if (!(lstpos = malloc((nfiles+1) * sizeof(fpos_t)))) bort_f(brtstr);
+
48  /* mstabs arrays */
49 
-
50 /*
-
51 ** mstabs arrays
-
52 */
-
53 
-
54  mxmtbb = igetprm_f("MXMTBB");
-
55  mxmtbd = igetprm_f("MXMTBD");
-
56  maxcd = igetprm_f("MAXCD");
-
57 
-
58  if (!(ibfxyn_c = malloc(mxmtbb * sizeof(int)))) bort_f(brtstr);
-
59 
-
60  if (!(cbscl_c = malloc(mxmtbb * 4 * sizeof(char)))) bort_f(brtstr);
-
61 
-
62  if (!(cbsref_c = malloc(mxmtbb * 12 * sizeof(char)))) bort_f(brtstr);
-
63 
-
64  if (!(cbbw_c = malloc(mxmtbb * 4 * sizeof(char)))) bort_f(brtstr);
-
65 
-
66  if (!(cbunit_c = malloc(mxmtbb * 24 * sizeof(char)))) bort_f(brtstr);
-
67 
-
68  if (!(cbmnem_c = malloc(mxmtbb * 8 * sizeof(char)))) bort_f(brtstr);
-
69 
-
70  if (!(cbelem_c = malloc(mxmtbb * 120 * sizeof(char)))) bort_f(brtstr);
-
71 
-
72  if (!(idfxyn_c = malloc(mxmtbd * sizeof(int)))) bort_f(brtstr);
-
73 
-
74  if (!(cdseq_c = malloc(mxmtbd * 120 * sizeof(char)))) bort_f(brtstr);
-
75 
-
76  if (!(cdmnem_c = malloc(mxmtbd * 8 * sizeof(char)))) bort_f(brtstr);
-
77 
-
78  if (!(ndelem_c = malloc(mxmtbd * sizeof(int)))) bort_f(brtstr);
-
79 
-
80  if (!(idefxy_c = malloc(mxmtbd * maxcd * sizeof(int)))) bort_f(brtstr);
-
81 }
+
50  mxmtbb = igetprm_f("MXMTBB");
+
51  mxmtbd = igetprm_f("MXMTBD");
+
52  maxcd = igetprm_f("MAXCD");
+
53  mxnaf = igetprm_f("MXNAF");
+
54 
+
55  if (!(ibfxyn_c = malloc(mxmtbb * sizeof(int)))) bort_f(brtstr);
+
56 
+
57  if (!(cbscl_c = malloc(mxmtbb * 4 * sizeof(char)))) bort_f(brtstr);
+
58 
+
59  if (!(cbsref_c = malloc(mxmtbb * 12 * sizeof(char)))) bort_f(brtstr);
+
60 
+
61  if (!(cbbw_c = malloc(mxmtbb * 4 * sizeof(char)))) bort_f(brtstr);
+
62 
+
63  if (!(cbunit_c = malloc(mxmtbb * 24 * sizeof(char)))) bort_f(brtstr);
+
64 
+
65  if (!(cbmnem_c = malloc(mxmtbb * 8 * sizeof(char)))) bort_f(brtstr);
+
66 
+
67  if (!(cbelem_c = malloc(mxmtbb * 120 * sizeof(char)))) bort_f(brtstr);
+
68 
+
69  if (!(idfxyn_c = malloc(mxmtbd * sizeof(int)))) bort_f(brtstr);
+
70 
+
71  if (!(cdseq_c = malloc(mxmtbd * 120 * sizeof(char)))) bort_f(brtstr);
+
72 
+
73  if (!(cdmnem_c = malloc(mxmtbd * 8 * sizeof(char)))) bort_f(brtstr);
+
74 
+
75  if (!(ndelem_c = malloc(mxmtbd * sizeof(int)))) bort_f(brtstr);
+
76 
+
77  if (!(idefxy_c = malloc(mxmtbd * maxcd * sizeof(int)))) bort_f(brtstr);
+
78 
+
79  if (!(iafpk = malloc(mxnaf * sizeof(int)))) bort_f(brtstr);
+
80 }
+
81 
+
89 void
+
90 ardllocc(void)
+
91 {
+
92  /* cread arrays */
+
93 
+
94  free( pb );
+
95  free( lstpos );
+
96 
+
97  /* mstabs arrays */
+
98 
+
99  free( ibfxyn_c );
+
100  free( cbscl_c );
+
101  free( cbsref_c );
+
102  free( cbbw_c );
+
103  free( cbunit_c );
+
104  free( cbmnem_c );
+
105  free( cbelem_c );
+
106  free( idfxyn_c );
+
107  free( cdseq_c );
+
108  free( cdmnem_c );
+
109  free( ndelem_c );
+
110  free( idefxy_c );
+
111  free( iafpk );
+
112 }
void arallocc(void)
Dynamically allocate C language arrays.
Definition: arallocc.c:29
+
void ardllocc(void)
Free all memory that was dynamically allocated during a previous call to subroutine arallocc().
Definition: arallocc.c:90
int igetprm_f(char *cprmnm)
Get the current value of a parameter.
Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
void bort_f(char *errstr)
Log one error message and abort application program.
@@ -155,22 +181,19 @@
FILE ** pb
File pointers.
fpos_t * lstpos
Byte positions of last successful reads from files corresponding to pb, for files that were opened fo...
Declare variables for internal storage of master Table B and Table D entries.
-
char(* cbunit_c)[24]
Master Table B units; copied from Fortran cbunit array.
-
int * idfxyn_c
Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
-
char(* cdmnem_c)[8]
Master Table D mnemonics; copied from Fortran cdmnem array.
-
char(* cbelem_c)[120]
Master Table B element names; copied from Fortran cbelem array.
-
int * ndelem_c
Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
-
int * idefxy_c
Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
-
char(* cbbw_c)[4]
Master Table B bit widths; copied from Fortran cbbw array.
-
char(* cbsref_c)[12]
Master Table B reference value; copied from Fortran cbsref array.
-
char(* cdseq_c)[120]
Master Table D sequence names; copied from Fortran cdseq array.
-
int * ibfxyn_c
Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
-
char(* cbscl_c)[4]
Master Table B scale factors; copied from Fortran cbscl array.
-
char(* cbmnem_c)[8]
Master Table B mnemonics; copied from Fortran cbmnem array.
-
integer, public maxcd
Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
-
integer mxmtbb
Maximum number of entries in a master BUFR Table B.
-
integer mxmtbd
Maximum number of entries in a master BUFR Table D.
-
integer, public nfiles
Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...
+
int * idefxy_c
WMO bit-wise representations of child descriptors for master Table D sequences; copied from Fortran i...
+
char(* cbsref_c)[12]
Master Table B reference values; copied from Fortran cbsref array.
+
char(* cbelem_c)[120]
Master Table B element names; copied from Fortran cbelem array.
+
int * idfxyn_c
WMO bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
+
char(* cdmnem_c)[8]
Master Table D mnemonics; copied from Fortran cdmnem array.
+
char(* cdseq_c)[120]
Master Table D sequence names; copied from Fortran cdseq array.
+
char(* cbscl_c)[4]
Master Table B scale factors; copied from Fortran cbscl array.
+
char(* cbunit_c)[24]
Master Table B units; copied from Fortran cbunit array.
+
char(* cbmnem_c)[8]
Master Table B mnemonics; copied from Fortran cbmnem array.
+
char(* cbbw_c)[4]
Master Table B bit widths; copied from Fortran cbbw array.
+
int * iafpk
WMO bit-wise representations of associated fields within master Table D sequences.
+
int * ibfxyn_c
WMO bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
+
int * ndelem_c
Number of child descriptors for master Table D sequences; copied from Fortran ndelem array.
diff --git a/arallocf_8F90.html b/arallocf_8F90.html new file mode 100644 index 000000000..6b3c6e1ae --- /dev/null +++ b/arallocf_8F90.html @@ -0,0 +1,359 @@ + + + + + + + +NCEPLIBS-bufr: arallocf.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
arallocf.F90 File Reference
+
+
+ +

Allocate or deallocate Fortran language arrays. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Functions/Subroutines

subroutine arallocf
 Dynamically allocate Fortran language arrays. More...
 
subroutine ardllocf
 Free all memory that was dynamically allocated during a previous call to subroutine arallocf(). More...
 
subroutine exitbufr
 Free all dynamically-allocated memory, close all logical units that are open within the NCEPLIBS-bufr software, and reset the library to all of its default settings as though it had never been called. More...
 
integer function igetprm (cprmnm)
 Return the current value of a parameter used for allocating one or more internal arrays within the NCEPLIBS-bufr software. More...
 
recursive integer function isetprm (cprmnm, ipval)
 Set a specified parameter to a specified value for use in dynamically allocating one or more internal arrays within the NCEPLIBS-bufr software. More...
 
+

Detailed Description

+

Allocate or deallocate Fortran language arrays.

+
Author
J. Ator
+
Date
2014-12-04
+ +

Definition in file arallocf.F90.

+

Function/Subroutine Documentation

+ +

◆ arallocf()

+ +
+
+ + + + +
subroutine arallocf
+
+ +

Dynamically allocate Fortran language arrays.

+

This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal Fortran language arrays based on parameter values set during one or more previous calls to function isetprm().

+

All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

+
Author
J. Ator
+
Date
2014-12-04
+ +

Definition at line 18 of file arallocf.F90.

+ +

References bort(), moda_mstabs::cbbw, moda_mstabs::cbelem, moda_mstabs::cbmnem, moda_mstabs::cbscl, moda_mstabs::cbsref, moda_mstabs::cbunit, moda_mstabs::cdmnem, moda_s3list::cds3, moda_mstabs::cdseq, moda_rdmtb::ceelem, moda_h4wlc::chh4wlc, moda_rdmtb::cmdscb, moda_rdmtb::cmdscd, moda_s01cm::cmnem, moda_dscach::cnem, moda_rlccmn::crtag, moda_bitmaps::ctco, errwrt(), moda_bitbuf::ibay, moda_mstabs::ibfxyn, moda_tables::ibt, moda_bitmaps::ibtmse, moda_msgmem::icdxts, moda_msgcwd::idate, moda_dscach::idcach, moda_mstabs::idefxy, moda_mstabs::idfxyn, moda_tababd::idna, moda_tababd::idnb, moda_tababd::idnd, moda_idrdm::idrdm, moda_s3list::ids3, moda_rdmtb::iefxyn, moda_nrv203::ienrv, moda_msgmem::ifdxts, moda_msgcwd::inode, moda_nrv203::inodnrv, moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_usrint::inv, moda_stbfr::iolun, moda_stbfr::iomsg, moda_msgmem::ipdxm, moda_msgmem::ipmsgs, moda_rlccmn::irbit, moda_tables::irf, moda_rlccmn::irnch, moda_nmikrp::irp, moda_tables::isc, moda_sc3bfr::isc3, moda_stcode::iscodes, moda_tables::iseq, moda_nrv203::isnrv, moda_bitmaps::istbtm, moda_bitmaps::iszbtm, moda_ivttmp::itmp, moda_tables::itp, moda_comprx::ityp, moda_usrtmp::iutmp, moda_ival::ival, moda_s01cm::ivmnem, moda_comprx::iwid, moda_bufrsr::jbay, moda_comprx::jlnode, moda_tables::jmpb, moda_tables::jseq, moda_bufrsr::jsr, moda_tables::jump, moda_comprx::kbit, moda_comprx::kmax, moda_comprx::kmin, moda_comprx::kmis, moda_tables::knt, moda_tables::knti, moda_nmikrp::krp, moda_tables::link, moda_h4wlc::luh4wlc, moda_ufbcpl::luncpy, moda_lushr::lus, moda_comprs::matx, moda_bitbuf::mbay, moda_usrbit::mbit, moda_bitbuf::mbyt, moda_msgmem::mdx, moda_mgwa::mgwa, moda_mgwb::mgwb, moda_bufrmg::msglen, moda_msglim::msglim, moda_msgmem::msgp, moda_msgmem::msgs, moda_bufrmg::msgtxt, moda_unptyp::msgunp, moda_msgcwd::msub, moda_tababd::mtab, moda_msgmem::mxdxm, moda_msgmem::mxdxw, moda_usrbit::nbit, moda_bitmaps::nbtmse, moda_dscach::ndc, moda_mstabs::ndelem, moda_nmikrp::nem, moda_msgcwd::nmsg, moda_usrint::nrfelm, moda_nrv203::nrv, moda_msgcwd::nsub, moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, moda_bitmaps::ntco, moda_nulbfr::null, moda_usrint::nval, moda_h4wlc::sth4wlc, moda_tababd::taba, moda_tababd::tabb, moda_tababd::tabd, moda_tables::tag, moda_nrv203::tagnrv, moda_sc3bfr::tamnem, moda_ivttmp::ttmp, moda_tables::typ, moda_usrint::val, moda_tables::vali, moda_ivttmp::vtmp, moda_usrtmp::vutmp, and moda_xtab::xtab.

+ +

Referenced by openbf().

+ +
+
+ +

◆ ardllocf()

+ +
+
+ + + + +
subroutine ardllocf
+
+ +

Free all memory that was dynamically allocated during a previous call to subroutine arallocf().

+
Author
J. Ator
+
Date
2014-12-04
+ +

Definition at line 592 of file arallocf.F90.

+ +

References moda_comprs::catx, moda_mstabs::cbbw, moda_mstabs::cbelem, moda_mstabs::cbmnem, moda_mstabs::cbscl, moda_mstabs::cbsref, moda_mstabs::cbunit, moda_mstabs::cdmnem, moda_s3list::cds3, moda_mstabs::cdseq, moda_rdmtb::ceelem, moda_h4wlc::chh4wlc, moda_rdmtb::cmdscb, moda_rdmtb::cmdscd, moda_s01cm::cmnem, moda_dscach::cnem, moda_rlccmn::crtag, moda_comprx::cstr, moda_bitmaps::ctco, moda_bitbuf::ibay, moda_mstabs::ibfxyn, moda_tables::ibt, moda_bitmaps::ibtmse, moda_msgmem::icdxts, moda_msgcwd::idate, moda_dscach::idcach, moda_mstabs::idefxy, moda_mstabs::idfxyn, moda_tababd::idna, moda_tababd::idnb, moda_tababd::idnd, moda_idrdm::idrdm, moda_s3list::ids3, moda_rdmtb::iefxyn, moda_nrv203::ienrv, moda_msgmem::ifdxts, moda_msgcwd::inode, moda_nrv203::inodnrv, moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_usrint::inv, moda_stbfr::iolun, moda_stbfr::iomsg, moda_msgmem::ipdxm, moda_msgmem::ipmsgs, moda_rlccmn::irbit, moda_tables::irf, moda_rlccmn::irnch, moda_nmikrp::irp, moda_tables::isc, moda_sc3bfr::isc3, moda_stcode::iscodes, moda_tables::iseq, moda_nrv203::isnrv, moda_bitmaps::istbtm, moda_bitmaps::iszbtm, moda_ivttmp::itmp, moda_tables::itp, moda_comprx::ityp, moda_usrtmp::iutmp, moda_ival::ival, moda_s01cm::ivmnem, moda_comprx::iwid, moda_bufrsr::jbay, moda_comprx::jlnode, moda_tables::jmpb, moda_tables::jseq, moda_bufrsr::jsr, moda_tables::jump, moda_comprx::kbit, moda_comprx::kmax, moda_comprx::kmin, moda_comprx::kmis, moda_tables::knt, moda_tables::knti, moda_nmikrp::krp, moda_tables::link, moda_h4wlc::luh4wlc, moda_ufbcpl::luncpy, moda_lushr::lus, moda_comprs::matx, moda_bitbuf::mbay, moda_usrbit::mbit, moda_bitbuf::mbyt, moda_msgmem::mdx, moda_mgwa::mgwa, moda_mgwb::mgwb, moda_bufrmg::msglen, moda_msglim::msglim, moda_msgmem::msgp, moda_msgmem::msgs, moda_bufrmg::msgtxt, moda_unptyp::msgunp, moda_msgcwd::msub, moda_tababd::mtab, moda_usrbit::nbit, moda_bitmaps::nbtmse, moda_dscach::ndc, moda_mstabs::ndelem, moda_nmikrp::nem, moda_msgcwd::nmsg, moda_usrint::nrfelm, moda_nrv203::nrv, moda_msgcwd::nsub, moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, moda_bitmaps::ntco, moda_nulbfr::null, moda_usrint::nval, moda_h4wlc::sth4wlc, moda_tababd::taba, moda_tababd::tabb, moda_tababd::tabd, moda_tables::tag, moda_nrv203::tagnrv, moda_sc3bfr::tamnem, moda_ivttmp::ttmp, moda_tables::typ, moda_usrint::val, moda_tables::vali, moda_ivttmp::vtmp, moda_usrtmp::vutmp, and moda_xtab::xtab.

+ +

Referenced by exitbufr().

+ +
+
+ +

◆ exitbufr()

+ +
+
+ + + + +
subroutine exitbufr
+
+ +

Free all dynamically-allocated memory, close all logical units that are open within the NCEPLIBS-bufr software, and reset the library to all of its default settings as though it had never been called.

+
Remarks
    +
  • Calling this subroutine allows an application program to potentially resize arrays and reallocate memory all over again with a new subsequent series of calls to subroutines isetprm() and openbf(). However, if and when this subroutine is called, there is no longer any internal memory available within the NCEPLIBS-bufr software, and the remainder of the library becomes essentially unusable within the application program, unless and until subroutine openbf() is called once again to dynamically allocate new array space. This may be a useful capability for application programs that are finished with using the NCEPLIBS-bufr software and wish to move on to other unrelated tasks without continuing to tie up all of the allocated memory space within the library. Otherwise, and unless there's a need to change parameter sizes following the first call to subroutine openbf(), then there's no need to ever call this subroutine within an application program, since all allocated memory will automatically get freed anyway by the operating system once the application program terminates.
  • +
+
+
Author
J. Ator
+
Date
2015-03-02
+ +

Definition at line 900 of file arallocf.F90.

+ +

References ardllocf(), moda_tablef::cdmf, closbf(), moda_stbfr::iolun, and moda_s01cm::ns01v.

+ +

Referenced by bufr_c2f_interface::exitbufr_c().

+ +
+
+ +

◆ igetprm()

+ +
+
+ + + + + + + + +
integer function igetprm (character*(*), intent(in) cprmnm)
+
+ +

Return the current value of a parameter used for allocating one or more internal arrays within the NCEPLIBS-bufr software.

+
Parameters
+ + +
cprmnm- Parameter
    +
  • 'MXMSGL' = Maximum length (in bytes) of a BUFR message
  • +
  • 'MAXSS' = Maximum number of data values in an uncompressed BUFR subset
  • +
  • 'MXCDV' = Maximum number of data values that can be written into a compressed BUFR subset
  • +
  • 'MXLCC' = Maximum length (in bytes) of a character string that can be written into a compressed BUFR subset
  • +
  • 'MXCSB' = Maximum number of subsets that can be written into a compressed BUFR message
  • +
  • 'NFILES' = Maximum number of BUFR files that can be accessed for reading or writing at any one time
  • +
  • 'MAXTBA' = Maximum number of entries in internal BUFR Table A per BUFR file
  • +
  • 'MAXTBB' = Maximum number of entries in internal BUFR Table B per BUFR file
  • +
  • 'MAXTBD' = Maximum number of entries in internal BUFR Table D per BUFR file
  • +
  • 'MAXMEM' = Maximum number of bytes that can be used to store BUFR messages in internal memory
  • +
  • 'MAXMSG' = Maximum number of BUFR messages that can be stored in internal memory
  • +
  • 'MXDXTS' = Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory
  • +
  • 'MXMTBB' = Maximum number of master Table B entries
  • +
  • 'MXMTBD' = Maximum number of master Table D entries
  • +
  • 'MXMTBF' = Maximum number of master Code/Flag entries
  • +
  • 'MAXCD' = Maximum number of child descriptors in a Table D descriptor sequence definition
  • +
  • 'MAXJL' = Maximum number of entries in the internal jump/link table
  • +
  • 'MXS01V' = Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR message
  • +
  • 'MXBTM' = Maximum number of bitmaps that can be stored internally for a BUFR subset
  • +
  • 'MXBTMSE' = Maximum number of entries that can be set within a bitmap
  • +
  • 'MXTAMC' = Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table C operator with XX >= 21 in their subset definition
  • +
  • 'MXTCO' = Maximum number of Table C operators with XX >= 21 in the subset definition of a Table A mnemonic
  • +
  • 'MXNRV' = Maximum number of 2-03 reference values in the internal jump/link table
  • +
  • 'MXRST' = Maximum number of long character strings that can be read from a compressed subset
  • +
  • 'MXH4WLC' = Maximum number of long character strings that can be stored internally
  • +
  • 'MXCNEM' = Maximum number of Table A entries that can be cached during Section 3 decoding of BUFR messages
  • +
  • 'MAXNC' = Maximum number of descriptors within Section 3 of a BUFR message
  • +
  • 'MXNAF' = Maximum number of associated fields that can be in effect at any given time for a Table B descriptor
  • +
+
+
+
+
Returns
igetprm - Value of cprmnm
    +
  • -1 Unknown cprmnm
  • +
+
+
Author
J. Ator
+
Date
2014-12-04
+ +

Definition at line 1113 of file arallocf.F90.

+ +

References errwrt().

+ +

Referenced by bufr_c2f_interface::igetprm_c().

+ +
+
+ +

◆ isetprm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive integer function isetprm (character*(*), intent(in) cprmnm,
integer, intent(in) ipval 
)
+
+ +

Set a specified parameter to a specified value for use in dynamically allocating one or more internal arrays within the NCEPLIBS-bufr software.

+

A separate call to this function must be made for each parameter that is to be set to a customized value, and all such calls must be made prior to the first call to subroutine openbf() from within an application program, because that is when all internal arrays are dynamically allocated based on the parameter values in effect at the time. Otherwise, if this function is never called for a particular parameter, then an internal default value for that parameter is used instead.

+
Parameters
+ + + +
cprmnm- Parameter to be changed from its internal default value:
    +
  • 'MXMSGL' = Maximum length (in bytes) of a BUFR message
  • +
  • 'MAXSS' = Maximum number of data values in an uncompressed BUFR subset
  • +
  • 'MXCDV' = Maximum number of data values that can be written into a compressed BUFR subset
  • +
  • 'MXLCC' = Maximum length (in bytes) of a character string that can be written into a compressed BUFR subset
  • +
  • 'MXCSB' = Maximum number of subsets that can be written into a compressed BUFR message
  • +
  • 'NFILES' = Maximum number of BUFR files that can be accessed for reading or writing at any one time
  • +
  • 'MAXTBA' = Maximum number of entries in internal BUFR Table A per BUFR file
  • +
  • 'MAXTBB' = Maximum number of entries in internal BUFR Table B per BUFR file
  • +
  • 'MAXTBD' = Maximum number of entries in internal BUFR Table D per BUFR file
  • +
  • 'MAXMEM' = Maximum number of bytes that can be used to store BUFR messages in internal memory
  • +
  • 'MAXMSG' = Maximum number of BUFR messages that can be stored in internal memory
  • +
  • 'MXDXTS' = Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory
  • +
  • 'MXMTBB' = Maximum number of master Table B entries
  • +
  • 'MXMTBD' = Maximum number of master Table D entries
  • +
  • 'MXMTBF' = Maximum number of master Code/Flag entries
  • +
  • 'MAXCD' = Maximum number of child descriptors in a Table D descriptor sequence definition
  • +
  • 'MAXJL' = Maximum number of entries in the internal jump/link table
  • +
  • 'MXS01V' = Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR message
  • +
  • 'MXBTM' = Maximum number of bitmaps that can be stored internally for a BUFR subset
  • +
  • 'MXBTMSE' = Maximum number of entries that can be set within a bitmap
  • +
  • 'MXTAMC' = Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table C operator with XX >= 21 in their subset definition
  • +
  • 'MXTCO' = Maximum number of Table C operators with XX >= 21 in the subset definition of a Table A mnemonic
  • +
  • 'MXNRV' = Maximum number of 2-03 reference values in the internal jump/link table
  • +
  • 'MXRST' = Maximum number of long character strings that can be read from a compressed subset
  • +
  • 'MXH4WLC' = Maximum number of long character strings that can be stored internally
  • +
  • 'MXCNEM' = Maximum number of Table A entries that can be cached during Section 3 decoding of BUFR messages
  • +
  • 'MAXNC' = Maximum number of descriptors within Section 3 of a BUFR message
  • +
  • 'MXNAF' = Maximum number of associated fields that can be in effect at any given time for a Table B descriptor
  • +
+
ipval- Value to be set for cprmnm
+
+
+
Returns
isetprm - return code:
    +
  • 0 = normal return
  • +
  • -1 = Unknown cprmnm
  • +
+
+
Author
J. Ator
+
Date
2014-12-04
+ +

Definition at line 979 of file arallocf.F90.

+ +

References errwrt(), and x84().

+ +

Referenced by bufr_c2f_interface::isetprm_c().

+ +
+
+
+
+ + + + diff --git a/arallocf_8F90.js b/arallocf_8F90.js new file mode 100644 index 000000000..fd03b5fd7 --- /dev/null +++ b/arallocf_8F90.js @@ -0,0 +1,8 @@ +var arallocf_8F90 = +[ + [ "arallocf", "arallocf_8F90.html#a2b64630033a9306be25da1f6b28d913f", null ], + [ "ardllocf", "arallocf_8F90.html#a7b3e4d5498fedd9e94ac45b69fc04b58", null ], + [ "exitbufr", "arallocf_8F90.html#a355f094d616febcea2820cf547cbff8e", null ], + [ "igetprm", "arallocf_8F90.html#a222fe99cf2ad84fe3166a498ef20c9ce", null ], + [ "isetprm", "arallocf_8F90.html#a4a77f5d91e7900692757350632f71ff0", null ] +]; \ No newline at end of file diff --git a/arallocf_8F90_source.html b/arallocf_8F90_source.html new file mode 100644 index 000000000..a4db40100 --- /dev/null +++ b/arallocf_8F90_source.html @@ -0,0 +1,1334 @@ + + + + + + + +NCEPLIBS-bufr: arallocf.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
arallocf.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
18 subroutine arallocf
+
19 
+
20  use modv_vars, only: maxcd, maxjl, maxmem, maxmsg, maxss, maxtba, maxtbb, maxtbd, mxbtm, mxbtmse, &
+
21  mxcdv, mxcsb, mxdxts, mxlcc, mxmsgl, mxmsgld4, mxmtbb, mxmtbd, mxnrv, mxrst, &
+
22  mxs01v, mxtamc, mxtco, mxh4wlc, nfiles, mxcnem, maxnc, maxrcr
+
23 
+
24  use moda_usrint
+
25  use moda_usrbit
+
26  use moda_ival
+
27  use moda_msgcwd
+
28  use moda_stbfr
+
29  use moda_ufbcpl
+
30  use moda_sc3bfr
+
31  use moda_unptyp
+
32  use moda_lushr
+
33  use moda_nulbfr
+
34  use moda_stcode
+
35  use moda_idrdm
+
36  use moda_xtab
+
37  use moda_msglim
+
38  use moda_bitbuf
+
39  use moda_mgwa
+
40  use moda_mgwb
+
41  use moda_bufrmg
+
42  use moda_bufrsr
+
43  use moda_msgmem
+
44  use moda_tababd
+
45  use moda_tables
+
46  use moda_usrtmp
+
47  use moda_ivttmp
+
48  use moda_comprx
+
49  use moda_comprs
+
50  use moda_mstabs
+
51  use moda_rdmtb
+
52  use moda_nmikrp
+
53  use moda_s01cm
+
54  use moda_bitmaps
+
55  use moda_nrv203
+
56  use moda_rlccmn
+
57  use moda_h4wlc
+
58  use moda_dscach
+
59  use moda_s3list
+
60 
+
61  implicit none
+
62 
+
63  character*80 errstr
+
64  character*36 brtstr
+
65 
+
66  integer iost, iprt
+
67 
+
68  common /quiet/ iprt
+
69 
+
70  if ( iprt >= 1 ) then
+
71  call errwrt ('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
+
72  call errwrt ('BUFRLIB: ARRAYS WILL BE DYNAMICALLY ALLOCATED USING THE FOLLOWING VALUES:')
+
73  write ( errstr, '(a,i7)' ) ' MAXSS = ', maxss
+
74  call errwrt (errstr)
+
75  write ( errstr, '(a,i4)' ) ' NFILES = ', nfiles
+
76  call errwrt (errstr)
+
77  write ( errstr, '(a,i7)' ) ' MXMSGL = ', mxmsgl
+
78  call errwrt (errstr)
+
79  write ( errstr, '(a,i5)' ) ' MXDXTS = ', mxdxts
+
80  call errwrt (errstr)
+
81  write ( errstr, '(a,i7)' ) ' MAXMSG = ', maxmsg
+
82  call errwrt (errstr)
+
83  write ( errstr, '(a,i9)' ) ' MAXMEM = ', maxmem
+
84  call errwrt (errstr)
+
85  write ( errstr, '(a,i5)' ) ' MAXTBA = ', maxtba
+
86  call errwrt (errstr)
+
87  write ( errstr, '(a,i5)' ) ' MAXTBB = ', maxtbb
+
88  call errwrt (errstr)
+
89  write ( errstr, '(a,i5)' ) ' MAXTBD = ', maxtbd
+
90  call errwrt (errstr)
+
91  write ( errstr, '(a,i7)' ) ' MAXJL = ', maxjl
+
92  call errwrt (errstr)
+
93  write ( errstr, '(a,i6)' ) ' MXCDV = ', mxcdv
+
94  call errwrt (errstr)
+
95  write ( errstr, '(a,i4)' ) ' MXLCC = ', mxlcc
+
96  call errwrt (errstr)
+
97  write ( errstr, '(a,i6)' ) ' MXCSB = ', mxcsb
+
98  call errwrt (errstr)
+
99  write ( errstr, '(a,i5)' ) ' MXMTBB = ', mxmtbb
+
100  call errwrt (errstr)
+
101  write ( errstr, '(a,i5)' ) ' MXMTBD = ', mxmtbd
+
102  call errwrt (errstr)
+
103  write ( errstr, '(a,i4)' ) ' MAXCD = ', maxcd
+
104  call errwrt (errstr)
+
105  write ( errstr, '(a,i4)' ) ' MXNRV = ', mxnrv
+
106  call errwrt (errstr)
+
107  write ( errstr, '(a,i4)' ) ' MXS01V = ', mxs01v
+
108  call errwrt (errstr)
+
109  write ( errstr, '(a,i4)' ) ' MXTAMC = ', mxtamc
+
110  call errwrt (errstr)
+
111  write ( errstr, '(a,i4)' ) ' MXTCO = ', mxtco
+
112  call errwrt (errstr)
+
113  write ( errstr, '(a,i4)' ) ' MXBTM = ', mxbtm
+
114  call errwrt (errstr)
+
115  write ( errstr, '(a,i4)' ) ' MXBTMSE = ', mxbtmse
+
116  call errwrt (errstr)
+
117  write ( errstr, '(a,i4)' ) ' MXH4WLC = ', mxh4wlc
+
118  call errwrt (errstr)
+
119  write ( errstr, '(a,i4)' ) ' MXRST = ', mxrst
+
120  call errwrt (errstr)
+
121  write ( errstr, '(a,i4)' ) ' MXCNEM = ', mxcnem
+
122  call errwrt (errstr)
+
123  write ( errstr, '(a,i4)' ) ' MAXNC = ', maxnc
+
124  call errwrt (errstr)
+
125  call errwrt ('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
+
126  end if
+
127 
+
128  brtstr = 'BUFRLIB: ARALLOCF FAILED ALLOCATING '
+
129 
+
130  ! moda_usrint arrays.
+
131 
+
132  allocate( nval(nfiles), stat=iost )
+
133  if ( iost /= 0 ) call bort( brtstr // 'NVAL' )
+
134 
+
135  allocate( inv(maxss,nfiles), stat=iost )
+
136  if ( iost /= 0 ) call bort( brtstr // 'INV' )
+
137 
+
138  allocate( nrfelm(maxss,nfiles), stat=iost )
+
139  if ( iost /= 0 ) call bort( brtstr // 'NRFELM' )
+
140 
+
141  allocate( val(maxss,nfiles), stat=iost )
+
142  if ( iost /= 0 ) call bort( brtstr // 'VAL' )
+
143 
+
144  ! moda_usrbit arrays.
+
145 
+
146  allocate( nbit(maxss), stat=iost )
+
147  if ( iost /= 0 ) call bort( brtstr // 'NBIT' )
+
148 
+
149  allocate( mbit(maxss), stat=iost )
+
150  if ( iost /= 0 ) call bort( brtstr // 'MBIT' )
+
151 
+
152  ! moda_ival arrays.
+
153 
+
154  allocate( ival(maxss), stat=iost )
+
155  if ( iost /= 0 ) call bort( brtstr // 'IVAL' )
+
156 
+
157  ! moda_msgcwd arrays.
+
158 
+
159  allocate( nmsg(nfiles), stat=iost )
+
160  if ( iost /= 0 ) call bort( brtstr // 'NMSG' )
+
161 
+
162  allocate( nsub(nfiles), stat=iost )
+
163  if ( iost /= 0 ) call bort( brtstr // 'NSUB' )
+
164 
+
165  allocate( msub(nfiles), stat=iost )
+
166  if ( iost /= 0 ) call bort( brtstr // 'MSUB' )
+
167 
+
168  allocate( inode(nfiles), stat=iost )
+
169  if ( iost /= 0 ) call bort( brtstr // 'INODE' )
+
170 
+
171  allocate( idate(nfiles), stat=iost )
+
172  if ( iost /= 0 ) call bort( brtstr // 'IDATE' )
+
173 
+
174  ! moda_stbfr arrays.
+
175 
+
176  allocate( iolun(nfiles), stat=iost )
+
177  if ( iost /= 0 ) call bort( brtstr // 'IOLUN' )
+
178 
+
179  allocate( iomsg(nfiles), stat=iost )
+
180  if ( iost /= 0 ) call bort( brtstr // 'IOMSG' )
+
181 
+
182  ! moda_ufbcpl arrays.
+
183 
+
184  allocate( luncpy(nfiles), stat=iost )
+
185  if ( iost /= 0 ) call bort( brtstr // 'LUNCPY' )
+
186 
+
187  ! moda_sc3bfr arrays.
+
188 
+
189  allocate( isc3(nfiles), stat=iost )
+
190  if ( iost /= 0 ) call bort( brtstr // 'ISC3' )
+
191 
+
192  allocate( tamnem(nfiles), stat=iost )
+
193  if ( iost /= 0 ) call bort( brtstr // 'TAMNEM' )
+
194 
+
195  ! moda_unptyp arrays.
+
196 
+
197  allocate( msgunp(nfiles), stat=iost )
+
198  if ( iost /= 0 ) call bort( brtstr // 'MSGUNP' )
+
199 
+
200  ! moda_lushr arrays.
+
201 
+
202  allocate( lus(nfiles), stat=iost )
+
203  if ( iost /= 0 ) call bort( brtstr // 'LUS' )
+
204 
+
205  ! moda_nulbfr arrays.
+
206 
+
207  allocate( null(nfiles), stat=iost )
+
208  if ( iost /= 0 ) call bort( brtstr // 'NULL' )
+
209 
+
210  ! moda_stcode arrays.
+
211 
+
212  allocate( iscodes(nfiles), stat=iost )
+
213  if ( iost /= 0 ) call bort( brtstr // 'ISCODES' )
+
214 
+
215  ! moda_idrdm arrays.
+
216 
+
217  allocate( idrdm(nfiles), stat=iost )
+
218  if ( iost /= 0 ) call bort( brtstr // 'IDRDM' )
+
219 
+
220  ! moda_xtab arrays.
+
221 
+
222  allocate( xtab(nfiles), stat=iost )
+
223  if ( iost /= 0 ) call bort( brtstr // 'XTAB' )
+
224 
+
225  ! moda_msglim arrays.
+
226 
+
227  allocate( msglim(nfiles), stat=iost )
+
228  if ( iost /= 0 ) call bort( brtstr // 'MSGLIM' )
+
229 
+
230  ! Calculate mxmsgld4 from mxmsgl.
+
231 
+
232  if ( mod(mxmsgl,4) == 0 ) then
+
233  mxmsgld4 = mxmsgl/4
+
234  else
+
235  mxmsgld4 = mxmsgl/4 + 1
+
236  end if
+
237 
+
238  ! moda_bitbuf arrays.
+
239 
+
240  allocate( ibay(mxmsgld4), stat=iost )
+
241  if ( iost /= 0 ) call bort( brtstr // 'IBAY' )
+
242 
+
243  allocate( mbyt(nfiles), stat=iost )
+
244  if ( iost /= 0 ) call bort( brtstr // 'MBYT' )
+
245 
+
246  allocate( mbay(mxmsgld4,nfiles), stat=iost )
+
247  if ( iost /= 0 ) call bort( brtstr // 'MBAY' )
+
248 
+
249  ! moda_mgwa arrays.
+
250 
+
251  allocate( mgwa(mxmsgld4), stat=iost )
+
252  if ( iost /= 0 ) call bort( brtstr // 'MGWA' )
+
253 
+
254  ! moda_mgwb arrays.
+
255 
+
256  allocate( mgwb(mxmsgld4), stat=iost )
+
257  if ( iost /= 0 ) call bort( brtstr // 'MGWB' )
+
258 
+
259  ! moda_bufrmg arrays.
+
260 
+
261  allocate( msglen(nfiles), stat=iost )
+
262  if ( iost /= 0 ) call bort( brtstr // 'MSGLEN' )
+
263  allocate( msgtxt(mxmsgld4,nfiles), stat=iost )
+
264  if ( iost /= 0 ) call bort( brtstr // 'MSGTXT' )
+
265 
+
266  ! moda_bufrsr arrays.
+
267 
+
268  allocate( jsr(nfiles), stat=iost )
+
269  if ( iost /= 0 ) call bort( brtstr // 'JSR' )
+
270 
+
271  allocate( jbay(mxmsgld4), stat=iost )
+
272  if ( iost /= 0 ) call bort( brtstr // 'JBAY' )
+
273 
+
274  ! Calculate mxdxm and mxdxw from mxdxts and mxmsgld4.
+
275 
+
276  mxdxm = mxdxts*3
+
277  mxdxw = mxdxm*mxmsgld4
+
278 
+
279  ! moda_msgmem arrays.
+
280 
+
281  allocate( msgp(0:maxmsg), stat=iost )
+
282  if ( iost /= 0 ) call bort( brtstr // 'MSGP' )
+
283 
+
284  allocate( msgs(maxmem), stat=iost )
+
285  if ( iost /= 0 ) call bort( brtstr // 'MSGS' )
+
286 
+
287  allocate( mdx(mxdxw), stat=iost )
+
288  if ( iost /= 0 ) call bort( brtstr // 'MDX' )
+
289 
+
290  allocate( ipdxm(mxdxm), stat=iost )
+
291  if ( iost /= 0 ) call bort( brtstr // 'IPDXM' )
+
292 
+
293  allocate( ifdxts(mxdxts), stat=iost )
+
294  if ( iost /= 0 ) call bort( brtstr // 'ifDXTS' )
+
295 
+
296  allocate( icdxts(mxdxts), stat=iost )
+
297  if ( iost /= 0 ) call bort( brtstr // 'ICDXTS' )
+
298 
+
299  allocate( ipmsgs(mxdxts), stat=iost )
+
300  if ( iost /= 0 ) call bort( brtstr // 'IPMSGS' )
+
301 
+
302  ! moda_tababd arrays.
+
303 
+
304  allocate( ntba(0:nfiles), stat=iost )
+
305  if ( iost /= 0 ) call bort( brtstr // 'NTBA' )
+
306 
+
307  allocate( ntbb(0:nfiles), stat=iost )
+
308  if ( iost /= 0 ) call bort( brtstr // 'NTBB' )
+
309 
+
310  allocate( ntbd(0:nfiles), stat=iost )
+
311  if ( iost /= 0 ) call bort( brtstr // 'NTBD' )
+
312 
+
313  allocate( mtab(maxtba,nfiles), stat=iost )
+
314  if ( iost /= 0 ) call bort( brtstr // 'MTAB' )
+
315 
+
316  allocate( idna(maxtba,nfiles,2), stat=iost )
+
317  if ( iost /= 0 ) call bort( brtstr // 'IDNA' )
+
318 
+
319  allocate( idnb(maxtbb,nfiles), stat=iost )
+
320  if ( iost /= 0 ) call bort( brtstr // 'IDNB' )
+
321 
+
322  allocate( idnd(maxtbd,nfiles), stat=iost )
+
323  if ( iost /= 0 ) call bort( brtstr // 'IDND' )
+
324 
+
325  allocate( taba(maxtba,nfiles), stat=iost )
+
326  if ( iost /= 0 ) call bort( brtstr // 'TABA' )
+
327 
+
328  allocate( tabb(maxtbb,nfiles), stat=iost )
+
329  if ( iost /= 0 ) call bort( brtstr // 'TABB' )
+
330 
+
331  allocate( tabd(maxtbd,nfiles), stat=iost )
+
332  if ( iost /= 0 ) call bort( brtstr // 'TABD' )
+
333 
+
334  ! moda_tables arrays.
+
335 
+
336  allocate( tag(maxjl), stat=iost )
+
337  if ( iost /= 0 ) call bort( brtstr // 'TAG' )
+
338 
+
339  allocate( typ(maxjl), stat=iost )
+
340  if ( iost /= 0 ) call bort( brtstr // 'TYP' )
+
341 
+
342  allocate( knt(maxjl), stat=iost )
+
343  if ( iost /= 0 ) call bort( brtstr // 'KNT' )
+
344 
+
345  allocate( jump(maxjl), stat=iost )
+
346  if ( iost /= 0 ) call bort( brtstr // 'JUMP' )
+
347 
+
348  allocate( link(maxjl), stat=iost )
+
349  if ( iost /= 0 ) call bort( brtstr // 'LINK' )
+
350 
+
351  allocate( jmpb(maxjl), stat=iost )
+
352  if ( iost /= 0 ) call bort( brtstr // 'JMPB' )
+
353 
+
354  allocate( ibt(maxjl), stat=iost )
+
355  if ( iost /= 0 ) call bort( brtstr // 'IBT' )
+
356 
+
357  allocate( irf(maxjl), stat=iost )
+
358  if ( iost /= 0 ) call bort( brtstr // 'IRF' )
+
359 
+
360  allocate( isc(maxjl), stat=iost )
+
361  if ( iost /= 0 ) call bort( brtstr // 'ISC' )
+
362 
+
363  allocate( itp(maxjl), stat=iost )
+
364  if ( iost /= 0 ) call bort( brtstr // 'ITP' )
+
365 
+
366  allocate( vali(maxjl), stat=iost )
+
367  if ( iost /= 0 ) call bort( brtstr // 'VALI' )
+
368 
+
369  allocate( knti(maxjl), stat=iost )
+
370  if ( iost /= 0 ) call bort( brtstr // 'KNTI' )
+
371 
+
372  allocate( iseq(maxjl,2), stat=iost )
+
373  if ( iost /= 0 ) call bort( brtstr // 'ISEQ' )
+
374 
+
375  allocate( jseq(maxjl), stat=iost )
+
376  if ( iost /= 0 ) call bort( brtstr // 'JSEQ' )
+
377 
+
378  ! moda_usrtmp arrays.
+
379 
+
380  allocate( iutmp(maxjl,maxrcr), stat=iost )
+
381  if ( iost /= 0 ) call bort( brtstr // 'IUTMP' )
+
382 
+
383  allocate( vutmp(maxjl,maxrcr), stat=iost )
+
384  if ( iost /= 0 ) call bort( brtstr // 'VUTMP' )
+
385 
+
386  ! moda_ivttmp arrays.
+
387 
+
388  allocate( ttmp(maxjl), stat=iost )
+
389  if ( iost /= 0 ) call bort( brtstr // 'TTMP' )
+
390 
+
391  allocate( itmp(maxjl), stat=iost )
+
392  if ( iost /= 0 ) call bort( brtstr // 'ITMP' )
+
393 
+
394  allocate( vtmp(maxjl), stat=iost )
+
395  if ( iost /= 0 ) call bort( brtstr // 'VTMP' )
+
396 
+
397  ! moda_comprx arrays.
+
398 
+
399  allocate( kmin(mxcdv), stat=iost )
+
400  if ( iost /= 0 ) call bort( brtstr // 'KMIN' )
+
401 
+
402  allocate( kmax(mxcdv), stat=iost )
+
403  if ( iost /= 0 ) call bort( brtstr // 'KMAX' )
+
404 
+
405  allocate( kmis(mxcdv), stat=iost )
+
406  if ( iost /= 0 ) call bort( brtstr // 'KMIS' )
+
407 
+
408  allocate( kbit(mxcdv), stat=iost )
+
409  if ( iost /= 0 ) call bort( brtstr // 'KBIT' )
+
410 
+
411  allocate( ityp(mxcdv), stat=iost )
+
412  if ( iost /= 0 ) call bort( brtstr // 'ITYP' )
+
413 
+
414  allocate( iwid(mxcdv), stat=iost )
+
415  if ( iost /= 0 ) call bort( brtstr // 'IWID' )
+
416 
+
417  allocate( character*(mxlcc) :: cstr(mxcdv), stat=iost )
+
418  if ( iost /= 0 ) call bort( brtstr // 'CSTR' )
+
419 
+
420  allocate( jlnode(mxcdv), stat=iost )
+
421  if ( iost /= 0 ) call bort( brtstr // 'JLNODE' )
+
422 
+
423  ! moda_comprs arrays.
+
424 
+
425  allocate( matx(mxcdv,mxcsb), stat=iost )
+
426  if ( iost /= 0 ) call bort( brtstr // 'MATX' )
+
427 
+
428  allocate( character*(mxlcc) :: catx(mxcdv,mxcsb), stat=iost )
+
429  if ( iost /= 0 ) call bort( brtstr // 'CATX' )
+
430 
+
431  ! moda_mstabs arrays.
+
432 
+
433  allocate( ibfxyn(mxmtbb), stat=iost )
+
434  if ( iost /= 0 ) call bort( brtstr // 'IBFXYN' )
+
435 
+
436  allocate( cbscl(4,mxmtbb), stat=iost )
+
437  if ( iost /= 0 ) call bort( brtstr // 'CBSCL' )
+
438 
+
439  allocate( cbsref(12,mxmtbb), stat=iost )
+
440  if ( iost /= 0 ) call bort( brtstr // 'CBSREF' )
+
441 
+
442  allocate( cbbw(4,mxmtbb), stat=iost )
+
443  if ( iost /= 0 ) call bort( brtstr // 'CBBW' )
+
444 
+
445  allocate( cbunit(24,mxmtbb), stat=iost )
+
446  if ( iost /= 0 ) call bort( brtstr // 'CBUNIT' )
+
447 
+
448  allocate( cbmnem(8,mxmtbb), stat=iost )
+
449  if ( iost /= 0 ) call bort( brtstr // 'CBMNEM' )
+
450 
+
451  allocate( cbelem(120,mxmtbb), stat=iost )
+
452  if ( iost /= 0 ) call bort( brtstr // 'CBELEM' )
+
453 
+
454  allocate( idfxyn(mxmtbd), stat=iost )
+
455  if ( iost /= 0 ) call bort( brtstr // 'IDFXYN' )
+
456 
+
457  allocate( cdseq(120,mxmtbd), stat=iost )
+
458  if ( iost /= 0 ) call bort( brtstr // 'CDSEQ' )
+
459 
+
460  allocate( cdmnem(8,mxmtbd), stat=iost )
+
461  if ( iost /= 0 ) call bort( brtstr // 'CDMNEM' )
+
462 
+
463  allocate( ndelem(mxmtbd), stat=iost )
+
464  if ( iost /= 0 ) call bort( brtstr // 'NDELEM' )
+
465 
+
466  allocate( idefxy(mxmtbd*maxcd), stat=iost )
+
467  if ( iost /= 0 ) call bort( brtstr // 'IDEFXY' )
+
468 
+
469  ! moda_rdmtb arrays.
+
470 
+
471  allocate( iefxyn(mxmtbd,maxcd), stat=iost )
+
472  if ( iost /= 0 ) call bort( brtstr // 'IEFXYN' )
+
473 
+
474  allocate( cmdscb(mxmtbb), stat=iost )
+
475  if ( iost /= 0 ) call bort( brtstr // 'CMDSCB' )
+
476 
+
477  allocate( cmdscd(mxmtbd), stat=iost )
+
478  if ( iost /= 0 ) call bort( brtstr // 'CMDSCD' )
+
479 
+
480  allocate( ceelem(mxmtbd,maxcd), stat=iost )
+
481  if ( iost /= 0 ) call bort( brtstr // 'CEELEM' )
+
482 
+
483  ! moda_nmikrp arrays.
+
484 
+
485  allocate( nem(maxcd,10), stat=iost )
+
486  if ( iost /= 0 ) call bort( brtstr // 'NEM' )
+
487 
+
488  allocate( irp(maxcd,10), stat=iost )
+
489  if ( iost /= 0 ) call bort( brtstr // 'IRP' )
+
490 
+
491  allocate( krp(maxcd,10), stat=iost )
+
492  if ( iost /= 0 ) call bort( brtstr // 'KRP' )
+
493 
+
494  ! moda_s01cm arrays.
+
495 
+
496  allocate( ivmnem(mxs01v), stat=iost )
+
497  if ( iost /= 0 ) call bort( brtstr // 'IVMNEM' )
+
498 
+
499  allocate( cmnem(mxs01v), stat=iost )
+
500  if ( iost /= 0 ) call bort( brtstr // 'CMNEM' )
+
501 
+
502  ! moda_bitmaps arrays.
+
503 
+
504  allocate( inodtamc(mxtamc), stat=iost )
+
505  if ( iost /= 0 ) call bort( brtstr // 'INODTAMC' )
+
506 
+
507  allocate( ntco(mxtamc), stat=iost )
+
508  if ( iost /= 0 ) call bort( brtstr // 'NTCO' )
+
509 
+
510  allocate( ctco(mxtamc,mxtco), stat=iost )
+
511  if ( iost /= 0 ) call bort( brtstr // 'CTCO' )
+
512 
+
513  allocate( inodtco(mxtamc,mxtco), stat=iost )
+
514  if ( iost /= 0 ) call bort( brtstr // 'INODTCO' )
+
515 
+
516  allocate( nbtmse(mxbtm), stat=iost )
+
517  if ( iost /= 0 ) call bort( brtstr // 'NBTMSE' )
+
518 
+
519  allocate( istbtm(mxbtm), stat=iost )
+
520  if ( iost /= 0 ) call bort( brtstr // 'ISTBTM' )
+
521 
+
522  allocate( iszbtm(mxbtm), stat=iost )
+
523  if ( iost /= 0 ) call bort( brtstr // 'ISZBTM' )
+
524 
+
525  allocate( ibtmse(mxbtm,mxbtmse), stat=iost )
+
526  if ( iost /= 0 ) call bort( brtstr // 'IBTMSE' )
+
527 
+
528  ! moda_nrv203 arrays.
+
529 
+
530  allocate( tagnrv(mxnrv), stat=iost )
+
531  if ( iost /= 0 ) call bort( brtstr // 'TAGNRV' )
+
532 
+
533  allocate( inodnrv(mxnrv), stat=iost )
+
534  if ( iost /= 0 ) call bort( brtstr // 'INODNRV' )
+
535 
+
536  allocate( nrv(mxnrv), stat=iost )
+
537  if ( iost /= 0 ) call bort( brtstr // 'NRV' )
+
538 
+
539  allocate( isnrv(mxnrv), stat=iost )
+
540  if ( iost /= 0 ) call bort( brtstr // 'ISNRV' )
+
541 
+
542  allocate( ienrv(mxnrv), stat=iost )
+
543  if ( iost /= 0 ) call bort( brtstr // 'IENRV' )
+
544 
+
545  ! moda_rlccmn arrays.
+
546 
+
547  allocate( irnch(mxrst), stat=iost )
+
548  if ( iost /= 0 ) call bort( brtstr // 'IRNCH' )
+
549 
+
550  allocate( irbit(mxrst), stat=iost )
+
551  if ( iost /= 0 ) call bort( brtstr // 'IRBIT' )
+
552 
+
553  allocate( crtag(mxrst), stat=iost )
+
554  if ( iost /= 0 ) call bort( brtstr // 'CRTAG' )
+
555 
+
556  ! moda_h4wlc arrays.
+
557 
+
558  allocate( luh4wlc(mxh4wlc), stat=iost )
+
559  if ( iost /= 0 ) call bort( brtstr // 'LUH4WLC' )
+
560 
+
561  allocate( sth4wlc(mxh4wlc), stat=iost )
+
562  if ( iost /= 0 ) call bort( brtstr // 'STH4WLC' )
+
563 
+
564  allocate( chh4wlc(mxh4wlc), stat=iost )
+
565  if ( iost /= 0 ) call bort( brtstr // 'CHH4WLC' )
+
566 
+
567  ! moda_dscach arrays.
+
568 
+
569  allocate( cnem(mxcnem), stat=iost )
+
570  if ( iost /= 0 ) call bort( brtstr // 'CNEM' )
+
571 
+
572  allocate( ndc(mxcnem), stat=iost )
+
573  if ( iost /= 0 ) call bort( brtstr // 'NDC' )
+
574 
+
575  allocate( idcach(mxcnem,maxnc), stat=iost )
+
576  if ( iost /= 0 ) call bort( brtstr // 'IDCACH' )
+
577 
+
578  ! moda_s3list arrays.
+
579 
+
580  allocate( ids3(maxnc), stat=iost )
+
581  if ( iost /= 0 ) call bort( brtstr // 'IDS3' )
+
582 
+
583  allocate( cds3(maxnc), stat=iost )
+
584  if ( iost /= 0 ) call bort( brtstr // 'CDS3' )
+
585 
+
586  return
+
587 end subroutine arallocf
+
588 
+
592 subroutine ardllocf
+
593 
+
594  use bufrlib
+
595 
+
596  use moda_usrint
+
597  use moda_usrbit
+
598  use moda_ival
+
599  use moda_msgcwd
+
600  use moda_stbfr
+
601  use moda_ufbcpl
+
602  use moda_sc3bfr
+
603  use moda_unptyp
+
604  use moda_lushr
+
605  use moda_nulbfr
+
606  use moda_stcode
+
607  use moda_idrdm
+
608  use moda_xtab
+
609  use moda_msglim
+
610  use moda_bitbuf
+
611  use moda_mgwa
+
612  use moda_mgwb
+
613  use moda_bufrmg
+
614  use moda_bufrsr
+
615  use moda_msgmem
+
616  use moda_tababd
+
617  use moda_tables
+
618  use moda_usrtmp
+
619  use moda_ivttmp
+
620  use moda_comprx
+
621  use moda_comprs
+
622  use moda_mstabs
+
623  use moda_rdmtb
+
624  use moda_nmikrp
+
625  use moda_s01cm
+
626  use moda_bitmaps
+
627  use moda_nrv203
+
628  use moda_rlccmn
+
629  use moda_h4wlc
+
630  use moda_dscach
+
631  use moda_s3list
+
632 
+
633  implicit none
+
634 
+
635  ! moda_usrint arrays.
+
636 
+
637  deallocate( nval )
+
638  deallocate( inv )
+
639  deallocate( nrfelm )
+
640  deallocate( val )
+
641 
+
642  ! moda_usrbit arrays.
+
643 
+
644  deallocate( nbit )
+
645  deallocate( mbit )
+
646 
+
647  ! moda_ival arrays.
+
648 
+
649  deallocate( ival )
+
650 
+
651  ! moda_msgcwd arrays.
+
652 
+
653  deallocate( nmsg )
+
654  deallocate( nsub )
+
655  deallocate( msub )
+
656  deallocate( inode )
+
657  deallocate( idate )
+
658 
+
659  ! moda_stbfr arrays.
+
660 
+
661  deallocate( iolun )
+
662  deallocate( iomsg )
+
663 
+
664  ! moda_ufbcpl arrays.
+
665 
+
666  deallocate( luncpy )
+
667 
+
668  ! moda_sc3bfr arrays.
+
669 
+
670  deallocate( isc3 )
+
671  deallocate( tamnem )
+
672 
+
673  ! moda_unptyp arrays.
+
674 
+
675  deallocate( msgunp )
+
676 
+
677  ! moda_lushr arrays.
+
678 
+
679  deallocate( lus )
+
680 
+
681  ! moda_nulbfr arrays.
+
682 
+
683  deallocate( null )
+
684 
+
685  ! moda_stcode arrays.
+
686 
+
687  deallocate( iscodes )
+
688 
+
689  ! moda_idrdm arrays.
+
690 
+
691  deallocate( idrdm )
+
692 
+
693  ! moda_xtab arrays.
+
694 
+
695  deallocate( xtab )
+
696 
+
697  ! moda_msglim arrays.
+
698 
+
699  deallocate( msglim )
+
700 
+
701  ! moda_bitbuf arrays.
+
702 
+
703  deallocate( ibay )
+
704  deallocate( mbyt )
+
705  deallocate( mbay )
+
706 
+
707  ! moda_mgwa arrays.
+
708 
+
709  deallocate( mgwa )
+
710 
+
711  ! moda_mgwb arrays.
+
712 
+
713  deallocate( mgwb )
+
714 
+
715  ! moda_bufrmg arrays.
+
716 
+
717  deallocate( msglen )
+
718  deallocate( msgtxt )
+
719 
+
720  ! moda_bufrsr arrays.
+
721 
+
722  deallocate( jsr )
+
723  deallocate( jbay )
+
724 
+
725  ! moda_msgmem arrays.
+
726 
+
727  deallocate( msgp )
+
728  deallocate( msgs )
+
729  deallocate( mdx )
+
730  deallocate( ipdxm )
+
731  deallocate( ifdxts )
+
732  deallocate( icdxts )
+
733  deallocate( ipmsgs )
+
734 
+
735  ! moda_tababd arrays.
+
736 
+
737  deallocate( ntba )
+
738  deallocate( ntbb )
+
739  deallocate( ntbd )
+
740  deallocate( mtab )
+
741  deallocate( idna )
+
742  deallocate( idnb )
+
743  deallocate( idnd )
+
744  deallocate( taba )
+
745  deallocate( tabb )
+
746  deallocate( tabd )
+
747 
+
748  ! moda_tables arrays.
+
749 
+
750  deallocate( tag )
+
751  deallocate( typ )
+
752  deallocate( knt )
+
753  deallocate( jump )
+
754  deallocate( link )
+
755  deallocate( jmpb )
+
756  deallocate( ibt )
+
757  deallocate( irf )
+
758  deallocate( isc )
+
759  deallocate( itp )
+
760  deallocate( vali )
+
761  deallocate( knti )
+
762  deallocate( iseq )
+
763  deallocate( jseq )
+
764 
+
765  ! moda_usrtmp arrays.
+
766 
+
767  deallocate( iutmp )
+
768  deallocate( vutmp )
+
769 
+
770  ! moda_ivttmp arrays.
+
771 
+
772  deallocate( ttmp )
+
773  deallocate( itmp )
+
774  deallocate( vtmp )
+
775 
+
776  ! moda_comprx arrays.
+
777 
+
778  deallocate( kmin )
+
779  deallocate( kmax )
+
780  deallocate( kmis )
+
781  deallocate( kbit )
+
782  deallocate( ityp )
+
783  deallocate( iwid )
+
784  deallocate( cstr )
+
785  deallocate( jlnode )
+
786 
+
787  ! moda_comprs arrays.
+
788 
+
789  deallocate( matx )
+
790  deallocate( catx )
+
791 
+
792  ! moda_mstabs arrays.
+
793 
+
794  deallocate( ibfxyn )
+
795  deallocate( cbscl )
+
796  deallocate( cbsref )
+
797  deallocate( cbbw )
+
798  deallocate( cbunit )
+
799  deallocate( cbmnem )
+
800  deallocate( cbelem )
+
801  deallocate( idfxyn )
+
802  deallocate( cdseq )
+
803  deallocate( cdmnem )
+
804  deallocate( ndelem )
+
805  deallocate( idefxy )
+
806 
+
807  ! moda_rdmtb arrays.
+
808 
+
809  deallocate( iefxyn )
+
810  deallocate( cmdscb )
+
811  deallocate( cmdscd )
+
812  deallocate( ceelem )
+
813 
+
814  ! moda_nmikrp arrays.
+
815 
+
816  deallocate( nem )
+
817  deallocate( irp )
+
818  deallocate( krp )
+
819 
+
820  ! moda_s01cm arrays.
+
821 
+
822  deallocate( ivmnem )
+
823  deallocate( cmnem )
+
824 
+
825  ! moda_bitmaps arrays.
+
826 
+
827  deallocate( inodtamc )
+
828  deallocate( ntco )
+
829  deallocate( ctco )
+
830  deallocate( inodtco )
+
831  deallocate( nbtmse )
+
832  deallocate( istbtm )
+
833  deallocate( iszbtm )
+
834  deallocate( ibtmse )
+
835 
+
836  ! moda_nrv203 arrays.
+
837 
+
838  deallocate( tagnrv )
+
839  deallocate( inodnrv )
+
840  deallocate( nrv )
+
841  deallocate( isnrv )
+
842  deallocate( ienrv )
+
843 
+
844  ! moda_rlccmn arrays.
+
845 
+
846  deallocate( irnch )
+
847  deallocate( irbit )
+
848  deallocate( crtag )
+
849 
+
850  ! moda_h4wlc arrays.
+
851 
+
852  deallocate( luh4wlc )
+
853  deallocate( sth4wlc )
+
854  deallocate( chh4wlc )
+
855 
+
856  ! moda_dscach arrays.
+
857 
+
858  deallocate( cnem )
+
859  deallocate( ndc )
+
860  deallocate( idcach )
+
861 
+
862  ! moda_s3list arrays.
+
863 
+
864  deallocate( ids3 )
+
865  deallocate( cds3 )
+
866 
+
867  ! C language arrays.
+
868 
+
869  call ardllocc_c
+
870 
+
871  return
+
872 end subroutine ardllocf
+
873 
+
900 subroutine exitbufr
+
901 
+
902  use bufrlib
+
903 
+
904  use modv_vars, only: ifopbf, nfiles
+
905 
+
906  use moda_stbfr
+
907  use moda_s01cm
+
908  use moda_tablef
+
909 
+
910  ! Close any logical units that are open to the library.
+
911 
+
912  do jj = 1, nfiles
+
913  if ( iolun(jj) /= 0 ) call closbf( abs(iolun(jj)) )
+
914  end do
+
915 
+
916  ! Deallocate all allocated memory.
+
917 
+
918  call ardllocf
+
919 
+
920  if ( cdmf == 'Y' ) call dlloctbf_c
+
921 
+
922  ! Reset the library.
+
923 
+
924  ns01v = 0
+
925  ifopbf = 0
+
926 
+
927  return
+
928 end subroutine exitbufr
+
929 
+
979 recursive integer function isetprm ( cprmnm, ipval ) result ( iret )
+
980 
+
981  use modv_vars, only: mxmsgl, maxss, nfiles, mxdxts, maxmsg, maxmem, maxtba, maxtbb, maxtbd, maxjl, &
+
982  mxcdv, mxlcc, mxcsb, mxmtbb, mxmtbd, mxmtbf, maxcd, mxs01v, mxbtm, mxbtmse, &
+
983  mxtamc, mxtco, mxnrv, mxrst, mxh4wlc, im8b, mxcnem, maxnc, mxnaf
+
984 
+
985  implicit none
+
986 
+
987  character*(*), intent(in) :: cprmnm
+
988 
+
989  integer, intent(in) :: ipval
+
990 
+
991  integer my_ipval
+
992 
+
993  character*128 errstr
+
994 
+
995  ! Check for I8 integers.
+
996 
+
997  if ( im8b ) then
+
998  im8b = .false.
+
999 
+
1000  call x84 ( ipval, my_ipval, 1 )
+
1001  iret = isetprm( cprmnm, my_ipval )
+
1002 
+
1003  im8b = .true.
+
1004  return
+
1005  endif
+
1006 
+
1007  iret = 0
+
1008  if ( cprmnm == 'MAXSS' ) then
+
1009  maxss = ipval
+
1010  else if ( cprmnm == 'NFILES' ) then
+
1011  nfiles = ipval
+
1012  else if ( cprmnm == 'MXMSGL' ) then
+
1013  mxmsgl = ipval
+
1014  else if ( cprmnm == 'MXDXTS' ) then
+
1015  mxdxts = ipval
+
1016  else if ( cprmnm == 'MAXMSG' ) then
+
1017  maxmsg = ipval
+
1018  else if ( cprmnm == 'MAXMEM' ) then
+
1019  maxmem = ipval
+
1020  else if ( cprmnm == 'MAXTBA' ) then
+
1021  maxtba = ipval
+
1022  else if ( cprmnm == 'MAXTBB' ) then
+
1023  maxtbb = ipval
+
1024  else if ( cprmnm == 'MAXTBD' ) then
+
1025  maxtbd = ipval
+
1026  else if ( cprmnm == 'MAXJL' ) then
+
1027  maxjl = ipval
+
1028  else if ( cprmnm == 'MXCDV' ) then
+
1029  mxcdv = ipval
+
1030  else if ( cprmnm == 'MXLCC' ) then
+
1031  mxlcc = ipval
+
1032  else if ( cprmnm == 'MXCSB' ) then
+
1033  mxcsb = ipval
+
1034  else if ( cprmnm == 'MXMTBB' ) then
+
1035  mxmtbb = ipval
+
1036  else if ( cprmnm == 'MXMTBD' ) then
+
1037  mxmtbd = ipval
+
1038  else if ( cprmnm == 'MXMTBF' ) then
+
1039  mxmtbf = ipval
+
1040  else if ( cprmnm == 'MAXCD' ) then
+
1041  maxcd = ipval
+
1042  else if ( cprmnm == 'MXS01V' ) then
+
1043  mxs01v = ipval
+
1044  else if ( cprmnm == 'MXBTM' ) then
+
1045  mxbtm = ipval
+
1046  else if ( cprmnm == 'MXBTMSE' ) then
+
1047  mxbtmse = ipval
+
1048  else if ( cprmnm == 'MXTAMC' ) then
+
1049  mxtamc = ipval
+
1050  else if ( cprmnm == 'MXTCO' ) then
+
1051  mxtco = ipval
+
1052  else if ( cprmnm == 'MXNRV' ) then
+
1053  mxnrv = ipval
+
1054  else if ( cprmnm == 'MXRST' ) then
+
1055  mxrst = ipval
+
1056  else if ( cprmnm == 'MXH4WLC' ) then
+
1057  mxh4wlc = ipval
+
1058  else if ( cprmnm == 'MXCNEM' ) then
+
1059  mxcnem = ipval
+
1060  else if ( cprmnm == 'MAXNC' ) then
+
1061  maxnc = ipval
+
1062  else if ( cprmnm == 'MXNAF' ) then
+
1063  mxnaf = ipval
+
1064  else
+
1065  iret = -1
+
1066  call errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
+
1067  errstr = 'BUFRLIB: ISETPRM - UNKNOWN INPUT PARAMETER '// cprmnm // ' -- NO ACTION WAS TAKEN'
+
1068  call errwrt(errstr)
+
1069  call errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
+
1070  endif
+
1071 
+
1072  return
+
1073 end function isetprm
+
1074 
+
1113 integer function igetprm ( cprmnm ) result ( iret )
+
1114 
+
1115  use modv_vars, only: mxmsgl, maxss, nfiles, mxdxts, maxmsg, maxmem, maxtba, maxtbb, maxtbd, maxjl, &
+
1116  mxcdv, mxlcc, mxcsb, mxmtbb, mxmtbd, mxmtbf, maxcd, mxs01v, mxbtm, mxbtmse, &
+
1117  mxtamc, mxtco, mxnrv, mxrst, mxh4wlc, mxcnem, maxnc, mxnaf
+
1118 
+
1119  implicit none
+
1120 
+
1121  character*(*), intent(in) :: cprmnm
+
1122 
+
1123  character*64 errstr
+
1124 
+
1125  if ( cprmnm == 'MAXSS' ) then
+
1126  iret = maxss
+
1127  else if ( cprmnm == 'NFILES' ) then
+
1128  iret = nfiles
+
1129  else if ( cprmnm == 'MXMSGL' ) then
+
1130  iret = mxmsgl
+
1131  else if ( cprmnm == 'MXDXTS' ) then
+
1132  iret = mxdxts
+
1133  else if ( cprmnm == 'MAXMSG' ) then
+
1134  iret = maxmsg
+
1135  else if ( cprmnm == 'MAXMEM' ) then
+
1136  iret = maxmem
+
1137  else if ( cprmnm == 'MAXTBA' ) then
+
1138  iret = maxtba
+
1139  else if ( cprmnm == 'MAXTBB' ) then
+
1140  iret = maxtbb
+
1141  else if ( cprmnm == 'MAXTBD' ) then
+
1142  iret = maxtbd
+
1143  else if ( cprmnm == 'MAXJL' ) then
+
1144  iret = maxjl
+
1145  else if ( cprmnm == 'MXCDV' ) then
+
1146  iret = mxcdv
+
1147  else if ( cprmnm == 'MXLCC' ) then
+
1148  iret = mxlcc
+
1149  else if ( cprmnm == 'MXCSB' ) then
+
1150  iret = mxcsb
+
1151  else if ( cprmnm == 'MXMTBB' ) then
+
1152  iret = mxmtbb
+
1153  else if ( cprmnm == 'MXMTBD' ) then
+
1154  iret = mxmtbd
+
1155  else if ( cprmnm == 'MXMTBF' ) then
+
1156  iret = mxmtbf
+
1157  else if ( cprmnm == 'MAXCD' ) then
+
1158  iret = maxcd
+
1159  else if ( cprmnm == 'MXS01V' ) then
+
1160  iret = mxs01v
+
1161  else if ( cprmnm == 'MXBTM' ) then
+
1162  iret = mxbtm
+
1163  else if ( cprmnm == 'MXBTMSE' ) then
+
1164  iret = mxbtmse
+
1165  else if ( cprmnm == 'MXTAMC' ) then
+
1166  iret = mxtamc
+
1167  else if ( cprmnm == 'MXTCO' ) then
+
1168  iret = mxtco
+
1169  else if ( cprmnm == 'MXNRV' ) then
+
1170  iret = mxnrv
+
1171  else if ( cprmnm == 'MXRST' ) then
+
1172  iret = mxrst
+
1173  else if ( cprmnm == 'MXH4WLC' ) then
+
1174  iret = mxh4wlc
+
1175  else if ( cprmnm == 'MXCNEM' ) then
+
1176  iret = mxcnem
+
1177  else if ( cprmnm == 'MAXNC' ) then
+
1178  iret = maxnc
+
1179  else if ( cprmnm == 'MXNAF' ) then
+
1180  iret = mxnaf
+
1181  else
+
1182  iret = -1
+
1183  call errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
+
1184  errstr = 'BUFRLIB: IGETPRM - UNKNOWN INPUT PARAMETER '// cprmnm
+
1185  call errwrt(errstr)
+
1186  call errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
+
1187  endif
+
1188 
+
1189  return
+
1190 end function igetprm
+
integer function igetprm(cprmnm)
Return the current value of a parameter used for allocating one or more internal arrays within the NC...
Definition: arallocf.F90:1114
+
subroutine arallocf
Dynamically allocate Fortran language arrays.
Definition: arallocf.F90:19
+
subroutine exitbufr
Free all dynamically-allocated memory, close all logical units that are open within the NCEPLIBS-bufr...
Definition: arallocf.F90:901
+
recursive integer function isetprm(cprmnm, ipval)
Set a specified parameter to a specified value for use in dynamically allocating one or more internal...
Definition: arallocf.F90:980
+
subroutine ardllocf
Free all memory that was dynamically allocated during a previous call to subroutine arallocf().
Definition: arallocf.F90:593
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine errwrt(str)
Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
Definition: errwrt.F90:32
+ +
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
Definition: bufrlib.F90:11
+
Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
+
integer, dimension(:), allocatable ibay
Current data subset.
+
integer, dimension(:,:), allocatable mbay
Current BUFR message for each file ID.
+
integer, dimension(:), allocatable mbyt
Length (in bytes) of current BUFR message for each file ID.
+
Declare arrays and variables used to store bitmaps internally within a data subset definition.
+
integer, dimension(:), allocatable iszbtm
Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not).
+
integer, dimension(:,:), allocatable inodtco
Entries within jump/link table which contain Table C operators.
+
integer, dimension(:), allocatable istbtm
Ordinal position in data subset definition corresponding to the first entry of the bitmap.
+
integer, dimension(:), allocatable inodtamc
Entries within jump/link table which contain Table A mnemonics.
+
integer, dimension(:,:), allocatable ibtmse
Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions ca...
+
integer, dimension(:), allocatable nbtmse
Number of "set" entries (set to a value of 0) in the bitmap.
+
character *6, dimension(:,:), allocatable ctco
Table C operators corresponding to inodtco.
+
integer, dimension(:), allocatable ntco
Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of ...
+
Declare arrays used to store, for each output file ID, a copy of the BUFR message that was most recen...
+
integer, dimension(:), allocatable msglen
Length (in integers) of BUFR message most recently written to each output file ID.
+
integer, dimension(:,:), allocatable msgtxt
BUFR message most recently written to each output file ID.
+
Declare arrays and variables needed to store the current position within a BUFR file.
+
integer, dimension(:), allocatable jsr
Indicator of stack status when entering subroutine rewnbf().
+
integer, dimension(:), allocatable jbay
BUFR message.
+
Declare arrays and variables needed for the storage of data values needed when writing compressed dat...
+
character *(:), dimension(:,:), allocatable catx
Character data values for all data subsets in message.
+
integer *8, dimension(:,:), allocatable matx
Non-character data values for all data subsets in message.
+
Declare arrays and variable needed for the storage of data values needed when writing compressed data...
+
character *(:), dimension(:), allocatable cstr
Character data value, if corresponding ityp value is set to 3.
+
integer *8, dimension(:), allocatable kmax
Maximum of each data value across all data subsets in message.
+
integer, dimension(:), allocatable jlnode
Jump/link table node corresponding to each data value.
+
integer, dimension(:), allocatable ityp
Type of each data value:
+
integer, dimension(:), allocatable iwid
Bit width of underlying data descriptor as defined within Table B for each data value.
+
integer, dimension(:), allocatable kbit
Number of bits needed to hold the increments for this data value within each data subset of the messa...
+
logical, dimension(:), allocatable kmis
"Missing" values flag.
+
integer *8, dimension(:), allocatable kmin
Minimum of each data value across all data subsets in message.
+
Declare arrays and variables for the internal Table A mnemonic cache that is used for Section 3 decod...
+
character *8, dimension(:), allocatable cnem
Table A mnemonics.
+
integer, dimension(:,:), allocatable idcach
WMO bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem.
+
integer, dimension(:), allocatable ndc
Number of child descriptors for the corresponding Table A mnemonic in cnem.
+
Declare arrays and variables needed to store long character strings (greater than 8 bytes) via subrou...
+
character *14, dimension(:), allocatable sth4wlc
Table B mnemonics associated with long character strings.
+
integer, dimension(:), allocatable luh4wlc
File ID for associated output file.
+
character *120, dimension(:), allocatable chh4wlc
Long character strings.
+
Declare an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive ...
+
integer, dimension(:), allocatable idrdm
DX BUFR tables message count for each file ID.
+
Declare an array used to pack or unpack all of the values of a BUFR data subset.
+
integer *8, dimension(:), allocatable ival
BUFR data subset values.
+
Declare arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manip...
+
character *10, dimension(:), allocatable ttmp
tag array elements for new sections of a growing subset buffer.
+
real *8, dimension(:), allocatable vtmp
val array elements for new sections of a growing subset buffer.
+
integer, dimension(:), allocatable itmp
inv array elements for new sections of a growing subset buffer.
+
Declare an array used by subroutine makestab() to keep track of which logical units share DX BUFR tab...
+
integer, dimension(:), allocatable lus
Tracking index for each file ID.
+
Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
+
integer, dimension(:), allocatable mgwa
Temporary working copy of BUFR message.
+
Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
+
integer, dimension(:), allocatable mgwb
Temporary working copy of BUFR message.
+
Declare arrays used to store information about the current BUFR message that is in the process of bei...
+
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
+
integer, dimension(:), allocatable idate
Section 1 date-time of message.
+
integer, dimension(:), allocatable nmsg
Current message pointer within logical unit.
+
integer, dimension(:), allocatable msub
Total number of data subsets in message.
+
integer, dimension(:), allocatable nsub
Current subset pointer within message.
+
Declare an array used to keep track of which logical units should not have any empty (zero data subse...
+
integer, dimension(:), allocatable msglim
Tracking index for each file ID.
+
Declare arrays and variables used to store the contents of one or more BUFR files within internal mem...
+
integer, dimension(:), allocatable msgp
Pointers to the beginning of each message within msgs (up to a maximum of maxmsg, and where array ele...
+
integer, dimension(:), allocatable ipmsgs
Pointers to first message within msgs for which each DX BUFR table applies.
+
integer, dimension(:), allocatable msgs
BUFR messages read from one or more BUFR files.
+
integer, dimension(:), allocatable icdxts
Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the cor...
+
integer mxdxm
Maximum number of DX BUFR table messages that can be stored within mdx.
+
integer, dimension(:), allocatable ifdxts
Pointers to the beginning of each DX BUFR table within mdx.
+
integer, dimension(:), allocatable mdx
DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.
+
integer mxdxw
Maximum number of entries that can be stored within mdx.
+
integer, dimension(:), allocatable ipdxm
Pointers to the beginning of each message within mdx.
+
Declare arrays and variables used to store master Table B and Table D entries within internal memory.
+
integer, dimension(:), allocatable idfxyn
WMO bit-wise representations of FXY numbers for master Table D.
+
character, dimension(:,:), allocatable cbunit
Units corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cbbw
Bit widths corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cdseq
Sequence names corresponding to idfxyn.
+
character, dimension(:,:), allocatable cbmnem
Mnemonics corresponding to ibfxyn.
+
integer, dimension(:), allocatable ndelem
Numbers of child descriptors corresponding to idfxyn.
+
character, dimension(:,:), allocatable cbelem
Element names corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cbscl
Scale factors corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cdmnem
Mnemonics corresponding to idfxyn.
+
character, dimension(:,:), allocatable cbsref
Reference values corresponding to ibfxyn.
+
integer, dimension(:), allocatable idefxy
WMO bit-wise representations of child descriptors corresponding to idfxyn.
+
integer, dimension(:), allocatable ibfxyn
WMO bit-wise representations of FXY numbers for master Table B.
+
Declare arrays used by various subroutines to hold information about Table D sequences.
+
integer, dimension(:,:), allocatable krp
Replication counts corresponding to nem:
+
integer, dimension(:,:), allocatable irp
Replication indicators corresponding to nem:
+
character *8, dimension(:,:), allocatable nem
Child mnemonics within Table D sequences.
+
Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
+
integer, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
+
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
+
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
+
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
+
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
+
Declare an array used to store a switch for each file ID, indicating whether any BUFR messages should...
+
integer, dimension(:), allocatable null
Output switch for each file ID:
+
Declare arrays and variables used to store master Table B and Table D entries within internal memory.
+
character *120, dimension(:,:), allocatable ceelem
Element names corresponding to iefxyn.
+
character *4, dimension(:), allocatable cmdscb
Descriptor codes for Table B elements.
+
integer, dimension(:,:), allocatable iefxyn
WMO bit-wise representations of child descriptors of Table D sequences.
+
character *4, dimension(:), allocatable cmdscd
Descriptor codes for Table D sequences.
+
Declare arrays and variables needed to store information about long character strings (greater than 8...
+
integer, dimension(:), allocatable irnch
Lengths (in bytes) of long character strings.
+
integer, dimension(:), allocatable irbit
Pointers in data subset to first bits of long character strings.
+
character *10, dimension(:), allocatable crtag
Table B mnemonics associated with long character strings.
+
Declare arrays and variables used to store custom values for certain mnemonics within Sections 0 and ...
+
integer, dimension(:), allocatable ivmnem
Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
+
integer ns01v
Number of custom values stored.
+
character *8, dimension(:), allocatable cmnem
Section 0 and 1 mnemonics corresponding to ivmnem.
+
Declare arrays used by various subroutines and functions to hold a temporary working copy of a Sectio...
+
integer, dimension(:), allocatable ids3
Temporary working copy of Section 3 descriptor list in integer form.
+
character *6, dimension(:), allocatable cds3
Temporary working copy of Section 3 descriptor list in character form.
+
Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from ...
+
character *8, dimension(:), allocatable tamnem
Table A mnemonic most recently read from each file ID, if isc3 = 1 for that stream.
+
integer, dimension(:), allocatable isc3
Section 3 switch for each file ID:
+
Declare arrays used to store file and message status indicators for all logical units that have been ...
+
integer, dimension(:), allocatable iolun
File status indicators.
+
integer, dimension(:), allocatable iomsg
Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
+
Declare an array used to store a status code for each file ID if an error or other abnormal result oc...
+
integer, dimension(:), allocatable iscodes
Abnormal status codes.
+
Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
+
integer, dimension(:), allocatable ntba
Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
+
character *600, dimension(:,:), allocatable tabd
Table D entries for each file ID.
+
character *128, dimension(:,:), allocatable taba
Table A entries for each file ID.
+
integer, dimension(:,:), allocatable mtab
Entries within jump/link table corresponding to taba.
+
integer, dimension(:,:,:), allocatable idna
Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
+
integer, dimension(:), allocatable ntbd
Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
+
integer, dimension(:), allocatable ntbb
Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
+
integer, dimension(:,:), allocatable idnd
WMO bit-wise representations of the FXY values corresponding to tabd.
+
integer, dimension(:,:), allocatable idnb
WMO bit-wise representations of the FXY values corresponding to tabb.
+
character *128, dimension(:,:), allocatable tabb
Table B entries for each file ID.
+
Declare a variable used to indicate whether master code and flag tables should be read.
+
character cdmf
Flag indicating whether to include code and flag table information during reads of master BUFR tables...
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable jseq
Temporary storage used in expanding sequences.
+
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
+
integer, dimension(:,:), allocatable iseq
Temporary storage used in expanding sequences.
+
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
integer, dimension(:), allocatable knt
Temporary storage used in calculating delayed replication counts.
+
real *8, dimension(:), allocatable vali
Initialized data values corresponding to typ:
+
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
+
integer, dimension(:), allocatable jmpb
Jump backward indices corresponding to tag and typ:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
integer, dimension(:), allocatable jump
Jump forward indices corresponding to tag and typ:
+
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
+
integer, dimension(:), allocatable link
Link indices corresponding to tag, typ and jmpb:
+
integer, dimension(:), allocatable knti
Initialized replication counts corresponding to typ and jump:
+
Declare an array used to store, for each file ID, the logical unit number corresponding to a separate...
+
integer, dimension(:), allocatable luncpy
Logical unit numbers used to copy long character strings between BUFR data subsets.
+
Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
+
integer, dimension(:), allocatable msgunp
Flag indicating how to unpack data subsets from BUFR message:
+
Declare arrays for internal storage of pointers to BUFR data subset values.
+
integer, dimension(:), allocatable nbit
Length (in bits) of each packed data value in data subset.
+
integer, dimension(:), allocatable mbit
Pointer in data subset to first bit of each packed data value.
+
Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
+
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
+
real *8, dimension(:,:), allocatable, target val
Data values.
+
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
+
integer, dimension(:,:), allocatable nrfelm
Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
+
Declare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subs...
+
integer, dimension(:,:), allocatable iutmp
inv array elements for new sections of a growing subset buffer.
+
real *8, dimension(:,:), allocatable vutmp
val array elements for new sections of a growing subset buffer.
+
Declare an array used to track, for each file ID, whether the DX BUFR table associated with the corre...
+
logical, dimension(:), allocatable xtab
Tracking index for each file ID.
+
recursive subroutine closbf(lunit)
Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/binv_8F90.html b/binv_8F90.html new file mode 100644 index 000000000..ca8f4723d --- /dev/null +++ b/binv_8F90.html @@ -0,0 +1,143 @@ + + + + + + + +NCEPLIBS-bufr: binv.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
binv.F90 File Reference
+
+
+ +

Produce an inventory of subsets in a bufr file. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Functions/Subroutines

program binv
 Usage: binv <bufrfile> will print bufrfile inventory by message type. More...
 
+

Detailed Description

+

Produce an inventory of subsets in a bufr file.

+
Author
J Woollen
+
Date
1994
+ +

Definition in file binv.F90.

+

Function/Subroutine Documentation

+ +

◆ binv()

+ +
+
+ + + + +
program binv
+
+ +

Usage: binv <bufrfile> will print bufrfile inventory by message type.

+
Returns
0 for success, error message otherwise.
+
Author
J Woollen
+
Date
1994
+ +

Definition at line 11 of file binv.F90.

+ +

References bort(), ireadmg(), iupvs01(), nmsub(), and openbf().

+ +
+
+
+
+ + + + diff --git a/binv_8F90.js b/binv_8F90.js new file mode 100644 index 000000000..2ceac0a1e --- /dev/null +++ b/binv_8F90.js @@ -0,0 +1,4 @@ +var binv_8F90 = +[ + [ "binv", "binv_8F90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5", null ] +]; \ No newline at end of file diff --git a/binv_8F90_source.html b/binv_8F90_source.html new file mode 100644 index 000000000..1b6f7c8b9 --- /dev/null +++ b/binv_8F90_source.html @@ -0,0 +1,187 @@ + + + + + + + +NCEPLIBS-bufr: binv.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
binv.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
11 PROGRAM binv
+
12 
+
13  parameter(maxsub=100)
+
14 
+
15  CHARACTER*255 file
+
16  CHARACTER*8 subset
+
17  CHARACTER*8 sub(maxsub)
+
18  integer*8 ninv(3,maxsub)
+
19  real*8 xsub, xmsg
+
20  logical exist
+
21 
+
22  DATA lunbf /20/
+
23 
+
24  !-----------------------------------------------------------------------
+
25  nmbyt(lunit)= iupvs01(lunit,'LENM')
+
26  !-----------------------------------------------------------------------
+
27 
+
28  ! get filename
+
29 
+
30  narg=command_argument_count()
+
31  if(narg/=1) then
+
32  print *,'Usage: binv <bufrfile> will print bufrfile inventory by message type'
+
33  call exit(2)
+
34  endif
+
35 
+
36  call get_command_argument(1,file)
+
37  file = trim(file)//char(0)
+
38  inquire(file=file,exist=exist)
+
39  if (.not.exist) then
+
40  print *,trim(file)//' does not exist'
+
41  call exit(3)
+
42  endif
+
43  open(lunbf,file=file,form='unformatted')
+
44 
+
45  ninv = 0
+
46  nsub = 0
+
47 
+
48 
+
49  ! COMPUTE AN MESSAGE INVENTORY BY SUBSETS
+
50  ! ---------------------------------------
+
51 
+
52  CALL openbf(lunbf,'IN',lunbf)
+
53  DO WHILE(ireadmg(lunbf,subset,idate)==0)
+
54  isub = 0
+
55  DO i=1,nsub
+
56  IF(subset==sub(i)) isub = i
+
57  ENDDO
+
58  IF(isub==0) THEN
+
59  IF(nsub+1>maxsub) CALL bort('NSUB TOO BIG')
+
60  sub(nsub+1) = subset
+
61  nsub = nsub+1
+
62  isub = nsub
+
63  ENDIF
+
64  ninv(1,isub) = ninv(1,isub)+1
+
65  ninv(2,isub) = ninv(2,isub)+nmsub(lunbf)
+
66  ninv(3,isub) = ninv(3,isub)+nmbyt(lunbf)
+
67  ENDDO
+
68 
+
69  ! PRINT THE INVENTORY
+
70  ! -------------------
+
71 
+
72  print*
+
73  print'(a4,6x,2(a10,4x),a11)','type','messages','subsets','bytes'
+
74  print*
+
75  DO j=1,nsub
+
76  xmsg = ninv(1,j)
+
77  xsub = ninv(2,j)
+
78  print'(a8,2x,2(i10,4x),i11,4x,f8.2)',sub(j),(ninv(i,j),i=1,3),xsub/xmsg
+
79  IF(j>1) THEN
+
80  ninv(1,1) = ninv(1,1)+ninv(1,j)
+
81  ninv(2,1) = ninv(2,1)+ninv(2,j)
+
82  ninv(3,1) = ninv(3,1)+ninv(3,j)
+
83  ENDIF
+
84  ENDDO
+
85 
+
86  print'(a8,2x,2(i10,4x),i11,4x)','TOTAL ',(ninv(i,1),i=1,3)
+
87  print*
+
88 
+
89  stop
+
90 END PROGRAM binv
+
program binv
Usage: binv <bufrfile> will print bufrfile inventory by message type.
Definition: binv.F90:11
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
+
recursive integer function nmsub(lunit)
Get the total number of data subsets available within the BUFR message that was most recently opened ...
+
recursive integer function ireadmg(lunit, subset, idate)
Call subroutine readmg() and pass back its return code as the function value.
+
recursive integer function iupvs01(lunit, s01mnem)
Read a specified value from within Section 0 or 1 of a BUFR message.
Definition: s013vals.F90:443
+
+
+ + + + diff --git a/bitmaps_8F90.html b/bitmaps_8F90.html new file mode 100644 index 000000000..9e824ad7d --- /dev/null +++ b/bitmaps_8F90.html @@ -0,0 +1,336 @@ + + + + + + + +NCEPLIBS-bufr: bitmaps.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
bitmaps.F90 File Reference
+
+
+ +

Process bitmaps within BUFR messages. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions/Subroutines

recursive subroutine gettagre (lunit, tagi, ntagi, tagre, ntagre, iret)
 Check whether a specified Table B mnemonic references another Table B mnemonic within the same data subset via an internal bitmap. More...
 
integer function igetrfel (n, lun)
 Check whether a subset element refers to a previous element within the same subset via an internal bitmap. More...
 
integer function imrkopr (nemo)
 Check whether a specified mnemonic is a Table C marker operator. More...
 
subroutine strbtm (n, lun)
 Store internal information in module moda_bitmaps if the input element is part of a bitmap. More...
 
+

Detailed Description

+

Process bitmaps within BUFR messages.

+
Author
J Ator
+
Date
2016-05-27
+ +

Definition in file bitmaps.F90.

+

Function/Subroutine Documentation

+ +

◆ gettagre()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine gettagre (integer, intent(in) lunit,
character*(*), intent(in) tagi,
integer, intent(in) ntagi,
character*(*), intent(out) tagre,
integer, intent(out) ntagre,
integer, intent(out) iret 
)
+
+ +

Check whether a specified Table B mnemonic references another Table B mnemonic within the same data subset via an internal bitmap.

+

If so, then the referenced mnemonic is returned along with its location within the subset.

+
Parameters
+ + + + + + + +
lunit- Fortran logical unit number for BUFR file
tagi- Table B mnemonic
ntagi- Ordinal occurrence of tagi for which tagre is to be returned, counting from the beginning of the overall subset definition
tagre- Table B mnemonic referenced by tagi via an internal bitmap
ntagre- Ordinal occurrence of tagre referenced by (ntagi)th occurrence of tagi, counting from the beginning of the overall subset definition
iret- Return code
    +
  • 0 = normal return
  • +
  • -1 = tagre could not be found, or some other error occurred
  • +
+
+
+
+

A data subset must already be in scope within the NCEPLIBS-bufr internal arrays for lunit, either via a previous call to one of the subset-reading subroutines (when reading BUFR data subsets) or via a previous call to one of the message-writing subroutines (when writing BUFR data subsets).

+
Author
J. Ator
+
Date
2016-06-07
+ +

Definition at line 102 of file bitmaps.F90.

+ +

References fstag(), moda_msgcwd::inode, moda_usrint::inv, moda_usrint::nrfelm, status(), strsuc(), moda_tables::tag, x48(), and x84().

+ +
+
+ +

◆ igetrfel()

+ +
+
+ + + + + + + + + + + + + + + + + + +
integer function igetrfel (integer, intent(in) n,
integer, intent(in) lun 
)
+
+ +

Check whether a subset element refers to a previous element within the same subset via an internal bitmap.

+

If so, then the referenced element is returned. In addition, if the input element is a 2-XX-255 marker operator, then its scale factor, bit width and reference values are set internally to match those of the referenced element.

+
Parameters
+ + + +
n- Subset element
lun- File ID
+
+
+
Returns
Subset element referenced by element n within the same subset
    +
  • 0 = Input element does not refer to a previous element, or referenced element not found
  • +
+
+
Author
J. Ator
+
Date
2016-05-27
+ +

Definition at line 175 of file bitmaps.F90.

+ +

References adn30(), bort(), moda_bitmaps::ctco, moda_tables::ibt, moda_bitmaps::ibtmse, moda_nrv203::ienrv, imrkopr(), moda_msgcwd::inode, moda_nrv203::inodnrv, moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_usrint::inv, moda_tables::irf, moda_tables::isc, moda_nrv203::isnrv, moda_bitmaps::istbtm, moda_bitmaps::iszbtm, moda_tables::itp, lstjpb(), moda_bitmaps::lstnod, moda_bitmaps::lstnodct, moda_bitmaps::nbtm, moda_bitmaps::nbtmse, nemtab(), moda_nrv203::nnrv, moda_nrv203::nrv, moda_bitmaps::ntamc, moda_bitmaps::ntco, moda_usrint::nval, moda_tables::tag, and moda_nrv203::tagnrv.

+ +
+
+ +

◆ imrkopr()

+ +
+
+ + + + + + + + +
integer function imrkopr (character*(*), intent(in) nemo)
+
+ +

Check whether a specified mnemonic is a Table C marker operator.

+
Parameters
+ + +
nemo- Mnemonic
+
+
+
Returns
Flag indicating whether nemo is a Table C marker operator:
    +
  • 0 = No
  • +
  • 1 = Yes
  • +
+
+
Author
J. Ator
+
Date
2016-05-04
+ +

Definition at line 353 of file bitmaps.F90.

+ +

Referenced by igetrfel(), bufr_c2f_interface::imrkopr_c(), and iokoper().

+ +
+
+ +

◆ strbtm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine strbtm (integer, intent(in) n,
integer, intent(in) lun 
)
+
+ +

Store internal information in module moda_bitmaps if the input element is part of a bitmap.

+
Parameters
+ + + +
n- Subset element
lun- File ID
+
+
+
Author
J. Ator
+
Date
2016-05-27
+ +

Definition at line 12 of file bitmaps.F90.

+ +

References bort(), moda_bitmaps::ctco, moda_bitmaps::ibtmse, moda_msgcwd::inode, moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_usrint::inv, moda_tables::isc, moda_bitmaps::istbtm, moda_bitmaps::iszbtm, moda_tables::itp, moda_bitmaps::linbtm, moda_bitmaps::nbtm, moda_bitmaps::nbtmse, moda_bitmaps::ntamc, moda_bitmaps::ntco, moda_tables::tag, and moda_usrint::val.

+ +

Referenced by rcstpl(), and rdcmps().

+ +
+
+
+
+ + + + diff --git a/bitmaps_8F90.js b/bitmaps_8F90.js new file mode 100644 index 000000000..45a620fea --- /dev/null +++ b/bitmaps_8F90.js @@ -0,0 +1,7 @@ +var bitmaps_8F90 = +[ + [ "gettagre", "bitmaps_8F90.html#a867a81be072effc2a9d2de0d6031e264", null ], + [ "igetrfel", "bitmaps_8F90.html#a2dd600ba6cd71e06a19d88956337781b", null ], + [ "imrkopr", "bitmaps_8F90.html#ad95571bf5308d6b64163d3bcc7ea3512", null ], + [ "strbtm", "bitmaps_8F90.html#a81f55f4b1f740f3ac6e3f56ee0a06dee", null ] +]; \ No newline at end of file diff --git a/bitmaps_8F90_source.html b/bitmaps_8F90_source.html new file mode 100644 index 000000000..4f3b98565 --- /dev/null +++ b/bitmaps_8F90_source.html @@ -0,0 +1,460 @@ + + + + + + + +NCEPLIBS-bufr: bitmaps.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
bitmaps.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
12 subroutine strbtm ( n, lun )
+
13 
+
14  use modv_vars, only: mxbtm, mxbtmse
+
15 
+
16  use moda_msgcwd
+
17  use moda_usrint
+
18  use moda_tables
+
19  use moda_bitmaps
+
20 
+
21  implicit none
+
22 
+
23  integer, intent(in) :: n, lun
+
24  integer node, nodtam, ii, jj, ibfms, lstjpb
+
25 
+
26  logical isbtme
+
27 
+
28  node = inv( n, lun )
+
29 
+
30  if ( tag(node)(1:5) == 'DPRI ' ) then
+
31  ! Confirm that this is really an entry within a bitmap. Although it's rare, it is possible for a DPRI element
+
32  ! to appear in a subset definition outside of a bitmap.
+
33  isbtme = .false.
+
34  if ( ntamc > 0 ) then
+
35  nodtam = lstjpb( node, lun, 'SUB' )
+
36  do ii = 1, ntamc
+
37  if ( nodtam == inodtamc(ii) ) then
+
38  do jj = 1, ntco(ii)
+
39  if ( ( inodtco(ii,jj) >= inode(lun) ) .and. ( inodtco(ii,jj) <= isc(inode(lun)) ) .and. &
+
40  ( inodtco(ii,jj) < node ) ) then
+
41  if ( ctco(ii,jj) == '236000' ) then
+
42  isbtme = .true.
+
43  else if ( ( ctco(ii,jj) == '235000' ) .or. ( ctco(ii,jj) == '237255' ) ) then
+
44  isbtme = .false.
+
45  end if
+
46  end if
+
47  end do
+
48  end if
+
49  end do
+
50  end if
+
51  if ( .not. isbtme ) then
+
52  linbtm = .false.
+
53  return
+
54  endif
+
55  if ( .not. linbtm ) then
+
56  ! This is the start of a new bitmap.
+
57  if ( nbtm >= mxbtm ) call bort('BUFRLIB: STRBTM - MXBTM OVERFLOW')
+
58  nbtm = nbtm + 1
+
59  istbtm(nbtm) = n
+
60  iszbtm(nbtm) = 0
+
61  nbtmse(nbtm) = 0
+
62  linbtm = .true.
+
63  end if
+
64  iszbtm(nbtm) = iszbtm(nbtm) + 1
+
65  if ( ibfms(val(n,lun)) == 0 ) then
+
66  ! This is a "set" (value=0) entry in the bitmap.
+
67  if ( nbtmse(nbtm) >= mxbtmse ) call bort('BUFRLIB: STRBTM - MXBTMSE OVERFLOW')
+
68  nbtmse(nbtm) = nbtmse(nbtm) + 1
+ +
70  end if
+
71  else if ( itp(node) > 1 ) then
+
72  linbtm = .false.
+
73  end if
+
74 
+
75  return
+
76 end subroutine strbtm
+
77 
+
102 recursive subroutine gettagre ( lunit, tagi, ntagi, tagre, ntagre, iret )
+
103 
+
104  use modv_vars, only: im8b
+
105 
+
106  use moda_usrint
+
107  use moda_msgcwd
+
108  use moda_tables
+
109 
+
110  implicit none
+
111 
+
112  integer, intent(in) :: lunit, ntagi
+
113  integer, intent(out) :: iret, ntagre
+
114  integer my_lunit, my_ntagi, lun, il, im, ni, nre, ltre, ii
+
115 
+
116  character*(*), intent(in) :: tagi
+
117  character*(*), intent(out) :: tagre
+
118  character*10 tagtmp
+
119 
+
120  ! Check for I8 integers.
+
121 
+
122  if(im8b) then
+
123  im8b=.false.
+
124  call x84(lunit,my_lunit,1)
+
125  call x84(ntagi,my_ntagi,1)
+
126  call gettagre(my_lunit,tagi,my_ntagi,tagre,ntagre,iret)
+
127  call x48(ntagre,ntagre,1)
+
128  call x48(iret,iret,1)
+
129  im8b=.true.
+
130  return
+
131  endif
+
132 
+
133  iret = -1
+
134 
+
135  ! Get lun from lunit.
+
136 
+
137  call status( lunit, lun, il, im )
+
138  if ( il == 0 ) return
+
139  if ( inode(lun) /= inv(1,lun) ) return
+
140 
+
141  ! Get tagre and ntagre from the (ntagi)th occurrence of tagi.
+
142 
+
143  call fstag( lun, tagi, ntagi, 1, ni, iret )
+
144  if ( iret /= 0 ) return
+
145  nre = nrfelm(ni,lun)
+
146  if ( nre > 0 ) then
+
147  iret = 0
+
148  tagre = tag(inv(nre,lun))
+
149  call strsuc( tagre, tagtmp, ltre )
+
150  ntagre = 0
+
151  do ii = 1, nre
+
152  if ( tag(inv(ii,lun))(1:ltre) == tagre(1:ltre) ) then
+
153  ntagre = ntagre + 1
+
154  end if
+
155  end do
+
156  end if
+
157 
+
158  return
+
159 end subroutine gettagre
+
160 
+
175 integer function igetrfel ( n, lun ) result ( iret )
+
176 
+
177  use moda_msgcwd
+
178  use moda_usrint
+
179  use moda_tables
+
180  use moda_bitmaps
+
181  use moda_nrv203
+
182 
+
183  implicit none
+
184 
+
185  integer, intent(in) :: n, lun
+
186  integer node, ii, jj, nn, idxta, idn, ntc, nodflw, nodl236, nodbmap, nodrfe, nodnn, nodtam, idxbtm, iemrk, iect, &
+
187  lstjpb, imrkopr
+
188 
+
189  character*(*), parameter :: bort_str_mrkopr = &
+
190  'BUFRLIB: IGETRFEL - UNABLE TO FIND PREVIOUS ELEMENT REFERENCED BY MARKER OPERATOR '
+
191  character*128 bort_str
+
192  character*6 cflwopr, adn30, fxy
+
193  character*1 tab
+
194 
+
195  iret = 0
+
196 
+
197  node = inv( n, lun )
+
198 
+
199  if ( itp(node) > 1 ) then
+
200  if ( node == lstnod ) then
+
201  lstnodct = lstnodct + 1
+
202  else
+
203  lstnod = node
+
204  lstnodct = 1
+
205  end if
+
206  ! Does this subset definition contain any Table C operators with an X value of 21 or greater?
+
207  idxta = 0
+
208  if ( ntamc > 0 ) then
+
209  nodtam = lstjpb( node, lun, 'SUB' )
+
210  do ii = 1, ntamc
+
211  if ( nodtam == inodtamc(ii) ) then
+
212  idxta = ii
+
213  ntc = ntco(ii)
+
214  end if
+
215  end do
+
216  end if
+
217  if ( ( idxta > 0 ) .and. ( nbtm > 0 ) ) then
+
218  ! Check whether this element references a previous element in the same subset via an internal bitmap. To do this,
+
219  ! we first need to determine the appropriate "follow" operator (if any) corresponding to this element.
+
220  cflwopr = 'XXXXXX'
+
221  if ( imrkopr(tag(node)) == 1 ) then
+
222  cflwopr = tag(node)(1:3) // '000'
+
223  else
+
224  call nemtab( lun, tag(node), idn, tab, nn )
+
225  if ( tab == 'B' ) then
+
226  fxy = adn30(idn,6)
+
227  if ( fxy(2:3) == '33' ) cflwopr = '222000'
+
228  end if
+
229  end if
+
230  if ( cflwopr == 'XXXXXX' ) return
+
231  ! Now, check whether the appropriate "follow" operator was actually present in the subset. If there are multiple
+
232  ! occurrences, we want the one that most recently precedes the element in question.
+
233  nodflw = 0
+
234  do jj = 1, ntc
+
235  if ( ( ctco(idxta,jj) == cflwopr ) .and. ( inodtco(idxta,jj) >= inode(lun) ) .and. &
+
236  ( inodtco(idxta,jj) <= isc(inode(lun)) ) .and. ( inodtco(idxta,jj) < node ) ) nodflw = inodtco(idxta,jj)
+
237  enddo
+
238  if ( nodflw == 0 ) then
+
239  if ( imrkopr(tag(node)) == 1 ) then
+
240  write(bort_str,'("BUFRLB: IGETRFEL - UNABLE TO FIND FOLLOW OPERATOR ",A," IN SUBSET")') cflwopr
+
241  call bort(bort_str)
+
242  endif
+
243  return
+
244  end if
+
245  ! We found an appropriate corresponding "follow" operator, so now we need to look for a bitmap corresponding to
+
246  ! this operator. First, look for a bitmap indicator.
+
247  nodl236 = 0
+
248  nodbmap = 0
+
249  jj = 1
+
250  do while ( ( jj <= ntc ) .and. ( inodtco(idxta,jj) >= inode(lun) ) .and. &
+
251  ( inodtco(idxta,jj) <= isc(inode(lun)) ) .and. ( nodbmap == 0 ) )
+
252  if ( ctco(idxta,jj) == '236000' ) then
+
253  nodl236 = inodtco(idxta,jj)
+
254  if ( inodtco(idxta,jj) == nodflw ) nodbmap = nodflw
+
255  else if ( ( ctco(idxta,jj) == '235000' ) .or. ( ctco(idxta,jj) == '237255' ) ) then
+
256  nodl236 = 0
+
257  else if ( ( ctco(idxta,jj) == '237000' ) .and. ( inodtco(idxta,jj) == nodflw ) .and. ( nodl236 /= 0 ) ) then
+
258  nodbmap = nodl236
+
259  end if
+
260  jj = jj + 1
+
261  end do
+
262  if ( nodbmap == 0 ) then
+
263  ! There was no valid bitmap indicator, so we'll just look for a bitmap after the "follow" indicator.
+
264  nodbmap = nodflw
+
265  end if
+
266  ! Find the corresponding bitmap.
+
267  nn = 1
+
268  idxbtm = 0
+
269  do while ( ( idxbtm == 0 ) .and. ( nn <= nval(lun) ) )
+
270  if ( inv( nn, lun ) > nodbmap ) then
+
271  ii = 1
+
272  do while ( ( idxbtm == 0 ) .and. ( ii <= nbtm ) )
+
273  if ( nn == istbtm(ii) ) then
+
274  idxbtm = ii
+
275  else
+
276  ii = ii + 1
+
277  end if
+
278  end do
+
279  end if
+
280  nn = nn + 1
+
281  end do
+
282  if ( idxbtm == 0 ) then
+
283  if ( imrkopr(tag(node)) == 1 ) then
+
284  write(bort_str,'("BUFRLB: IGETRFEL - UNABLE TO FIND BITMAP FOR MARKER OPERATOR ",A)') tag(node)
+
285  call bort(bort_str)
+
286  endif
+
287  return
+
288  end if
+
289  ! Use the bitmap to find the previous element in the subset that is referenced by the current element.
+
290  ! Search backwards from the start of the bitmap, but make sure not to cross a 2-35-000 operator.
+
291  if ( lstnodct > nbtmse(idxbtm) ) then
+
292  if ( imrkopr(tag(node)) == 1 ) call bort( bort_str_mrkopr // tag(node) )
+
293  return
+
294  end if
+
295  iemrk = iszbtm(idxbtm) - ibtmse(idxbtm,lstnodct) + 1
+
296  iect = 0
+
297  do while ( ( nn >= 1 ) .and. ( iret == 0 ) )
+
298  nodnn = inv( nn, lun )
+
299  if ( nodnn <= nodbmap ) then
+
300  do jj = 1, ntc
+
301  if ( ( nodnn == inodtco(idxta,jj) ) .and. ( ctco(idxta,jj) == '235000' ) ) then
+
302  if ( imrkopr(tag(node)) == 1 ) call bort( bort_str_mrkopr // tag(node) )
+
303  return
+
304  end if
+
305  end do
+
306  if ( itp(nodnn) > 1 ) then
+
307  iect = iect + 1
+
308  if ( iect == iemrk ) iret = nn
+
309  end if
+
310  end if
+
311  nn = nn - 1
+
312  end do
+
313  if ( iret == 0 ) then
+
314  if ( imrkopr(tag(node)) == 1 ) call bort( bort_str_mrkopr // tag(node) )
+
315  return
+
316  end if
+
317  if ( imrkopr(tag(node)) == 1 ) then
+
318  ! This element is a marker operator, so set the scale, reference value and bit width accordingly based on
+
319  ! those of the previous referenced element.
+
320  nodrfe = inv( iret, lun )
+
321  isc(node) = isc(nodrfe)
+
322  if ( tag(node)(1:3) == '225' ) then
+
323  ibt(node) = ibt(nodrfe) + 1
+
324  irf(node) = -1 * (2 ** ibt(nodrfe))
+
325  else
+
326  ibt(node) = ibt(nodrfe)
+
327  irf(node) = irf(nodrfe)
+
328  if ( nnrv > 0 ) then
+
329  do ii = 1, nnrv
+
330  if ( ( nodrfe /= inodnrv(ii) ) .and. ( tag(nodrfe)(1:8) == tagnrv(ii) ) .and. &
+
331  ( nodrfe >= isnrv(ii) ) .and. ( nodrfe <= ienrv(ii) ) ) then
+
332  irf(node) = int(nrv(ii))
+
333  return
+
334  end if
+
335  end do
+
336  end if
+
337  end if
+
338  end if
+
339  end if
+
340  end if
+
341 
+
342  return
+
343 end function igetrfel
+
344 
+
353 integer function imrkopr(nemo) result(iret)
+
354 
+
355  implicit none
+
356 
+
357  character*(*), intent(in) :: nemo
+
358 
+
359  if (len(nemo)<6) then
+
360  iret = 0
+
361  else if ( ( nemo(4:6)=='255' ) .and. &
+
362  ( ( nemo(1:3)=='223' ) .or. ( nemo(1:3)=='224' ) .or. ( nemo(1:3)=='225' ) .or. ( nemo(1:3)=='232' ) ) ) then
+
363  iret = 1
+
364  else
+
365  iret = 0
+
366  endif
+
367 
+
368  return
+
369 end function imrkopr
+
integer function igetrfel(n, lun)
Check whether a subset element refers to a previous element within the same subset via an internal bi...
Definition: bitmaps.F90:176
+
subroutine strbtm(n, lun)
Store internal information in module moda_bitmaps if the input element is part of a bitmap.
Definition: bitmaps.F90:13
+
recursive subroutine gettagre(lunit, tagi, ntagi, tagre, ntagre, iret)
Check whether a specified Table B mnemonic references another Table B mnemonic within the same data s...
Definition: bitmaps.F90:103
+
integer function imrkopr(nemo)
Check whether a specified mnemonic is a Table C marker operator.
Definition: bitmaps.F90:354
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine nemtab(lun, nemo, idn, tab, iret)
Get information about a descriptor, based on a mnemonic.
Definition: fxy.F90:432
+
character *(*) function adn30(idn, ldn)
Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.
Definition: fxy.F90:18
+ + +
subroutine strsuc(str1, str2, lens)
Remove leading and trailing blanks from a character string.
Definition: misc.F90:220
+
Declare arrays and variables used to store bitmaps internally within a data subset definition.
+
integer, dimension(:), allocatable iszbtm
Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not).
+
integer lstnod
Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding v...
+
integer, dimension(:,:), allocatable inodtco
Entries within jump/link table which contain Table C operators.
+
integer ntamc
Number of Table A mnemonics in jump/link table (up to a maximum of mxtamc) which contain at least one...
+
integer, dimension(:), allocatable istbtm
Ordinal position in data subset definition corresponding to the first entry of the bitmap.
+
integer nbtm
Number of stored bitmaps for the current data subset (up to a maximum of mxbtm).
+
integer, dimension(:), allocatable inodtamc
Entries within jump/link table which contain Table A mnemonics.
+
integer, dimension(:,:), allocatable ibtmse
Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions ca...
+
integer lstnodct
Current count of consecutive occurrences of lstnod.
+
logical linbtm
true if a bitmap is in the process of being read for the current data subset; false otherwise.
+
integer, dimension(:), allocatable nbtmse
Number of "set" entries (set to a value of 0) in the bitmap.
+
character *6, dimension(:,:), allocatable ctco
Table C operators corresponding to inodtco.
+
integer, dimension(:), allocatable ntco
Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of ...
+
Declare arrays used to store information about the current BUFR message that is in the process of bei...
+
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
+
Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
+
integer, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
+
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
+
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
+
integer nnrv
Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv...
+
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
+
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
+
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
+
Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
+
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
+
real *8, dimension(:,:), allocatable, target val
Data values.
+
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
+
integer, dimension(:,:), allocatable nrfelm
Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
subroutine x48(iin4, iout8, nval)
Encode one or more 4-byte integer values as 8-byte integer values.
Definition: x4884.F90:18
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/blocks_8F90.html b/blocks_8F90.html new file mode 100644 index 000000000..8799b41ac --- /dev/null +++ b/blocks_8F90.html @@ -0,0 +1,216 @@ + + + + + + + +NCEPLIBS-bufr: blocks.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
blocks.F90 File Reference
+
+
+ +

Block BUFR messages with IEEE Fortran control words. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Functions/Subroutines

subroutine blocks (mbay, mwrd)
 Encapsulate a BUFR message with IEEE Fortran control words as specified via the most recent call to subroutine setblock(). More...
 
recursive subroutine setblock (iblk)
 Specify whether BUFR messages output by future calls to message-writing subroutines should be encapsulated with IEEE Fortran control words when being written to output files. More...
 
+

Detailed Description

+

Block BUFR messages with IEEE Fortran control words.

+
Author
J. Woollen
+
Date
2012-09-15
+ +

Definition in file blocks.F90.

+

Function/Subroutine Documentation

+ +

◆ blocks()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine blocks (integer, dimension(*), intent(inout) mbay,
integer, intent(inout) mwrd 
)
+
+ +

Encapsulate a BUFR message with IEEE Fortran control words as specified via the most recent call to subroutine setblock().

+

A previous call to subroutine setblock() is required in order to activate encapsulation with control words, and to specify whether the control words should be encoded using big-endian or little-endian byte ordering. In such cases, the input parameter mbay is then modified to add the specified control words to the existing BUFR message whenever this subroutine is called, and mwrd is also modified accordingly.

+

Alternatively, if subroutine setblock() was never previously called, or if no encapsulation was specified during the most recent call to subroutine setblock(), then this subroutine simply returns without modifying either of its input parameters.

+
Parameters
+ + + +
mbay- BUFR message, possibly with added control words on output
mwrd- Size (in integers) of contents of mbay
+
+
+
Remarks
    +
  • For more information about IEEE Fortran control words, as well as their historical use within the NCEPLIBS-bufr software, see the documentation for subroutine setblock().
  • +
  • Whenever a BUFR message in mbay is to be encapsulated with control words, the user must ensure the availability of sufficient extra space when allocating mbay within the application program.
  • +
+
+
Author
J. Woollen
+
Date
2012-09-15
+ +

Definition at line 36 of file blocks.F90.

+ +

Referenced by msgwrt().

+ +
+
+ +

◆ setblock()

+ +
+
+ + + + + + + + +
recursive subroutine setblock (integer, intent(in) iblk)
+
+ +

Specify whether BUFR messages output by future calls to message-writing subroutines should be encapsulated with IEEE Fortran control words when being written to output files.

+

If control words are requested, then one 4-byte control word is written to the output file prior to the start of each BUFR message, and a second 4-byte control word is written to the output file after the end of each BUFR message. Each of these control words contains the byte count for the enclosed BUFR message, and they can be written using either big-endian or little-endian byte ordering, regardless of the native endianness of the local machine.

+

This subroutine can be called at any time after the first call to subroutine openbf(), and the specified value for iblk will remain in effect for all future calls to message-writing subroutines for all Fortran logical units that are open for output within the application program, unless a subsequent call is made to this subroutine to reset the value of iblk again. If this subroutine is never called, a default value of 0 is used for iblk, as set within subroutine bfrini().

+
Remarks
    +
  • This subroutine can be used to generate BUFR files consistent with historical archives, dating back to older versions of the NCEPLIBS-bufr software which used Fortran to directly read/write BUFR messages from/to files. Standard Fortran historically didn't have a way to read/write binary data streams without control words, so as a result many historical archives contain these by default. However, newer versions of the NCEPLIBS-bufr software use C to directly read/write BUFR messages from/to files (including historical archives), so control words are no longer necessary and are therefore now disabled by default when writing BUFR messages to output files.
  • +
+
+
Parameters
+ + +
iblk- Flag indicating whether future BUFR output messages should be encapsulated with control words:
    +
  • -1 = Yes, using little-endian control words
  • +
  • 0 = No (the default)
  • +
  • 1 = Yes, using big-endian control words
  • +
+
+
+
+
Author
J. Woollen
+
Date
2012-09-15
+ +

Definition at line 129 of file blocks.F90.

+ +

References x84().

+ +
+
+
+
+ + + + diff --git a/blocks_8F90.js b/blocks_8F90.js new file mode 100644 index 000000000..4f1ef8bcb --- /dev/null +++ b/blocks_8F90.js @@ -0,0 +1,5 @@ +var blocks_8F90 = +[ + [ "blocks", "blocks_8F90.html#a540b970b11e7da5147889d566c49b681", null ], + [ "setblock", "blocks_8F90.html#a552eedeacbddeccff86792eb99dad12f", null ] +]; \ No newline at end of file diff --git a/blocks_8F90_source.html b/blocks_8F90_source.html new file mode 100644 index 000000000..b3819a982 --- /dev/null +++ b/blocks_8F90_source.html @@ -0,0 +1,182 @@ + + + + + + + +NCEPLIBS-bufr: blocks.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
blocks.F90
+
+
+Go to the documentation of this file.
1 
+
4 
+
36 subroutine blocks(mbay,mwrd)
+
37 
+
38  use modv_vars, only: iblock, nbytw, iordle
+
39 
+
40  implicit none
+
41 
+
42  integer, intent(inout) :: mbay(*), mwrd
+
43 
+
44  integer iint, jint, i
+
45 
+
46  character*1 cint(4),dint(4)
+
47 
+
48  equivalence(cint,iint)
+
49  equivalence(dint,jint)
+
50 
+
51  if(iblock==0) return
+
52 
+
53  ! make room in mbay for control words - one at each end of the record
+
54 
+
55  do i=mwrd,1,-1
+
56  mbay(i+1) = mbay(i)
+
57  enddo
+
58 
+
59  ! store the endianized control word in bytes in dint/jint
+
60 
+
61  iint=mwrd*4
+
62 
+
63  do i=1,nbytw
+
64  if(iblock==-1) then
+
65 #ifdef BIG_ENDIAN
+
66  dint(i)=cint(iordle(i))
+
67 #else
+
68  dint(i)=cint(i)
+
69 #endif
+
70  elseif(iblock==1) then
+
71 #ifdef LITTLE_ENDIAN
+
72  dint(i)=cint(iordle(i))
+
73 #else
+
74  dint(i)=cint(i)
+
75 #endif
+
76  endif
+
77  enddo
+
78 
+
79  ! increment mrwd and install the control words in their proper places
+
80 
+
81  mwrd = mwrd+2
+
82  mbay(1) = jint
+
83  mbay(mwrd) = jint
+
84 
+
85  return
+
86 end subroutine blocks
+
87 
+
129 recursive subroutine setblock(iblk)
+
130 
+
131  use modv_vars, only: im8b, iblock
+
132 
+
133  implicit none
+
134 
+
135  integer, intent(in) :: iblk
+
136 
+
137  integer my_iblk
+
138 
+
139  ! Check for I8 integers.
+
140 
+
141  if(im8b) then
+
142  im8b=.false.
+
143 
+
144  call x84(iblk,my_iblk,1)
+
145  call setblock(my_iblk)
+
146 
+
147  im8b=.true.
+
148  return
+
149  endif
+
150 
+
151  iblock=iblk
+
152 
+
153  return
+
154 end subroutine setblock
+
subroutine blocks(mbay, mwrd)
Encapsulate a BUFR message with IEEE Fortran control words as specified via the most recent call to s...
Definition: blocks.F90:37
+
recursive subroutine setblock(iblk)
Specify whether BUFR messages output by future calls to message-writing subroutines should be encapsu...
Definition: blocks.F90:130
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/borts_8F90.html b/borts_8F90.html new file mode 100644 index 000000000..d6665c09b --- /dev/null +++ b/borts_8F90.html @@ -0,0 +1,204 @@ + + + + + + + +NCEPLIBS-bufr: borts.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
borts.F90 File Reference
+
+
+ +

Log one or more error messages and abort application program. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Functions/Subroutines

subroutine bort (str)
 Log an error message, then abort the application program. More...
 
subroutine bort2 (str1, str2)
 Log two error messages, then abort the application program. More...
 
+

Detailed Description

+

Log one or more error messages and abort application program.

+
Author
J. Ator
+
Date
2009-04-21
+ +

Definition in file borts.F90.

+

Function/Subroutine Documentation

+ +

◆ bort()

+ +
+
+ + + + + + + + +
subroutine bort (character*(*), intent(in) str)
+
+ +

Log an error message, then abort the application program.

+

This subroutine is similar to subroutine bort2(), except that bort2() logs two error messages instead of one.

+
Parameters
+ + +
str- Error message
+
+
+
Author
J. Woollen
+
Date
1998-07-08
+ +

Definition at line 14 of file borts.F90.

+ +

References errwrt().

+ +

Referenced by adn30(), arallocf(), atrcpt(), binv(), bufr_c2f_interface::bort_c(), bvers(), chekstab(), cktaba(), closmg(), cmpbqm(), cmpmsg(), cmsgini(), cnved4(), codflg(), copybf(), copymg(), copysb(), cpdxmm(), cpymem(), cpyupd(), datebf(), datelen(), dumpbf(), dxdump(), dxmini(), getcfmng(), gettbh(), getwin(), idn30(), ifbget(), igetntbi(), igetrfel(), igetsc(), igettdi(), inctab(), invmrg(), ipkm(), isize(), iupm(), iupvs01(), jstnum(), lcmgdf(), lstjpb(), makestab(), minimg(), msgini(), msgwrt(), nemtba(), nemtbax(), nemtbb(), nemtbd(), nenubd(), nevn(), newwin(), nmsub(), nvnwin(), nxtwin(), openbf(), openmb(), openmg(), pad(), padmsg(), parutg(), pkb(), pkb8(), pkbs1(), pkvs01(), posapx(), rcstpl(), rdbfdx(), rdcmps(), rdmemm(), rdmems(), rdmgsb(), rdmtbb(), rdmtbd(), rdmtbf(), readdx(), readerme(), readlc(), readmg(), readns(), reads3(), readsb(), rewnbf(), rtrcpt(), sinv(), sntbbe(), sntbde(), split_by_subset(), status(), stbfdx(), stdmsg(), stndrd(), stntbia(), strbtm(), strcpt(), tabent(), tabsub(), ufbcnt(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbget(), ufbin3(), ufbint(), ufbinx(), ufbmem(), ufbmex(), ufbmms(), ufbmns(), ufbovr(), ufbpos(), ufbqcd(), ufbqcp(), ufbrep(), ufbrms(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), ufdump(), upb8(), upds3(), upftbv(), uptdd(), usrtpl(), wrcmps(), wrdxtb(), writdx(), writlc(), writsa(), writsb(), and wtstat().

+ +
+
+ +

◆ bort2()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine bort2 (character*(*), intent(in) str1,
character*(*), intent(in) str2 
)
+
+ +

Log two error messages, then abort the application program.

+

This subroutine is similar to subroutine bort(), except that bort() logs one error message instead of two.

+
Parameters
+ + + +
str1- First error message
str2- Second error message
+
+
+
Author
D. Keyser
+
Date
2003-11-04
+ +

Definition at line 38 of file borts.F90.

+ +

References errwrt().

+ +

Referenced by elemdx(), getntbe(), ireadmt(), mtfnam(), parstr(), parusr(), parutg(), rdusdx(), seqsdx(), sntbbe(), sntbde(), sntbfe(), string(), ufbint(), ufbovr(), ufbrep(), and ufbstp().

+ +
+
+
+
+ + + + diff --git a/borts_8F90.js b/borts_8F90.js new file mode 100644 index 000000000..1cd8daed1 --- /dev/null +++ b/borts_8F90.js @@ -0,0 +1,5 @@ +var borts_8F90 = +[ + [ "bort", "borts_8F90.html#adc4659c5e9171f22248cf61e054ddd17", null ], + [ "bort2", "borts_8F90.html#afef28b5a86909cc8999fad7d98b11f00", null ] +]; \ No newline at end of file diff --git a/borts_8F90_source.html b/borts_8F90_source.html new file mode 100644 index 000000000..9ac5449e6 --- /dev/null +++ b/borts_8F90_source.html @@ -0,0 +1,134 @@ + + + + + + + +NCEPLIBS-bufr: borts.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
borts.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
14 subroutine bort(str)
+
15 
+
16  implicit none
+
17 
+
18  character*(*), intent(in) :: str
+
19 
+
20  call errwrt(' ')
+
21  call errwrt('***********BUFR ARCHIVE LIBRARY ABORT**************')
+
22  call errwrt(str)
+
23  call errwrt('***********BUFR ARCHIVE LIBRARY ABORT**************')
+
24  call errwrt(' ')
+
25 
+
26  stop 8
+
27 end subroutine bort
+
28 
+
38 subroutine bort2(str1,str2)
+
39 
+
40  implicit none
+
41 
+
42  character*(*), intent(in) :: str1, str2
+
43 
+
44  call errwrt(' ')
+
45  call errwrt('***********BUFR ARCHIVE LIBRARY ABORT**************')
+
46  call errwrt(str1)
+
47  call errwrt(str2)
+
48  call errwrt('***********BUFR ARCHIVE LIBRARY ABORT**************')
+
49  call errwrt(' ')
+
50 
+
51  stop 8
+
52 end subroutine bort2
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine bort2(str1, str2)
Log two error messages, then abort the application program.
Definition: borts.F90:39
+
subroutine errwrt(str)
Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
Definition: errwrt.F90:32
+
+
+ + + + diff --git a/bufr__c2f__interface_8F90.html b/bufr__c2f__interface_8F90.html index 968502a75..3b559dd7e 100644 --- a/bufr__c2f__interface_8F90.html +++ b/bufr__c2f__interface_8F90.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -119,7 +119,7 @@  Close a Fortran file from a C program. More...
  subroutine, public bufr_c2f_interface::delete_table_data_c () - Deletes the copies of the moda_tables arrays. More...
+ Deletes the copies of the moda_tables arrays. More...
  subroutine, public bufr_c2f_interface::elemdx_c (card, lun)  Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition. More...
@@ -131,34 +131,34 @@  Get the bufr node idx for the start node of the subset. More...
  subroutine, public bufr_c2f_interface::get_inv_c (lun, inv_ptr, inv_size) - Get pointer to the moda_usrint INV array. More...
+ Get pointer to the moda_usrint INV array. More...
  subroutine, public bufr_c2f_interface::get_irf_c (irf_ptr, irf_size) - Get copy of the moda_tables IRF array. More...
+ Get copy of the moda_tables IRF array. More...
  subroutine, public bufr_c2f_interface::get_isc_c (isc_ptr, isc_size) - Get copy of the moda_tables ISC array. More...
+ Get copy of the moda_tables ISC array. More...
  subroutine, public bufr_c2f_interface::get_itp_c (itp_ptr, itp_size) - Get copy of the moda_tables ITP array. More...
+ Get copy of the moda_tables ITP array. More...
  subroutine, public bufr_c2f_interface::get_jmpb_c (jmpb_ptr, jmpb_size) - Get copy of the moda_tables JMPB array. More...
+ Get copy of the moda_tables JMPB array. More...
  subroutine, public bufr_c2f_interface::get_link_c (link_ptr, link_size) - Get copy of the moda_tables LINK array. More...
+ Get copy of the moda_tables LINK array. More...
  subroutine, public bufr_c2f_interface::get_nval_c (lun, num_nodes)  Get the number of values in the current subset. More...
  subroutine, public bufr_c2f_interface::get_tag_c (tag_ptr, tag_len, mem_size) - Get copy of the moda_tables TAG array. More...
+ Get copy of the moda_tables TAG array. More...
  subroutine, public bufr_c2f_interface::get_typ_c (typ_ptr, typ_len, mem_size) - Get copy of the moda_tables TYP array. More...
+ Get copy of the moda_tables TYP array. More...
  subroutine, public bufr_c2f_interface::get_val_c (lun, val_ptr, val_size) - Get pointer to the moda_usrint VAL array. More...
+ Get pointer to the moda_usrint VAL array. More...
  integer(c_int) function, public bufr_c2f_interface::ibfms_c (r8val)  Test whether a data value is "missing". More...
@@ -196,9 +196,6 @@ integer(c_int) function, public bufr_c2f_interface::istdesc_c (idn)  Check whether a descriptor is WMO-standard. More...
  -integer(c_int) function, public bufr_c2f_interface::iupb_c (mbay, nbyt, nbit) - Decode an integer value from an integer array. More...
-  integer(c_int) function, public bufr_c2f_interface::iupbs01_c (bufr, mnemonic)  Read a data value from Section 0 or Section 1 of a BUFR message. More...
  @@ -259,9 +256,6 @@ subroutine, public bufr_c2f_interface::uptdd_c (id, lun, ient, iret)  Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
  -subroutine, public bufr_c2f_interface::wrdlen_c () - Determine important information about the local machine. More...

Detailed Description

Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C.

diff --git a/bufr__c2f__interface_8F90.js b/bufr__c2f__interface_8F90.js index 87099531f..17826b891 100644 --- a/bufr__c2f__interface_8F90.js +++ b/bufr__c2f__interface_8F90.js @@ -34,7 +34,6 @@ var bufr__c2f__interface_8F90 = [ "ireadsb_c", "bufr__c2f__interface_8F90.html#ac349c058a2cd324d8cfe5a85ebf2acb1", null ], [ "isetprm_c", "bufr__c2f__interface_8F90.html#ad1dcef9962b409b6448c928d0dfb9490", null ], [ "istdesc_c", "bufr__c2f__interface_8F90.html#a7968999c9eda822f79eec9178762a2ae", null ], - [ "iupb_c", "bufr__c2f__interface_8F90.html#acd15fc54e3efbf1964f4216b8a2065fe", null ], [ "iupbs01_c", "bufr__c2f__interface_8F90.html#a583019d0b109031d8f8aedb4d48e2afd", null ], [ "maxout_c", "bufr__c2f__interface_8F90.html#aa7f319cef617f458cbaf40cdeea42d42", null ], [ "mtinfo_c", "bufr__c2f__interface_8F90.html#a550c1c61605eca9fa6cf04aba7612364", null ], @@ -55,7 +54,6 @@ var bufr__c2f__interface_8F90 = [ "ufbrep_c", "bufr__c2f__interface_8F90.html#a57a1b4956a89ed60a934a02d4140eb93", null ], [ "ufbseq_c", "bufr__c2f__interface_8F90.html#af0b721af91340e7a261e8014455bd6ca", null ], [ "uptdd_c", "bufr__c2f__interface_8F90.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea", null ], - [ "wrdlen_c", "bufr__c2f__interface_8F90.html#acf751dae4f6ef06f7340984fc5f0bec1", null ], [ "irf_f", "bufr__c2f__interface_8F90.html#a2efc35235defecb306c8324c0599d0b9", null ], [ "isc_f", "bufr__c2f__interface_8F90.html#a2b81bdfdb8a2380ba294b375c67d343a", null ], [ "itp_f", "bufr__c2f__interface_8F90.html#a5c0b51f6d15b30a289d69c36e19b1264", null ], diff --git a/bufr__c2f__interface_8F90_source.html b/bufr__c2f__interface_8F90_source.html index d2fc4eb78..896edc8f6 100644 --- a/bufr__c2f__interface_8F90_source.html +++ b/bufr__c2f__interface_8F90_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -103,10 +103,10 @@
30  public :: delete_table_data_c
- +
31  public :: iupbs01_c, imrkopr_c, istdesc_c, ifxy_c
32  public :: igetntbi_c, igettdi_c, stntbi_c
- +
36 
37  integer, allocatable, target, save :: isc_f(:), link_f(:), itp_f(:), jmpb_f(:), irf_f(:)
@@ -161,17 +161,17 @@
124  character(kind=c_char, len=1), intent(in) :: cio(*)
125  integer(c_int), value, intent(in) :: table_file_id
126 
-
127  call openbf(bufr_unit, c_f_string(cio), table_file_id)
+
127  call openbf(bufr_unit, c_f_string(cio), table_file_id)
128  end subroutine openbf_c
129 
137  subroutine closbf_c(bufr_unit) bind(C, name='closbf_f')
138  integer(c_int), value, intent(in) :: bufr_unit
139 
-
140  call closbf(bufr_unit)
+
140  call closbf(bufr_unit)
141  end subroutine closbf_c
142 
148  subroutine exitbufr_c() bind(C, name='exitbufr_f')
-
149  call exitbufr()
+
149  call exitbufr()
150  end subroutine exitbufr_c
151 
166  function ireadmg_c(bufr_unit, c_subset, iddate, subset_str_len) result(ires) bind(C, name='ireadmg_f')
@@ -181,9 +181,9 @@
170  integer(c_int), value, intent(in) :: subset_str_len
171  integer(c_int) :: ires
172  character(len=25) :: f_subset
-
173  integer :: ireadmg
+
173  integer :: ireadmg
174 
-
175  ires = ireadmg(bufr_unit, f_subset, iddate)
+
175  ires = ireadmg(bufr_unit, f_subset, iddate)
176 
177  if (ires == 0) then
178  call copy_f_c_str(f_subset, c_subset, int(subset_str_len))
@@ -193,9 +193,9 @@
192  function ireadsb_c(bufr_unit) result(ires) bind(C, name='ireadsb_f')
193  integer(c_int), value, intent(in) :: bufr_unit
194  integer(c_int) :: ires
-
195  integer :: ireadsb
+
195  integer :: ireadsb
196 
-
197  ires = ireadsb(bufr_unit)
+
197  ires = ireadsb(bufr_unit)
198  end function ireadsb_c
199 
211  subroutine ufbint_c(bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic) bind(C, name='ufbint_f')
@@ -207,7 +207,7 @@
217  real, pointer :: f_data
218 
219  call c_f_pointer(c_data, f_data)
-
220  call ufbint(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_b_mnemonic))
+
220  call ufbint(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_b_mnemonic))
221  end subroutine ufbint_c
222 
234  subroutine ufbrep_c(bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic) bind(C, name='ufbrep_f')
@@ -219,7 +219,7 @@
240  real, pointer :: f_data
241 
242  call c_f_pointer(c_data, f_data)
-
243  call ufbrep(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_b_mnemonic))
+
243  call ufbrep(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_b_mnemonic))
244  end subroutine ufbrep_c
245 
255  subroutine mtinfo_c(path, file_unit_1, file_unit_2) bind(C, name='mtinfo_f')
@@ -227,7 +227,7 @@
257  integer(c_int), value, intent(in) :: file_unit_1
258  integer(c_int), value, intent(in) :: file_unit_2
259 
-
260  call mtinfo(c_f_string(path), file_unit_1, file_unit_2)
+
260  call mtinfo(c_f_string(path), file_unit_1, file_unit_2)
261  end subroutine mtinfo_c
262 
273  subroutine status_c(file_unit, lun, il, im) bind(C, name='status_f')
@@ -236,7 +236,7 @@
276  integer(c_int), intent(out) :: il
277  integer(c_int), intent(out) :: im
278 
-
279  call status(file_unit, lun, il, im)
+
279  call status(file_unit, lun, il, im)
280  end subroutine status_c
281 
295  subroutine nemdefs_c(file_unit, mnemonic, unit_c, unit_str_len, desc_c, desc_str_len, iret) &
@@ -253,7 +253,7 @@
306  character(len=55) :: desc_f
307 
308  ! Get the unit and description strings
-
309  call nemdefs ( file_unit, c_f_string(mnemonic), desc_f, unit_f, iret)
+
309  call nemdefs ( file_unit, c_f_string(mnemonic), desc_f, unit_f, iret)
310 
311  if (iret == 0) then
312  ! Copy the unit Fortran string into the resulting C-style string.
@@ -274,7 +274,7 @@
341  integer(c_int), intent(out) :: iret
342 
343  ! Get the scale, reference and bits
-
344  call nemspecs(file_unit, c_f_string(mnemonic), mnemonic_idx, scale, reference, bits, iret)
+
344  call nemspecs(file_unit, c_f_string(mnemonic), mnemonic_idx, scale, reference, bits, iret)
345  end subroutine nemspecs_c
346 
358  subroutine nemtab_c(lun, mnemonic, descriptor, table_type, table_idx) &
@@ -287,7 +287,7 @@
365 
366  character(len=1) :: table_type_f
367 
-
368  call nemtab(lun, c_f_string(mnemonic), descriptor, table_type_f, table_idx)
+
368  call nemtab(lun, c_f_string(mnemonic), descriptor, table_type_f, table_idx)
369 
370  table_type(1)(1:1) = table_type_f(1:1)
371  end subroutine nemtab_c
@@ -305,7 +305,7 @@
396  character(len=25) :: unit_str_f
397 
398  ! Get the scale, reference and bits
-
399  call nemtbb( lun, table_idx, unit_str_f, scale, reference, bits)
+
399  call nemtbb( lun, table_idx, unit_str_f, scale, reference, bits)
400  call copy_f_c_str(unit_str_f, unit_str, min(len(unit_str_f), unit_str_len))
401  end subroutine nemtbb_c
402 
@@ -436,7 +436,7 @@
606  character(len=120) :: output_str_f
607  integer :: output_str_len_f
608 
-
609  call readlc(lunit, output_str_f, c_f_string(str_id))
+
609  call readlc(lunit, output_str_f, c_f_string(str_id))
610  output_str_len_f = len(trim(output_str_f)) + 1 ! add 1 for the null terminator
611  call copy_f_c_str(output_str_f, output_str, min(output_str_len_f, output_str_len))
612  end subroutine readlc_c
@@ -455,39 +455,39 @@
640  integer(c_int), intent(in) :: bufr(*)
641  character(kind=c_char, len=1), intent(in) :: mnemonic(*)
642  integer(c_int) :: ires
-
643  integer :: iupbs01
+
643  integer :: iupbs01
644 
-
645  ires = iupbs01(bufr,c_f_string(mnemonic))
+
645  ires = iupbs01(bufr,c_f_string(mnemonic))
646  end function iupbs01_c
647 
658  function igetprm_c(cprmnm) result(ires) bind(C, name='igetprm_f')
659  character(kind=c_char, len=1), intent(in) :: cprmnm(*)
660  integer(c_int) :: ires
-
661  integer :: igetprm
+
661  integer :: igetprm
662 
-
663  ires = igetprm(c_f_string(cprmnm))
+
663  ires = igetprm(c_f_string(cprmnm))
664  end function igetprm_c
665 
676  function isetprm_c(cprmnm,ipval) result(ires) bind(C, name='isetprm_f')
677  character(kind=c_char, len=1), intent(in) :: cprmnm(*)
678  integer(c_int), value, intent(in) :: ipval
679  integer(c_int) :: ires
-
680  integer :: isetprm
+
680  integer :: isetprm
681 
-
682  ires = isetprm(c_f_string(cprmnm),ipval)
+
682  ires = isetprm(c_f_string(cprmnm),ipval)
683  end function isetprm_c
684 
693  subroutine maxout_c(max0) bind(C, name='maxout_f')
694  integer(c_int), value, intent(in) :: max0
695 
-
696  call maxout(max0)
+
696  call maxout(max0)
697  end subroutine maxout_c
698 
708  function igetmxby_c() result(ires) bind(C, name='igetmxby_f')
709  integer(c_int) :: ires
-
710  integer :: igetmxby
+
710  integer :: igetmxby
711 
-
712  ires = igetmxby()
+
712  ires = igetmxby()
713  end function igetmxby_c
714 
725  subroutine cadn30_c(idn, adn, adn_str_len) bind(C, name='cadn30_f')
@@ -495,7 +495,7 @@
727  character(kind=c_char, len=1), intent(out) :: adn(*)
728  character(len=8) :: adn_f
729 
-
730  call cadn30(idn, adn_f)
+
730  call cadn30(idn, adn_f)
731  call copy_f_c_str(adn_f, adn, adn_str_len)
732  end subroutine cadn30_c
733 
@@ -503,12 +503,12 @@
745  integer(c_int), value, intent(in) :: lun
746  character(kind=c_char,len=1), intent(in) :: table_type(*)
747  integer(c_int) :: ires
-
748  integer :: igetntbi
+
748  integer :: igetntbi
749  character(len=1) :: table_type_f
750 
751  table_type_f(1:1) = table_type(1)(1:1)
752 
-
753  ires = igetntbi(lun, table_type_f)
+
753  ires = igetntbi(lun, table_type_f)
754  end function igetntbi_c
755 
765  subroutine elemdx_c(card,lun) bind(C, name='elemdx_f')
@@ -520,7 +520,7 @@
771  do ii = 1,80
772  card_f(ii:ii) = card(1)(ii:ii)
773  enddo
-
774  call elemdx(card_f, lun)
+
774  call elemdx(card_f, lun)
775  end subroutine elemdx_c
776 
789  subroutine numtbd_c(lun,idn,nemo,nemo_str_len,tab,iret) bind(C, name='numtbd_f')
@@ -531,7 +531,7 @@
794  character(len=9) :: nemo_f
795  character(len=1) :: tab_f
796 
-
797  call numtbd(lun, idn, nemo_f, tab_f, iret)
+
797  call numtbd(lun, idn, nemo_f, tab_f, iret)
798 
799  call copy_f_c_str(nemo_f, nemo, nemo_str_len)
800  tab(1)(1:1) = tab_f(1:1)
@@ -540,32 +540,32 @@
813  function ifxy_c(cfxy) result(ires) bind(C, name='ifxy_f')
814  character(kind=c_char, len=1), intent(in) :: cfxy(*)
815  integer(c_int) :: ires
-
816  integer :: ifxy
+
816  integer :: ifxy
817 
-
818  ires = ifxy(c_f_string(cfxy))
+
818  ires = ifxy(c_f_string(cfxy))
819  end function ifxy_c
820 
837  subroutine uptdd_c(id, lun, ient, iret) bind(C, name='uptdd_f')
838  integer(c_int), intent(in), value :: id, lun, ient
839  integer(c_int), intent(out) :: iret
840 
-
841  call uptdd(id, lun, ient, iret)
+
841  call uptdd(id, lun, ient, iret)
842  end subroutine uptdd_c
843 
853  function imrkopr_c(nemo) result(ires) bind(C, name='imrkopr_f')
854  character(kind=c_char, len=1), intent(in) :: nemo(*)
855  integer(c_int) :: ires
-
856  integer :: imrkopr
+
856  integer :: imrkopr
857 
-
858  ires = imrkopr(c_f_string(nemo))
+
858  ires = imrkopr(c_f_string(nemo))
859  end function imrkopr_c
860 
870  function istdesc_c(idn) result(ires) bind(C, name='istdesc_f')
871  integer(c_int), intent(in), value :: idn
872  integer(c_int) :: ires
-
873  integer :: istdesc
+
873  integer :: istdesc
874 
-
875  ires = istdesc(idn)
+
875  ires = istdesc(idn)
876  end function istdesc_c
877 
889  subroutine ufbseq_c(bufr_unit, c_data, dim_1, dim_2, iret, table_d_mnemonic) bind(C, name='ufbseq_f')
@@ -577,7 +577,7 @@
895  real, pointer :: f_data
896 
897  call c_f_pointer(c_data, f_data)
-
898  call ufbseq(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_d_mnemonic))
+
898  call ufbseq(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_d_mnemonic))
899  end subroutine ufbseq_c
900 
915  function ireadns_c(bufr_unit, c_subset, iddate, subset_str_len) result(ires) bind(C, name='ireadns_f')
@@ -587,9 +587,9 @@
919  integer(c_int), value, intent(in) :: subset_str_len
920  integer(c_int) :: ires
921  character(len=25) :: f_subset
-
922  integer :: ireadns
+
922  integer :: ireadns
923 
-
924  ires = ireadns(bufr_unit, f_subset, iddate)
+
924  ires = ireadns(bufr_unit, f_subset, iddate)
925 
926  if (ires == 0) then
927  call copy_f_c_str(f_subset, c_subset, subset_str_len)
@@ -599,16 +599,16 @@
940  function ibfms_c(r8val) result(ires) bind(C, name='ibfms_f')
941  real(c_double), intent(in), value :: r8val
942  integer(c_int) :: ires
-
943  integer :: ibfms
+
943  integer :: ibfms
944 
-
945  ires = ibfms(r8val)
+
945  ires = ibfms(r8val)
946  end function ibfms_c
947 
957  subroutine strnum_c(str,num,iret) bind(C, name='strnum_f')
958  character(kind=c_char, len=1), intent(in) :: str(*)
959  integer(c_int), intent(out) :: num, iret
960 
-
961  call strnum(c_f_string(str), num, iret)
+
961  call strnum(c_f_string(str), num, iret)
962  end subroutine strnum_c
963 
975  subroutine stntbi_c(n,lun,numb,nemo,celsq) bind(C, name='stntbi_f')
@@ -628,35 +628,35 @@
989  do ii = 1,55
990  celsq_f(ii:ii) = celsq(1)(ii:ii)
991  enddo
-
992  call stntbi(n, lun, numb_f, nemo_f, celsq_f)
+
992  call stntbi(n, lun, numb_f, nemo_f, celsq_f)
993  end subroutine stntbi_c
994 
1005  function igettdi_c(iflag) result(ires) bind(C, name='igettdi_f')
1006  integer(c_int), intent(in), value :: iflag
1007  integer(c_int) :: ires
-
1008  integer :: igettdi
+
1008  integer :: igettdi
1009 
-
1010  ires = igettdi(iflag)
+
1010  ires = igettdi(iflag)
1011  end function igettdi_c
1012 
1025  subroutine pktdd_c(id, lun, idn, iret) bind(C, name='pktdd_f')
1026  integer(c_int), intent(in), value :: id, lun, idn
1027  integer(c_int), intent(out) :: iret
1028 
-
1029  call pktdd(id, lun, idn, iret)
+
1029  call pktdd(id, lun, idn, iret)
1030  end subroutine pktdd_c
1031 
1039  subroutine bort_c(errstr) bind(C, name='bort_f')
1040  character(kind=c_char, len=1), intent(in) :: errstr(*)
1041 
-
1042  call bort(c_f_string(errstr))
+
1042  call bort(c_f_string(errstr))
1043  end subroutine bort_c
1044 
1055  subroutine openmb_c(bufr_unit, c_subset, iddate) bind(C, name='openmb_f')
1056  integer(c_int), value, intent(in) :: bufr_unit, iddate
1057  character(kind=c_char, len=1), intent(in) :: c_subset(*)
1058 
-
1059  call openmb(bufr_unit, c_f_string(c_subset), iddate)
+
1059  call openmb(bufr_unit, c_f_string(c_subset), iddate)
1060  end subroutine openmb_c
1061 
1070  subroutine bvers_c(cverstr, cverstr_len) bind(C, name='bvers_f')
@@ -664,53 +664,40 @@
1072  integer(c_int), value, intent(in) :: cverstr_len
1073  character(len=10) :: f_cverstr
1074 
-
1075  call bvers(f_cverstr)
+
1075  call bvers(f_cverstr)
1076  call copy_f_c_str(f_cverstr, cverstr, cverstr_len)
1077  end subroutine bvers_c
1078 
-
1084  subroutine wrdlen_c() bind(C, name='wrdlen_f')
-
1085  call wrdlen()
-
1086  end subroutine wrdlen_c
-
1087 
-
1099  function iupb_c(mbay,nbyt,nbit) result(ires) bind(C, name='iupb_f')
-
1100  integer(c_int), intent(in) :: mbay(*)
-
1101  integer(c_int), intent(in), value :: nbyt, nbit
-
1102  integer(c_int) :: ires
-
1103  integer :: iupb
-
1104 
-
1105  ires = iupb(mbay,nbyt,nbit)
-
1106  end function iupb_c
-
1107 
-
1116  subroutine cmpmsg_c(cf) bind(C, name='cmpmsg_f')
-
1117  character(kind=c_char, len=1), intent(in) :: cf(*)
-
1118 
-
1119  call cmpmsg(c_f_string(cf))
-
1120  end subroutine cmpmsg_c
-
1121 
-
1122 end module bufr_c2f_interface
-
subroutine bort(STR)
Log one error message and abort application program.
Definition: bort.f:18
-
subroutine bvers(CVERSTR)
Get the version number of the NCEPLIBS-bufr software.
Definition: bvers.f:15
-
subroutine cadn30(IDN, ADN)
Convert an FXY value from its WMO bit-wise representation to its six-character representation.
Definition: cadn30.f:25
-
recursive subroutine closbf(LUNIT)
Close the connection between logical unit LUNIT and the NCEPLIBS-bufr software.
Definition: closbf.f:24
-
subroutine cmpmsg(CF)
Specify the use of compression when writing BUFR messages.
Definition: cmpmsg.f:39
-
subroutine elemdx(CARD, LUN)
This subroutine decodes the scale factor, reference value, bit width and units (i....
Definition: elemdx.f:20
-
recursive subroutine exitbufr
This subroutine frees all dynamically-allocated memory, closes all logical units that are open within...
Definition: exitbufr.f:34
-
integer function ibfms(R8VAL)
Test whether a real*8 data value is "missing".
Definition: ibfms.f:28
-
function ifxy(ADSC)
Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
Definition: ifxy.f:34
-
recursive function igetmxby()
Get the maximum length of a BUFR message that can be written to an output file.
Definition: igetmxby.f:21
-
function igetntbi(LUN, CTB)
This function returns the next available index for storing an entry within a specified internal DX BU...
Definition: igetntbi.f:22
-
integer function igetprm(CPRMNM)
Get the current value of a parameter.
Definition: igetprm.f:67
-
function igettdi(IFLAG)
Get the next usable Table D index for the current master table, or reset the index.
Definition: igettdi.f:28
-
integer function imrkopr(NEMO)
Check whether a specified mnemonic is a Table C marker operator.
Definition: imrkopr.f:16
-
recursive function ireadmg(LUNIT, SUBSET, IDATE)
Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
Definition: ireadmg.f:27
-
recursive function ireadns(LUNIT, SUBSET, IDATE)
Read the next data subset from a BUFR file that was previously opened for reading.
Definition: ireadns.f:32
-
recursive function ireadsb(LUNIT)
Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
Definition: ireadsb.f:20
-
recursive function isetprm(CPRMNM, IPVAL)
Define a customized parameter value for dynamic allocation.
Definition: isetprm.f:76
-
function istdesc(IDN)
Check whether a descriptor is WMO-standard.
Definition: istdesc.f:23
-
recursive function iupb(MBAY, NBYT, NBIT)
Decode an integer value from an integer array.
Definition: iupb.f:21
-
recursive function iupbs01(MBAY, S01MNEM)
Read a data value from Section 0 or Section 1 of a BUFR message.
Definition: iupbs01.f:69
-
recursive subroutine maxout(MAXO)
This subroutine allows the user to define the maximum length of a BUFR message that can be written to...
Definition: maxout.f:27
-
recursive subroutine mtinfo(CMTDIR, LUNMT1, LUNMT2)
Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
Definition: mtinfo.f:39
+
1087  subroutine cmpmsg_c(cf) bind(C, name='cmpmsg_f')
+
1088  character(kind=c_char, len=1), intent(in) :: cf(*)
+
1089 
+
1090  call cmpmsg(c_f_string(cf))
+
1091  end subroutine cmpmsg_c
+
1092 
+
1093 end module bufr_c2f_interface
+
integer function igetprm(cprmnm)
Return the current value of a parameter used for allocating one or more internal arrays within the NC...
Definition: arallocf.F90:1114
+
subroutine exitbufr
Free all dynamically-allocated memory, close all logical units that are open within the NCEPLIBS-bufr...
Definition: arallocf.F90:901
+
recursive integer function isetprm(cprmnm, ipval)
Set a specified parameter to a specified value for use in dynamically allocating one or more internal...
Definition: arallocf.F90:980
+
integer function imrkopr(nemo)
Check whether a specified mnemonic is a Table C marker operator.
Definition: bitmaps.F90:354
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine cmpmsg(cf)
Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writin...
Definition: compress.F90:33
+
subroutine elemdx(card, lun)
Decode the scale factor, reference value, bit width and units (i.e., the "elements") from a Table B m...
Definition: dxtable.F90:516
+
subroutine nemtbb(lun, itab, unit, iscl, iref, ibit)
Get information about a Table B descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1278
+
subroutine stntbi(n, lun, numb, nemo, celsq)
Store a new entry within internal BUFR Table B or D.
Definition: dxtable.F90:1621
+
subroutine pktdd(id, lun, idn, iret)
Store information about a child mnemonic within the internal BUFR Table D.
Definition: dxtable.F90:1666
+
recursive subroutine nemdefs(lunit, nemo, celem, cunit, iret)
Get the element name and units associated with a Table B descriptor.
Definition: dxtable.F90:1446
+
integer function igetntbi(lun, ctb)
Get the next available index for storing an entry within a specified internal DX BUFR table.
Definition: dxtable.F90:1153
+
subroutine uptdd(id, lun, ient, iret)
Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D s...
Definition: dxtable.F90:1741
+
subroutine nemtab(lun, nemo, idn, tab, iret)
Get information about a descriptor, based on a mnemonic.
Definition: fxy.F90:432
+
subroutine cadn30(idn, adn)
Convert an FXY value from its WMO bit-wise representation to its 6 character representation.
Definition: fxy.F90:65
+
subroutine numtbd(lun, idn, nemo, tab, iret)
Get information about a Table B or Table D descriptor, based on the WMO bit-wise representation of an...
Definition: fxy.F90:290
+
integer function ifxy(adsc)
Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
Definition: fxy.F90:152
+ +
integer function igettdi(iflag)
Depending on the value of the input flag, either return the next usable scratch Table D index for the...
+
recursive subroutine mtinfo(cmtdir, lunmt1, lunmt2)
Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
Definition: mastertable.F90:35
+
subroutine bvers(cverstr)
Get the version number of the NCEPLIBS-bufr software.
Definition: misc.F90:384
+
recursive subroutine strnum(str, num, iret)
Decode an integer from a character string.
Definition: misc.F90:177
+
integer function ibfms(r8val)
Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-re...
Definition: missing.F90:25
Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C.
subroutine, public get_isc_c(isc_ptr, isc_size)
Get copy of the moda_tables ISC array.
subroutine, public open_c(lunit, filepath)
Open a Fortran file from a C program.
@@ -754,8 +741,6 @@
integer(c_int) function, public ireadsb_c(bufr_unit)
Read the next data subset from a BUFR message.
subroutine, public get_link_c(link_ptr, link_size)
Get copy of the moda_tables LINK array.
subroutine, public readlc_c(lunit, str_id, output_str, output_str_len)
Function used to get long strings from the BUFR file.
-
integer(c_int) function, public iupb_c(mbay, nbyt, nbit)
Decode an integer value from an integer array.
-
subroutine, public wrdlen_c()
Determine important information about the local machine.
integer(c_int) function, public isetprm_c(cprmnm, ipval)
Define a customized parameter value for dynamic allocation.
subroutine, public bvers_c(cverstr, cverstr_len)
Get the version number of the NCEPLIBS-bufr software.
subroutine, public get_itp_c(itp_ptr, itp_size)
Get copy of the moda_tables ITP array.
@@ -765,10 +750,10 @@
subroutine, public get_irf_c(irf_ptr, irf_size)
Get copy of the moda_tables IRF array.
subroutine, public get_val_c(lun, val_ptr, val_size)
Get pointer to the moda_usrint VAL array.
subroutine, public strnum_c(str, num, iret)
Decode an integer from a character string.
-
This module contains declarations for arrays used to store information about the current BUFR message...
-
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
-
This module contains array and variable declarations needed to store information about long character...
-
This module contains array and variable declarations used to store the internal jump/link table.
+
Declare arrays used to store information about the current BUFR message that is in the process of bei...
+
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
+
Declare arrays and variables needed to store information about long character strings (greater than 8...
+
Declare arrays and variables used to store the internal jump/link table.
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
@@ -777,27 +762,25 @@
integer ntab
Number of entries in the jump/link table.
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
integer, dimension(:), allocatable link
Link indices corresponding to tag, typ and jmpb:
-
This module contains declarations for arrays used to store data values and associated metadata for th...
-
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
-
real *8, dimension(:,:), allocatable, target val
Data values.
-
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
-
recursive subroutine nemdefs(LUNIT, NEMO, CELEM, CUNIT, IRET)
Given a Table B mnemonic defined in the DX BUFR Tables associated with a BUFR file (or in the master ...
Definition: nemdefs.f:32
-
recursive subroutine nemspecs(LUNIT, NEMO, NNEMO, NSCL, NREF, NBTS, IRET)
Given a Table B mnemonic defined within a data subset, this subroutine returns the scale factor,...
Definition: nemspecs.f:47
-
subroutine nemtab(LUN, NEMO, IDN, TAB, IRET)
Get information about a descriptor, based on the mnemonic.
Definition: nemtab.f:29
-
subroutine nemtbb(LUN, ITAB, UNIT, ISCL, IREF, IBIT)
Get information about a Table B descriptor.
Definition: nemtbb.f:22
-
subroutine numtbd(LUN, IDN, NEMO, TAB, IRET)
Search for a Table B or Table D descriptor within the internal DX BUFR tables.
Definition: numtbd.f:24
-
recursive subroutine openbf(LUNIT, IO, LUNDX)
Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
Definition: openbf.f:124
-
recursive subroutine openmb(LUNIT, SUBSET, JDATE)
Open a new message for output in a BUFR file that was previously opened for writing.
Definition: openmb.f:42
-
subroutine pktdd(ID, LUN, IDN, IRET)
Store information about a child mnemonic within the internal arrays.
Definition: pktdd.f:26
-
recursive subroutine readlc(LUNIT, CHR, STR)
Read a long character string (greater than 8 bytes) from a data subset.
Definition: readlc.f:50
-
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
Definition: status.f:36
-
subroutine stntbi(N, LUN, NUMB, NEMO, CELSQ)
Store a new entry within the internal BUFR Table B or D.
Definition: stntbi.f:20
-
recursive subroutine strnum(str, num, iret)
Decode an integer from a character string.
Definition: strnum.F90:24
-
recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
Read/write one or more data values from/to a data subset.
Definition: ufbint.f:121
-
recursive subroutine ufbrep(LUNIN, USR, I1, I2, IRET, STR)
Read/write one or more data values from/to a data subset.
Definition: ufbrep.f:116
-
recursive subroutine ufbseq(LUNIN, USR, I1, I2, IRET, STR)
This subroutine reads or writes an entire sequence of data values from or to the BUFR data subset tha...
Definition: ufbseq.f:128
-
subroutine uptdd(ID, LUN, IENT, IRET)
Returns the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table...
Definition: uptdd.f:28
-
subroutine wrdlen
Determine important information about the local machine.
Definition: wrdlen.F:25
+
Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
+
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
+
real *8, dimension(:,:), allocatable, target val
Data values.
+
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
+
recursive subroutine closbf(lunit)
Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
+
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
recursive subroutine maxout(maxo)
Specify the maximum length of a BUFR message that can be written to any output file by the NCEPLIBS-b...
+
recursive subroutine openmb(lunit, subset, jdate)
Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lu...
+
integer function igetmxby()
Get the maximum length of a BUFR message that can be written to an output file by the NCEPLIBS-bufr s...
+
recursive integer function ireadmg(lunit, subset, idate)
Call subroutine readmg() and pass back its return code as the function value.
+
recursive integer function ireadns(lunit, subset, idate)
Call subroutine readns() and pass back its return code as the function value.
+
recursive integer function ireadsb(lunit)
Call subroutine readsb() and pass back its return code as the function value.
+
recursive subroutine ufbseq(lunin, usr, i1, i2, iret, str)
Read or write an entire sequence of data values from or to a data subset.
+
recursive subroutine ufbint(lunin, usr, i1, i2, iret, str)
Read or write one or more data values from or to a data subset.
+
recursive subroutine readlc(lunit, chr, str)
Read a long character string (greater than 8 bytes) from a data subset.
+
recursive subroutine ufbrep(lunin, usr, i1, i2, iret, str)
Read or write one or more data values from or to a data subset.
+
recursive integer function iupbs01(mbay, s01mnem)
Read a specified value from within Section 0 or Section 1 of a BUFR message.
Definition: s013vals.F90:247
+
integer function istdesc(idn)
Given the WMO bit-wise representation of an FXY value for a descriptor, check whether the descriptor ...
Definition: standard.F90:298
diff --git a/bufr__interface_8F90.html b/bufr__interface_8F90.html index ddb56831a..fa40a6c72 100644 --- a/bufr__interface_8F90.html +++ b/bufr__interface_8F90.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
diff --git a/bufr__interface_8F90_source.html b/bufr__interface_8F90_source.html index 6bdc855f0..eebb0b77d 100644 --- a/bufr__interface_8F90_source.html +++ b/bufr__interface_8F90_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -116,7 +116,7 @@
74  subroutine ccbfl_c() bind(C, name='ccbfl')
75  use iso_c_binding
76  end subroutine ccbfl_c
-
77 
+
77 
84  subroutine dlloctbf_c() bind(C, name='dlloctbf')
85  use iso_c_binding
86  end subroutine dlloctbf_c
diff --git a/bufr__interface_8h.html b/bufr__interface_8h.html index eff6de0a0..a844c2a7b 100644 --- a/bufr__interface_8h.html +++ b/bufr__interface_8h.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -83,6 +83,7 @@
bufr_interface.h File Reference
@@ -94,6 +95,12 @@

Go to the source code of this file.

+ + + + +

+Macros

#define VERS_STR_LEN   8
 Size of a character string needed to store a library version number. More...
 
@@ -121,7 +128,7 @@ - + @@ -130,34 +137,34 @@ - + - + - + - + - + - + - + - + - + @@ -233,7 +240,26 @@
Date
2020-07-29

Definition in file bufr_interface.h.

-

Function Documentation

+

Macro Definition Documentation

+ +

◆ VERS_STR_LEN

+ +
+
+

Functions

void bvers_f (char *cverstr, int cverstr_len)
 Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io = 'w'. More...
 
void delete_table_data_f ()
 Deletes the copies of the moda_tables arrays. More...
 Deletes the copies of the moda_tables arrays. More...
 
void exitbufr_f ()
 Reset the library. More...
 Get the bufr node idx for the start node of the subset. More...
 
void get_inv_f (int lun, int **inv_ptr, int *inv_size)
 Get pointer to the moda_usrint INV array. More...
 Get pointer to the moda_usrint INV array. More...
 
void get_irf_f (int **irf_ptr, int *irf_size)
 Get copy of the moda_tables IRF array. More...
 Get copy of the moda_tables IRF array. More...
 
void get_isc_f (int **isc_ptr, int *isc_size)
 Get copy of the moda_tables ISC array. More...
 Get copy of the moda_tables ISC array. More...
 
void get_itp_f (int **itp_ptr, int *itp_size)
 Get copy of the moda_tables ITP array. More...
 Get copy of the moda_tables ITP array. More...
 
void get_jmpb_f (int **jmpb_ptr, int *jmpb_size)
 Get copy of the moda_tables JMPB array. More...
 Get copy of the moda_tables JMPB array. More...
 
void get_link_f (int **link_ptr, int *link_size)
 Get copy of the moda_tables LINK array. More...
 Get copy of the moda_tables LINK array. More...
 
void get_nval_f (int lun, int *num_nodes)
 Get the number of values in the current subset. More...
 
void get_tag_f (char **tag_ptr, int *tag_len, int *mem_size)
 Get copy of the moda_tables TAG array. More...
 Get copy of the moda_tables TAG array. More...
 
void get_typ_f (char **typ_ptr, int *typ_len, int *mem_size)
 Get copy of the moda_tables TYP array. More...
 Get copy of the moda_tables TYP array. More...
 
void get_val_f (int lun, double **val_ptr, int *val_size)
 Get pointer to the moda_usrint VAL array. More...
 Get pointer to the moda_usrint VAL array. More...
 
int ibfms_f (double r8val)
 Test whether a data value is "missing". More...
+ + + +
#define VERS_STR_LEN   8
+
+ +

Size of a character string needed to store a library version number.

+ +

Definition at line 21 of file bufr_interface.h.

+ +
+ +

Function Documentation

◆ bvers_f()

@@ -261,7 +287,7 @@

Get the version number of the NCEPLIBS-bufr software.

-

Wraps bvers() subroutine.

+

Wraps bvers() subroutine.

Parameters
@@ -296,7 +322,7 @@

Author
J. Ator
Date
2005-11-29
-

Definition at line 296 of file crwbmg.c.

+

Definition at line 290 of file crwbmg.c.

References pbf.

@@ -321,7 +347,7 @@

Close a previously opened file and disconnect it from the library.

-

Wraps closbf() subroutine.

+

Wraps closbf() subroutine.

Parameters

cverstr- Version string.
@@ -378,7 +404,7 @@

Specify the use of compression when writing BUFR messages.

-

Wraps cmpmsg() subroutine.

+

Wraps cmpmsg() subroutine.

Parameters

bufr_unit- the Fortran logical unit number to close.
@@ -417,14 +443,14 @@

Open a new file for reading or writing BUFR messages via a C language interface.

-

This function is designed to be easily callable from application program written in either C or Fortran. It is functionally equivalent to subroutine openbf(); however, there are some important differences:

+

This function is designed to be easily callable from application program written in either C or Fortran. It is functionally equivalent to subroutine openbf(); however, there are some important differences:

    -
  • When using openbf(), the underlying file must already be associated with a Fortran logical unit number on the local system, typicially via a prior Fortran "OPEN" statement. This is not required when using this function.
  • +
  • When using openbf(), the underlying file must already be associated with a Fortran logical unit number on the local system, typicially via a prior Fortran "OPEN" statement. This is not required when using this function.
  • When using this function, it is only possible to have at most one input (io = 'r') file and one output (io = 'w') file open at a time. If a successive call to this function is made in either case where a file of that type is already open, then the function will automatically close the previous file of that type before opening the new one.
  • -
  • When opening a file for input/reading using openbf(), the user can make subsequent calls to any of the NCEPLIBS-bufr message-reading subroutines to read individual BUFR messages from that file into internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines") to read individual data subsets from each such message. However, when opening a file for input/reading using this function, the user must instead make subsequent calls to crbmg() to read individual BUFR messages from that file, and each such message will be returned directly to the user within an allocated memory array. The user may then, if desired, make subsequent calls to readerme() to store each such message into the same internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines" to read individual data subsets from each such message.
  • -
  • When opening a file for output/writing using openbf(), the user can make subsequent successive calls to writsb() to pack each completed data subset into the BUFR message that is currently open within the internal arrays, for eventual output to that file. However, when opening a file for output/writing using this function, the user can instead, if desired, make subsequent successive calls to writsa() to pack each completed data subset into the BUFR message that is currently open within the internal arrays. The use of writsa() will cause each completed BUFR message to be returned directly to the user within an allocated memory array, which in turn can then be written directly to the file via a subsequent call to cwbmg().
  • +
  • When opening a file for input/reading using openbf(), the user can make subsequent calls to any of the NCEPLIBS-bufr message-reading subroutines to read individual BUFR messages from that file into internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines") to read individual data subsets from each such message. However, when opening a file for input/reading using this function, the user must instead make subsequent calls to crbmg() to read individual BUFR messages from that file, and each such message will be returned directly to the user within an allocated memory array. The user may then, if desired, make subsequent calls to readerme() to store each such message into the same internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines" to read individual data subsets from each such message.
  • +
  • When opening a file for output/writing using openbf(), the user can make subsequent successive calls to writsb() to pack each completed data subset into the BUFR message that is currently open within the internal arrays, for eventual output to that file. However, when opening a file for output/writing using this function, the user can instead, if desired, make subsequent successive calls to writsa() to pack each completed data subset into the BUFR message that is currently open within the internal arrays. The use of writsa() will cause each completed BUFR message to be returned directly to the user within an allocated memory array, which in turn can then be written directly to the file via a subsequent call to cwbmg().
-

Any errors encountered when using this function are automatically logged to standard output, or to an alternate location previously specified via a call to subroutine errwrt().

+

Any errors encountered when using this function are automatically logged to standard output, or to an alternate location previously specified via a call to subroutine errwrt().

Parameters

cf- Flag indicating whether future BUFR output messages are to be compressed ('Y' = Yes, 'N' = No).
@@ -441,7 +467,7 @@

Definition at line 120 of file crwbmg.c.

-

References bort_f(), MXFNLEN, pbf, and wrdlen_f().

+

References bort_f(), MXFNLEN, and pbf.

Referenced by main().

@@ -506,7 +532,7 @@

Author
J. Ator
Date
2005-11-29
-

Definition at line 201 of file crwbmg.c.

+

Definition at line 195 of file crwbmg.c.

References bort_f(), iupbs01_f(), pbf, and rbytes().

@@ -561,7 +587,7 @@

Author
J. Ator
Date
2005-11-29
-

Definition at line 269 of file crwbmg.c.

+

Definition at line 263 of file crwbmg.c.

References bort_f(), and pbf.

@@ -582,7 +608,7 @@

-

Deletes the copies of the moda_tables arrays.

+

Deletes the copies of the moda_tables arrays.

Author
Ronald McLaren
Date
2022-03-23
@@ -604,7 +630,7 @@

Reset the library.

-

Wraps exitbufr() subroutine.

+

Wraps exitbufr() subroutine.

Author
Ronald Mclaren
Date
2020-07-29
@@ -681,7 +707,7 @@

-

Get pointer to the moda_usrint INV array.

+

Get pointer to the moda_usrint INV array.

Parameters

bfl- System file to be opened. Inclusion of directory prefixes or other local filesystem notation is allowed, up to 200 total characters.
@@ -721,7 +747,7 @@

-

Get copy of the moda_tables IRF array.

+

Get copy of the moda_tables IRF array.

Parameters

lun- File ID.
@@ -760,7 +786,7 @@

-

Get copy of the moda_tables ISC array.

+

Get copy of the moda_tables ISC array.

Parameters

irf_ptr- pointer to a pointer to the IRF array.
@@ -799,7 +825,7 @@

-

Get copy of the moda_tables ITP array.

+

Get copy of the moda_tables ITP array.

Parameters

isc_ptr- pointer to a pointer to the ISC array.
@@ -838,7 +864,7 @@

-

Get copy of the moda_tables JMPB array.

+

Get copy of the moda_tables JMPB array.

Parameters

itp_ptr- pointer to a pointer to the ITP array.
@@ -877,7 +903,7 @@

-

Get copy of the moda_tables LINK array.

+

Get copy of the moda_tables LINK array.

Parameters

jmpb_ptr- pointer to a pointer to the JMPB array.
@@ -961,7 +987,7 @@

-

Get copy of the moda_tables TAG array.

+

Get copy of the moda_tables TAG array.

Parameters

link_ptr- pointer to a pointer to the LINK array.
@@ -1007,7 +1033,7 @@

-

Get copy of the moda_tables TYP array.

+

Get copy of the moda_tables TYP array.

Parameters

tag_ptr- pointer to a pointer to the TAG array.
@@ -1053,7 +1079,7 @@

-

Get pointer to the moda_usrint VAL array.

+

Get pointer to the moda_usrint VAL array.

Parameters

typ_ptr- pointer to a pointer to the TYP array.
@@ -1084,7 +1110,7 @@

Test whether a data value is "missing".

-

Wraps ibfms() function.

+

Wraps ibfms() function.

Parameters

lun- File ID.
@@ -1147,7 +1173,7 @@

Author
J. Ator
Date
2023-04-07
-

Referenced by arallocc(), inittbf(), and stseq().

+

Referenced by arallocc(), inittbf(), restd(), and stseq().

@@ -1190,7 +1216,7 @@

Read the next message from a BUFR file.

-

Wraps ireadmg() function.

+

Wraps ireadmg() function.

Parameters

r8val- Data value.
@@ -1249,7 +1275,7 @@

Read the next data subset from a BUFR file.

-

Wraps ireadns() function.

+

Wraps ireadns() function.

Parameters

bufr_unit- the Fortran logical unit number to read from.
@@ -1286,7 +1312,7 @@

Read the next data subset from a BUFR message.

-

Wraps ireadsb() function.

+

Wraps ireadsb() function.

Parameters

bufr_unit- the Fortran logical unit number to read from.
@@ -1370,7 +1396,7 @@

Read a data value from Section 0 or Section 1 of a BUFR message.

-

Wraps iupbs01() function.

+

Wraps iupbs01() function.

Parameters

bufr_unit- the Fortran logical unit number to read from.
@@ -1382,7 +1408,7 @@

Author
J. Ator
Date
2023-04-07
-

Referenced by crbmg(), and crdbufr().

+

Referenced by crbmg(), crdbufr(), and main().

@@ -1403,7 +1429,7 @@

Define a customized maximum length for output BUFR messages.

-

Wraps maxout() subroutine.

+

Wraps maxout() subroutine.

Parameters

bufr- BUFR message.
@@ -1448,7 +1474,7 @@

Specify location of master BUFR tables on local file system.

-

Wraps mtinfo() subroutine.

+

Wraps mtinfo() subroutine.

Parameters

max0- New maximum length (in bytes) for all BUFR messages written to all output files.
@@ -1519,7 +1545,7 @@

Get the element name and units associated with a Table B mnemonic.

-

Wraps nemdefs() subroutine.

+

Wraps nemdefs() subroutine.

Parameters

path- the path where the WMO tables are stored.
@@ -1594,7 +1620,7 @@

Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.

-

Wraps nemspecs() subroutine.

+

Wraps nemspecs() subroutine.

Parameters

file_unit- Fortran logical unit for the open file.
@@ -1657,7 +1683,7 @@

Get information about a descriptor.

-

Wraps nemtab() subroutine.

+

Wraps nemtab() subroutine.

Parameters

file_unit- Fortran logical unit for the open file.
@@ -1671,7 +1697,7 @@

Author
Ronald Mclaren
Date
2022-08-16
-

Referenced by stseq().

+

Referenced by stseq().

@@ -1732,7 +1758,7 @@

Get information about a Table B descriptor.

-

Wraps nemtbb() subroutine.

+

Wraps nemtbb() subroutine.

Parameters

lun- File ID.
@@ -1748,7 +1774,7 @@

Author
Ronald McLaren
Date
2022-08-16
-

Referenced by restd().

+

Referenced by restd().

@@ -1824,7 +1850,7 @@

Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file.

-

Wraps openbf() subroutine.

+

Wraps openbf() subroutine.

Parameters

lun- File ID.
@@ -1871,7 +1897,7 @@

Open a new message for output in a BUFR file that was previously opened for writing.

-

Wraps openmb() subroutine.

+

Wraps openmb() subroutine.

Parameters

bufr_unit- the Fortran logical unit number.
@@ -1977,7 +2003,7 @@

Check whether a file is connected to the library.

-

Wraps status() subroutine.

+

Wraps status() subroutine.

Parameters

bufr_unit- Fortran logical unit number to write to.
@@ -2043,7 +2069,7 @@

Read/write one or more data values from/to a data subset.

-

Wraps ufbint() subroutine.

+

Wraps ufbint() subroutine.

Parameters

file_unit- Fortran logical unit number of file.
@@ -2111,7 +2137,7 @@

Read/write one or more data values from/to a data subset.

-

Wraps ufbrep() subroutine.

+

Wraps ufbrep() subroutine.

Parameters

bufr_unit- the Fortran logical unit number to read from.
@@ -2179,7 +2205,7 @@

Read/write an entire sequence of data values from/to a data subset.

-

Wraps ufbseq() subroutine.

+

Wraps ufbseq() subroutine.

Parameters

bufr_unit- the Fortran logical unit number to read from.
diff --git a/bufr__interface_8h.js b/bufr__interface_8h.js index 4195527da..98cb7fee3 100644 --- a/bufr__interface_8h.js +++ b/bufr__interface_8h.js @@ -1,5 +1,6 @@ var bufr__interface_8h = [ + [ "VERS_STR_LEN", "bufr__interface_8h.html#a016503c090a3f1ecdac526a2e8f696b0", null ], [ "bvers_f", "bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b", null ], [ "ccbfl", "bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802", null ], [ "closbf_f", "bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a", null ], diff --git a/bufr__interface_8h_source.html b/bufr__interface_8h_source.html index 600c8b490..cbdd5ca82 100644 --- a/bufr__interface_8h_source.html +++ b/bufr__interface_8h_source.html @@ -26,7 +26,7 @@ @@ -94,117 +94,119 @@
17 void cwbmg(char *bmg, int nmb, int *iret);
18 void ccbfl(void);
19 
-
20 #ifdef __cplusplus
-
21 extern "C" {
-
22 #endif
-
23 
-
32  void open_f(int unit, const char* filepath);
-
33 
-
41  void close_f(int unit);
-
42 
-
55  void openbf_f(int bufr_unit, const char* cio, int table_file_id);
-
56 
-
66  void closbf_f(int bufr_unit);
-
67 
-
75  void exitbufr_f();
-
76 
-
93  int ireadmg_f(int bufr_unit, char* subset, int* iddate, int subset_len);
-
94 
-
108  int ireadsb_f(int bufr_unit);
-
109 
-
124  void ufbint_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
-
125  int* iret, const char* table_b_mnemonic);
-
126 
-
141  void ufbrep_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
-
142  int* iret, const char* table_b_mnemonic);
-
143 
-
155  void mtinfo_f(const char* path, int file_unit_1, int file_unit_2);
-
156 
-
169  void status_f(int file_unit, int* lun, int* il, int* im);
-
170 
-
186  void nemdefs_f(int file_unit,
-
187  const char* mnemonic,
-
188  char* unit_c,
-
189  int unit_str_len,
-
190  char* desc_c,
-
191  int desc_str_len,
-
192  int* iret);
-
193 
-
210  void nemspecs_f(int file_unit,
-
211  const char* mnemonic,
-
212  int mnemonic_idx,
-
213  int* scale,
-
214  int* reference,
-
215  int* bits,
-
216  int* iret);
-
217 
-
231  void nemtab_f(int lun,
-
232  const char* mnemonic,
-
233  int* descriptor,
-
234  char* table_type,
-
235  int* table_idx);
-
236 
-
252  void nemtbb_f(int lun,
-
253  int table_idx,
-
254  char* unit_str,
-
255  int unit_str_len,
-
256  int* scale,
-
257  int* reference,
-
258  int* bits);
-
259 
-
268  void get_isc_f(int** isc_ptr, int* isc_size);
-
269 
-
278  void get_link_f(int** link_ptr, int* link_size);
-
279 
-
288  void get_itp_f(int** itp_ptr, int* itp_size);
-
289 
-
299  void get_typ_f(char** typ_ptr, int* typ_len, int* mem_size);
-
300 
-
310  void get_tag_f(char** tag_ptr, int* tag_len, int* mem_size);
-
311 
-
320  void get_jmpb_f(int** jmpb_ptr, int* jmpb_size);
-
321 
-
322 
-
331  void get_irf_f(int** irf_ptr, int* irf_size);
-
332 
-
341  void get_inode_f(int lun, int* start_node);
-
342 
-
351  void get_nval_f(int lun, int* num_nodes);
-
352 
-
362  void get_val_f(int lun, double** val_ptr, int* val_size);
-
363 
-
373  void get_inv_f(int lun, int** inv_ptr, int* inv_size);
-
374 
-
387  void readlc_f(int lunit, const char* str_id, char* output_str, int output_str_len);
-
388 
- -
395 
-
408  int iupbs01_f(int *bufr, char* mnemonic);
-
409 
-
419  int igetprm_f(char *cprmnm);
-
420 
-
431  int isetprm_f(char *cprmnm, int ipval);
-
432 
-
443  void maxout_f(int max0);
-
444 
-
454  int igetmxby_f(void);
-
455 
-
470  void ufbseq_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
-
471  int* iret, const char* table_d_mnemonic);
-
472 
-
489  int ireadns_f(int bufr_unit, char* subset, int* iddate, int subset_len);
-
490 
-
502  int ibfms_f(double r8val);
-
503 
-
516  void openmb_f(int bufr_unit, char *c_subset, int iddate);
-
517 
-
528  void bvers_f(char *cverstr, int cverstr_len);
-
529 
-
540  void cmpmsg_f(char *cf);
-
541 
-
542 #ifdef __cplusplus
-
543 }
-
544 #endif
+
21 #define VERS_STR_LEN 8
+
22 
+
23 #ifdef __cplusplus
+
24 extern "C" {
+
25 #endif
+
26 
+
35  void open_f(int unit, const char* filepath);
+
36 
+
44  void close_f(int unit);
+
45 
+
58  void openbf_f(int bufr_unit, const char* cio, int table_file_id);
+
59 
+
69  void closbf_f(int bufr_unit);
+
70 
+
78  void exitbufr_f();
+
79 
+
96  int ireadmg_f(int bufr_unit, char* subset, int* iddate, int subset_len);
+
97 
+
111  int ireadsb_f(int bufr_unit);
+
112 
+
127  void ufbint_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
+
128  int* iret, const char* table_b_mnemonic);
+
129 
+
144  void ufbrep_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
+
145  int* iret, const char* table_b_mnemonic);
+
146 
+
158  void mtinfo_f(const char* path, int file_unit_1, int file_unit_2);
+
159 
+
172  void status_f(int file_unit, int* lun, int* il, int* im);
+
173 
+
189  void nemdefs_f(int file_unit,
+
190  const char* mnemonic,
+
191  char* unit_c,
+
192  int unit_str_len,
+
193  char* desc_c,
+
194  int desc_str_len,
+
195  int* iret);
+
196 
+
213  void nemspecs_f(int file_unit,
+
214  const char* mnemonic,
+
215  int mnemonic_idx,
+
216  int* scale,
+
217  int* reference,
+
218  int* bits,
+
219  int* iret);
+
220 
+
234  void nemtab_f(int lun,
+
235  const char* mnemonic,
+
236  int* descriptor,
+
237  char* table_type,
+
238  int* table_idx);
+
239 
+
255  void nemtbb_f(int lun,
+
256  int table_idx,
+
257  char* unit_str,
+
258  int unit_str_len,
+
259  int* scale,
+
260  int* reference,
+
261  int* bits);
+
262 
+
271  void get_isc_f(int** isc_ptr, int* isc_size);
+
272 
+
281  void get_link_f(int** link_ptr, int* link_size);
+
282 
+
291  void get_itp_f(int** itp_ptr, int* itp_size);
+
292 
+
302  void get_typ_f(char** typ_ptr, int* typ_len, int* mem_size);
+
303 
+
313  void get_tag_f(char** tag_ptr, int* tag_len, int* mem_size);
+
314 
+
323  void get_jmpb_f(int** jmpb_ptr, int* jmpb_size);
+
324 
+
325 
+
334  void get_irf_f(int** irf_ptr, int* irf_size);
+
335 
+
344  void get_inode_f(int lun, int* start_node);
+
345 
+
354  void get_nval_f(int lun, int* num_nodes);
+
355 
+
365  void get_val_f(int lun, double** val_ptr, int* val_size);
+
366 
+
376  void get_inv_f(int lun, int** inv_ptr, int* inv_size);
+
377 
+
390  void readlc_f(int lunit, const char* str_id, char* output_str, int output_str_len);
+
391 
+ +
398 
+
411  int iupbs01_f(int *bufr, char* mnemonic);
+
412 
+
422  int igetprm_f(char *cprmnm);
+
423 
+
434  int isetprm_f(char *cprmnm, int ipval);
+
435 
+
446  void maxout_f(int max0);
+
447 
+
457  int igetmxby_f(void);
+
458 
+
473  void ufbseq_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
+
474  int* iret, const char* table_d_mnemonic);
+
475 
+
492  int ireadns_f(int bufr_unit, char* subset, int* iddate, int subset_len);
+
493 
+
505  int ibfms_f(double r8val);
+
506 
+
519  void openmb_f(int bufr_unit, char *c_subset, int iddate);
+
520 
+
531  void bvers_f(char *cverstr, int cverstr_len);
+
532 
+
543  void cmpmsg_f(char *cf);
+
544 
+
545 #ifdef __cplusplus
+
546 }
+
547 #endif
void closbf_f(int bufr_unit)
Close a previously opened file and disconnect it from the library.
void get_jmpb_f(int **jmpb_ptr, int *jmpb_size)
Get copy of the moda_tables JMPB array.
int isetprm_f(char *cprmnm, int ipval)
Define a customized parameter value for dynamic allocation.
@@ -213,7 +215,7 @@
void get_nval_f(int lun, int *num_nodes)
Get the number of values in the current subset.
void get_inode_f(int lun, int *start_node)
Get the bufr node idx for the start node of the subset.
void cobfl(char *bfl, char io)
Open a new file for reading or writing BUFR messages via a C language interface.
Definition: crwbmg.c:120
-
void cwbmg(char *bmg, int nmb, int *iret)
Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
Definition: crwbmg.c:269
+
void cwbmg(char *bmg, int nmb, int *iret)
Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
Definition: crwbmg.c:263
void get_val_f(int lun, double **val_ptr, int *val_size)
Get pointer to the moda_usrint VAL array.
int iupbs01_f(int *bufr, char *mnemonic)
Read a data value from Section 0 or Section 1 of a BUFR message.
void ufbseq_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_d_mnemonic)
Read/write an entire sequence of data values from/to a data subset.
@@ -227,7 +229,7 @@
void status_f(int file_unit, int *lun, int *il, int *im)
Check whether a file is connected to the library.
void get_typ_f(char **typ_ptr, int *typ_len, int *mem_size)
Get copy of the moda_tables TYP array.
void get_link_f(int **link_ptr, int *link_size)
Get copy of the moda_tables LINK array.
-
void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
Definition: crwbmg.c:201
+
void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
Definition: crwbmg.c:195
int ireadmg_f(int bufr_unit, char *subset, int *iddate, int subset_len)
Read the next message from a BUFR file.
int ibfms_f(double r8val)
Test whether a data value is "missing".
void get_isc_f(int **isc_ptr, int *isc_size)
Get copy of the moda_tables ISC array.
@@ -235,7 +237,7 @@
void nemdefs_f(int file_unit, const char *mnemonic, char *unit_c, int unit_str_len, char *desc_c, int desc_str_len, int *iret)
Get the element name and units associated with a Table B mnemonic.
void openmb_f(int bufr_unit, char *c_subset, int iddate)
Open a new message for output in a BUFR file that was previously opened for writing.
void close_f(int unit)
Close a Fortran file from a C program.
-
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
Definition: crwbmg.c:296
+
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
Definition: crwbmg.c:290
void ufbint_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
Read/write one or more data values from/to a data subset.
void readlc_f(int lunit, const char *str_id, char *output_str, int output_str_len)
Function used to get long strings from the BUFR file.
int ireadns_f(int bufr_unit, char *subset, int *iddate, int subset_len)
Read the next data subset from a BUFR file.
diff --git a/bufrlib_8F90.html b/bufrlib_8F90.html index c34d18011..7298b1606 100644 --- a/bufrlib_8F90.html +++ b/bufrlib_8F90.html @@ -26,7 +26,7 @@ @@ -103,8 +103,6 @@ - - diff --git a/bufrlib_8F90_source.html b/bufrlib_8F90_source.html index 58eb03c8f..bf1f122a3 100644 --- a/bufrlib_8F90_source.html +++ b/bufrlib_8F90_source.html @@ -26,7 +26,7 @@ @@ -197,17 +197,12 @@
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
+
334  end interface
+
335 
+
336 end module bufrlib
- diff --git a/bufrlib_8h.html b/bufrlib_8h.html index 2d30e1c61..691d57180 100644 --- a/bufrlib_8h.html +++ b/bufrlib_8h.html @@ -26,7 +26,7 @@ @@ -108,33 +108,18 @@ - - - - - - - - - - - - - - -
bufr_unit- the Fortran logical unit number to read from.
NCEPLIBS-bufr -  12.0.1 +  12.1.0
NCEPLIBS-bufr -  12.0.1 +  12.1.0
 
interface  bufrlib::backbufr_c
 
interface  bufrlib::bort_exit_c
 
interface  bufrlib::cewind_c
 
interface  bufrlib::closfb_c
NCEPLIBS-bufr -  12.0.1 +  12.1.0
NCEPLIBS-bufr -  12.0.1 +  12.1.0
#define MAX_FXY_TABLEB   "063255"
 Character string containing maximum FXY value for a Table B descriptor. More...
 
#define MAXCD   250
 Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors. More...
 
#define MAXNC   600
 Maximum number of descriptors within Section 3 of a BUFR message. More...
 
#define MIN_FXY_REPL   "101000"
 Character string containing minimum FXY value for a replication descriptor. More...
 
#define MIN_FXY_TABLED   "300000"
 Character string containing minimum FXY value for a Table D descriptor. More...
 
#define MXNAF   4
 Maximum number of associated fields that can be in effect at any given time for a Table B descriptor. More...
 
#define NEMO_STR_LEN   8
 Size of a character string needed to store a mnemonic. More...
 
#define NFILES   32
 Maximum number of BUFR files that can be connected to the NCEPLIBS-bufr software (for reading or writing) at any one time. More...
 
#define UNIT_STR_LEN   24
 Size of a character string needed to store the units of a Table B descriptor. More...
 
#define VERS_STR_LEN   8
 Size of a character string needed to store a library version number. More...
 
@@ -142,14 +127,11 @@ - + - - - @@ -189,9 +171,6 @@ - - - @@ -222,12 +201,6 @@ - - - - - -

Functions

 Dynamically allocate C language arrays. More...
 
void ardllocc (void)
 Free all dynamically-allocated memory within internal C language arrays. More...
 Free all memory that was dynamically allocated during a previous call to subroutine arallocc(). More...
 
void backbufr (int nfile)
 Backspace a BUFR file by one BUFR message. More...
 
void bort_exit (void)
 This subroutine terminates the application program with a non-zero status code. More...
 
void bort_f (char *errstr)
 Log one error message and abort application program. More...
 
int istdesc_f (int idn)
 Check whether a descriptor is WMO-standard. More...
 
int iupb_f (int *mbay, int nbyt, int nbit)
 Decode an integer value from an integer array. More...
 
void numtbd_f (int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
 Search for a Table B or Table D descriptor within the internal DX BUFR tables. More...
 
void uptdd_f (int id, int lun, int ient, int *iret)
 Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
 
void wrdesc (int desc, int *descary, int *ndescary)
 Maintain an array of descriptors. More...
 
void wrdlen_f (void)
 Determine important information about the local machine. More...
 

Detailed Description

Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.

@@ -251,7 +224,7 @@

Definition at line 54 of file bufrlib.h.

+

Definition at line 34 of file bufrlib.h.

@@ -269,44 +242,8 @@

Definition at line 63 of file bufrlib.h.

- - - - -

◆ MAXCD

- -
-
- - - - -
#define MAXCD   250
-
- -

Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors.

-

Definition at line 43 of file bufrlib.h.

-
-
- -

◆ MAXNC

- -
-
- - - - -
#define MAXNC   600
-
- -

Maximum number of descriptors within Section 3 of a BUFR message.

- -

Definition at line 47 of file bufrlib.h.

-
@@ -323,7 +260,7 @@

Definition at line 57 of file bufrlib.h.

+

Definition at line 37 of file bufrlib.h.

@@ -341,25 +278,7 @@

Definition at line 60 of file bufrlib.h.

- - - - -

◆ MXNAF

- -
-
- - - - -
#define MXNAF   4
-
- -

Maximum number of associated fields that can be in effect at any given time for a Table B descriptor.

- -

Definition at line 51 of file bufrlib.h.

+

Definition at line 40 of file bufrlib.h.

@@ -377,25 +296,7 @@

Definition at line 66 of file bufrlib.h.

- - - - -

◆ NFILES

- -
-
- - - - -
#define NFILES   32
-
- -

Maximum number of BUFR files that can be connected to the NCEPLIBS-bufr software (for reading or writing) at any one time.

- -

Definition at line 37 of file bufrlib.h.

+

Definition at line 46 of file bufrlib.h.

@@ -413,25 +314,7 @@

Definition at line 69 of file bufrlib.h.

- - - - -

◆ VERS_STR_LEN

- -
-
- - - - -
#define VERS_STR_LEN   8
-
- -

Size of a character string needed to store a library version number.

- -

Definition at line 72 of file bufrlib.h.

+

Definition at line 49 of file bufrlib.h.

@@ -453,14 +336,14 @@

Dynamically allocate C language arrays.

-

This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal C language arrays based on parameter values set during one or more previous calls to function isetprm().

-

All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

+

This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal C language arrays based on parameter values set during one or more previous calls to function isetprm().

+

All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

Author
J. Ator
Date
2014-12-04

Definition at line 29 of file arallocc.c.

-

References bort_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, ibfxyn_c, idefxy_c, idfxyn_c, igetprm_f(), lstpos, modv_maxcd::maxcd, modv_mxmtbb::mxmtbb, modv_mxmtbd::mxmtbd, ndelem_c, modv_nfiles::nfiles, and pb.

+

References bort_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, iafpk, ibfxyn_c, idefxy_c, idfxyn_c, igetprm_f(), lstpos, ndelem_c, and pb.

@@ -480,14 +363,13 @@

-

Free all dynamically-allocated memory within internal C language arrays.

-

This subroutine frees any memory that was dynamically allocated during a previous call to subroutine arallocc().

+

Free all memory that was dynamically allocated during a previous call to subroutine arallocc().

Author
J. Ator
Date
2014-12-04
-

Definition at line 21 of file ardllocc.c.

+

Definition at line 90 of file arallocc.c.

-

References cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, ibfxyn_c, idefxy_c, idfxyn_c, lstpos, ndelem_c, and pb.

+

References cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, iafpk, ibfxyn_c, idefxy_c, idfxyn_c, lstpos, ndelem_c, and pb.

@@ -521,30 +403,6 @@

References lstpos, and pb.

- - - -

◆ bort_exit()

- -
-
- - - - - - - - -
void bort_exit (void )
-
- -

This subroutine terminates the application program with a non-zero status code.

-
Author
J. Ator
-
Date
2003-11-04
- -

Definition at line 16 of file bort_exit.c.

-
@@ -564,7 +422,7 @@

Log one error message and abort application program.

-

Wraps bort() subroutine.

+

Wraps bort() subroutine.

Parameters
@@ -574,7 +432,7 @@

Author
J. Ator
Date
2023-04-07
-

Referenced by arallocc(), cobfl(), crbmg(), cwbmg(), inittbf(), nummtb(), strtbfe(), stseq(), and wrdesc().

+

Referenced by arallocc(), cobfl(), crbmg(), cwbmg(), inittbf(), nummtb(), restd(), strtbfe(), stseq(), and wrdesc().

@@ -611,7 +469,7 @@

Convert an FXY value from its WMO bit-wise representation to its six-character representation.

-

Wraps cadn30() subroutine.

+

Wraps cadn30() subroutine.

Parameters

errstr- Error message.
@@ -623,7 +481,7 @@

Author
J. Ator
Date
2004-08-18
-

Referenced by nummtb(), restd(), and stseq().

+

Referenced by nummtb(), restd(), and stseq().

@@ -825,7 +683,7 @@

Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.

-

Wraps elemdx() subroutine.

+

Wraps elemdx() subroutine.

Parameters

idn- WMO bit-wise representation of FXY value.
@@ -836,7 +694,7 @@

Author
J. Ator
Date
2003-11-04
-

Referenced by stseq().

+

Referenced by stseq().

@@ -888,7 +746,7 @@

Definition at line 22 of file icvidx.c.

-

Referenced by cpmstabs(), and stseq().

+

Referenced by cpmstabs(), and stseq().

@@ -909,7 +767,7 @@

Convert an FXY value from its 6 character representation to its WMO bit-wise representation.

-

Wraps ifxy() function.

+

Wraps ifxy() function.

Parameters

card- mnemonic definition card.
@@ -920,7 +778,7 @@

Author
J. Ator
Date
2023-04-07
-

Referenced by nummtb(), restd(), and stseq().

+

Referenced by nummtb(), restd(), and stseq().

@@ -951,7 +809,7 @@

Get the next index for storing an entry within an internal DX BUFR table.

-

Wraps igetntbi() function.

+

Wraps igetntbi() function.

Parameters

cfxy- FXY value.
@@ -963,7 +821,7 @@

Author
J. Ator
Date
2009-03-23
-

Referenced by stseq().

+

Referenced by stseq().

@@ -984,7 +842,7 @@

Get the next usable Table D index for the current master table, or reset the index.

-

Wraps igettdi() function.

+

Wraps igettdi() function.

Parameters

lun- File ID.
@@ -999,7 +857,7 @@

Author
J. Ator
Date
2009-03-23
-

Referenced by stseq().

+

Referenced by stseq().

@@ -1020,7 +878,7 @@

Check whether a specified mnemonic is a Table C marker operator.

-

Wraps imrkopr() function.

+

Wraps imrkopr() function.

Parameters

iflag- Processing flag; if 0 will reset the index.
@@ -1035,7 +893,7 @@

Author
J. Ator
Date
2016-05-04
-

Referenced by stseq().

+

Referenced by stseq().

@@ -1056,7 +914,7 @@

Check whether a descriptor is WMO-standard.

-

Wraps istdesc() function.

+

Wraps istdesc() function.

Parameters

nemo- Mnemonic.
@@ -1071,57 +929,7 @@

Author
J. Ator
Date
2004-08-18
-

Referenced by restd().

- - - - -

◆ iupb_f()

- -
-
-

idn- WMO bit-wise representation of FXY value for descriptor.
- - - - - - - - - - - - - - - - - - - - - - - -
int iupb_f (int * mbay,
int nbyt,
int nbit 
)
-
- -

Decode an integer value from an integer array.

-

Wraps iupb() function.

-
Parameters
- - - - -
mbay- Array containing encoded value.
nbyt- Byte within mbay at whose first bit to begin decoding.
nbit- Number of bits to decode.
-
-
-
Returns
Decoded value.
-
Author
J. Ator
-
Date
2003-11-04
- -

Referenced by main().

+

Referenced by restd().

@@ -1176,11 +984,11 @@

Search for a Table B or Table D descriptor within the internal DX BUFR tables.

-

Wraps numtbd() subroutine.

+

Wraps numtbd() subroutine.

Parameters
- + @@ -1191,7 +999,7 @@

Author
J. Ator
Date
2003-11-04
-

Referenced by restd(), and stseq().

+

Referenced by restd(), and stseq().

@@ -1363,7 +1171,7 @@

Store information about a child mnemonic within the internal arrays.

-

Wraps pktdd() subroutine.

+

Wraps pktdd() subroutine.

Parameters

lun- File ID.
idn- Bit-wise representation of FXY value.
idn- WMO bit-wise representation of FXY value.
nemo- Mnemonic.
nemo_str_len- Length of nemo string.
tab- Type of internal DX BUFR table ('B', or 'D').
@@ -1376,7 +1184,7 @@

Author
J. Ator
Date
2003-11-04
-

Referenced by stseq().

+

Referenced by stseq().

@@ -1423,19 +1231,21 @@

Parameters

id- Index of parent mnemonic within internal arrays.
- - - - + + + +
lun- File ID.
tddesc- WMO bit-wise representation of FXY value for local Table D descriptor.
nctddesc- Number of WMO-standard child descriptors returned in ctddesc.
ctddesc- Array of WMO-standard child descriptors equivalent to tddesc.
lun- File ID
tddesc- WMO bit-wise representation of FXY value for local Table D descriptor
nctddesc- Number of WMO-standard child descriptors returned in ctddesc
ctddesc- Array of WMO-standard child descriptors equivalent to tddesc
Author
J. Ator
Date
2004-08-18
-

Definition at line 39 of file restd.c.

+

Definition at line 73 of file restd.c.

+ +

References bort_f(), cadn30_f(), FXY_STR_LEN, moda_bitbuf::ibit, ifxy_f(), igetprm_f(), istdesc_f(), MIN_FXY_REPL, NEMO_STR_LEN, nemtbb_f(), numtbd_f(), restd(), UNIT_STR_LEN, uptdd_f(), and wrdesc().

-

References cadn30_f(), FXY_STR_LEN, moda_bitbuf::ibit, ifxy_f(), istdesc_f(), MAXNC, MIN_FXY_REPL, NEMO_STR_LEN, nemtbb_f(), numtbd_f(), UNIT_STR_LEN, uptdd_f(), and wrdesc().

+

Referenced by restd().

@@ -1484,7 +1294,7 @@

Store a new entry within the internal BUFR Table B or D.

-

Wraps stntbi() subroutine.

+

Wraps stntbi() subroutine.

Parameters
@@ -1498,7 +1308,7 @@

Author
J. Ator
Date
2009-03-23
-

Referenced by stseq().

+

Referenced by stseq().

@@ -1535,7 +1345,7 @@

Decode an integer from a character string.

-

Wraps strnum() subroutine.

+

Wraps strnum() subroutine.

Parameters

n- Storage index into internal Table B or D.
@@ -1547,7 +1357,7 @@

Author
J. Ator
Date
2003-11-04
-

Referenced by stseq().

+

Referenced by stseq().

@@ -1608,25 +1418,27 @@

Store information about a standard Table D descriptor within internal DX BUFR tables.

-

Given the bit-wise (integer) representation of a WMO-standard Table D descriptor, this subroutine uses the master BUFR tables to store all of the necessary information for that descriptor within the internal DX BUFR tables. Any child descriptors which are themselves Table D descriptors are automatically resolved via a recursive call to this same subroutine.

+

Given the WMO bit-wise (integer) representation of a standard Table D descriptor, this subroutine uses the master BUFR tables to store all of the necessary information for that descriptor within the internal DX BUFR tables. Any child descriptors which are themselves Table D descriptors are automatically resolved via a recursive call to this same subroutine.

Parameters

str- String.
- - - - - - - + + + + + + +
lun- File ID.
irepct- Replication sequence counter for the current master table; used internally to keep track of which sequence names have already been defined, and thereby avoid contention within the internal DX BUFR Table D.
idn- WMO bit-wise representation of FXY value for WMO-standard Table D descriptor
nemo- Mnemonic corresponding to idn.
cseq- Description corresponding to idn.
cdesc- Array of WMO-standard child descriptors equivalent to idn.
ncdesc- Number of WMO-standard child descriptors in cdesc.
lun- File ID
irepct- Replication sequence counter for the current master table; used internally to keep track of which sequence names have already been defined, and thereby avoid contention within the internal DX BUFR Table D
idn- WMO bit-wise representation of FXY value for standard Table D descriptor
nemo- Mnemonic corresponding to idn
cseq- Description corresponding to idn
cdesc- Array of WMO-standard child descriptors equivalent to idn
ncdesc- Number of WMO-standard child descriptors in cdesc
Author
J. Ator
Date
2009-03-23
-

Definition at line 111 of file stseq.c.

+

Definition at line 107 of file stseq.c.

+ +

References bort_f(), cadn30_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, elemdx_f(), FXY_STR_LEN, iafpk, icvidx(), idefxy_c, ifxy_f(), igetntbi_f(), igetprm_f(), igettdi_f(), imrkopr_f(), MAX_FXY_TABLEB, MIN_FXY_REPL, MIN_FXY_TABLED, ndelem_c, NEMO_STR_LEN, nemtab_f(), nummtb(), numtbd_f(), pktdd_f(), stntbi_f(), strnum_f(), and stseq().

-

References bort_f(), cadn30_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, elemdx_f(), FXY_STR_LEN, icvidx(), idefxy_c, ifxy_f(), igetntbi_f(), igetprm_f(), igettdi_f(), imrkopr_f(), MAX_FXY_TABLEB, MIN_FXY_REPL, MIN_FXY_TABLED, MXNAF, ndelem_c, NEMO_STR_LEN, nemtab_f(), nummtb(), numtbd_f(), pktdd_f(), stntbi_f(), and strnum_f().

+

Referenced by stseq().

@@ -1669,7 +1481,7 @@

Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence.

-

Wraps uptdd() subroutine.

+

Wraps uptdd() subroutine.

Parameters
@@ -1682,86 +1494,7 @@

Author
J. Ator
Date
2003-11-04
-

Referenced by restd().

- - - - -

◆ wrdesc()

- -
-
-

id- Positional index of parent mnemonic within internal Table D.
- - - - - - - - - - - - - - - - - - - - - - - -
void wrdesc (int desc,
int * descary,
int * ndescary 
)
-
- -

Maintain an array of descriptors.

-

Given the WMO bit-wise representation of a descriptor, this routine adds it to an ongoing array of descriptors, after first making sure that there is enough room in the array.

-

If an array overflow occurs, then an appropriate error message will be written via bort().

-
Parameters
- - - - -
desc- WMO bit-wise representation of descriptor to be written into descary.
descary- Array of descriptors.
ndescary- Number of descriptors written so far into descary.
-
-
-
Author
J. Ator
-
Date
2004-08-18
- -

Definition at line 27 of file wrdesc.c.

- -

References bort_f(), and MAXNC.

- -

Referenced by restd().

- -
- - -

◆ wrdlen_f()

- -
-
- - - - - - - - -
void wrdlen_f (void )
-
- -

Determine important information about the local machine.

-

Wraps wrdlen() subroutine.

-
Author
J. Ator
-
Date
2023-04-07
- -

Referenced by cobfl(), and main().

+

Referenced by restd().

@@ -1770,7 +1503,7 @@

diff --git a/bufrlib_8h.js b/bufrlib_8h.js index 5ea3a331e..a79c45ad9 100644 --- a/bufrlib_8h.js +++ b/bufrlib_8h.js @@ -2,19 +2,13 @@ var bufrlib_8h = [ [ "FXY_STR_LEN", "bufrlib_8h.html#a320fb202c17784943f8223593c9123dd", null ], [ "MAX_FXY_TABLEB", "bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858", null ], - [ "MAXCD", "bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3", null ], - [ "MAXNC", "bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510", null ], [ "MIN_FXY_REPL", "bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b", null ], [ "MIN_FXY_TABLED", "bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c", null ], - [ "MXNAF", "bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f", null ], [ "NEMO_STR_LEN", "bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0", null ], - [ "NFILES", "bufrlib_8h.html#a51b267f0e740902752570c1847b99f14", null ], [ "UNIT_STR_LEN", "bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69", null ], - [ "VERS_STR_LEN", "bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0", null ], [ "arallocc", "bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28", null ], [ "ardllocc", "bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb", null ], [ "backbufr", "bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b", null ], - [ "bort_exit", "bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60", null ], [ "bort_f", "bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447", null ], [ "cadn30_f", "bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9", null ], [ "cewind", "bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a", null ], @@ -28,7 +22,6 @@ var bufrlib_8h = [ "igettdi_f", "bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2", null ], [ "imrkopr_f", "bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47", null ], [ "istdesc_f", "bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d", null ], - [ "iupb_f", "bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc", null ], [ "numtbd_f", "bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a", null ], [ "openab", "bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78", null ], [ "openrb", "bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69", null ], @@ -38,7 +31,5 @@ var bufrlib_8h = [ "stntbi_f", "bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f", null ], [ "strnum_f", "bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11", null ], [ "stseq", "bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40", null ], - [ "uptdd_f", "bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b", null ], - [ "wrdesc", "bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997", null ], - [ "wrdlen_f", "bufrlib_8h.html#a080eec815db985d32c88720a303f53c4", null ] + [ "uptdd_f", "bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b", null ] ]; \ No newline at end of file diff --git a/bufrlib_8h_source.html b/bufrlib_8h_source.html index 97b2c5991..5dc9532b2 100644 --- a/bufrlib_8h_source.html +++ b/bufrlib_8h_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -104,73 +104,55 @@
26 void closfb(int nfile);
27 int crdbufr(int nfile, int *bufr, int mxwrd);
28 void cwrbufr(int nfile, int *bufr, int nwrd);
-
29 void bort_exit(void);
-
30 int icvidx(int ii, int jj, int numjj);
-
31 void wrdesc(int desc, int *descary, int *ndescary);
-
32 void restd(int lunb, int tddesc, int *nctddesc, int *ctddesc);
-
33 void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc);
-
34 
-
37 #define NFILES 32
+
29 int icvidx(int ii, int jj, int numjj);
+
30 void restd(int lunb, int tddesc, int *nctddesc, int *ctddesc);
+
31 void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc);
+
32 
+
34 #define FXY_STR_LEN 6
+
35 
+
37 #define MIN_FXY_REPL "101000"
38 
-
43 #define MAXCD 250
+
40 #define MIN_FXY_TABLED "300000"
+
41 
+
43 #define MAX_FXY_TABLEB "063255"
44 
-
47 #define MAXNC 600
-
48 
-
51 #define MXNAF 4
-
52 
-
54 #define FXY_STR_LEN 6
-
55 
-
57 #define MIN_FXY_REPL "101000"
-
58 
-
60 #define MIN_FXY_TABLED "300000"
-
61 
-
63 #define MAX_FXY_TABLEB "063255"
+
46 #define NEMO_STR_LEN 8
+
47 
+
49 #define UNIT_STR_LEN 24
+
50 
+
63 void cadn30_f(int idn, char *adn, int adn_str_len);
64 
-
66 #define NEMO_STR_LEN 8
-
67 
-
69 #define UNIT_STR_LEN 24
-
70 
-
72 #define VERS_STR_LEN 8
-
73 
-
86 void cadn30_f(int idn, char *adn, int adn_str_len);
-
87 
-
100 int igetntbi_f(int lun, char *table_type);
-
101 
-
113 void elemdx_f(char *card, int lun);
-
114 
-
129 void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret);
-
130 
-
143 int ifxy_f(char *cfxy);
-
144 
-
161 void uptdd_f(int id, int lun, int ient, int *iret);
-
162 
-
176 int imrkopr_f(char *nemo);
-
177 
-
191 int istdesc_f(int idn);
-
192 
-
204 void strnum_f(char *str, int *num, int *iret);
-
205 
-
219 void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq);
-
220 
-
235 int igettdi_f(int iflag);
-
236 
-
251 void pktdd_f(int id, int lun, int idn, int *iret);
-
252 
-
262 void bort_f(char *errstr);
-
263 
-
271 void wrdlen_f(void);
-
272 
-
286 int iupb_f(int *mbay, int nbyt, int nbit);
+
77 int igetntbi_f(int lun, char *table_type);
+
78 
+
90 void elemdx_f(char *card, int lun);
+
91 
+
106 void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret);
+
107 
+
120 int ifxy_f(char *cfxy);
+
121 
+
138 void uptdd_f(int id, int lun, int ient, int *iret);
+
139 
+
153 int imrkopr_f(char *nemo);
+
154 
+
168 int istdesc_f(int idn);
+
169 
+
181 void strnum_f(char *str, int *num, int *iret);
+
182 
+
196 void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq);
+
197 
+
212 int igettdi_f(int iflag);
+
213 
+
228 void pktdd_f(int id, int lun, int idn, int *iret);
+
229 
+
239 void bort_f(char *errstr);
Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.
int igettdi_f(int iflag)
Get the next usable Table D index for the current master table, or reset the index.
void cadn30_f(int idn, char *adn, int adn_str_len)
Convert an FXY value from its WMO bit-wise representation to its six-character representation.
-
void wrdlen_f(void)
Determine important information about the local machine.
-
void bort_exit(void)
This subroutine terminates the application program with a non-zero status code.
Definition: bort_exit.c:16
void elemdx_f(char *card, int lun)
Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
int imrkopr_f(char *nemo)
Check whether a specified mnemonic is a Table C marker operator.
void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
Search for a Table B or Table D descriptor within the internal DX BUFR tables.
void bort_f(char *errstr)
Log one error message and abort application program.
-
void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
Store information about a standard Table D descriptor within internal DX BUFR tables.
Definition: stseq.c:111
+
void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
Store information about a standard Table D descriptor within internal DX BUFR tables.
Definition: stseq.c:107
void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq)
Store a new entry within the internal BUFR Table B or D.
void closfb(int nfile)
Close a previously opened BUFR file.
Definition: cread.c:92
int crdbufr(int nfile, int *bufr, int mxwrd)
Read the next message from a BUFR file that was previously opened for reading.
Definition: cread.c:114
@@ -178,28 +160,24 @@
void cwrbufr(int nfile, int *bufr, int nwrd)
Write a BUFR message into a file that was previously opened for writing.
Definition: cread.c:199
void arallocc(void)
Dynamically allocate C language arrays.
Definition: arallocc.c:29
int ifxy_f(char *cfxy)
Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
-
void restd(int lunb, int tddesc, int *nctddesc, int *ctddesc)
Standardize a local Table D descriptor.
Definition: restd.c:39
+
void restd(int lunb, int tddesc, int *nctddesc, int *ctddesc)
Standardize a local Table D descriptor.
Definition: restd.c:73
void openwb(int nfile, char *ufile)
Open a new file for writing BUFR messages.
Definition: cread.c:43
void strnum_f(char *str, int *num, int *iret)
Decode an integer from a character string.
void openrb(int nfile, char *ufile)
Open a new file for reading BUFR messages.
Definition: cread.c:30
int icvidx(int ii, int jj, int numjj)
Computes a unique 1-dimensional array index from 2-dimensional indices.
Definition: icvidx.c:22
-
int iupb_f(int *mbay, int nbyt, int nbit)
Decode an integer value from an integer array.
-
void ardllocc(void)
Free all dynamically-allocated memory within internal C language arrays.
Definition: ardllocc.c:21
+
void ardllocc(void)
Free all memory that was dynamically allocated during a previous call to subroutine arallocc().
Definition: arallocc.c:90
void pktdd_f(int id, int lun, int idn, int *iret)
Store information about a child mnemonic within the internal arrays.
int igetntbi_f(int lun, char *table_type)
Get the next index for storing an entry within an internal DX BUFR table.
void backbufr(int nfile)
Backspace a BUFR file by one BUFR message.
Definition: cread.c:68
-
void wrdesc(int desc, int *descary, int *ndescary)
Maintain an array of descriptors.
Definition: wrdesc.c:27
void uptdd_f(int id, int lun, int ient, int *iret)
Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D s...
int istdesc_f(int idn)
Check whether a descriptor is WMO-standard.
void cewind(int nfile)
Rewind a BUFR file back to its beginning.
Definition: cread.c:80
-
integer, dimension(:,:), allocatable mbay
Current BUFR message for each internal I/O stream.
-
integer, dimension(:), allocatable nbit
Length (in bits) of each packed data value in data subset.
diff --git a/cfe_8c.html b/cfe_8c.html index 258b2f0d4..080262875 100644 --- a/cfe_8c.html +++ b/cfe_8c.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -115,10 +115,10 @@  Free all dynamically-allocated memory for internal storage of master Code/Flag table entries. More...
  void inittbf (void) - Initialize memory for internal storage of master Code/Flag table entries. More...
+ Initialize memory for internal storage of master Code/Flag table entries, including dynamically allocating memory space if needed. More...
  void sorttbf (void) - Sort entries within the master Code/Flag table. More...
+ Sort entries within the master Code/Flag table, in preparation for future searches using function srchtbf(). More...
  void srchtbf (int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald, char *meaning, int mxmng, int *lnmng, int *iret)  Search for a specified master Code/Flag table entry. More...
@@ -192,7 +192,7 @@

Define a comparison between two master Code/Flag table entries.

-

This function defines a comparison between two entries within the internal memory structure for storage of master Code/Flag table entries. The comparison is used by the intrinsic C functions qsort and bsearch, and it differs from the the comparison in function cmpstia2() because it compares all of the iffxyn, ifval, iffxynd and ifvald components of the structure, whereas cmpstia2() only compares the iffxyn and ifval components.

+

The comparison is used by the intrinsic C functions qsort and bsearch, and it differs from the the comparison in function cmpstia2() because it compares all of the iffxyn, ifval, iffxynd and ifvald components of the structure, whereas cmpstia2() only compares the iffxyn and ifval components.

Parameters
@@ -209,7 +209,7 @@

Author
J. Ator
Date
2017-11-13
-

Definition at line 113 of file cfe.c.

+

Definition at line 107 of file cfe.c.

Referenced by sorttbf(), and srchtbf().

@@ -242,7 +242,7 @@

Define a comparison between two master Code/Flag table entries.

-

This function defines a comparison between two entries within the internal memory structure for storage of master Code/Flag table entries. The comparison is used by the intrinsic C function bsearch, and it differs from the the comparison in function cmpstia1() because it only compares the iffxyn and ifval components of the structure, whereas cmpstia1() compares all of the iffxyn, ifval, iffxynd and ifvald components of the structure.

+

The comparison is used by the intrinsic C function bsearch, and it differs from the the comparison in function cmpstia1() because it only compares the iffxyn and ifval components of the structure, whereas cmpstia1() compares all of the iffxyn, ifval, iffxynd and ifvald components of the structure.

Parameters

pe1- First master Code/Flag table entry.
@@ -259,7 +259,7 @@

Author
J. Ator
Date
2017-11-13
-

Definition at line 158 of file cfe.c.

+

Definition at line 150 of file cfe.c.

Referenced by srchtbf().

@@ -282,11 +282,11 @@

Free all dynamically-allocated memory for internal storage of master Code/Flag table entries.

-

This function frees any memory that was dynamically allocated during a previous call to function inittbf().

+

This memory would have been dynamically allocated during a previous call to function inittbf().

Author
J. Ator
Date
2017-11-03
-

Definition at line 85 of file cfe.c.

+

Definition at line 81 of file cfe.c.

References cfe.

@@ -308,12 +308,11 @@

-

Initialize memory for internal storage of master Code/Flag table entries.

-

This function initializes the internal memory structure for storage of master Code/Flag table entries, including dynamically allocating space for this structure if needed.

+

Initialize memory for internal storage of master Code/Flag table entries, including dynamically allocating memory space if needed.

Author
J. Ator
Date
2017-11-03
-

Definition at line 56 of file cfe.c.

+

Definition at line 53 of file cfe.c.

References bort_f(), cfe, igetprm_f(), mxmtbf, and nmtf.

@@ -335,12 +334,11 @@

-

Sort entries within the master Code/Flag table.

-

This function sorts the entries within the internal memory structure for storage of master Code/Flag table entries, in preparation for future searches using function srchtbf().

+

Sort entries within the master Code/Flag table, in preparation for future searches using function srchtbf().

Author
J. Ator
Date
2017-11-16
-

Definition at line 225 of file cfe.c.

+

Definition at line 211 of file cfe.c.

References cfe, cmpstia1(), and nmtf.

@@ -415,15 +413,15 @@

Search for a specified master Code/Flag table entry.

-

This function searches for a specified FXY number and associated value (code figure or bit number) within the internal memory structure for storage of master Code/Flag table entries, and if found returns the associated meaning as a character string.

+

The search is based on a specified FXY number and associated value (code figure or bit number) within the internal memory structure for storage of master Code/Flag table entries. If found, the associated meaning is returned as a character string.

The search may optionally include a specified second FXY number and associated value upon which the first FXY number and its associated value depend, for example when the meaning of an originating sub-center value depends on the identity of the originating center for which the sub-center in question is a member.

Parameters

pe1- First master Code/Flag table entry.
- + @@ -434,7 +432,7 @@

iret

ifxyi- Bit-wise representation of FXY number to search for.
ifxyi- WMO bit-wise representation of FXY number to search for.
ivali- Value (code figure or bit number) associated with ifxyi.
ifxyd- Dependence indicator:
    -
  • On input, ifxyd[0] is set to the bit-wise representation of the FXY number upon which ifxyi and ivali depend, or else set to (-1) if ifxyi and ivali do not depend on the value associated with any other FXY number.
  • -
  • On output, if the initial search of the master Code/Flag table was unsuccessful, and if ifxyd[0] and ivald were both set to (-1) on input, and if a second search of the table determines that the meaning of ifxyi and ivali indeed depends on one or more other FXY numbers, then the bit-wise representations of those FXY numbers are returned within the first iret elements of ifxyd.
  • +
  • On input, ifxyd[0] is set to the WMO bit-wise representation of the FXY number upon which ifxyi and ivali depend, or else set to (-1) if ifxyi and ivali do not depend on the value associated with any other FXY number.
  • +
  • On output, if the initial search of the master Code/Flag table was unsuccessful, and if ifxyd[0] and ivald were both set to (-1) on input, and if a second search of the table determines that the meaning of ifxyi and ivali indeed depends on one or more other FXY numbers, then the WMO bit-wise representations of those FXY numbers are returned within the first iret elements of ifxyd.
ivald- Value (code figure or bit number) associated with the FXY number in ifxyd[0]; set to (-1) whenever ifxyd[0] is also set to (-1).
- Return code:
  • 0 = Meaning found and stored in meaning string.
  • -1 = Meaning not found.
  • -
  • >0 = Meaning not found, and ifxyd[0] and ivald were both set to (-1) on input, and the meaning of ifxyi and ivali depends on the the value associated with one of the FXY numbers whose bit-wise representation is stored in the first iret elements of ifxyd.
  • +
  • >0 = Meaning not found, and ifxyd[0] and ivald were both set to (-1) on input, and the meaning of ifxyi and ivali depends on the the value associated with one of the FXY numbers whose WMO bit-wise representation is stored in the first iret elements of ifxyd.
@@ -443,7 +441,7 @@

Author
J. Ator

Date
2018-01-11
-

Definition at line 278 of file cfe.c.

+

Definition at line 264 of file cfe.c.

References cfe, cmpstia1(), cmpstia2(), and nmtf.

@@ -500,14 +498,13 @@

Store a new master Code/Flag table entry.

-

This function adds a new entry to the internal memory structure for storage of master Code/Flag table entries.

Parameters
- + - +
ifxyn- Bit-wise representation of FXY number for which ival is a defined code or flag table entry.
ifxyn- WMO bit-wise representation of FXY number for which ival is a defined code or flag table entry.
ival- Code figure or bit number.
meaning- Meaning associated with ifxyn and ival.
lmeaning- Length (in bytes) of meaning.
idfxy- Bit-wise representation of FXY number upon which ifxyn and ival depend (if any), or else set to a value of (-1).
idfxy- WMO bit-wise representation of FXY number upon which ifxyn and ival depend (if any), or else set to a value of (-1).
idval- Code figure or bit number associated with idfxy and upon which ifxyn and ival depend (if any), or else set to (-1) whenever idfxy is also set to (-1).
@@ -515,9 +512,9 @@

Author
J. Ator

Date
2017-11-13
-

Definition at line 191 of file cfe.c.

+

Definition at line 180 of file cfe.c.

-

References bort_f(), cfe, moda_ival::ival, MAX_MEANING_LEN, mxmtbf, and nmtf.

+

References bort_f(), cfe, moda_ival::ival, MAX_MEANING_LEN, mxmtbf, and nmtf.

diff --git a/cfe_8c_source.html b/cfe_8c_source.html index df0396568..c09950a56 100644 --- a/cfe_8c_source.html +++ b/cfe_8c_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -105,224 +105,224 @@
42 
44 int nmtf;
45 
-
55 void
-
56 inittbf(void)
-
57 {
-
58  char brtstr[50] = "BUFRLIB: INITTBF FAILED ALLOCATING CFE";
-
59 
-
60  /*
-
61  ** Has array space for the internal memory structure been
-
62  ** allocated yet?
-
63  */
-
64  if ( cfe == NULL ) {
-
65 
-
66  mxmtbf = igetprm_f("MXMTBF");
-
67 
-
68  if ( ( cfe = malloc(mxmtbf * sizeof(struct code_flag_entry)) ) == NULL ) {
-
69  bort_f(brtstr);
-
70  }
-
71  }
+
52 void
+
53 inittbf(void)
+
54 {
+
55  char brtstr[50] = "BUFRLIB: INITTBF FAILED ALLOCATING CFE";
+
56 
+
57  /*
+
58  ** Has array space for the internal memory structure been
+
59  ** allocated yet?
+
60  */
+
61  if ( cfe == NULL ) {
+
62 
+
63  mxmtbf = igetprm_f("MXMTBF");
+
64 
+
65  if ( ( cfe = malloc(mxmtbf * sizeof(struct code_flag_entry)) ) == NULL ) {
+
66  bort_f(brtstr);
+
67  }
+
68  }
+
69 
+
70  nmtf = 0;
+
71 }
72 
-
73  nmtf = 0;
-
74 }
-
75 
-
84 void
-
85 dlloctbf(void)
-
86 {
-
87  free(cfe);
-
88 
-
89  cfe = NULL;
-
90 }
-
91 
-
112 int
-
113 cmpstia1(const void *pe1, const void *pe2)
-
114 {
-
115  struct code_flag_entry *mype1 = ( struct code_flag_entry * ) pe1;
-
116  struct code_flag_entry *mype2 = ( struct code_flag_entry * ) pe2;
-
117 
-
118  if ( mype1->iffxyn == mype2->iffxyn ) {
-
119  if ( mype1->ifval == mype2->ifval ) {
-
120  if ( mype1->iffxynd == mype2->iffxynd ) {
-
121  if ( mype1->ifvald == mype2->ifvald ) return 0;
-
122  return ( mype1->ifvald < mype2->ifvald ? -1 : 1 );
-
123  }
-
124  else {
-
125  return ( mype1->iffxynd < mype2->iffxynd ? -1 : 1 );
-
126  }
-
127  }
-
128  else {
-
129  return ( mype1->ifval < mype2->ifval ? -1 : 1 );
-
130  }
-
131  }
-
132  else {
-
133  return ( mype1->iffxyn < mype2->iffxyn ? -1 : 1 );
-
134  }
-
135 }
-
136 
-
157 int
-
158 cmpstia2(const void *pe1, const void *pe2)
-
159 {
-
160  struct code_flag_entry *mype1 = ( struct code_flag_entry * ) pe1;
-
161  struct code_flag_entry *mype2 = ( struct code_flag_entry * ) pe2;
-
162 
-
163  if ( mype1->iffxyn == mype2->iffxyn ) {
-
164  if ( mype1->ifval == mype2->ifval ) return 0;
-
165  return ( mype1->ifval < mype2->ifval ? -1 : 1 );
-
166  }
-
167  else {
-
168  return ( mype1->iffxyn < mype2->iffxyn ? -1 : 1 );
-
169  }
-
170 }
-
171 
-
190 void
-
191 strtbfe(int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
-
192 {
-
193  unsigned int mnlen;
-
194 
-
195  static char brtstr[50] = "BUFRLIB: STRTBFE - MXMTBF OVERFLOW";
-
196 
-
197  /*
-
198  ** Confirm that there's room for another entry in the structure.
-
199  */
-
200  if ( nmtf >= mxmtbf ) bort_f(brtstr);
-
201 
-
202  /*
-
203  ** Store the new entry.
-
204  */
-
205  cfe[nmtf].iffxyn = ifxyn;
-
206  cfe[nmtf].ifval = ival;
-
207  mnlen = ( lmeaning > MAX_MEANING_LEN ? MAX_MEANING_LEN : lmeaning );
-
208  strncpy(&cfe[nmtf].ifmeaning[0], meaning, mnlen);
-
209  cfe[nmtf].ifmeaning[mnlen] = '\0';
-
210  cfe[nmtf].iffxynd = idfxy;
-
211  cfe[nmtf].ifvald = idval;
-
212  nmtf++;
-
213 }
-
214 
-
224 void
-
225 sorttbf(void)
-
226 {
-
227  qsort(&cfe[0], (size_t) nmtf, sizeof(struct code_flag_entry),
-
228  (int (*) (const void *, const void *)) cmpstia1);
-
229 }
-
230 
-
277 void
-
278 srchtbf(int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald,
-
279  char *meaning, int mxmng, int *lnmng, int *iret)
-
280 {
-
281  struct code_flag_entry key, *pkey, *pcfe, *pbs;
-
282 
-
283  int ipt, ii, slmng;
-
284 
-
285  *iret = -1;
-
286 
-
287  /*
-
288  ** Initialize some values for searching the internal table.
-
289  */
-
290  key.iffxyn = ifxyi;
-
291  key.ifval = ivali;
-
292  key.iffxynd = ifxyd[0];
-
293  key.ifvald = ivald;
-
294 
-
295  pkey = &key;
-
296  pcfe = &cfe[0];
-
297 
-
298  /*
-
299  ** Search for a matching entry.
-
300  */
-
301  pbs = (struct code_flag_entry *) bsearch(pkey, pcfe, (size_t) nmtf,
-
302  sizeof(struct code_flag_entry),
-
303  (int (*) (const void *, const void *)) cmpstia1);
-
304  if ( pbs != NULL ) {
-
305  /*
-
306  ** A matching entry was found, so set the appropriate output
-
307  ** values and return.
-
308  */
-
309  ipt = pbs - pcfe;
-
310  slmng = strlen(cfe[ipt].ifmeaning);
-
311  *lnmng = ( mxmng > slmng ? slmng : mxmng );
-
312  strncpy(meaning, &cfe[ipt].ifmeaning[0], *lnmng);
-
313  *iret = 0;
-
314  return;
-
315  }
-
316 
-
317  /*
-
318  ** Was a particular dependency specified in the input?
-
319  */
-
320  if ( key.iffxynd != -1 ) {
+
80 void
+
81 dlloctbf(void)
+
82 {
+
83  free(cfe);
+
84 
+
85  cfe = NULL;
+
86 }
+
87 
+
106 int
+
107 cmpstia1(const void *pe1, const void *pe2)
+
108 {
+
109  struct code_flag_entry *mype1 = ( struct code_flag_entry * ) pe1;
+
110  struct code_flag_entry *mype2 = ( struct code_flag_entry * ) pe2;
+
111 
+
112  if ( mype1->iffxyn == mype2->iffxyn ) {
+
113  if ( mype1->ifval == mype2->ifval ) {
+
114  if ( mype1->iffxynd == mype2->iffxynd ) {
+
115  if ( mype1->ifvald == mype2->ifvald ) return 0;
+
116  return ( mype1->ifvald < mype2->ifvald ? -1 : 1 );
+
117  }
+
118  else {
+
119  return ( mype1->iffxynd < mype2->iffxynd ? -1 : 1 );
+
120  }
+
121  }
+
122  else {
+
123  return ( mype1->ifval < mype2->ifval ? -1 : 1 );
+
124  }
+
125  }
+
126  else {
+
127  return ( mype1->iffxyn < mype2->iffxyn ? -1 : 1 );
+
128  }
+
129 }
+
130 
+
149 int
+
150 cmpstia2(const void *pe1, const void *pe2)
+
151 {
+
152  struct code_flag_entry *mype1 = ( struct code_flag_entry * ) pe1;
+
153  struct code_flag_entry *mype2 = ( struct code_flag_entry * ) pe2;
+
154 
+
155  if ( mype1->iffxyn == mype2->iffxyn ) {
+
156  if ( mype1->ifval == mype2->ifval ) return 0;
+
157  return ( mype1->ifval < mype2->ifval ? -1 : 1 );
+
158  }
+
159  else {
+
160  return ( mype1->iffxyn < mype2->iffxyn ? -1 : 1 );
+
161  }
+
162 }
+
163 
+
179 void
+
180 strtbfe(int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
+
181 {
+
182  unsigned int mnlen;
+
183 
+
184  static char brtstr[50] = "BUFRLIB: STRTBFE - MXMTBF OVERFLOW";
+
185 
+
186  /*
+
187  ** Confirm that there's room for another entry in the structure.
+
188  */
+
189  if ( nmtf >= mxmtbf ) bort_f(brtstr);
+
190 
+
191  /*
+
192  ** Store the new entry.
+
193  */
+
194  cfe[nmtf].iffxyn = ifxyn;
+
195  cfe[nmtf].ifval = ival;
+
196  mnlen = ( lmeaning > MAX_MEANING_LEN ? MAX_MEANING_LEN : lmeaning );
+
197  strncpy(&cfe[nmtf].ifmeaning[0], meaning, mnlen);
+
198  cfe[nmtf].ifmeaning[mnlen] = '\0';
+
199  cfe[nmtf].iffxynd = idfxy;
+
200  cfe[nmtf].ifvald = idval;
+
201  nmtf++;
+
202 }
+
203 
+
210 void
+
211 sorttbf(void)
+
212 {
+
213  qsort(&cfe[0], (size_t) nmtf, sizeof(struct code_flag_entry),
+
214  (int (*) (const void *, const void *)) cmpstia1);
+
215 }
+
216 
+
263 void
+
264 srchtbf(int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald,
+
265  char *meaning, int mxmng, int *lnmng, int *iret)
+
266 {
+
267  struct code_flag_entry key, *pkey, *pcfe, *pbs;
+
268 
+
269  int ipt, ii, slmng;
+
270 
+
271  *iret = -1;
+
272 
+
273  /*
+
274  ** Initialize some values for searching the internal table.
+
275  */
+
276  key.iffxyn = ifxyi;
+
277  key.ifval = ivali;
+
278  key.iffxynd = ifxyd[0];
+
279  key.ifvald = ivald;
+
280 
+
281  pkey = &key;
+
282  pcfe = &cfe[0];
+
283 
+
284  /*
+
285  ** Search for a matching entry.
+
286  */
+
287  pbs = (struct code_flag_entry *) bsearch(pkey, pcfe, (size_t) nmtf,
+
288  sizeof(struct code_flag_entry),
+
289  (int (*) (const void *, const void *)) cmpstia1);
+
290  if ( pbs != NULL ) {
+
291  /*
+
292  ** A matching entry was found, so set the appropriate output
+
293  ** values and return.
+
294  */
+
295  ipt = pbs - pcfe;
+
296  slmng = strlen(cfe[ipt].ifmeaning);
+
297  *lnmng = ( mxmng > slmng ? slmng : mxmng );
+
298  strncpy(meaning, &cfe[ipt].ifmeaning[0], *lnmng);
+
299  *iret = 0;
+
300  return;
+
301  }
+
302 
+
303  /*
+
304  ** Was a particular dependency specified in the input?
+
305  */
+
306  if ( key.iffxynd != -1 ) {
+
307  /*
+
308  ** YES, so there's nothing else to do.
+
309  */
+
310  return;
+
311  }
+
312 
+
313  /*
+
314  ** NO, so check whether the given Table B descriptor and value have any
+
315  ** dependencies, and if so then return a list of those dependencies.
+
316  */
+
317  pbs = (struct code_flag_entry *) bsearch(pkey, pcfe, (size_t) nmtf,
+
318  sizeof(struct code_flag_entry),
+
319  (int (*) (const void *, const void *)) cmpstia2);
+
320  if ( pbs == NULL ) {
321  /*
-
322  ** YES, so there's nothing else to do.
+
322  ** There are no dependencies.
323  */
324  return;
325  }
326 
327  /*
-
328  ** NO, so check whether the given Table B descriptor and value have any
-
329  ** dependencies, and if so then return a list of those dependencies.
-
330  */
-
331  pbs = (struct code_flag_entry *) bsearch(pkey, pcfe, (size_t) nmtf,
-
332  sizeof(struct code_flag_entry),
-
333  (int (*) (const void *, const void *)) cmpstia2);
-
334  if ( pbs == NULL ) {
-
335  /*
-
336  ** There are no dependencies.
-
337  */
-
338  return;
-
339  }
-
340 
-
341  /*
-
342  ** Store the dependency that was returned by the secondary search.
-
343  ** However, there may be others within the internal table, so we'll
-
344  ** also need to check for those.
-
345  */
-
346  ipt = pbs - pcfe;
-
347  *iret = 0;
-
348  ifxyd[(*iret)++] = cfe[ipt].iffxynd;
-
349 
-
350  /*
-
351  ** Since the internal table is sorted, check immediately before and
-
352  ** after the returned dependency for any additional table entries which
-
353  ** correspond to the same Table B descriptor and value, but for which the
-
354  ** dependency is different. If any such additional dependencies are
-
355  ** found, return those as well.
-
356  */
-
357  ii = ipt - 1;
-
358  while ( ( ii >= 0 ) &&
-
359  ( *iret < mxfxyd ) &&
-
360  ( cfe[ii].iffxyn == key.iffxyn ) &&
-
361  ( cfe[ii].ifval == key.ifval ) ) {
-
362  if ( cfe[ii].iffxynd < ifxyd[(*iret)-1] )
-
363  ifxyd[(*iret)++] = cfe[ii].iffxynd;
-
364  ii--;
-
365  }
-
366  ii = ipt + 1;
-
367  while ( ( ii < nmtf ) &&
-
368  ( *iret < mxfxyd ) &&
-
369  ( cfe[ii].iffxyn == key.iffxyn ) &&
-
370  ( cfe[ii].ifval == key.ifval ) ) {
-
371  if ( ( cfe[ii].iffxynd > ifxyd[(*iret)-1] ) &&
-
372  ( cfe[ii].iffxynd > cfe[ipt].iffxynd ) )
-
373  ifxyd[(*iret)++] = cfe[ii].iffxynd;
-
374  ii++;
-
375  }
-
376 
-
377  return;
-
378 }
+
328  ** Store the dependency that was returned by the secondary search.
+
329  ** However, there may be others within the internal table, so we'll
+
330  ** also need to check for those.
+
331  */
+
332  ipt = pbs - pcfe;
+
333  *iret = 0;
+
334  ifxyd[(*iret)++] = cfe[ipt].iffxynd;
+
335 
+
336  /*
+
337  ** Since the internal table is sorted, check immediately before and
+
338  ** after the returned dependency for any additional table entries which
+
339  ** correspond to the same Table B descriptor and value, but for which the
+
340  ** dependency is different. If any such additional dependencies are
+
341  ** found, return those as well.
+
342  */
+
343  ii = ipt - 1;
+
344  while ( ( ii >= 0 ) &&
+
345  ( *iret < mxfxyd ) &&
+
346  ( cfe[ii].iffxyn == key.iffxyn ) &&
+
347  ( cfe[ii].ifval == key.ifval ) ) {
+
348  if ( cfe[ii].iffxynd < ifxyd[(*iret)-1] )
+
349  ifxyd[(*iret)++] = cfe[ii].iffxynd;
+
350  ii--;
+
351  }
+
352  ii = ipt + 1;
+
353  while ( ( ii < nmtf ) &&
+
354  ( *iret < mxfxyd ) &&
+
355  ( cfe[ii].iffxyn == key.iffxyn ) &&
+
356  ( cfe[ii].ifval == key.ifval ) ) {
+
357  if ( ( cfe[ii].iffxynd > ifxyd[(*iret)-1] ) &&
+
358  ( cfe[ii].iffxynd > cfe[ipt].iffxynd ) )
+
359  ifxyd[(*iret)++] = cfe[ii].iffxynd;
+
360  ii++;
+
361  }
+
362 
+
363  return;
+
364 }
int igetprm_f(char *cprmnm)
Get the current value of a parameter.
Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
void bort_f(char *errstr)
Log one error message and abort application program.
-
void dlloctbf(void)
Free all dynamically-allocated memory for internal storage of master Code/Flag table entries.
Definition: cfe.c:85
-
int cmpstia2(const void *pe1, const void *pe2)
Define a comparison between two master Code/Flag table entries.
Definition: cfe.c:158
+
void dlloctbf(void)
Free all dynamically-allocated memory for internal storage of master Code/Flag table entries.
Definition: cfe.c:81
+
int cmpstia2(const void *pe1, const void *pe2)
Define a comparison between two master Code/Flag table entries.
Definition: cfe.c:150
#define MAX_MEANING_LEN
Maximum length of a meaning string for a Code/Flag table entry.
Definition: cfe.c:11
-
int cmpstia1(const void *pe1, const void *pe2)
Define a comparison between two master Code/Flag table entries.
Definition: cfe.c:113
-
void inittbf(void)
Initialize memory for internal storage of master Code/Flag table entries.
Definition: cfe.c:56
-
void srchtbf(int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald, char *meaning, int mxmng, int *lnmng, int *iret)
Search for a specified master Code/Flag table entry.
Definition: cfe.c:278
+
int cmpstia1(const void *pe1, const void *pe2)
Define a comparison between two master Code/Flag table entries.
Definition: cfe.c:107
+
void inittbf(void)
Initialize memory for internal storage of master Code/Flag table entries, including dynamically alloc...
Definition: cfe.c:53
+
void srchtbf(int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald, char *meaning, int mxmng, int *lnmng, int *iret)
Search for a specified master Code/Flag table entry.
Definition: cfe.c:264
struct code_flag_entry * cfe
Master Code/Flag table entries.
Definition: cfe.c:34
int mxmtbf
Maximum number of master Code/Flag table entries, counting across all individual Code/Flag tables,...
Definition: cfe.c:41
-
void strtbfe(int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
Store a new master Code/Flag table entry.
Definition: cfe.c:191
+
void strtbfe(int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
Store a new master Code/Flag table entry.
Definition: cfe.c:180
int nmtf
Number of stored master Code/Flag table entries in cfe, up to a maximum of MXMTBF.
Definition: cfe.c:44
-
void sorttbf(void)
Sort entries within the master Code/Flag table.
Definition: cfe.c:225
-
integer(8), dimension(:), allocatable ival
BUFR data subset values.
+
void sorttbf(void)
Sort entries within the master Code/Flag table, in preparation for future searches using function src...
Definition: cfe.c:211
+
integer *8, dimension(:), allocatable ival
BUFR data subset values.
diff --git a/cftbvs_8F90.html b/cftbvs_8F90.html new file mode 100644 index 000000000..75e7f01de --- /dev/null +++ b/cftbvs_8F90.html @@ -0,0 +1,463 @@ + + + + + + + +NCEPLIBS-bufr: cftbvs.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
cftbvs.F90 File Reference
+
+
+ +

Convert between code or flag table values and actual data values. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Functions/Subroutines

recursive subroutine getcfmng (lunit, nemoi, ivali, nemod, ivald, cmeang, lnmng, iret)
 Decode the meaning of a numerical value from a code or flag table. More...
 
recursive real *8 function pkftbv (nbits, ibit)
 Compute the numerical value equivalent to the setting of bit #(ibit) within a flag table of nbits bits. More...
 
recursive subroutine ufbqcd (lunit, nemo, iqcd)
 Given a mnemonic associated with a category 63 Table D descriptor from an NCEP prepbufr file, return the corresponding event program code. More...
 
recursive subroutine ufbqcp (lunit, iqcp, nemo)
 Given an event program code, which is equivalent to the Y value of a category 63 Table D descriptor from an NCEP prepbufr file, return the corresponding mnemonic. More...
 
recursive subroutine upftbv (lunit, nemo, val, mxib, ibit, nib)
 Given a Table B mnemonic with flag table units and a corresponding numerical data value, this subroutine determines the bit settings equivalent to that numerical value. More...
 
+

Detailed Description

+

Convert between code or flag table values and actual data values.

+
Author
J. Ator
+
Date
2005-11-29
+ +

Definition in file cftbvs.F90.

+

Function/Subroutine Documentation

+ +

◆ getcfmng()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine getcfmng (integer, intent(in) lunit,
character*(*), intent(in) nemoi,
integer, intent(in) ivali,
character*(*), intent(in) nemod,
integer, intent(in) ivald,
character*(*), intent(out) cmeang,
integer, intent(out) lnmng,
integer, intent(out) iret 
)
+
+ +

Decode the meaning of a numerical value from a code or flag table.

+

Search for a specified Table B mnemonic and associated value (code figure or bit number) within the master Code/Flag tables, and if found return the associated meaning as a character string.

+
Parameters
+ + + + + + + + + +
lunit- Fortran logical unit number for BUFR file
nemoi- Mnemonic to search for
ivali- Value (code figure or bit number) associated with nemoi
nemod- Optional second mnemonic upon which the values nemoi and ivali depend; set to all blank characters if the meanings of nemoi and ivali do not depend on the value of any other mnemonic
ivald- Value (code figure or bit number) associated with nemod; set to (-1) whenever nemod is set to all blank characters
cmeang- If the initial search of the master Code/Flag tables was successful, then this string contains the meaning corresponding to nemoi and ivali (and to nemod and ivald, if specified). However, if the initial search was unsuccessful, and if no optional second mnemonic and associated value were specified on input, and if a second search of the table determines that the meaning of nemoi and ivali indeed depends on one or more other possible second mnemonics, then those possible second mnemonics are returned within this string, as a series of iret successive 8-byte substrings. An example of this scenario is included below within the Remarks.
lnmng- Length (in bytes) of string returned in cmeang
iret- Return code
    +
  • 0 = meaning found and stored in cmeang string
  • +
  • -1 = meaning not found
  • +
  • >0 = meaning not found, and nemod and ivald were not specified on input, and the meaning of nemoi and ivali depends on the value of one of the mnemonics stored in the first iret 8-byte substrings of cmeang
  • +
+
+
+
+

As noted above, this subroutine first does an initial search of the master Code/Flag tables based on the mnemonics and values provided. The input parameters nemoi and ivali specify the mnemonic and corresponding numerical code or flag table value for which the meaning is sought, and the optional secondary parameters nemod and ivald are specified when needed to differentiate between multiple possible results. An example of this particular scenario is included below within the Remarks. Otherwise, if the meaning of nemod and ivald does not depend on the value associated with any other mnemonic, then nemod should be set to a field of all blank characters, and ivald should be set to a value of (-1).

+

Subroutine codflg() must be called with a cf value of 'Y' prior to calling this subroutine, in order to ensure that master Code/Flag tables have been read into internal memory.

+

This subroutine can be called at any time after a BUFR message has been read into internal arrays by one of the NCEPLIBS-bufr message-reading subroutines, and it can be called for any code or flag table mnemonic defined within that particular message. In most cases, this means that the mnemonic must be contained within the subset definition (Section 3) of that message. The only exceptions to this rule are for originating centers, originating subcenters, data types and data subtypes, since those can also be contained within the identification section (Section 1) of a BUFR message.

+

It is the user's responsibility to provide sufficient allocated space in cmeang for the returned meaning string; otherwise, the returned string will be truncated.

+
Remarks
    +
  • An example of when secondary mnemonics nemod and ivald would be required is when a user is searching for the meaning of a numerical code table value for an originating sub-center (i.e. mnemonic GSES). The meaning of any originating sub-center value depends on the identity of the originating center for which the sub-center in question is a member, so in order for the subroutine to locate and return the proper one, information about the originating center must also be provided. So in this case the user would input GSES and the associated numerical value as nemoi and ivali, respectively, but the user would also need to specify an appropriate originating center mnemonic (e.g. GCLONG, OGCE or ORIGC) and associated value from the same BUFR message as input parameters nemod and ivald, respectively, and then the subroutine will be able to locate and return the appropriate meaning string. Otherwise, if this information was not provided, the subroutine would return with an iret value of 3, and with each of the mnemonics GCLONG, OGCE and ORIGC contained in successive 8-byte substrings of cmeang (and with a corresponding value of 24 returned for lnmng), as a hint to the user that more information needs to be input to the subroutine in order to achieve the desired result.
  • +
+
+
Author
J. Ator
+
Date
2018-01-11
+ +

Definition at line 219 of file cftbvs.F90.

+ +

References bort(), moda_tablef::cdmf, ifxy(), ireadmt(), nemtab(), numtbd(), parstr(), status(), moda_tababd::tabb, x48(), and x84().

+ +

Referenced by fdebufr_c(), and satcode().

+ +
+
+ +

◆ pkftbv()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive real*8 function pkftbv (integer, intent(in) nbits,
integer, intent(in) ibit 
)
+
+ +

Compute the numerical value equivalent to the setting of bit #(ibit) within a flag table of nbits bits.

+

If the computation fails for any reason, then the function returns the current placeholder value for "missing" data.

+
Parameters
+ + + +
nbits- Total number of bits in flag table
ibit- Number of bit to be set
+
+
+
Returns
pkftbv - real*8: Value equivalent to the setting of bit #(ibit) within a flag table of nbits bits
+
Remarks
    +
  • This function is the logical inverse of subroutine upftbv().
  • +
  • According to the WMO standard, bits within a bit field are numbered from left to right, so bit #1 is always the high-order (i.e. most significant) bit in any bit field.
  • +
+
+
Author
J. Ator
+
Date
2005-11-29
+ +

Definition at line 21 of file cftbvs.F90.

+ +

References x84().

+ +
+
+ +

◆ ufbqcd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine ufbqcd (integer, intent(in) lunit,
character*(*), intent(in) nemo,
integer, intent(out) iqcd 
)
+
+ +

Given a mnemonic associated with a category 63 Table D descriptor from an NCEP prepbufr file, return the corresponding event program code.

+

The event program code is equivalent to the Y value of the category 63 (i.e. X=63) Table D descriptor. Knowledge of this value is especially useful for application programs which are writing data events to NCEP prepbufr files.

+

Logical unit lunit should have already been opened via a previous call to subroutine openbf().

+

This subroutine is the logical inverse of subroutine ufbqcp().

+
Parameters
+ + + + +
lunit- Fortran logical unit number for NCEP prepbufr file
nemo- Mnemonic associated with a category 63 (i.e. X=63) Table D descriptor
iqcd- Y value of descriptor associated with nemo
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 395 of file cftbvs.F90.

+ +

References adn30(), bort(), nemtab(), status(), x48(), and x84().

+ +
+
+ +

◆ ufbqcp()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine ufbqcp (integer, intent(in) lunit,
integer, intent(in) iqcp,
character*(*), intent(out) nemo 
)
+
+ +

Given an event program code, which is equivalent to the Y value of a category 63 Table D descriptor from an NCEP prepbufr file, return the corresponding mnemonic.

+

Logical unit lunit should have already been opened via a previous call to subroutine openbf().

+

This subroutine is the logical inverse of subroutine ufbqcd().

+
Parameters
+ + + + +
lunit- Fortran logical unit number for NCEP prepbufr file
iqcp- Y value of a category 63 (i.e. X=63) Table D descriptor
nemo- Mnemonic associated with iqcp
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 455 of file cftbvs.F90.

+ +

References bort(), ifxy(), numtab(), status(), and x84().

+ +
+
+ +

◆ upftbv()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine upftbv (integer, intent(in) lunit,
character*(*), intent(in) nemo,
real*8, intent(in) val,
integer, intent(in) mxib,
integer, dimension(*), intent(out) ibit,
integer, intent(out) nib 
)
+
+ +

Given a Table B mnemonic with flag table units and a corresponding numerical data value, this subroutine determines the bit settings equivalent to that numerical value.

+

This subroutine is the logical inverse of function pkftbv().

+

According to the WMO standard, bits within a bit field are numbered from left to right, so bit #1 is always the high-order i.e. most significant) bit in any bit field.

+
Parameters
+ + + + + + + +
lunit- Fortran logical unit number for BUFR file
nemo- Table B mnemonic with flag table units
val- Value corresponding to nemo
mxib- Dimensioned size (in integers) of ibit in the calling program; used by the subroutine to ensure that it doesn't overflow the ibit array
ibit- Bit numbers which were set to "On" (i.e. set to "1") in val
nib- Number of bit numbers returned in ibit
+
+
+
Author
J. Ator
+
Date
2005-11-29
+ +

Definition at line 69 of file cftbvs.F90.

+ +

References bort(), nemtab(), status(), strnum(), moda_tababd::tabb, x48(), and x84().

+ +

Referenced by ufbdmp(), and ufdump().

+ +
+
+
+
+ + + + diff --git a/cftbvs_8F90.js b/cftbvs_8F90.js new file mode 100644 index 000000000..055fa4889 --- /dev/null +++ b/cftbvs_8F90.js @@ -0,0 +1,8 @@ +var cftbvs_8F90 = +[ + [ "getcfmng", "cftbvs_8F90.html#af113e7ee7e2023cd466c2b28616cd64a", null ], + [ "pkftbv", "cftbvs_8F90.html#a46efecc01f463c64fe193b800fff9a35", null ], + [ "ufbqcd", "cftbvs_8F90.html#aa1388284ca8a4e435989e8a6eb551935", null ], + [ "ufbqcp", "cftbvs_8F90.html#abf6e01afd6c876d1319e25f9d591315b", null ], + [ "upftbv", "cftbvs_8F90.html#ac7a8caa03ed8a2ac40a541762ca7e917", null ] +]; \ No newline at end of file diff --git a/cftbvs_8F90_source.html b/cftbvs_8F90_source.html new file mode 100644 index 000000000..84ab2e522 --- /dev/null +++ b/cftbvs_8F90_source.html @@ -0,0 +1,461 @@ + + + + + + + +NCEPLIBS-bufr: cftbvs.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
cftbvs.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
21 recursive real*8 function pkftbv(nbits,ibit) result(r8val)
+
22 
+
23  use modv_vars, only: im8b, bmiss
+
24 
+
25  implicit none
+
26 
+
27  integer, intent(in) :: nbits, ibit
+
28  integer my_nbits, my_ibit
+
29 
+
30  ! Check for I8 integers.
+
31 
+
32  if(im8b) then
+
33  im8b=.false.
+
34 
+
35  call x84(nbits,my_nbits,1)
+
36  call x84(ibit,my_ibit,1)
+
37  r8val=pkftbv(my_nbits,my_ibit)
+
38 
+
39  im8b=.true.
+
40  return
+
41  endif
+
42 
+
43  if((nbits<=0).or.(ibit<=0).or.(ibit>nbits)) then
+
44  r8val = bmiss
+
45  else
+
46  r8val = (2.)**(nbits-ibit)
+
47  endif
+
48 
+
49  return
+
50 end function pkftbv
+
51 
+
69 recursive subroutine upftbv(lunit,nemo,val,mxib,ibit,nib)
+
70 
+
71  use modv_vars, only: im8b
+
72 
+
73  use moda_tababd
+
74 
+
75  implicit none
+
76 
+
77  integer, intent(in) :: lunit, mxib
+
78  integer, intent(out) :: ibit(*), nib
+
79  integer my_lunit, my_mxib, lun, il, im, idn, i, n, nbits, iersn
+
80 
+
81  character*(*), intent(in) :: nemo
+
82  character*128 bort_str
+
83  character tab
+
84 
+
85  real*8, intent(in) :: val
+
86  real*8 r8val, r82i
+
87 
+
88  ! Check for I8 integers.
+
89 
+
90  if(im8b) then
+
91  im8b=.false.
+
92 
+
93  call x84(lunit,my_lunit,1)
+
94  call x84(mxib,my_mxib,1)
+
95  call upftbv( my_lunit, nemo, val, my_mxib*2, ibit, nib )
+
96  call x48(ibit(1),ibit(1),nib)
+
97  call x48(nib,nib,1)
+
98 
+
99  im8b=.true.
+
100  return
+
101  endif
+
102 
+
103  ! Perform some sanity checks.
+
104 
+
105  call status(lunit,lun,il,im)
+
106  if(il==0) call bort('BUFRLIB: UPFTBV - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
107 
+
108  call nemtab(lun,nemo,idn,tab,n)
+
109  if(n==0) then
+
110  write(bort_str,'("BUFRLIB: UPFTBV - MNEMONIC ",A," NOT FOUND IN TABLE B")') nemo
+
111  call bort(bort_str)
+
112  endif
+
113  if(tabb(n,lun)(71:74)/='FLAG') then
+
114  write(bort_str,'("BUFRLIB: UPFTBV - MNEMONIC ",A," IS NOT A FLAG TABLE")') nemo
+
115  call bort(bort_str)
+
116  endif
+
117 
+
118  ! Figure out which bits are set.
+
119 
+
120  nib = 0
+
121  r8val = val
+
122  call strnum(tabb(n,lun)(110:112),nbits,iersn)
+
123  do i=(nbits-1),0,-1
+
124  r82i = (2.)**i
+
125  if(abs(r8val-r82i)<(0.005)) then
+
126  nib = nib + 1
+
127  if(nib>mxib) call bort('BUFRLIB: UPFTBV - IBIT ARRAY OVERFLOW')
+
128  ibit(nib) = nbits-i
+
129  return
+
130  elseif(r82i<r8val) then
+
131  nib = nib + 1
+
132  if(nib>mxib) call bort('BUFRLIB: UPFTBV - IBIT ARRAY OVERFLOW')
+
133  ibit(nib) = nbits-i
+
134  r8val = r8val - r82i
+
135  endif
+
136  enddo
+
137 
+
138  return
+
139 end subroutine upftbv
+
140 
+
219 recursive subroutine getcfmng ( lunit, nemoi, ivali, nemod, ivald, cmeang, lnmng, iret )
+
220 
+
221  use bufrlib
+
222 
+
223  use modv_vars, only: im8b
+
224 
+
225  use moda_tababd
+
226  use moda_tablef
+
227 
+
228  implicit none
+
229 
+
230  integer, intent(in) :: lunit, ivali, ivald
+
231  integer, intent(out) :: lnmng, iret
+
232  integer ifxyd(10), my_lunit, my_ivali, my_ivald, lun, il, im, itmp, ii, ifxyi, lcmg, n, ntg, iret2, ierbd, ifxy, ireadmt
+
233 
+
234  character*(*), intent(in) :: nemoi, nemod
+
235  character*(*), intent(out) :: cmeang
+
236  character*128 bort_str
+
237  character*8 nemo, my_nemoi, my_nemod
+
238  character tab
+
239 
+
240  ! Check for I8 integers
+
241 
+
242  if(im8b) then
+
243  im8b=.false.
+
244 
+
245  call x84(lunit,my_lunit,1)
+
246  call x84(ivali,my_ivali,1)
+
247  call x84(ivald,my_ivald,1)
+
248  call getcfmng(my_lunit,nemoi,my_ivali,nemod,my_ivald,cmeang,lnmng,iret)
+
249  call x48(lnmng,lnmng,1)
+
250  call x48(iret,iret,1)
+
251 
+
252  im8b=.true.
+
253  return
+
254  endif
+
255 
+
256  call status ( lunit, lun, il, im )
+
257  if ( il == 0 ) call bort('BUFRLIB: GETCFMNG - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
258  if ( il > 0 ) call bort('BUFRLIB: GETCFMNG - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
259  if ( im == 0 ) call bort('BUFRLIB: GETCFMNG - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
260 
+
261  ! Make sure the appropriate code/flag information has already been read into internal memory.
+
262 
+
263  if ( cdmf /= 'Y' ) call bort('BUFRLIB: GETCFMNG - TO USE THIS SUBROUTINE, MUST '// &
+
264  'FIRST CALL SUBROUTINE CODFLG WITH INPUT ARGUMENT SET TO Y')
+
265 
+
266  itmp = ireadmt( lun )
+
267 
+
268  ! Check the validity of the input mnemonic(s). Include special handling for originating centers, originating subcenters, data
+
269  ! types and data subtypes, since those can be reported in Section 1 of a BUFR message as well as in Section 3, so if a user
+
270  ! requests those mnemonics we can't necessarily assume they came from within Section 3.
+
271 
+
272  lcmg = len( cmeang )
+
273 
+
274  my_nemoi = ' '
+
275  do ii = 1, min( 8, len( nemoi ) )
+
276  my_nemoi(ii:ii) = nemoi(ii:ii)
+
277  end do
+
278  my_nemod = ' '
+
279  do ii = 1, min( 8, len( nemod ) )
+
280  my_nemod(ii:ii) = nemod(ii:ii)
+
281  end do
+
282  if ( my_nemoi(1:4) == 'GSES' ) then
+
283  if ( ( my_nemod(1:6) == 'GCLONG' ) .or. ( my_nemod(1:4) == 'OGCE' ) .or. ( my_nemod(1:5) == 'ORIGC' ) ) then
+
284  ifxyi = ifxy( '001034' )
+
285  ifxyd(1) = ifxy( '001035' )
+
286  else
+
287  lnmng = min( 24, lcmg )
+
288  if ( lnmng == 24 ) then
+
289  iret = 3
+
290  cmeang(1:24) = 'GCLONG OGCE ORIGC '
+
291  else
+
292  iret = -1
+
293  end if
+
294  return
+
295  end if
+
296  else if ( my_nemoi(1:6) == 'GCLONG' ) then
+
297  ifxyi = ifxy( '001031' )
+
298  ifxyd(1) = (-1)
+
299  else if ( my_nemoi(1:4) == 'OGCE' ) then
+
300  ifxyi = ifxy( '001033' )
+
301  ifxyd(1) = (-1)
+
302  else if ( my_nemoi(1:5) == 'ORIGC' ) then
+
303  ifxyi = ifxy( '001035' )
+
304  ifxyd(1) = (-1)
+
305  else if ( ( my_nemoi(1:7) == 'TABLASS' ) .or. ( my_nemoi(1:7) == 'TABLASL' ) ) then
+
306  if ( ( my_nemod(1:6) == 'TABLAT' ) ) then
+
307  if ( my_nemoi(1:7) == 'TABLASS' ) then
+
308  ifxyi = ifxy( '055021' )
+
309  else
+
310  ifxyi = ifxy( '055022' )
+
311  endif
+
312  ifxyd(1) = ifxy( '055020' )
+
313  else
+
314  lnmng = min( 8, lcmg )
+
315  if ( lnmng == 8 ) then
+
316  iret = 1
+
317  cmeang(1:8) = 'TABLAT '
+
318  else
+
319  iret = -1
+
320  end if
+
321  return
+
322  end if
+
323  else if ( my_nemoi(1:6) == 'TABLAT' ) then
+
324  ifxyi = ifxy( '055020' )
+
325  ifxyd(1) = (-1)
+
326  else
+
327  call parstr ( my_nemoi, nemo, 1, ntg, ' ', .true. )
+
328  call nemtab ( lun, nemo, ifxyi, tab, n )
+
329  if ( ( n == 0 ) .or. ( tab /= 'B' ) ) then
+
330  write(bort_str,'("BUFRLIB: GETCFMNG - MNEMONIC ",A," NOT FOUND IN TABLE B")') nemo
+
331  call bort(bort_str)
+
332  endif
+
333  if ( ( tabb( n, lun )(71:74) /= 'CODE' ) .and. ( tabb( n, lun )(71:74) /= 'FLAG' ) ) then
+
334  write(bort_str,'("BUFRLIB: GETCFMNG - MNEMONIC ",A," IS NOT A CODE OR FLAG TABLE")') nemo
+
335  call bort(bort_str)
+
336  endif
+
337  if ( my_nemod(1:1) /= ' ' ) then
+
338  call parstr ( my_nemod, nemo, 1, ntg, ' ', .true. )
+
339  call nemtab ( lun, nemo, ifxyd(1), tab, n )
+
340  if ( ( n == 0 ) .or. ( tab /= 'B' ) ) then
+
341  write(bort_str,'("BUFRLIB: GETCFMNG - MNEMONIC ",A," NOT FOUND IN TABLE B")') nemo
+
342  call bort(bort_str)
+
343  endif
+
344  if ( ( tabb( n, lun )(71:74) /= 'CODE' ) .and. ( tabb( n, lun )(71:74) /= 'FLAG' ) ) then
+
345  write(bort_str,'("BUFRLIB: GETCFMNG - MNEMONIC ",A," IS NOT A CODE OR FLAG TABLE")') nemo
+
346  call bort(bort_str)
+
347  endif
+
348  else
+
349  ifxyd(1) = (-1)
+
350  end if
+
351  end if
+
352 
+
353  ! Search the internal table for the requested meaning.
+
354 
+
355  call srchtbf_c ( ifxyi, ivali, ifxyd(1), 10, ivald, cmeang, lcmg, lnmng, iret )
+
356  if ( iret <= 0 ) return
+
357 
+
358  ! The meaning of this value is dependent on the value of another mnemonic in the report.
+
359 
+
360  iret2 = iret
+
361  lnmng = 0
+
362  iret = 0
+
363  do ii = 1, iret2
+
364  call numtbd ( lun, ifxyd(ii), nemo, tab, ierbd )
+
365  if ( ( ierbd > 0 ) .and. ( tab == 'B' ) .and. ( lcmg >= ( lnmng + 8 ) ) ) then
+
366  iret = iret + 1
+
367  cmeang(lnmng+1:lnmng+8) = nemo
+
368  lnmng = lnmng + 8
+
369  end if
+
370  end do
+
371  if ( iret == 0 ) iret = -1
+
372 
+
373  return
+
374 end subroutine getcfmng
+
375 
+
395 recursive subroutine ufbqcd(lunit,nemo,iqcd)
+
396 
+
397  use modv_vars, only: im8b
+
398 
+
399  implicit none
+
400 
+
401  integer, intent(in) :: lunit
+
402  integer, intent(out) :: iqcd
+
403  integer my_lunit, lun, il, im, idn, iret
+
404 
+
405  character*(*), intent(in) :: nemo
+
406  character*128 bort_str
+
407  character*6 fxy, adn30
+
408  character tab
+
409 
+
410  ! Check for I8 integers
+
411 
+
412  if(im8b) then
+
413  im8b=.false.
+
414  call x84(lunit,my_lunit,1)
+
415  call ufbqcd(my_lunit,nemo,iqcd)
+
416  call x48(iqcd,iqcd,1)
+
417  im8b=.true.
+
418  return
+
419  endif
+
420 
+
421  call status(lunit,lun,il,im)
+
422  if(il==0) call bort('BUFRLIB: UFBQCD - BUFR FILE IS CLOSED, IT MUST BE OPEN')
+
423 
+
424  call nemtab(lun,nemo,idn,tab,iret)
+
425  if(tab/='D') then
+
426  write(bort_str,'("BUFRLIB: UFBQCD - INPUT MNEMONIC ",A," NOT DEFINED AS A SEQUENCE DESCRIPTOR IN BUFR TABLE")') nemo
+
427  call bort(bort_str)
+
428  endif
+
429 
+
430  fxy = adn30(idn,6)
+
431  if(fxy(2:3)/='63') then
+
432  write(bort_str,'("BUFRLIB: UFBQCD - BUFR TABLE SEQ. DESCRIPTOR '// &
+
433  'ASSOC. WITH INPUT MNEMONIC ",A," HAS INVALID CATEGORY ",A," - CATEGORY MUST BE 63")') nemo, fxy(2:3)
+
434  call bort(bort_str)
+
435  endif
+
436  read(fxy(4:6),'(I3)') iqcd
+
437 
+
438  return
+
439 end subroutine ufbqcd
+
440 
+
455 recursive subroutine ufbqcp(lunit,iqcp,nemo)
+
456 
+
457  use modv_vars, only: im8b
+
458 
+
459  implicit none
+
460 
+
461  integer, intent(in) :: lunit, iqcp
+
462  integer my_lunit, my_iqcp, lun, il, im, idn, iret, ifxy
+
463 
+
464  character*(*), intent(out) :: nemo
+
465  character tab
+
466 
+
467  ! Check for I8 integers
+
468 
+
469  if(im8b) then
+
470  im8b=.false.
+
471  call x84(lunit,my_lunit,1)
+
472  call x84(iqcp,my_iqcp,1)
+
473  call ufbqcp(my_lunit,my_iqcp,nemo)
+
474  im8b=.true.
+
475  return
+
476  endif
+
477 
+
478  call status(lunit,lun,il,im)
+
479  if(il==0) call bort('BUFRLIB: UFBQCP - BUFR FILE IS CLOSED, IT MUST BE OPEN')
+
480 
+
481  idn = ifxy('363000')+iqcp
+
482  call numtab(lun,idn,nemo,tab,iret)
+
483 
+
484  return
+
485 end subroutine ufbqcp
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
recursive real *8 function pkftbv(nbits, ibit)
Compute the numerical value equivalent to the setting of bit #(ibit) within a flag table of nbits bit...
Definition: cftbvs.F90:22
+
recursive subroutine ufbqcd(lunit, nemo, iqcd)
Given a mnemonic associated with a category 63 Table D descriptor from an NCEP prepbufr file,...
Definition: cftbvs.F90:396
+
recursive subroutine ufbqcp(lunit, iqcp, nemo)
Given an event program code, which is equivalent to the Y value of a category 63 Table D descriptor f...
Definition: cftbvs.F90:456
+
recursive subroutine upftbv(lunit, nemo, val, mxib, ibit, nib)
Given a Table B mnemonic with flag table units and a corresponding numerical data value,...
Definition: cftbvs.F90:70
+
recursive subroutine getcfmng(lunit, nemoi, ivali, nemod, ivald, cmeang, lnmng, iret)
Decode the meaning of a numerical value from a code or flag table.
Definition: cftbvs.F90:220
+
subroutine nemtab(lun, nemo, idn, tab, iret)
Get information about a descriptor, based on a mnemonic.
Definition: fxy.F90:432
+
subroutine numtab(lun, idn, nemo, tab, iret)
Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
Definition: fxy.F90:357
+
subroutine numtbd(lun, idn, nemo, tab, iret)
Get information about a Table B or Table D descriptor, based on the WMO bit-wise representation of an...
Definition: fxy.F90:290
+
integer function ifxy(adsc)
Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
Definition: fxy.F90:152
+
character *(*) function adn30(idn, ldn)
Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.
Definition: fxy.F90:18
+ +
integer function ireadmt(lun)
Check the most recent BUFR message that was read via a call to one of the message-reading subroutines...
+
recursive subroutine strnum(str, num, iret)
Decode an integer from a character string.
Definition: misc.F90:177
+
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
Definition: bufrlib.F90:11
+
Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
+
character *128, dimension(:,:), allocatable tabb
Table B entries for each file ID.
+
Declare a variable used to indicate whether master code and flag tables should be read.
+
character cdmf
Flag indicating whether to include code and flag table information during reads of master BUFR tables...
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
subroutine parstr(str, tags, mtag, ntag, sep, limit80)
Parse a string containing one or more substrings into an array of substrings.
Definition: strings.F90:473
+
subroutine x48(iin4, iout8, nval)
Encode one or more 4-byte integer values as 8-byte integer values.
Definition: x4884.F90:18
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/cidecode_8F90.html b/cidecode_8F90.html new file mode 100644 index 000000000..4b307d055 --- /dev/null +++ b/cidecode_8F90.html @@ -0,0 +1,616 @@ + + + + + + + +NCEPLIBS-bufr: cidecode.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
cidecode.F90 File Reference
+
+
+ +

Decode character strings and integer values. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions/Subroutines

recursive integer function iupb (mbay, nbyt, nbit)
 Decode an integer value from within a specified number of bits of an integer array, starting with the first bit of a specified byte of the array. More...
 
recursive integer function iupm (cbay, nbits)
 Decode an integer value from within a specified number of bits of a character string, starting with the first bit of the first byte of the string. More...
 
subroutine up8 (nval, nbits, ibay, ibit)
 Decode an 8-byte integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
subroutine upb (nval, nbits, ibay, ibit)
 Decode an integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
subroutine upb8 (nval, nbits, ibit, ibay)
 Decode an 8-byte integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
subroutine upbb (nval, nbits, ibit, ibay)
 Decode an integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
subroutine upc (chr, nchr, ibay, ibit, cnvnull)
 Decode a character string from within a specified number of bytes of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
real *8 function ups (ival, node)
 Unpack a real*8 value from an integer by applying the proper scale and reference values. More...
 
+

Detailed Description

+

Decode character strings and integer values.

+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition in file cidecode.F90.

+

Function/Subroutine Documentation

+ +

◆ iupb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
recursive integer function iupb (integer, dimension(*), intent(in) mbay,
integer, intent(in) nbyt,
integer, intent(in) nbit 
)
+
+ +

Decode an integer value from within a specified number of bits of an integer array, starting with the first bit of a specified byte of the array.

+
Parameters
+ + + + +
mbay- Array containing encoded value
nbyt- Byte within mbay at whose first bit to begin decoding
nbit- Number of bits to be decoded, up to a maximum of 32
+
+
+
Returns
iupb - Decoded value
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 225 of file cidecode.F90.

+ +

References upb(), and x84().

+ +

Referenced by getlens(), iupbs01(), iupbs3(), rdmems(), rtrcptb(), stndrd(), upds3(), and wrdxtb().

+ +
+
+ +

◆ iupm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive integer function iupm (character*4, intent(in) cbay,
integer, intent(in) nbits 
)
+
+ +

Decode an integer value from within a specified number of bits of a character string, starting with the first bit of the first byte of the string.

+

This function is the logical inverse of subroutine ipkm().

+
Parameters
+ + + +
cbay- String
nbits- Number of bits from cbay to be decoded, up to a maximum of 32
+
+
+
Returns
iupm - Decoded value
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 264 of file cidecode.F90.

+ +

References bort(), irev(), and x84().

+ +

Referenced by icbfms(), and wrdxtb().

+ +
+
+ +

◆ up8()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine up8 (integer*8, intent(out) nval,
integer, intent(in) nbits,
integer, dimension(*), intent(in) ibay,
integer, intent(inout) ibit 
)
+
+ +

Decode an 8-byte integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array.

+

This subroutine is similar to subroutine upb8(), except that here ibit is both an input and an output argument, and the overall order of the arguments is different.

+

This subroutine is the logical inverse of subroutine pkb8().

+
Parameters
+ + + + + +
ibay- Array containing encoded value
ibit- Bit pointer within ibay
    +
  • On input, ibit points to the bit within ibay after which to begin decoding nval
  • +
  • On output, ibit points to the last bit of ibay which contained the decoded nval
  • +
+
nbits- Number of bits to be decoded
nval- Decoded value
+
+
+
Author
J. Woollen
+
Date
2022-05-06
+ +

Definition at line 127 of file cidecode.F90.

+ +

References upb8().

+ +

Referenced by rdcmps(), ufbtab(), and wrcmps().

+ +
+
+ +

◆ upb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine upb (integer, intent(out) nval,
integer, intent(in) nbits,
integer, dimension(*), intent(in) ibay,
integer, intent(inout) ibit 
)
+
+ +

Decode an integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array.

+

This subroutine is similar to subroutine upbb(), except that here ibit is both an input and an output argument, and the overall order of the arguments is different.

+
Parameters
+ + + + + +
ibay- Array containing encoded value
ibit- Bit pointer within ibay
    +
  • On input, ibit points to the bit within ibay after which to begin decoding nval
  • +
  • On output, ibit points to the last bit of ibay which contained the decoded nval
  • +
+
nbits- Number of bits to be decoded
nval- Decoded value
+
+
+
Remarks
    +
  • This subroutine is the logical inverse of subroutine pkb().
  • +
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 201 of file cidecode.F90.

+ +

References upbb().

+ +

Referenced by copysb(), iupb(), mvb(), rdcmps(), readsb(), stndrd(), ufbtab(), ufbtam(), upb8(), upc(), and writlc().

+ +
+
+ +

◆ upb8()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine upb8 (integer*8, intent(out) nval,
integer, intent(in) nbits,
integer, intent(in) ibit,
integer, dimension(*), intent(in) ibay 
)
+
+ +

Decode an 8-byte integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array.

+

This subroutine is similar to subroutine up8(), except that here ibit is only an input argument, and the overall order of the arguments is different.

+

This subroutine will not work properly if nbits is greater than 64.

+
Parameters
+ + + + + +
ibay- Array containing encoded value
ibit- Bit within ibay after which to begin decoding nval
nbits- Number of bits to be decoded
nval- Decoded value
+
+
+
Author
J. Woollen
+
Date
2022-05-06
+ +

Definition at line 79 of file cidecode.F90.

+ +

References bort(), and upb().

+ +

Referenced by rdtree(), ufbget(), ufbtab(), ufbtam(), and up8().

+ +
+
+ +

◆ upbb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine upbb (integer, intent(out) nval,
integer, intent(in) nbits,
integer, intent(in) ibit,
integer, dimension(*), intent(in) ibay 
)
+
+ +

Decode an integer value from within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array.

+

This subroutine is similar to subroutine upb(), except that here ibit is only an input argument, and the overall order of the arguments is different.

+
Parameters
+ + + + + +
ibay- Array containing encoded value
ibit- Bit within ibay after which to begin decoding nval
nbits- Number of bits to be decoded
nval- Decoded value
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 153 of file cidecode.F90.

+ +

Referenced by rcstpl(), upb(), and writlc().

+ +
+
+ +

◆ upc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine upc (character*(*), intent(out) chr,
integer, intent(in) nchr,
integer, dimension(*), intent(in) ibay,
integer, intent(inout) ibit,
logical, intent(in) cnvnull 
)
+
+ +

Decode a character string from within a specified number of bytes of an integer array, starting at the bit immediately after a specified bit within the array.

+
Remarks
    +
  • This subroutine is the logical inverse of subroutine pkc().
  • +
  • On input, there is no requirement that ibit must point to the first bit of a byte within ibay. In other words, the nchr characters to be decoded do not necessarily need to be aligned on byte boundaries within ibay.
  • +
+
+
Parameters
+ + + + + + +
chr- Decoded string
nchr- Number of bytes of ibay from within which to decode chr (i.e. the number of characters in chr)
ibay- Array from which to decode chr
ibit- Bit pointer within ibay
    +
  • On input, ibit points to the bit within ibay after which to begin decoding chr
  • +
  • On output, ibit points to the last bit of ibay which was decoded
  • +
+
cnvnull- .true. if null characters in ibay should be converted to blanks within chr; .false. otherwise
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 25 of file cidecode.F90.

+ +

References upb().

+ +

Referenced by rdcmps(), rdtree(), readlc(), stbfdx(), stndrd(), ufbget(), ufbtab(), ufbtam(), and wrcmps().

+ +
+
+ +

◆ ups()

+ +
+
+ + + + + + + + + + + + + + + + + + +
real*8 function ups (integer*8, intent(in) ival,
integer, intent(in) node 
)
+
+ +

Unpack a real*8 value from an integer by applying the proper scale and reference values.

+

Normally the scale and reference values are obtained from index node of the internal jump/link table arrays isc(*) and irf(*); however, the reference value in irf(*) will be overridden if a 2-03 operator is in effect for this node.

+

This function is the logical inverse of function ipks().

+
Parameters
+ + + +
ival- Packed BUFR integer
node- Index into internal jump/link tables
+
+
+
Returns
ups - User value
+
Author
J. Ator
+
Date
2012-03-02
+ +

Definition at line 318 of file cidecode.F90.

+ +

References moda_tables::ibt, moda_nrv203::ienrv, moda_nrv203::inodnrv, moda_tables::irf, moda_tables::isc, moda_nrv203::isnrv, moda_nrv203::nnrv, moda_nrv203::nrv, moda_tables::tag, and moda_nrv203::tagnrv.

+ +

Referenced by rdcmps(), rdtree(), ufbget(), ufbtab(), and ufbtam().

+ +
+
+
+
+ + + + diff --git a/cidecode_8F90.js b/cidecode_8F90.js new file mode 100644 index 000000000..67edb43fe --- /dev/null +++ b/cidecode_8F90.js @@ -0,0 +1,11 @@ +var cidecode_8F90 = +[ + [ "iupb", "cidecode_8F90.html#a73f371d0af1f65ff546e0484ee97238f", null ], + [ "iupm", "cidecode_8F90.html#a79f34b3a9df0eedb64115bca8c65ebaa", null ], + [ "up8", "cidecode_8F90.html#a9934a3d9c66ea78c7c132066798583f9", null ], + [ "upb", "cidecode_8F90.html#a07dda20577f7480095dff261d11241f8", null ], + [ "upb8", "cidecode_8F90.html#a25ce428c1ae2bcb567fc2762fabf4317", null ], + [ "upbb", "cidecode_8F90.html#a243e1ab84f5a36179c0ac05056574257", null ], + [ "upc", "cidecode_8F90.html#afef1c199ce8e69b085435b74d68cd337", null ], + [ "ups", "cidecode_8F90.html#a414b81ace5368c9bb43fdd19442ebaa5", null ] +]; \ No newline at end of file diff --git a/cidecode_8F90_source.html b/cidecode_8F90_source.html new file mode 100644 index 000000000..64e33da6e --- /dev/null +++ b/cidecode_8F90_source.html @@ -0,0 +1,363 @@ + + + + + + + +NCEPLIBS-bufr: cidecode.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
cidecode.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
25 subroutine upc(chr,nchr,ibay,ibit,cnvnull)
+
26 
+
27  use modv_vars, only: nbytw, iordle, iordbe
+
28 
+
29  implicit none
+
30 
+
31  character*(*), intent(out) :: chr
+
32  character*1 cval(8)
+
33 
+
34  integer, intent(in) :: nchr, ibay(*)
+
35  integer, intent(inout) :: ibit
+
36  integer ival(2), lb, i, numchr
+
37 
+
38  logical, intent(in) :: cnvnull
+
39 
+
40  equivalence(cval,ival)
+
41 
+
42  ! Set lb to point to the "low-order" (i.e. least significant) byte within a machine word.
+
43 
+
44 #ifdef BIG_ENDIAN
+
45  lb = iordbe(nbytw)
+
46 #else
+
47  lb = iordle(nbytw)
+
48 #endif
+
49 
+
50  cval = ' '
+
51 
+
52  numchr = min(nchr,len(chr))
+
53  do i=1,numchr
+
54  call upb(ival(1),8,ibay,ibit)
+
55  if((ival(1)==0).and.(cnvnull)) then
+
56  chr(i:i) = ' '
+
57  else
+
58  chr(i:i) = cval(lb)
+
59  endif
+
60  enddo
+
61 
+
62  return
+
63 end subroutine upc
+
64 
+
79 subroutine upb8(nval,nbits,ibit,ibay)
+
80 
+
81  use modv_vars, only: nbitw
+
82 
+
83  implicit none
+
84 
+
85  integer, intent(in) :: nbits,ibit,ibay(*)
+
86  integer*8, intent(out) :: nval
+
87 
+
88  integer :: nvals(2), jbit, ival
+
89  integer*8 :: nval8
+
90 
+
91  equivalence(nval8,nvals)
+
92 
+
93  if(nbits<0) then
+
94  call bort('BUFRLIB: UPB8 - nbits < zero !!!!!')
+
95  elseif(nbits<=32) then
+
96  jbit=ibit; ival=0
+
97  call upb(ival,nbits,ibay,jbit)
+
98  nval=ival
+
99  elseif(nbits<=64) then
+
100  jbit=ibit; nvals=0
+
101  call upb(nvals(2),max(nbits-nbitw,0),ibay,jbit)
+
102  call upb(nvals(1),min(nbitw,nbits ),ibay,jbit)
+
103  nval=nval8
+
104  else
+
105  nval=0
+
106  endif
+
107 
+
108  return
+
109 end subroutine upb8
+
110 
+
127 subroutine up8(nval,nbits,ibay,ibit)
+
128 
+
129  implicit none
+
130 
+
131  integer, intent(in) :: nbits, ibay(*)
+
132  integer, intent(inout) :: ibit
+
133  integer*8, intent(out) :: nval
+
134 
+
135  call upb8(nval,nbits,ibit,ibay)
+
136  ibit = ibit+nbits
+
137 
+
138  return
+
139 end subroutine up8
+
140 
+
153 subroutine upbb(nval,nbits,ibit,ibay)
+
154 
+
155  use modv_vars, only: nbitw
+
156 
+
157  implicit none
+
158 
+
159  integer, intent(in) :: ibay(*), ibit, nbits
+
160  integer, intent(out) :: nval
+
161  integer nwd, nbt, int, jnt, irev, lbt
+
162 
+
163  ! If nbits=0, then just set nval=0 and return
+
164 
+
165  if(nbits==0) then
+
166  nval=0
+
167  return
+
168  endif
+
169 
+
170  nwd = ibit/nbitw + 1
+
171  nbt = mod(ibit,nbitw)
+
172  int = ishft(irev(ibay(nwd)),nbt)
+
173  int = ishft(int,nbits-nbitw)
+
174  lbt = nbt+nbits
+
175  if(lbt>nbitw) then
+
176  jnt = irev(ibay(nwd+1))
+
177  int = ior(int,ishft(jnt,lbt-2*nbitw))
+
178  endif
+
179  nval = int
+
180 
+
181  return
+
182 end subroutine upbb
+
183 
+
201 subroutine upb(nval,nbits,ibay,ibit)
+
202 
+
203  implicit none
+
204 
+
205  integer, intent(in) :: ibay(*), nbits
+
206  integer, intent(out) :: nval
+
207  integer, intent(inout) :: ibit
+
208 
+
209  call upbb(nval,nbits,ibit,ibay)
+
210  ibit = ibit+nbits
+
211 
+
212  return
+
213 end subroutine upb
+
214 
+
225 recursive integer function iupb(mbay,nbyt,nbit) result(iret)
+
226 
+
227  use modv_vars, only: im8b
+
228 
+
229  implicit none
+
230 
+
231  integer, intent(in) :: mbay(*), nbit, nbyt
+
232  integer my_nbit, my_nbyt, mbit
+
233 
+
234  ! Check for I8 integers.
+
235 
+
236  if(im8b) then
+
237  im8b=.false.
+
238 
+
239  call x84(nbyt,my_nbyt,1)
+
240  call x84(nbit,my_nbit,1)
+
241  iret = iupb(mbay,my_nbyt,my_nbit)
+
242 
+
243  im8b=.true.
+
244  return
+
245  endif
+
246 
+
247  mbit = (nbyt-1)*8
+
248  call upb(iret,nbit,mbay,mbit)
+
249 
+
250  return
+
251 end function iupb
+
252 
+
264 recursive integer function iupm(cbay,nbits) result(iret)
+
265 
+
266  use modv_vars, only: im8b, nbitw
+
267 
+
268  implicit none
+
269 
+
270  character*4, intent(in) :: cbay
+
271  character*4 cint
+
272  character*128 bort_str
+
273 
+
274  integer, intent(in) :: nbits
+
275  integer my_nbits, int, irev
+
276 
+
277  equivalence(cint,int)
+
278 
+
279  ! Check for I8 integers.
+
280 
+
281  if(im8b) then
+
282  im8b=.false.
+
283 
+
284  call x84(nbits,my_nbits,1)
+
285  iret = iupm(cbay,my_nbits)
+
286 
+
287  im8b=.true.
+
288  return
+
289  endif
+
290 
+
291  iret = 0
+
292  if(nbits>nbitw) then
+
293  write(bort_str,'("BUFRLIB: IUPM - NUMBER OF BITS BEING UNPACKED'// &
+
294  ', NBITS (",I4,"), IS > THE INTEGER WORD LENGTH ON THIS MACHINE, NBITW (",I3,")")') nbits,nbitw
+
295  call bort(bort_str)
+
296  endif
+
297  cint = cbay
+
298  int = irev(int)
+
299  iret = ishft(int,nbits-nbitw)
+
300 
+
301  return
+
302 end function iupm
+
303 
+
318 real*8 function ups(ival,node) result(r8ret)
+
319 
+
320  use moda_tables
+
321  use moda_nrv203
+
322 
+
323  implicit none
+
324 
+
325  integer*8, intent(in) :: ival
+
326  integer*8 imask
+
327  integer, intent(in) :: node
+
328  integer jj
+
329 
+
330  real*8, parameter :: ten = 10.
+
331 
+
332  r8ret = ( ival + irf(node) ) * ten**(-isc(node))
+
333 
+
334  if ( nnrv > 0 ) then
+
335  ! There are redefined reference values in the jump/link table, so we need to check if this node is affected by any of them.
+
336  do jj = 1, nnrv
+
337  if ( node == inodnrv(jj) ) then
+
338  ! This node contains a redefined reference value. Per the rules of BUFR, negative values may be encoded as positive
+
339  ! integers with the left-most bit set to 1.
+
340  imask = 2_8**(ibt(node)-1)
+
341  if ( iand(ival,imask) > 0 ) then
+
342  nrv(jj) = (-1) * ( ival - imask )
+
343  else
+
344  nrv(jj) = ival
+
345  end if
+
346  r8ret = nrv(jj)
+
347  return
+
348  else if ( ( tag(node)(1:8) == tagnrv(jj) ) .and. ( node >= isnrv(jj) ) .and. ( node <= ienrv(jj) ) ) then
+
349  ! The corresponding redefinded reference value needs to be used when decoding this value.
+
350  r8ret = ( ival + nrv(jj) ) * ten**(-isc(node))
+
351  return
+
352  end if
+
353  end do
+
354  end if
+
355 
+
356  return
+
357 end function ups
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine upb(nval, nbits, ibay, ibit)
Decode an integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:202
+
subroutine upbb(nval, nbits, ibit, ibay)
Decode an integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:154
+
subroutine upb8(nval, nbits, ibit, ibay)
Decode an 8-byte integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:80
+
real *8 function ups(ival, node)
Unpack a real*8 value from an integer by applying the proper scale and reference values.
Definition: cidecode.F90:319
+
recursive integer function iupb(mbay, nbyt, nbit)
Decode an integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:226
+
recursive integer function iupm(cbay, nbits)
Decode an integer value from within a specified number of bits of a character string,...
Definition: cidecode.F90:265
+
subroutine up8(nval, nbits, ibay, ibit)
Decode an 8-byte integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:128
+
subroutine upc(chr, nchr, ibay, ibit, cnvnull)
Decode a character string from within a specified number of bytes of an integer array,...
Definition: cidecode.F90:26
+
integer function irev(n)
Return a copy of an integer value with the bytes possibly reversed.
Definition: misc.F90:257
+
Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
+
integer, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
+
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
+
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
+
integer nnrv
Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv...
+
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
+
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
+
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/ciencode_8F90.html b/ciencode_8F90.html new file mode 100644 index 000000000..a2d6d9b01 --- /dev/null +++ b/ciencode_8F90.html @@ -0,0 +1,433 @@ + + + + + + + +NCEPLIBS-bufr: ciencode.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ciencode.F90 File Reference
+
+
+ +

Encode character strings and integer values. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Functions/Subroutines

recursive subroutine ipkm (cbay, nbyt, n)
 Encode an integer value within a specified number of bytes of a character string, up to a maximum of 4 bytes. More...
 
integer *8 function ipks (val, node)
 Pack a real*8 value into an integer by applying the proper scale and reference values. More...
 
subroutine pkb (nval, nbits, ibay, ibit)
 Encode an integer value within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
subroutine pkb8 (nval, nbits, ibay, ibit)
 Encode an 8-byte integer value within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
subroutine pkc (chr, nchr, ibay, ibit)
 Encode a character string within a specified number of bytes of an integer array, starting at the bit immediately after a specified bit within the array. More...
 
+

Detailed Description

+

Encode character strings and integer values.

+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition in file ciencode.F90.

+

Function/Subroutine Documentation

+ +

◆ ipkm()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine ipkm (character*(*), intent(out) cbay,
integer, intent(in) nbyt,
integer, intent(in) n 
)
+
+ +

Encode an integer value within a specified number of bytes of a character string, up to a maximum of 4 bytes.

+

This subroutine is the logical inverse of subroutine iupm().

+
Parameters
+ + + + +
n- Value to be encoded
nbyt- Number of bytes of cbay (up to a maximum of 4) within which to encode n
cbay- String of length nbyt bytes containing encoded integer n
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 193 of file ciencode.F90.

+ +

References bort(), irev(), and x84().

+ +

Referenced by bfrini(), pktdd(), readlc(), wrcmps(), and wrtree().

+ +
+
+ +

◆ ipks()

+ +
+
+ + + + + + + + + + + + + + + + + + +
integer*8 function ipks (real*8, intent(in) val,
integer, intent(in) node 
)
+
+ +

Pack a real*8 value into an integer by applying the proper scale and reference values.

+

Normally the scale and reference values are obtained from index node of the internal jump/link table arrays isc(*) and irf(*); however, the reference value in irf(*) will be overridden if a 2-03 operator is in effect for this node.

+
Parameters
+ + + +
val- User value
node- Index into internal jump/link tables
+
+
+
Returns
ipks - Packed BUFR integer
+
Remarks
    +
  • This function is the logical inverse of function ups().
  • +
+
+
Author
J. Ator
+
Date
2012-03-02
+ +

Definition at line 251 of file ciencode.F90.

+ +

References moda_tables::ibt, moda_nrv203::ienrv, moda_nrv203::inodnrv, moda_tables::irf, moda_tables::isc, moda_nrv203::isnrv, moda_nrv203::nnrv, moda_nrv203::nrv, moda_tables::tag, and moda_nrv203::tagnrv.

+ +
+
+ +

◆ pkb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine pkb (integer, intent(in) nval,
integer, intent(in) nbits,
integer, dimension(*), intent(out) ibay,
integer, intent(inout) ibit 
)
+
+ +

Encode an integer value within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array.

+
Parameters
+ + + + + +
nval- Value to be encoded
nbits- Number of bits of ibay within which to encode nval
ibay- Array containing encoded nval
ibit- Bit pointer within ibay
    +
  • On input, ibit points to the bit within ibay after which to begin encoding nval
  • +
  • On output, ibit points to the last bit of ibay which contains the encoded nval
  • +
+
+
+
+
Remarks
    +
  • This subroutine is the logical inverse of subroutine upb().
  • +
  • This subroutine will not work properly if nbits is greater than 32.
  • +
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 139 of file ciencode.F90.

+ +

References bort().

+ +

Referenced by atrcpt(), cmsgini(), cnved4(), cpyupd(), dxmini(), msgini(), msgupd(), msgwrt(), mvb(), pad(), padmsg(), pkb8(), pkbs1(), stndrd(), wrcmps(), and wrdxtb().

+ +
+
+ +

◆ pkb8()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine pkb8 (integer*8, intent(in) nval,
integer, intent(in) nbits,
integer, dimension(*), intent(out) ibay,
integer, intent(inout) ibit 
)
+
+ +

Encode an 8-byte integer value within a specified number of bits of an integer array, starting at the bit immediately after a specified bit within the array.

+

This subroutine will not work properly if nbits is greater than 64.

+

This subroutine is the logical inverse of subroutine up8().

+
Parameters
+ + + + + +
nval- Value to be encoded
nbits- Number of bits of ibay (up to a maximum of 64) within which to encode nval
ibay- Array containing encoded nval
ibit- Bit pointer within ibay
    +
  • On input, ibit points to the bit within ibay after which to begin encoding nval
  • +
  • On output, ibit points to the last bit of ibay which contains the encoded nval
  • +
+
+
+
+
Author
J. Woollen
+
Date
2022-05-06
+ +

Definition at line 96 of file ciencode.F90.

+ +

References bort(), and pkb().

+ +

Referenced by wrcmps(), and wrtree().

+ +
+
+ +

◆ pkc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine pkc (character*(*), intent(in) chr,
integer, intent(in) nchr,
integer, dimension(*), intent(out) ibay,
integer, intent(inout) ibit 
)
+
+ +

Encode a character string within a specified number of bytes of an integer array, starting at the bit immediately after a specified bit within the array.

+
Remarks
    +
  • This subroutine is the logical inverse of subroutine upc().
  • +
  • On input, there is no requirement that ibit must point to the first bit of a byte within ibay. Correspondingly, on output there is no guarantee that the nchr characters of chr will be aligned on byte boundaries when encoded within ibay.
  • +
+
+
Parameters
+ + + + + +
chr- String to be encoded
nchr- Number of bytes of ibay within which to encode chr (i.e. the number of characters in chr)
ibay- Array containing encoded chr
ibit- Bit pointer within ibay
    +
  • On input, ibit points to the bit within ibay after which to begin encoding chr
  • +
  • On output, ibit points to the last bit of ibay which contains the encoded chr
  • +
+
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 24 of file ciencode.F90.

+ +

Referenced by cmsgini(), dxmini(), msgini(), msgwrt(), stndrd(), wrcmps(), wrdxtb(), writlc(), and wrtree().

+ +
+
+
+
+ + + + diff --git a/ciencode_8F90.js b/ciencode_8F90.js new file mode 100644 index 000000000..256bbc153 --- /dev/null +++ b/ciencode_8F90.js @@ -0,0 +1,8 @@ +var ciencode_8F90 = +[ + [ "ipkm", "ciencode_8F90.html#a8e976b63f679f03590d7c3cb5b5dee59", null ], + [ "ipks", "ciencode_8F90.html#a7501045242bc6174585e20be99d3d269", null ], + [ "pkb", "ciencode_8F90.html#a8f795cd39c8f939b486407c65d8959c0", null ], + [ "pkb8", "ciencode_8F90.html#ad41a6d2e1a35c122af15bbc6dffe8eaa", null ], + [ "pkc", "ciencode_8F90.html#a52ae4b28f79718d9b6631d2f7a5a7160", null ] +]; \ No newline at end of file diff --git a/ciencode_8F90_source.html b/ciencode_8F90_source.html new file mode 100644 index 000000000..6d3fd1408 --- /dev/null +++ b/ciencode_8F90_source.html @@ -0,0 +1,332 @@ + + + + + + + +NCEPLIBS-bufr: ciencode.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ciencode.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
24 subroutine pkc(chr,nchr,ibay,ibit)
+
25 
+
26  use modv_vars, only: nbitw, nbytw, iordle, iordbe
+
27 
+
28  implicit none
+
29 
+
30  character*(*), intent(in) :: chr
+
31  character*1 cval(8)
+
32 
+
33  integer, intent(in) :: nchr
+
34  integer, intent(out) :: ibay(*)
+
35  integer, intent(inout) :: ibit
+
36  integer ival(2), lb, i, nwd, nbt, nbit, int, msk, irev
+
37 
+
38  equivalence(cval,ival)
+
39 
+
40  ! Set lb to point to the "low-order" (i.e. least significant) byte within a machine word.
+
41 
+
42 #ifdef BIG_ENDIAN
+
43  lb = iordbe(nbytw)
+
44 #else
+
45  lb = iordle(nbytw)
+
46 #endif
+
47 
+
48  ival(1) = 0
+
49  nbit = 8
+
50 
+
51  do i=1,nchr
+
52  if(i<=len(chr)) then
+
53  cval(lb) = chr(i:i)
+
54  else
+
55  cval(lb) = ' '
+
56  endif
+
57 
+
58  nwd = ibit/nbitw + 1
+
59  nbt = mod(ibit,nbitw)
+
60  int = ishft(ival(1),nbitw-nbit)
+
61  int = ishft(int,-nbt)
+
62  msk = ishft( -1,nbitw-nbit)
+
63  msk = ishft(msk,-nbt)
+
64  ibay(nwd) = irev(ior(iand(irev(ibay(nwd)),not(msk)),int))
+
65  if(nbt+nbit>nbitw) then
+
66 
+
67  ! This character will not fit within the current word (i.e. array member) of ibay, because there
+
68  ! are less than 8 bits of space left. Store as many bits as will fit within the current
+
69  ! word and then store the remaining bits within the next word.
+
70 
+
71  int = ishft(ival(1),2*nbitw-(nbt+nbit))
+
72  msk = ishft( -1,2*nbitw-(nbt+nbit))
+
73  ibay(nwd+1) = irev(ior(iand(irev(ibay(nwd+1)),not(msk)),int))
+
74  endif
+
75  ibit = ibit + nbit
+
76  enddo
+
77 
+
78  return
+
79 end subroutine pkc
+
80 
+
96 subroutine pkb8(nval,nbits,ibay,ibit)
+
97 
+
98  use modv_vars, only: nbitw
+
99 
+
100  implicit none
+
101 
+
102  integer*8, intent(in) :: nval
+
103  integer, intent(in) :: nbits
+
104  integer, intent(out) :: ibay(*)
+
105  integer, intent(inout) :: ibit
+
106 
+
107  integer*8 :: nval8
+
108  integer :: nval4, nvals(2)
+
109 
+
110  equivalence(nval8,nvals)
+
111 
+
112  if(nbits<0) call bort('bufrlib: pkb8 - nbits < zero !!!!!')
+
113  if(nbits>64) call bort('bufrlib: pkb8 - nbits > 64 !!!!!')
+
114 
+
115  nval8=nval
+
116  nval4=nvals(2)
+
117  call pkb(nval4,max(nbits-nbitw,0),ibay,ibit)
+
118  nval4=nvals(1)
+
119  call pkb(nval4,min(nbits,nbitw ),ibay,ibit)
+
120 
+
121  return
+
122 end subroutine pkb8
+
123 
+
139 subroutine pkb(nval,nbits,ibay,ibit)
+
140 
+
141  use modv_vars, only: nbitw
+
142 
+
143  implicit none
+
144 
+
145  integer, intent(in) :: nval, nbits
+
146  integer, intent(out) :: ibay(*)
+
147  integer, intent(inout) :: ibit
+
148  integer nwd, nbt, ival, int, msk, irev
+
149 
+
150  character*156 bort_str
+
151 
+
152  if(nbits>nbitw) then
+
153  write(bort_str,'("BUFRLIB: PKB - NUMBER OF BITS BEING PACKED '// &
+
154  ', NBITS (",I4,"), IS > THE INTEGER WORD LENGTH ON THIS MACHINE, NBITW (",I3,")")') nbits,nbitw
+
155  call bort(bort_str)
+
156  endif
+
157 
+
158  nwd = ibit/nbitw + 1
+
159  nbt = mod(ibit,nbitw)
+
160  ival = nval
+
161  if(ishft(ival,-nbits)>0) ival = -1
+
162  int = ishft(ival,nbitw-nbits)
+
163  int = ishft(int,-nbt)
+
164  msk = ishft(-1,nbitw-nbits)
+
165  msk = ishft(msk,-nbt)
+
166  ibay(nwd) = irev(ior(iand(irev(ibay(nwd)),not(msk)),int))
+
167  if(nbt+nbits>nbitw) then
+
168 
+
169  ! There are less than nbits bits remaining within the current word (i.e. array member) of ibay,
+
170  ! so store as many bits as will fit within the current word and then store the remaining bits
+
171  ! within the next word.
+
172 
+
173  int = ishft(ival,2*nbitw-(nbt+nbits))
+
174  msk = ishft( -1,2*nbitw-(nbt+nbits))
+
175  ibay(nwd+1) = irev(ior(iand(irev(ibay(nwd+1)),not(msk)),int))
+
176  endif
+
177 
+
178  ibit = ibit + nbits
+
179 
+
180  return
+
181 end subroutine pkb
+
182 
+
193 recursive subroutine ipkm(cbay,nbyt,n)
+
194 
+
195  use modv_vars, only: im8b, nbytw
+
196 
+
197  implicit none
+
198 
+
199  integer, intent(in) :: n, nbyt
+
200  integer my_n, my_nbyt, int, irev, i
+
201 
+
202  character*(*), intent(out) :: cbay
+
203  character*128 bort_str
+
204  character*4 cint
+
205 
+
206  equivalence(cint,int)
+
207 
+
208  ! Check for I8 integers.
+
209 
+
210  if(im8b) then
+
211  im8b=.false.
+
212 
+
213  call x84(n,my_n,1)
+
214  call x84(nbyt,my_nbyt,1)
+
215  call ipkm(cbay,my_nbyt,my_n)
+
216 
+
217  im8b=.true.
+
218  return
+
219  endif
+
220 
+
221  if(nbyt>nbytw) then
+
222  write(bort_str,'("BUFRLIB: IPKM - NUMBER OF BYTES BEING PACKED '// &
+
223  ', NBYT (",I4,"), IS > THE INTEGER WORD LENGTH ON THIS MACHINE, NBYTW (",I3,")")') nbyt,nbytw
+
224  call bort(bort_str)
+
225  endif
+
226 
+
227  int = irev(ishft(n,(nbytw-nbyt)*8))
+
228  do i=1,nbyt
+
229  cbay(i:i) = cint(i:i)
+
230  enddo
+
231 
+
232  return
+
233 end subroutine ipkm
+
234 
+
251 integer*8 function ipks(val,node) result(i8ret)
+
252 
+
253  use moda_tables
+
254  use moda_nrv203
+
255 
+
256  implicit none
+
257 
+
258  integer*8 imask
+
259  integer, intent(in) :: node
+
260  integer jj
+
261 
+
262  real*8, parameter :: ten = 10.
+
263  real*8, intent(in) :: val
+
264 
+
265  i8ret = nint(val * ten**isc(node),8) - irf(node)
+
266 
+
267  if ( nnrv > 0 ) then
+
268  ! There are redefined reference values in the jump/link table, so we need to check if this node is affected by any of them.
+
269  do jj = 1, nnrv
+
270  if ( node == inodnrv(jj) ) then
+
271  ! This node contains a redefined reference value. Per the rules of BUFR, negative values should be encoded as positive
+
272  ! integers with the left-most bit set to 1.
+
273  nrv(jj) = nint(val)
+
274  if ( nrv(jj) < 0 ) then
+
275  imask = 2_8**(ibt(node)-1)
+
276  i8ret = ior(abs(nrv(jj)),imask)
+
277  else
+
278  i8ret = nrv(jj)
+
279  end if
+
280  return
+
281  else if ( ( tag(node)(1:8) == tagnrv(jj) ) .and. ( node >= isnrv(jj) ) .and. ( node <= ienrv(jj) ) ) then
+
282  ! The corresponding redefinded reference value needs to be used when encoding this value.
+
283  i8ret = nint(val * ten**isc(node),8) - nrv(jj)
+
284  return
+
285  end if
+
286  end do
+
287  end if
+
288 
+
289  return
+
290 end function ipks
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine pkc(chr, nchr, ibay, ibit)
Encode a character string within a specified number of bytes of an integer array, starting at the bit...
Definition: ciencode.F90:25
+
integer *8 function ipks(val, node)
Pack a real*8 value into an integer by applying the proper scale and reference values.
Definition: ciencode.F90:252
+
recursive subroutine ipkm(cbay, nbyt, n)
Encode an integer value within a specified number of bytes of a character string, up to a maximum of ...
Definition: ciencode.F90:194
+
subroutine pkb(nval, nbits, ibay, ibit)
Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
Definition: ciencode.F90:140
+
subroutine pkb8(nval, nbits, ibay, ibit)
Encode an 8-byte integer value within a specified number of bits of an integer array,...
Definition: ciencode.F90:97
+
integer function irev(n)
Return a copy of an integer value with the bytes possibly reversed.
Definition: misc.F90:257
+
Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
+
integer, dimension(:), allocatable ienrv
End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
+
character *8, dimension(:), allocatable tagnrv
Table B mnemonic to which the corresponding new reference value in nrv applies.
+
integer, dimension(:), allocatable isnrv
Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
+
integer nnrv
Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv...
+
integer *8, dimension(:), allocatable nrv
New reference values corresponding to inodnrv.
+
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
+
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/classes.html b/classes.html index 4f0fd2da4..aa40964d9 100644 --- a/classes.html +++ b/classes.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -93,7 +93,7 @@
arallocc_c (bufrlib)
ardllocc_c (bufrlib)

B
-
backbufr_c (bufrlib)
bort_exit_c (bufrlib)
+
backbufr_c (bufrlib)

C
ccbfl_c (bufr_interface)
cewind_c (bufrlib)
closfb_c (bufrlib)
cobfl_c (bufr_interface)
cpmstabs_c (bufrlib)
crbmg_c (bufr_interface)
crdbufr_c (bufrlib)
cwbmg_c (bufr_interface)
cwrbufr_c (bufrlib)
diff --git a/cmpbqm_8F90.html b/cmpbqm_8F90.html index 251326728..53303130a 100644 --- a/cmpbqm_8F90.html +++ b/cmpbqm_8F90.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -126,7 +126,7 @@

Definition at line 11 of file cmpbqm.F90.

-

References bort(), openbf(), readmg(), readsb(), ufbcnt(), and ufbint().

+

References bort(), openbf(), readmg(), readsb(), ufbcnt(), and ufbint().

diff --git a/cmpbqm_8F90_source.html b/cmpbqm_8F90_source.html index 222f9e249..718812251 100644 --- a/cmpbqm_8F90_source.html +++ b/cmpbqm_8F90_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -122,8 +122,8 @@
42  ! OPEN A FILE - GET A DATE
43  ! ------------------------
44 
-
45  call getarg(1,file); file=trim(adjustl(file))
-
46  if (file == '') then
+
45  call get_command_argument(1,file); file=trim(adjustl(file))
+
46  if (file == '') then
47  print *, 'Usage: Usage: cmpbqm <prepbufrfile> will print prep inventory by variable, report type, and qc mark'
48  call exit(2)
49  endif
@@ -134,44 +134,44 @@
54  endif
55 
56  open(lubfr,file=file,form='unformatted')
-
57  CALL openbf(lubfr,'IN',lubfr)
-
58  CALL readmg(lubfr,subset,idate,iret)
-
59  IF(iret.NE.0) GOTO 900
+
57  CALL openbf(lubfr,'IN',lubfr)
+
58  CALL readmg(lubfr,subset,idate,iret)
+
59  IF(iret/=0) GOTO 900
60  WRITE(date,'(I8)') idate
61  DO i=1,8
-
62  IF(date(i:i).EQ.' ') date(i:i) = '0'
+
62  IF(date(i:i)==' ') date(i:i) = '0'
63  ENDDO
64  print'(''DATA VALID AT '',A8)',date
65 
66  ! READ THRU THE PREPDA RECORDS
67  ! ----------------------------
68 
-
69 10 CALL readsb(lubfr,iret)
-
70  IF(iret.NE.0) THEN
-
71  CALL readmg(lubfr,subset,idate,iret)
-
72  IF(iret.NE.0) GOTO 100
-
73  CALL ufbcnt(lubfr,irec,isub)
+
69 10 CALL readsb(lubfr,iret)
+
70  IF(iret/=0) THEN
+
71  CALL readmg(lubfr,subset,idate,iret)
+
72  IF(iret/=0) GOTO 100
+
73  CALL ufbcnt(lubfr,irec,isub)
74  GOTO 10
75  ENDIF
76  qms = 10e10
-
77  CALL ufbint(lubfr,hdr,5,1,iret,headr)
-
78  CALL ufbint(lubfr,obs,8,255,nlev,obstr)
-
79  CALL ufbint(lubfr,qms,8,255,nlev,qmstr)
+
77  CALL ufbint(lubfr,hdr,5,1,iret,headr)
+
78  CALL ufbint(lubfr,obs,8,255,nlev,obstr)
+
79  CALL ufbint(lubfr,qms,8,255,nlev,qmstr)
80 
81  kx = nint(hdr(5))
82 
83  DO l=1,nlev
84  DO k=1,7
85  iq = -1
-
86  IF(k.EQ.5) obs(5,l) = max(obs(5,l),obs(8,l))
-
87  IF(obs(k,l).LT.vmax .AND. qms(k,l).LT.vmax) THEN
+
86  IF(k==5) obs(5,l) = max(obs(5,l),obs(8,l))
+
87  IF(obs(k,l)<vmax .AND. qms(k,l)<vmax) THEN
88  iq = nint(qms(k,l))
-
89  ELSEIF(obs(k,l).LT.vmax .AND. qms(k,l).GE.vmax) THEN
+
89  ELSEIF(obs(k,l)<vmax .AND. qms(k,l)>=vmax) THEN
90  iq = 16
-
91  ELSEIF(obs(k,l).GE.vmax .AND. qms(k,l).LT.vmax) THEN
+
91  ELSEIF(obs(k,l)>=vmax .AND. qms(k,l)<vmax) THEN
92  iq = 17
93  ENDIF
-
94  IF(iq.GE.0) knt(kx,k,iq) = knt(kx,k,iq)+1
+
94  IF(iq>=0) knt(kx,k,iq) = knt(kx,k,iq)+1
95  ENDDO
96  ENDDO
97 
@@ -187,13 +187,13 @@
107  itot = 0; igood=0; ifail=0
108  DO iq=0,17
109  itot = itot+knt(kx,k,iq)
-
110  if(iq.le.3) then
+
110  if(iq<=3) then
111  igood=igood+knt(kx,k,iq)
-
112  elseif(iq.le.7) then
+
112  elseif(iq<=7) then
113  ifail=ifail+knt(kx,k,iq)
114  endif
115  ENDDO
-
116  IF(itot.GT.0) print 101,kx,itot,igood,ifail,(knt(kx,k,iq),iq=8,17)
+
116  IF(itot>0) print 101,kx,itot,igood,ifail,(knt(kx,k,iq),iq=8,17)
117 101 FORMAT(i3,i6,2('|', i6),&
118  2('|', i6),&
119  1('|',6i6),&
@@ -204,15 +204,15 @@
124 
125  print*,'******CMPBQM PROCESSED ',irec,' BUFR RECORDS******'
126  stop
-
127 900 CALL bort('CMPBQM - ERROR READING BUFR FILE ')
+
127 900 CALL bort('CMPBQM - ERROR READING BUFR FILE ')
128 END PROGRAM cmpbqm
-
subroutine bort(STR)
Log one error message and abort application program.
Definition: bort.f:18
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
program cmpbqm
Usage: cmpbqm <prepbufrfile> will print prep inventory by variable, report type, and qc mark.
Definition: cmpbqm.F90:11
-
recursive subroutine openbf(LUNIT, IO, LUNDX)
Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
Definition: openbf.f:124
-
recursive subroutine readmg(LUNXX, SUBSET, JDATE, IRET)
Reads the next BUFR message from logical unit ABS(LUNXX) into internal arrays.
Definition: readmg.f:52
-
recursive subroutine readsb(LUNIT, IRET)
Read the next data subset from a BUFR message.
Definition: readsb.f:33
-
recursive subroutine ufbcnt(LUNIT, KMSG, KSUB)
Get the current message number and data subset number within a BUFR file.
Definition: ufbcnt.f:41
-
recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
Read/write one or more data values from/to a data subset.
Definition: ufbint.f:121
+
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
+
recursive subroutine ufbcnt(lunit, kmsg, ksub)
Get the current location of the file pointer within a BUFR file, in terms of a message number countin...
+
recursive subroutine readmg(lunxx, subset, jdate, iret)
Read the next BUFR message from logical unit abs(lunxx) into internal arrays.
Definition: readwritemg.F90:44
+
recursive subroutine readsb(lunit, iret)
Read the next data subset from a BUFR message.
Definition: readwritesb.F90:32
+
recursive subroutine ufbint(lunin, usr, i1, i2, iret, str)
Read or write one or more data values from or to a data subset.
diff --git a/compress_8F90.html b/compress_8F90.html new file mode 100644 index 000000000..27c6eaba7 --- /dev/null +++ b/compress_8F90.html @@ -0,0 +1,357 @@ + + + + + + + +NCEPLIBS-bufr: compress.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
compress.F90 File Reference
+
+
+ +

Read or write compressed BUFR messages. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Functions/Subroutines

subroutine cmpmsg (cf)
 Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writing subroutines are to be compressed. More...
 
subroutine cmsgini (lun, mesg, subset, idate, nsub, nbyt)
 Initialize a new BUFR message for output in compressed format. More...
 
subroutine rdcmps (lun)
 Read the next compressed BUFR data subset into internal arrays. More...
 
subroutine wrcmps (lunix)
 Write a compressed BUFR data subset. More...
 
recursive subroutine writcp (lunit)
 Write a data subset into a BUFR message using compression. More...
 
+

Detailed Description

+

Read or write compressed BUFR messages.

+
Author
J. Ator J. Woollen
+
Date
2005-03-09
+ +

Definition in file compress.F90.

+

Function/Subroutine Documentation

+ +

◆ cmpmsg()

+ +
+
+ + + + + + + + +
subroutine cmpmsg (character, intent(in) cf)
+
+ +

Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writing subroutines are to be compressed.

+

The specified value for cf will remain in effect for all future calls to message-writing subroutines and subset-writing subroutines for all Fortran logical units that are open for output within the application program, unless a subsequent call is made to this subroutine to reset the value of cf again. If this subroutine is never called, a default value of 'N' is used for cf.

+

When compression is activated, it is implemented using the algorithm for data subset compression prescribed within the official WMO BUFR regulations. Compression is most useful when the data subsets to be compressed are devoid of any delayed replication, and when there is minimal variation of corresponding data values among different data subsets within the same BUFR message. Otherwise, compression may provide little to no benefit, and which is why it is not activated by default.

+
Parameters
+ + +
cf- Flag indicating whether future BUFR output messages are to be compressed:
    +
  • 'N' = No (the default)
  • +
  • 'Y' = Yes
  • +
+
+
+
+
Author
J. Ator
+
Date
2005-03-09
+ +

Definition at line 32 of file compress.F90.

+ +

References bort(), capit(), and moda_msgcmp::ccmf.

+ +

Referenced by bufr_c2f_interface::bvers_c(), copysb(), and writcp().

+ +
+
+ +

◆ cmsgini()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine cmsgini (integer, intent(in) lun,
integer, dimension(*), intent(out) mesg,
character*8, intent(in) subset,
integer, intent(in) idate,
integer, intent(in) nsub,
integer, intent(inout) nbyt 
)
+
+ +

Initialize a new BUFR message for output in compressed format.

+
Parameters
+ + + + + + + +
lun- File ID
mesg- BUFR message
subset- Table A mnemonic for type of BUFR message being written
idate- Date-time stored within Section 1 of BUFR message being written, in format of either YYMMDDHH or YYYYMMDDHH, depending on datelen() value
nsub- Number of subsets in mesg
nbyt- Message length:
    +
  • On input, contains the length (in bytes) of Section 4, except for the first 4 bytes
  • +
  • On output, contains the length (in bytes) of the entire BUFR message, up to the point in Section 4 where compressed data are to be written
  • +
+
+
+
+
Author
Woollen
+
Date
2002-05-14
+ +

Definition at line 258 of file compress.F90.

+ +

References bort(), nemtab(), nemtba(), pkb(), and pkc().

+ +

Referenced by wrcmps().

+ +
+
+ +

◆ rdcmps()

+ +
+
+ + + + + + + + +
subroutine rdcmps (integer, intent(in) lun)
+
+ +

Read the next compressed BUFR data subset into internal arrays.

+

Uncompress and unpack the next subset from the internal compressed message buffer (array mbay in module moda_bitbuf) and store the result within the internal array val(*,lun) in module moda_usrint.

+
Parameters
+ + +
lun- File ID
+
+
+
Author
Woollen
+
Date
2000-09-19
+ +

Definition at line 109 of file compress.F90.

+ +

References bort(), moda_rlccmn::crtag, moda_bitbuf::ibit, moda_tables::ibt, moda_usrint::inv, moda_rlccmn::irbit, moda_rlccmn::irnch, moda_stcode::iscodes, moda_tables::itp, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_msgcwd::msub, moda_usrint::nrfelm, moda_rlccmn::nrst, moda_msgcwd::nsub, moda_usrint::nval, strbtm(), moda_tables::tag, up8(), upb(), upc(), ups(), usrtpl(), and moda_usrint::val.

+ +

Referenced by readsb().

+ +
+
+ +

◆ wrcmps()

+ +
+
+ + + + + + + + +
subroutine wrcmps (integer, intent(in) lunix)
+
+ +

Write a compressed BUFR data subset.

+

Pack up the current subset within memory (array ibay in module moda_bitbuf), storing it for compression. Then, try to add it to the compressed BUFR message that is currently open within memory for abs(lunix). If the subset will not fit into the currently open message, then that compressed message is flushed to lunix and a new one is created in order to hold the current subset (still stored for compression).

+

This subroutine performs functions similar to NCEPLIBS-bufr subroutine msgupd() except that it acts on compressed bufr messages.

+
Parameters
+ + +
lunix- Absolute value is Fortran logical unit number for BUFR file
    +
  • if lunix is less than zero, then this is a "flush" call and the buffer must be cleared out
  • +
+
+
+
+
Author
Woollen
+
Date
2002-05-14
+ +

Definition at line 386 of file compress.F90.

+ +

References bort(), moda_comprs::catx, moda_s01cm::cmnem, cmsgini(), moda_comprx::cstr, moda_comprx::flush, moda_bitbuf::ibay, moda_bitbuf::ibit, moda_tables::ibt, moda_msgcwd::idate, moda_comprx::imiss, moda_comprs::incr, moda_msgcwd::inode, moda_usrint::inv, ipkm(), moda_tables::itp, moda_comprx::ityp, moda_s01cm::ivmnem, moda_comprx::iwid, moda_comprx::jlnode, moda_comprx::kbit, moda_comprx::kbyt, moda_comprx::kmax, moda_comprx::kmin, moda_comprx::kmis, moda_comprx::lunc, moda_comprs::matx, moda_bitbuf::maxbyt, moda_bitbuf::mbay, moda_mgwa::mgwa, msgwrt(), moda_comprs::ncol, moda_comprx::nrow, moda_s01cm::ns01v, moda_msgcwd::nsub, moda_usrint::nval, pkb(), pkb8(), pkc(), status(), moda_tables::tag, up8(), upc(), usrtpl(), and moda_comprx::writ1.

+ +

Referenced by closmg(), writsa(), and writsb().

+ +
+
+ +

◆ writcp()

+ +
+
+ + + + + + + + +
recursive subroutine writcp (integer, intent(in) lunit)
+
+ +

Write a data subset into a BUFR message using compression.

+

This subroutine is similar to subroutine writsb(), except that when the subset is encoded and packed into the current message for the BUFR file associated with logical unit lunit, it is packed using compression as prescribed within the official WMO BUFR regulations.

+

This subroutine activates compression via an internal call to subroutine cmpmsg(), followed by an internal call to subroutine writsb(), followed by a second internal call to subroutine cmpmsg() to deactivate compression. For this reason, most application programs which write compressed BUFR messages now call subroutines cmpmsg() and writsb() directly; however, this subroutine is still supported within the NCEPLIBS-bufr software for backwards-compatibility with certain legacy application programs.

+
Parameters
+ + +
lunit- Fortran logical unit number for BUFR file
+
+
+
Author
J. Woollen
+
Date
2002-05-14
+ +

Definition at line 71 of file compress.F90.

+ +

References cmpmsg(), writsb(), and x84().

+ +
+
+
+
+ + + + diff --git a/compress_8F90.js b/compress_8F90.js new file mode 100644 index 000000000..16f2811c3 --- /dev/null +++ b/compress_8F90.js @@ -0,0 +1,8 @@ +var compress_8F90 = +[ + [ "cmpmsg", "compress_8F90.html#a8d1905b269c7cd75ff1a451a0550a84e", null ], + [ "cmsgini", "compress_8F90.html#a3475e3a5a5079d96f47d2e49db98a1a6", null ], + [ "rdcmps", "compress_8F90.html#a1cb1b8bdef41e7ff3420a543e590fde8", null ], + [ "wrcmps", "compress_8F90.html#a6936aeb7f52ecaaa76047564005946d9", null ], + [ "writcp", "compress_8F90.html#a52810a80e6afe9d44c454fe1c81a7f81", null ] +]; \ No newline at end of file diff --git a/compress_8F90_source.html b/compress_8F90_source.html new file mode 100644 index 000000000..100297167 --- /dev/null +++ b/compress_8F90_source.html @@ -0,0 +1,759 @@ + + + + + + + +NCEPLIBS-bufr: compress.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
compress.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
32 subroutine cmpmsg(cf)
+
33 
+
34  use moda_msgcmp
+
35 
+
36  implicit none
+
37 
+
38  character, intent(in) :: cf
+
39  character*128 bort_str
+
40 
+
41  call capit(cf)
+
42  if(cf/='Y'.and. cf/='N') then
+
43  write(bort_str,'("BUFRLIB: CMPMSG - INPUT ARGUMENT IS ",A1,", IT MUST BE EITHER Y OR N")') cf
+
44  call bort(bort_str)
+
45  endif
+
46  ccmf = cf
+
47 
+
48  return
+
49 end subroutine cmpmsg
+
50 
+
71 recursive subroutine writcp(lunit)
+
72 
+
73  use modv_vars, only: im8b
+
74 
+
75  implicit none
+
76 
+
77  integer, intent(in) :: lunit
+
78  integer my_lunit
+
79 
+
80  ! Check for I8 integers.
+
81 
+
82  if(im8b) then
+
83  im8b=.false.
+
84 
+
85  call x84(lunit,my_lunit,1)
+
86  call writcp(my_lunit)
+
87 
+
88  im8b=.true.
+
89  return
+
90  endif
+
91 
+
92  call cmpmsg('Y')
+
93  call writsb(lunit)
+
94  call cmpmsg('N')
+
95 
+
96  return
+
97 end subroutine writcp
+
98 
+
109 subroutine rdcmps(lun)
+
110 
+
111  use modv_vars, only: bmiss, mxrst
+
112 
+
113  use moda_usrint
+
114  use moda_msgcwd
+
115  use moda_bitbuf
+
116  use moda_tables
+
117  use moda_rlccmn
+
118  use moda_stcode
+
119 
+
120  implicit none
+
121 
+
122  integer, intent(in) :: lun
+
123  integer*8 :: ival, lref, ninc, lps
+
124  integer nsbs, jbit, lbit, nbit, n, node, ityp, linc, lre4, nin4, nbmp, nchr, lelm, ibsv, igetrfel, icbfms
+
125 
+
126  real*8 rval, ups
+
127 
+
128  character*128 bort_str
+
129  character*8 cref, cval
+
130 
+
131  equivalence(cval,rval)
+
132 
+
133  ! Statement function to compute BUFR "missing value" for field of length lbit bits (all bits "on")
+
134  lps(lbit) = max(2_8**(lbit)-1,1)
+
135 
+
136  ! Setup the subset template
+
137 
+
138  call usrtpl(lun,1,1)
+
139 
+
140  ! Uncompress a subset into the val array according to Table B
+
141 
+
142  nsbs = nsub(lun)
+
143 
+
144  ! Note that we are going to unpack the (nsbs)th subset from within the current BUFR message.
+
145 
+
146  ibit = mbyt(lun)
+
147  nrst = 0
+
148 
+
149  ! Loop through each element of the subset, including immediately resolving any replication sequences by emulating recursion
+
150  ! via an explicit goto statement.
+
151 
+
152  n = 0
+
153  11 do n=n+1,nval(lun)
+
154  node = inv(n,lun)
+
155  nrfelm(n,lun) = igetrfel(n,lun)
+
156  nbit = ibt(node)
+
157  ityp = itp(node)
+
158 
+
159  ! In each of the following code blocks, the "local reference value" for the element is determined first, followed by the
+
160  ! 6-bit value which indicates how many bits are used to store the increment (i.e. offset) from this "local reference value".
+
161  ! Then, we jump ahead to where this increment is stored for this particular subset, unpack it, and add it to the
+
162  ! "local reference value" to determine the final uncompressed value for this element from this subset. Note that, if an
+
163  ! element has the same final uncompressed value for each subset in the message, then the encoding rules for BUFR compression
+
164  ! dictate that the "local reference value" will be equal to this value, the 6-bit increment length indicator will have a
+
165  ! value of zero, and the actual increments themselves will be omitted from the message.
+
166 
+
167  if(ityp==1.or.ityp==2) then
+
168  ! This is a numeric element.
+
169  if(nbit<=32) then
+
170  call upb(lre4,nbit,mbay(1,lun),ibit)
+
171  call upb(linc,6,mbay(1,lun),ibit)
+
172  jbit = ibit + linc*(nsbs-1)
+
173  call upb(nin4,linc,mbay(1,lun),jbit)
+
174  lref = lre4
+
175  ninc = nin4
+
176  elseif(nbit<=64) then
+
177  call up8(lref,nbit,mbay(1,lun),ibit)
+
178  call upb(linc,6,mbay(1,lun),ibit)
+
179  jbit = ibit + linc*(nsbs-1)
+
180  call up8(ninc,linc,mbay(1,lun),jbit)
+
181  endif
+
182  if(ninc==lps(linc)) then
+
183  ival = lps(nbit)
+
184  else
+
185  ival = lref + ninc
+
186  endif
+
187  if(ityp==1) then
+
188  nbmp = int(ival)
+
189  call usrtpl(lun,n,nbmp)
+
190  if (iscodes(lun) /= 0) return
+
191  goto 11
+
192  endif
+
193  if(ival<lps(nbit)) val(n,lun) = ups(ival,node)
+
194  call strbtm(n,lun)
+
195  ibit = ibit + linc*msub(lun)
+
196  elseif(ityp==3) then
+
197  ! This is a character element. If there are more than 8 characters, then only the first 8 will be unpacked by this
+
198  ! routine, and a separate subsequent call to subroutine readlc() will be required to unpack the remainder of the string.
+
199  ! In this case, pointers will be saved within common /rlccmn/ for later use within readlc().
+
200  lelm = nbit/8
+
201  nchr = min(8,lelm)
+
202  ibsv = ibit
+
203  cref = ' '
+
204  call upc(cref,nchr,mbay(1,lun),ibit,.true.)
+
205  if(lelm>8) then
+
206  ibit = ibit + (lelm-8)*8
+
207  nrst = nrst + 1
+
208  if(nrst>mxrst) then
+
209  write(bort_str,'("BUFRLIB: RDCMPS - NUMBER OF LONG CHARACTER STRINGS EXCEEDS THE LIMIT (",I4,")")') mxrst
+
210  call bort(bort_str)
+
211  endif
+
212  crtag(nrst) = tag(node)
+
213  endif
+
214  ! Unpack the increment length indicator. For character elements, this length is in bytes rather than bits.
+
215  call upb(linc,6,mbay(1,lun),ibit)
+
216  if(linc==0) then
+
217  if(lelm>8) then
+
218  irnch(nrst) = lelm
+
219  irbit(nrst) = ibsv
+
220  endif
+
221  cval = cref
+
222  else
+
223  jbit = ibit + linc*(nsbs-1)*8
+
224  if(lelm>8) then
+
225  irnch(nrst) = linc
+
226  irbit(nrst) = jbit
+
227  endif
+
228  nchr = min(8,linc)
+
229  cval = ' '
+
230  call upc(cval,nchr,mbay(1,lun),jbit,.true.)
+
231  endif
+
232  if (lelm<=8 .and. icbfms(cval,nchr)/=0) then
+
233  val(n,lun) = bmiss
+
234  else
+
235  val(n,lun) = rval
+
236  endif
+
237  ibit = ibit + 8*linc*msub(lun)
+
238  endif
+
239  enddo
+
240 
+
241  return
+
242 end subroutine rdcmps
+
243 
+
258 subroutine cmsgini(lun,mesg,subset,idate,nsub,nbyt)
+
259 
+
260  implicit none
+
261 
+
262  integer, intent(in) :: lun, idate, nsub
+
263  integer, intent(inout) :: nbyt
+
264  integer, intent(out) :: mesg(*)
+
265  integer mtyp, msbt, inod, isub, iret, jdate, mcen, mear, mmon, mday, mour, mmin, mbit, mbyt, len1, len3, i4dy
+
266 
+
267  character*128 bort_str
+
268  character*8, intent(in) :: subset
+
269  character*4 bufr
+
270  character tab
+
271 
+
272  data bufr/'BUFR'/
+
273 
+
274  ! Get the message tag and type, and break up the date which can be either YYMMDDHH or YYYYMMDDHH
+
275 
+
276  call nemtba(lun,subset,mtyp,msbt,inod)
+
277  call nemtab(lun,subset,isub,tab,iret)
+
278  if(iret==0) then
+
279  write(bort_str,'("BUFRLIB: CMSGINI - TABLE A MESSAGE TYPE MNEMONIC ",A," NOT FOUND IN INTERNAL TABLE D ARRAYS")') subset
+
280  call bort(bort_str)
+
281  endif
+
282 
+
283  jdate = i4dy(idate)
+
284  mcen = mod(jdate/10**8,100)+1
+
285  mear = mod(jdate/10**6,100)
+
286  mmon = mod(jdate/10**4,100)
+
287  mday = mod(jdate/10**2,100)
+
288  mour = mod(jdate ,100)
+
289  mmin = 0
+
290 
+
291  if(mear==0) then
+
292  mcen = mcen-1
+
293  mear = 100
+
294  endif
+
295 
+
296  ! Initialize the message
+
297 
+
298  mbit = 0
+
299 
+
300  ! Section 0
+
301 
+
302  call pkc(bufr , 4 , mesg,mbit)
+
303  ! Note that the actual Section 0 length will be computed and stored below; for now, we're really only interested in
+
304  ! advancing mbit by the correct amount, so we'll just store a default value of 0.
+
305  call pkb( 0 , 24 , mesg,mbit)
+
306  call pkb( 3 , 8 , mesg,mbit)
+
307 
+
308  ! Section 1
+
309 
+
310  len1 = 18
+
311 
+
312  call pkb(len1 , 24 , mesg,mbit)
+
313  call pkb( 0 , 8 , mesg,mbit)
+
314  call pkb( 3 , 8 , mesg,mbit)
+
315  call pkb( 7 , 8 , mesg,mbit)
+
316  call pkb( 0 , 8 , mesg,mbit)
+
317  call pkb( 0 , 8 , mesg,mbit)
+
318  call pkb(mtyp , 8 , mesg,mbit)
+
319  call pkb(msbt , 8 , mesg,mbit)
+
320  call pkb( 36 , 8 , mesg,mbit)
+
321  call pkb( 0 , 8 , mesg,mbit)
+
322  call pkb(mear , 8 , mesg,mbit)
+
323  call pkb(mmon , 8 , mesg,mbit)
+
324  call pkb(mday , 8 , mesg,mbit)
+
325  call pkb(mour , 8 , mesg,mbit)
+
326  call pkb(mmin , 8 , mesg,mbit)
+
327  call pkb(mcen , 8 , mesg,mbit)
+
328 
+
329  ! Section 3
+
330 
+
331  len3 = 10
+
332 
+
333  call pkb(len3 , 24 , mesg,mbit)
+
334  call pkb( 0 , 8 , mesg,mbit)
+
335  call pkb(nsub , 16 , mesg,mbit)
+
336  call pkb( 192 , 8 , mesg,mbit)
+
337  call pkb(isub , 16 , mesg,mbit)
+
338  call pkb( 0 , 8 , mesg,mbit)
+
339 
+
340  ! Section 4
+
341 
+
342  ! Store the total length of Section 4. Remember that the input value of nbyt only contains the length of the compressed
+
343  ! data portion of Section 4, so we need to add four bytes to this number in order to account for the total length of
+
344  ! Section 4. The actual compressed data portion will be filled in later by subroutine wrcmps().
+
345  call pkb((nbyt+4) , 24 , mesg,mbit)
+
346  call pkb( 0 , 8 , mesg,mbit)
+
347 
+
348  ! Section 5
+
349 
+
350  ! This section will be filled in later by subroutine wrcmps(). However, for now, and noting that mbit currently points
+
351  ! to the last bit of the fourth byte of Section 4, then we have:
+
352  ! (total length of BUFR message (in Section 0)) =
+
353  ! (length of message up through fourth byte of Section 4)
+
354  ! + (length of compressed data portion of Section 4)
+
355  ! + (length of Section 5)
+
356  mbyt = mbit/8 + nbyt + 4
+
357 
+
358  ! For output, make nbyt point to the current location of mbit, which is the byte after which to actually begin writing the
+
359  ! compressed data into Section 4.
+
360  nbyt = mbit/8
+
361 
+
362  ! Now, store the total length of the BUFR message in Section 0.
+
363  mbit = 32
+
364  call pkb(mbyt,24,mesg,mbit)
+
365 
+
366  return
+
367 end subroutine cmsgini
+
368 
+
386 subroutine wrcmps(lunix)
+
387 
+
388  use modv_vars, only: mxcdv, mxcsb
+
389 
+
390  use moda_usrint
+
391  use moda_msgcwd
+
392  use moda_bitbuf
+
393  use moda_mgwa
+
394  use moda_tables
+
395  use moda_comprx
+
396  use moda_comprs
+
397  use moda_s01cm
+
398 
+
399  implicit none
+
400 
+
401  integer, intent(in) :: lunix
+
402  integer ibyt, jbit, lunit, lun, il, im, icol, i, j, node, lbyt, nbyt, nchr, ldata, iupbs01
+
403 
+
404  character*128 bort_str
+
405  character*8 subset
+
406  character czero
+
407 
+
408  logical first, kmiss, edge4, msgfull, cmpres
+
409 
+
410  real, parameter :: rln2 = 1./log(2.)
+
411  real range
+
412 
+
413  data first /.true./
+
414 
+
415  save first, ibyt, jbit, subset, edge4
+
416 
+
417  ! Get the unit and subset tag
+
418 
+
419  lunit = abs(lunix)
+
420  call status(lunit,lun,il,im)
+
421 
+
422  do while (.true.)
+
423 
+
424  if(first) then
+
425  ! Initialize some values in order to prepare for the creation of a new compressed BUFR message for output.
+
426  kbyt = 0
+
427  ncol = 0
+
428  lunc = lun
+
429  nrow = nval(lun)
+
430  subset = tag(inode(lun))(1:8)
+
431  first = .false.
+
432  flush = .false.
+
433  writ1 = .false.
+
434  ! The following call to cmsgini() is just being done to determine how many bytes (kbyt) will be taken up in a message
+
435  ! by the information in Sections 0, 1, 2 and 3. This in turn will allow us to determine how many compressed data subsets
+
436  ! will fit into Section 4 without overflowing maxbyt. Then, later on, another separate call to cmsgini() will be done to
+
437  ! actually initialize Sections 0, 1, 2 and 3 of the final compressed BUFR message that will be written out.
+
438  call cmsgini(lun,mbay(1,lun),subset,idate(lun),ncol,kbyt)
+
439  ! Check the edition number of the BUFR message to be created
+
440  edge4 = .false.
+
441  if(ns01v>0) then
+
442  i = 1
+
443  do while ( (.not.edge4) .and. (i<=ns01v) )
+
444  if( (cmnem(i)=='BEN') .and. (ivmnem(i)>=4) ) then
+
445  edge4 = .true.
+
446  else
+
447  i = i+1
+
448  endif
+
449  enddo
+
450  endif
+
451  endif
+
452 
+
453  if(lun/=lunc) then
+
454  write(bort_str,.NE.'("BUFRLIB: WRCMPS - FILE ID FOR THIS CALL (",I3,") FILE ID FOR INITIAL CALL (",I3,")'// &
+
455  ' - UNIT NUMBER NOW IS",I4)') lun,lunc,lunix
+
456  call bort(bort_str)
+
457  endif
+
458 
+
459  cmpres = .true.
+
460  if(lunix<0) then
+
461  ! This is a "flush" call, so clear out the buffer (note that there is no current subset to be stored!) and prepare
+
462  ! to write the final compressed BUFR message.
+
463  if(ncol<=0) return
+
464  flush = .true.
+
465  writ1 = .true.
+
466  icol = 1
+
467  elseif(ncol+1>mxcsb) then
+
468  ! There's no more room in the internal compression arrays for another subset, so we'll need to write out a message
+
469  ! containing all of the data in those arrays, then initialize a new message to hold the current subset.
+
470  cmpres = .false.
+
471  else
+
472  ! Check on some other possibly problematic situations
+
473  if(nval(lun)/=nrow) then
+
474  writ1 = .true.
+
475  icol = 1
+
476  elseif(nval(lun)>mxcdv) then
+
477  write(bort_str,'("BUFRLIB: WRCMPS - NO. OF ELEMENTS IN THE '// &
+
478  .GT.'SUBSET (",I6,") THE NO. OF ROWS ALLOCATED FOR THE COMPRESSION MATRIX (",I6,")")') nval(lun),mxcdv
+
479  call bort(bort_str)
+
480  elseif(ncol>0) then
+
481  ! Confirm that all of the nodes are the same as in the previous subset for this same BUFR message. If not, then
+
482  ! there may be different nested replication sequences activated in the current subset vs. in the previous subset,
+
483  ! even though the total number of nodes is the same.
+
484  do i = 1, nval(lun)
+
485  if ( inv(i,lun) /= jlnode(i) ) then
+
486  writ1 = .true.
+
487  icol = 1
+
488  exit
+
489  endif
+
490  enddo
+
491  endif
+
492  if(.not.writ1) then
+
493  ! Store the next subset for compression
+
494  ncol = ncol+1
+
495  icol = ncol
+
496  ibit = 16
+
497  do i=1,nval(lun)
+
498  node = inv(i,lun)
+
499  jlnode(i) = node
+
500  ityp(i) = itp(node)
+
501  iwid(i) = ibt(node)
+
502  if(ityp(i)==1.or.ityp(i)==2) then
+
503  call up8(matx(i,ncol),ibt(node),ibay,ibit)
+
504  elseif(ityp(i)==3) then
+
505  catx(i,ncol) = ' '
+
506  call upc(catx(i,ncol),ibt(node)/8,ibay,ibit,.true.)
+
507  endif
+
508  enddo
+
509  endif
+
510  endif
+
511 
+
512  ! Will the next subset fit into the current message? The only way to find out is to actually re-do the compression
+
513  ! by re-computing all of the local reference values, increments, etc. to determine the new Section 4 length.
+
514 
+
515  do while (cmpres)
+
516  if(ncol<=0) then
+
517  write(bort_str,'("BUFRLIB: WRCMPS - NO. OF COLUMNS CALCULATED '// &
+
518  .LE.'FOR COMPRESSION MAXRIX IS 0 (=",I6,")")') ncol
+
519  call bort(bort_str)
+
520  endif
+
521  ! ldata will hold the length (in bits) of the compressed data, i.e. the sum total for all data values for all data
+
522  ! subsets in the message
+
523  ldata = 0
+
524  do i=1,nrow
+
525  if(ityp(i)==1 .or. ityp(i)==2) then
+
526  ! Row i of the compression matrix contains numeric values, so kmis(i) will store .true. if any such values are
+
527  ! "missing", or .false. otherwise
+
528  imiss = 2_8**iwid(i)-1
+
529  if(icol==1) then
+
530  kmin(i) = imiss
+
531  kmax(i) = 0
+
532  kmis(i) = .false.
+
533  endif
+
534  do j=icol,ncol
+
535  if(matx(i,j)<imiss) then
+
536  kmin(i) = min(kmin(i),matx(i,j))
+
537  kmax(i) = max(kmax(i),matx(i,j))
+
538  else
+
539  kmis(i) = .true.
+
540  endif
+
541  enddo
+
542  kmiss = kmis(i) .and. kmin(i)<imiss
+
543  range = real(max(1,kmax(i)-kmin(i)+1))
+
544  if(ityp(i)==2 .and. (range>1. .or. kmiss)) then
+
545  ! The data values in row i of the compression matrix are numeric values that aren't all identical. Compute the
+
546  ! number of bits needed to hold the largest of the increments.
+
547  kbit(i) = nint(log(range)*rln2)
+
548  if(2**kbit(i)-1<=range) kbit(i) = kbit(i)+1
+
549  ! However, under no circumstances should this number ever exceed the width of the original underlying descriptor!
+
550  if(kbit(i)>iwid(i)) kbit(i) = iwid(i)
+
551  else
+
552  ! The data values in row i of the compression matrix are numeric values that are all identical, so the increments
+
553  ! will be omitted from the message.
+
554  kbit(i) = 0
+
555  endif
+
556  ldata = ldata + iwid(i) + 6 + ncol*kbit(i)
+
557  elseif(ityp(i)==3) then
+
558  ! Row i of the compression matrix contains character values, so kmis(i) will store .false. if all such values are
+
559  ! identical, OR .true. otherwise
+
560  if(icol==1) then
+
561  cstr(i) = catx(i,1)
+
562  kmis(i) = .false.
+
563  endif
+
564  do j=icol,ncol
+
565  if ( (.not.kmis(i)) .and. (cstr(i)/=catx(i,j)) ) then
+
566  kmis(i) = .true.
+
567  endif
+
568  enddo
+
569  if (kmis(i)) then
+
570  ! The data values in row i of the compression matrix are character values that are not all identical
+
571  kbit(i) = iwid(i)
+
572  else
+
573  ! The data values in row i of the compression matrix are character values that are all identical, so the
+
574  ! increments will be omitted from the message
+
575  kbit(i) = 0
+
576  endif
+
577  ldata = ldata + iwid(i) + 6 + ncol*kbit(i)
+
578  endif
+
579  enddo
+
580  ! Round data length up to a whole byte count
+
581  ibyt = (ldata+8-mod(ldata,8))/8
+
582  ! Depending on the edition number of the message, we need to ensure that we round to an even byte count
+
583  if( (.not.edge4) .and. (mod(ibyt,2)/=0) ) ibyt = ibyt+1
+
584  jbit = ibyt*8-ldata
+
585  if(msgfull(ibyt,kbyt,maxbyt)) then
+
586  ! The current subset will not fit into the current message. Set the flag to indicate that a message write is needed,
+
587  ! then go back and re-compress the Section 4 data for this message while excluding the data for the current subset,
+
588  ! which will be held and stored as the first subset of a new message after writing the current message.
+
589  writ1 = .true.
+
590  ncol = ncol-1
+
591  icol = 1
+
592  elseif(.not.writ1) then
+
593  ! Add the current subset to the current message and return
+
594  call usrtpl(lun,1,1)
+
595  nsub(lun) = -ncol
+
596  return
+
597  else
+
598  ! Exit the loop and proceed to write out the current message
+
599  cmpres = .false.
+
600  endif
+
601  enddo
+
602 
+
603  ! Write the complete compressed message. First, we need to do another call to cmsgini() to initialize Sections 0, 1, 2,
+
604  ! and 3 of the final compressed BUFR message that will be written out.
+
605 
+
606  call cmsgini(lun,mgwa,subset,idate(lun),ncol,ibyt)
+
607 
+
608  ! Now add the Section 4 data
+
609 
+
610  ibit = ibyt*8
+
611  do i=1,nrow
+
612  if(ityp(i)==1.or.ityp(i)==2) then
+
613  call pkb8(kmin(i),iwid(i),mgwa,ibit)
+
614  call pkb(kbit(i),6,mgwa,ibit)
+
615  if(kbit(i)>0) then
+
616  do j=1,ncol
+
617  if(matx(i,j)<2_8**iwid(i)-1) then
+
618  incr = matx(i,j)-kmin(i)
+
619  else
+
620  incr = 2_8**kbit(i)-1
+
621  endif
+
622  call pkb8(incr,kbit(i),mgwa,ibit)
+
623  enddo
+
624  endif
+
625  elseif(ityp(i)==3) then
+
626  nchr = iwid(i)/8
+
627  if(kbit(i)>0) then
+
628  call ipkm(czero,1,0)
+
629  do j=1,nchr
+
630  call pkc(czero,1,mgwa,ibit)
+
631  enddo
+
632  call pkb(nchr,6,mgwa,ibit)
+
633  do j=1,ncol
+
634  call pkc(catx(i,j),nchr,mgwa,ibit)
+
635  enddo
+
636  else
+
637  call pkc(cstr(i),nchr,mgwa,ibit)
+
638  call pkb(0,6,mgwa,ibit)
+
639  endif
+
640  endif
+
641  enddo
+
642 
+
643  ! Pad the end of Section 4 with zeroes up to the necessary byte count
+
644 
+
645  call pkb(0,jbit,mgwa,ibit)
+
646 
+
647  ! Add Section 5
+
648 
+
649  call pkc('7777',4,mgwa,ibit)
+
650 
+
651  ! Check that the message byte counters agree, then write the message
+
652 
+
653  if(mod(ibit,8)/=0) call bort('BUFRLIB: WRCMPS - THE NUMBER OF BITS IN THE '// &
+
654  'COMPRESSED BUFR MSG IS NOT A MULTIPLE OF 8 - MSG MUST END ON A BYTE BOUNDARY')
+
655  lbyt = iupbs01(mgwa,'LENM')
+
656  nbyt = ibit/8
+
657  if(nbyt/=lbyt) then
+
658  write(bort_str,'("BUFRLIB: WRCMPS - OUTPUT MESSAGE LENGTH FROM '// &
+
659  'SECTION 0",I6," DOES NOT EQUAL FINAL PACKED MESSAGE LENGTH (",I6,")")') lbyt,nbyt
+
660  call bort(bort_str)
+
661  endif
+
662 
+
663  call msgwrt(lunit,mgwa,nbyt)
+
664 
+
665  ! Now, unless this was a "flush" call to this subroutine, go back and initialize a new message to hold the current subset
+
666  ! that we weren't able to fit into the message that was just written out.
+
667 
+
668  first = .true.
+
669  if(flush) return
+
670  end do
+
671 
+
672 end subroutine wrcmps
+
subroutine strbtm(n, lun)
Store internal information in module moda_bitmaps if the input element is part of a bitmap.
Definition: bitmaps.F90:13
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine upb(nval, nbits, ibay, ibit)
Decode an integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:202
+
real *8 function ups(ival, node)
Unpack a real*8 value from an integer by applying the proper scale and reference values.
Definition: cidecode.F90:319
+
subroutine up8(nval, nbits, ibay, ibit)
Decode an 8-byte integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:128
+
subroutine upc(chr, nchr, ibay, ibit, cnvnull)
Decode a character string from within a specified number of bytes of an integer array,...
Definition: cidecode.F90:26
+
subroutine pkc(chr, nchr, ibay, ibit)
Encode a character string within a specified number of bytes of an integer array, starting at the bit...
Definition: ciencode.F90:25
+
recursive subroutine ipkm(cbay, nbyt, n)
Encode an integer value within a specified number of bytes of a character string, up to a maximum of ...
Definition: ciencode.F90:194
+
subroutine pkb(nval, nbits, ibay, ibit)
Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
Definition: ciencode.F90:140
+
subroutine pkb8(nval, nbits, ibay, ibit)
Encode an 8-byte integer value within a specified number of bits of an integer array,...
Definition: ciencode.F90:97
+
subroutine rdcmps(lun)
Read the next compressed BUFR data subset into internal arrays.
Definition: compress.F90:110
+
subroutine cmsgini(lun, mesg, subset, idate, nsub, nbyt)
Initialize a new BUFR message for output in compressed format.
Definition: compress.F90:259
+
recursive subroutine writcp(lunit)
Write a data subset into a BUFR message using compression.
Definition: compress.F90:72
+
subroutine wrcmps(lunix)
Write a compressed BUFR data subset.
Definition: compress.F90:387
+
subroutine cmpmsg(cf)
Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writin...
Definition: compress.F90:33
+
subroutine nemtba(lun, nemo, mtyp, msbt, inod)
Get information about a Table A descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1247
+
subroutine nemtab(lun, nemo, idn, tab, iret)
Get information about a descriptor, based on a mnemonic.
Definition: fxy.F90:432
+
subroutine capit(str)
Capitalize all of the alphabetic characters in a string.
Definition: misc.F90:355
+
Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
+
integer, dimension(:), allocatable ibay
Current data subset.
+
integer ibit
Bit pointer within ibay.
+
integer, dimension(:,:), allocatable mbay
Current BUFR message for each file ID.
+
integer, dimension(:), allocatable mbyt
Length (in bytes) of current BUFR message for each file ID.
+
integer maxbyt
Maximum length of an output BUFR message.
+
Declare arrays and variables needed for the storage of data values needed when writing compressed dat...
+
integer ncol
Number of data subsets in message.
+
integer *8 incr
Increment used when compressing non-character data values.
+
character *(:), dimension(:,:), allocatable catx
Character data values for all data subsets in message.
+
integer *8, dimension(:,:), allocatable matx
Non-character data values for all data subsets in message.
+
Declare arrays and variable needed for the storage of data values needed when writing compressed data...
+
character *(:), dimension(:), allocatable cstr
Character data value, if corresponding ityp value is set to 3.
+
integer kbyt
Number of bytes required to store Sections 0, 1, 2, and 3 of message.
+
logical flush
Flush flag.
+
integer nrow
Number of data values for each data subset in message.
+
integer *8 imiss
"Missing" value used when compressing non-character data values.
+
integer *8, dimension(:), allocatable kmax
Maximum of each data value across all data subsets in message.
+
integer, dimension(:), allocatable jlnode
Jump/link table node corresponding to each data value.
+
logical writ1
Write-out flag.
+
integer, dimension(:), allocatable ityp
Type of each data value:
+
integer, dimension(:), allocatable iwid
Bit width of underlying data descriptor as defined within Table B for each data value.
+
integer lunc
File ID for output file.
+
integer, dimension(:), allocatable kbit
Number of bits needed to hold the increments for this data value within each data subset of the messa...
+
logical, dimension(:), allocatable kmis
"Missing" values flag.
+
integer *8, dimension(:), allocatable kmin
Minimum of each data value across all data subsets in message.
+
Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
+
integer, dimension(:), allocatable mgwa
Temporary working copy of BUFR message.
+
Declare a variable used to indicate whether output BUFR messages should be compressed.
+
character ccmf
Flag indicating whether BUFR output messages are to be compressed; this variable is initialized to a ...
+
Declare arrays used to store information about the current BUFR message that is in the process of bei...
+
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
+
integer, dimension(:), allocatable idate
Section 1 date-time of message.
+
integer, dimension(:), allocatable msub
Total number of data subsets in message.
+
integer, dimension(:), allocatable nsub
Current subset pointer within message.
+
Declare arrays and variables needed to store information about long character strings (greater than 8...
+
integer nrst
Number of long character strings in data subset.
+
integer, dimension(:), allocatable irnch
Lengths (in bytes) of long character strings.
+
integer, dimension(:), allocatable irbit
Pointers in data subset to first bits of long character strings.
+
character *10, dimension(:), allocatable crtag
Table B mnemonics associated with long character strings.
+
Declare arrays and variables used to store custom values for certain mnemonics within Sections 0 and ...
+
integer, dimension(:), allocatable ivmnem
Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
+
integer ns01v
Number of custom values stored.
+
character *8, dimension(:), allocatable cmnem
Section 0 and 1 mnemonics corresponding to ivmnem.
+
Declare an array used to store a status code for each file ID if an error or other abnormal result oc...
+
integer, dimension(:), allocatable iscodes
Abnormal status codes.
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
+
Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
+
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
+
real *8, dimension(:,:), allocatable, target val
Data values.
+
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
+
integer, dimension(:,:), allocatable nrfelm
Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
subroutine msgwrt(lunit, mesg, mgbyt)
Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical u...
+
subroutine usrtpl(lun, invn, nbmp)
Expand a subset template within internal arrays.
+
recursive subroutine writsb(lunit)
Write a complete data subset into a BUFR message, for eventual output to logical unit lunit.
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/copydata_8F90.html b/copydata_8F90.html new file mode 100644 index 000000000..8e155cd0e --- /dev/null +++ b/copydata_8F90.html @@ -0,0 +1,720 @@ + + + + + + + +NCEPLIBS-bufr: copydata.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
copydata.F90 File Reference
+
+
+ +

Copy data between BUFR files or messages. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions/Subroutines

recursive subroutine copybf (lunin, lunot)
 Copy an entire BUFR file from one Fortran logical unit to another. More...
 
recursive subroutine copymg (lunin, lunot)
 Copy a BUFR message from one file to another. More...
 
recursive subroutine copysb (lunin, lunot, iret)
 Copy a BUFR data subset from one Fortran logical unit to another. More...
 
subroutine cpbfdx (lud, lun)
 Copy all of the DX BUFR table information from one unit to another within internal memory. More...
 
recursive subroutine cpymem (lunot)
 Copy a BUFR message from internal arrays to a file. More...
 
subroutine cpyupd (lunit, lin, lun, ibyt)
 Copy a BUFR data subset from one unit to another within internal memory. More...
 
recursive integer function icopysb (lunin, lunot)
 Copy a BUFR data subset from one Fortran logical unit to another. More...
 
integer function iok2cpy (lui, luo)
 Check whether a BUFR message, or a data subset from within a BUFR message, can be copied from one Fortran logical unit to another. More...
 
subroutine mvb (ib1, nb1, ib2, nb2, nbm)
 Copy a specified number of bytes from one packed binary array to another. More...
 
recursive subroutine ufbcpy (lubin, lubot)
 Copy a BUFR data subset from one Fortran logical unit to another. More...
 
recursive subroutine ufbcup (lubin, lubot)
 Copy unique elements of a data subset. More...
 
+

Detailed Description

+

Copy data between BUFR files or messages.

+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition in file copydata.F90.

+

Function/Subroutine Documentation

+ +

◆ copybf()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine copybf (integer, intent(in) lunin,
integer, intent(in) lunot 
)
+
+ +

Copy an entire BUFR file from one Fortran logical unit to another.

+
Parameters
+ + + +
lunin- Fortran logical unit number for source BUFR file
lunot- Fortran logical unit number for target BUFR file
+
+
+

The logical unit numbers lunin and lunot must already be associated with actual filenames on the local system, typically via a Fortran "OPEN" statement.

+
Remarks
    +
  • This subroutine uses subroutine msgwrt() to copy each BUFR message from lunin to lunot; therefore, this subroutine can be used to create a copy of lunin where each corresponding message in lunot contains any or all of the updates described in the documentation for subroutine msgwrt().
  • +
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 22 of file copydata.F90.

+ +

References bort(), closbf(), iupbs01(), moda_mgwa::mgwa, msgwrt(), openbf(), rdmsgw(), status(), and x84().

+ +
+
+ +

◆ copymg()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine copymg (integer, intent(in) lunin,
integer, intent(in) lunot 
)
+
+ +

Copy a BUFR message from one file to another.

+

This subroutine is similar to subroutine cpymem(), except that it copies a BUFR message from one Fortran logical unit to another, whereas cpymem() copies a BUFR message from internal arrays in memory to a specified Fortran logical unit.

+

Logical unit lUNIN should have already been opened for input operations via a previous call to subroutine openbf(). A BUFR message should have already been read into internal arrays for lunin via a previous call to one of the message-reading subroutines.

+

Logical unit lunot should have already been opened for output operations via a previous call to subroutine openbf(), but there should not be any BUFR message already open for output within the internal arrays for lunot via a previous call to one of the message-writing subroutines.

+

The DX BUFR Table information associated with each of the logical units lunin and lunot must contain identical definitions for the type of BUFR message to be copied from lunin to lunot.

+

This subroutine uses subroutine msgwrt() to write to lunot; therefore, it can be used to transform a copy of the original BUFR message from lunin with any or all of the updates described in the documentation for subroutine msgwrt().

+
Parameters
+ + + +
lunin- Fortran logical unit number for source BUFR file
lunot- Fortran logical unit number for target BUFR file
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 107 of file copydata.F90.

+ +

References bort(), moda_msgcwd::idate, moda_msgcwd::inode, iok2cpy(), iupbs01(), moda_bitbuf::mbay, msgwrt(), moda_msgcwd::msub, nemtba(), moda_msgcwd::nmsg, moda_msgcwd::nsub, status(), moda_tables::tag, and x84().

+ +

Referenced by split_by_subset().

+ +
+
+ +

◆ copysb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine copysb (integer, intent(in) lunin,
integer, intent(in) lunot,
integer, intent(out) iret 
)
+
+ +

Copy a BUFR data subset from one Fortran logical unit to another.

+

Logical unit lunin should have already been opened for input operations via a previous call to subroutine openbf(), and a BUFR message should have already been read into internal arrays for lunin via a previous call to one of the message-reading subroutines.

+

Logical unit lunot should have already been opened for output operations via a previous call to subroutine openbf(), and a BUFR message should already be open for output within internal arrays via a previous call to one of the NCEPLIBS-bufr message-writing subroutines.

+

The compression status of the data subset (i.e. compressed or uncompressed) will be preserved when copying from lunin to lunot.

+

If lunot < 0, then a data subset is read from the BUFR message in internal arrays for lunin but is not copied to the BUFR message in internal arrays for lunot. Otherwise, the DX BUFR Table information associated with each of the logical units lunin and lunot must contain identical definitions for the type of BUFR message containing the data subset to be copied from lunin to lunot.

+
Parameters
+ + + + +
lunin- Fortran logical unit number for source BUFR file
lunot- Fortran logical unit number for target BUFR file
iret- return code:
    +
  • 0 = normal return
  • +
  • -1 = a BUFR data subset could not be read from the BUFR message in internal arrays for lunin
  • +
+
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 202 of file copydata.F90.

+ +

References bort(), cmpmsg(), cpyupd(), getlens(), moda_bitbuf::ibit, moda_msgcwd::inode, iok2cpy(), moda_bitbuf::mbay, moda_bitbuf::mbyt, mesgbc(), moda_msgcwd::msub, moda_msgcwd::nsub, readsb(), status(), moda_tables::tag, ufbcpy(), upb(), writsb(), x48(), and x84().

+ +

Referenced by icopysb().

+ +
+
+ +

◆ cpbfdx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine cpbfdx (integer, intent(in) lud,
integer, intent(in) lun 
)
+
+ +

Copy all of the DX BUFR table information from one unit to another within internal memory.

+
Parameters
+ + + +
lud- File ID for input unit
lun- File ID for output unit
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 677 of file copydata.F90.

+ +

References dxinit(), moda_tababd::idna, moda_tababd::idnb, moda_tababd::idnd, moda_msgcwd::inode, moda_tababd::mtab, moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, moda_tababd::taba, moda_tababd::tabb, and moda_tababd::tabd.

+ +

Referenced by makestab(), readdx(), and wrdxtb().

+ +
+
+ +

◆ cpymem()

+ +
+
+ + + + + + + + +
recursive subroutine cpymem (integer, intent(in) lunot)
+
+ +

Copy a BUFR message from internal arrays to a file.

+

This subroutine is similar to subroutine copymg(), except that it copies a BUFR message from internal arrays in memory to a specified Fortran logical unit, whereas copymg() copies a BUFR message from one Fortran logical unit to another.

+

One or more files of BUFR messages should have already been read into internal arrays in memory via one or more previous calls to subroutine ufbmem(), and a BUFR message should already be in scope for processing from these arrays via a previous call to subroutine rdmemm() or readmm().

+

Logical unit lunot should have already been opened for output operations via a previous call to subroutine openbf(), but there should not be any BUFR message already open for output within the internal arrays for lunot via a previous call to one of the message-writing subroutines.

+

The DX BUFR Table information associated with the internal arrays in memory and with logical unit lunot must contain identical definitions for the type of BUFR message to be copied from the former to the latter.

+

This subroutine uses subroutine msgwrt() to write to lunot; therefore, it can be used to transform a copy of the original BUFR message from memory with any or all of the updates described in the documentation for subroutine msgwrt().

+
Parameters
+ + +
lunot- Fortran logical unit number for target BUFR file.
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 433 of file copydata.F90.

+ +

References bort(), moda_msgcwd::idate, moda_msgcwd::inode, iok2cpy(), iupbs01(), moda_bitbuf::mbay, msgwrt(), moda_msgcwd::msub, moda_msgmem::munit, nemtba(), moda_msgcwd::nmsg, moda_msgcwd::nsub, status(), moda_tables::tag, and x84().

+ +
+
+ +

◆ cpyupd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine cpyupd (integer, intent(in) lunit,
integer, intent(in) lin,
integer, intent(in) lun,
integer, intent(in) ibyt 
)
+
+ +

Copy a BUFR data subset from one unit to another within internal memory.

+

If the subset will not fit into the output message, or if the subset byte count exceeds 65530 (sufficiently close to the 16-bit byte counter upper limit of 65535), then that message is flushed to lunit and a new one is created in order to hold the copied subset. Any subset with byte count > 65530 will be written into its own one-subset message. If the subset to be copied is larger than the maximum message length, then a call is issued to subroutine bort().

+
Parameters
+ + + + + +
lunit- Fortran logical unit number for BUFR file associated with output unit
lin- File ID for input unit
lun- File ID for output unit
ibyt- Length (in bytes) of data subset
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 512 of file copydata.F90.

+ +

References bort(), errwrt(), moda_bitbuf::maxbyt, moda_bitbuf::mbay, moda_bitbuf::mbyt, msgini(), msgwrt(), mvb(), moda_msgcwd::nsub, and pkb().

+ +

Referenced by copysb().

+ +
+
+ +

◆ icopysb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive integer function icopysb (integer, intent(in) lunin,
integer, intent(in) lunot 
)
+
+ +

Copy a BUFR data subset from one Fortran logical unit to another.

+

This function calls subroutine copysb() and passes back its return code as the function value.

+
Parameters
+ + + +
lunin- Fortran logical unit number for source BUFR file
lunot- Fortran logical unit number for target BUFR file
+
+
+
Returns
icopysb - return code:
    +
  • 0 = normal return
  • +
  • -1 = a BUFR data subset could not be read from the BUFR message in internal arrays for lunin
  • +
+
+
Remarks
    +
  • The use of this function allows the return code from copysb() to be used as the target variable within an iterative program loop.
  • +
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 311 of file copydata.F90.

+ +

References copysb(), and x84().

+ +
+
+ +

◆ iok2cpy()

+ +
+
+ + + + + + + + + + + + + + + + + + +
integer function iok2cpy (integer, intent(in) lui,
integer, intent(in) luo 
)
+
+ +

Check whether a BUFR message, or a data subset from within a BUFR message, can be copied from one Fortran logical unit to another.

+

The decision is based on whether both logical units contain identical definitions for the BUFR message type in question within their associated DX BUFR Table information. Note that it's possible for a BUFR message type to be identically defined for two different logical units even if the full set of associated DX BUFR table information isn't identical between both units.

+
Parameters
+ + + +
lui- File ID for source BUFR file
luo- File ID for target BUFR file
+
+
+
Returns
iok2cpy - Flag indicating whether a BUFR message or data subset can be copied from lui to luo:
    +
  • 0 = No
  • +
  • 1 = Yes
  • +
+
+
Author
J. Ator
+
Date
2009-06-26
+ +

Definition at line 354 of file copydata.F90.

+ +

References moda_tables::ibt, icmpdx(), moda_msgcwd::inode, moda_tables::irf, moda_tables::isc, nemtbax(), moda_tables::tag, and moda_tables::typ.

+ +

Referenced by copymg(), copysb(), cpymem(), and ufbcpy().

+ +
+
+ +

◆ mvb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine mvb (integer, dimension(*), intent(in) ib1,
integer, intent(in) nb1,
integer, dimension(*), intent(out) ib2,
integer, intent(in) nb2,
integer, intent(in) nbm 
)
+
+ +

Copy a specified number of bytes from one packed binary array to another.

+
Parameters
+ + + + + + +
ib1- Packed input binary array
nb1- Pointer to first byte in ib1 to copy from
ib2- Packed output binary array
nb2- Pointer to first byte in ib2 to copy to
nbm- Number of bytes to copy
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 730 of file copydata.F90.

+ +

References pkb(), and upb().

+ +

Referenced by atrcpt(), cnved4(), cpyupd(), msgupd(), stndrd(), x48(), and x84().

+ +
+
+ +

◆ ufbcpy()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine ufbcpy (integer, intent(in) lubin,
integer, intent(in) lubot 
)
+
+ +

Copy a BUFR data subset from one Fortran logical unit to another.

+

This subroutine is similar to subroutine copysb(), except that here a BUFR data subset should have already been read into internal arrays for logical unit lubin via a previous call to one of the subset-reading subroutines, whereas copysb() only requires that a BUFR message should have already been read into internal arrays via a previous call to one of the message-reading subroutines.

+

For logical unit lubot, a BUFR message should already be open for output within internal arrays via a previous call to one of the message-writing subroutines.

+

The DX BUFR Table information associated with each of the logical units lubin and lubot must contain identical definitions for the data subset to be copied.

+
Parameters
+ + + +
lubin- Fortran logical unit number for source BUFR file
lubot- Fortran logical unit number for target BUFR file
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 611 of file copydata.F90.

+ +

References bort(), moda_msgcwd::inode, moda_usrint::inv, iok2cpy(), moda_ufbcpl::luncpy, moda_usrint::nrfelm, moda_usrint::nval, status(), moda_tables::tag, moda_usrint::val, and x84().

+ +

Referenced by copysb().

+ +
+
+ +

◆ ufbcup()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine ufbcup (integer, intent(in) lubin,
integer, intent(in) lubot 
)
+
+ +

Copy unique elements of a data subset.

+

Copy each unique element from an input subset into the identical mnemonic slot in the output subset.

+

Before this subroutine is called:

+

After this subroutine is called, one of the subset-writing subroutines must be called on the output file to write the subset to file.

+
Parameters
+ + + +
lubin- Fortran logical unit number for input BUFR file
lubot- Fortran logical unit number for output BUFR file
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 767 of file copydata.F90.

+ +

References bort(), moda_msgcwd::inode, moda_usrint::inv, moda_ivttmp::itmp, moda_tables::itp, moda_usrint::nval, status(), moda_tables::tag, moda_ivttmp::ttmp, moda_usrint::val, and x84().

+ +
+
+
+
+ + + + diff --git a/copydata_8F90.js b/copydata_8F90.js new file mode 100644 index 000000000..82be29cf1 --- /dev/null +++ b/copydata_8F90.js @@ -0,0 +1,14 @@ +var copydata_8F90 = +[ + [ "copybf", "copydata_8F90.html#a6df688983642d7845688aba3819c847e", null ], + [ "copymg", "copydata_8F90.html#aedfe2559c1f9c59ec85c11993b378e7e", null ], + [ "copysb", "copydata_8F90.html#a81eba6ff34f0a5020bf311ccf24d8efc", null ], + [ "cpbfdx", "copydata_8F90.html#a352b4ac3adf31bada79d4d8672f0b800", null ], + [ "cpymem", "copydata_8F90.html#ad102179380a6543e1ec7af4c1ba1fdde", null ], + [ "cpyupd", "copydata_8F90.html#a9441a5be99c4a359ce4f2798037a2ea1", null ], + [ "icopysb", "copydata_8F90.html#a31b6d67aacae28998cab9d130d39e7a2", null ], + [ "iok2cpy", "copydata_8F90.html#a23f9925bf37d99fd855fd80cf5750ee2", null ], + [ "mvb", "copydata_8F90.html#a4ced98b23d03cd8718d81b357ee4e2c5", null ], + [ "ufbcpy", "copydata_8F90.html#aed892e851f07fc9bf94a2c58c809c09c", null ], + [ "ufbcup", "copydata_8F90.html#a6ec0c8f23e362f62f78ba314d6fa8f33", null ] +]; \ No newline at end of file diff --git a/copydata_8F90_source.html b/copydata_8F90_source.html new file mode 100644 index 000000000..0d04e1c2d --- /dev/null +++ b/copydata_8F90_source.html @@ -0,0 +1,794 @@ + + + + + + + +NCEPLIBS-bufr: copydata.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
copydata.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
22 recursive subroutine copybf(lunin,lunot)
+
23 
+
24  use modv_vars, only: im8b
+
25 
+
26  use moda_mgwa
+
27 
+
28  implicit none
+
29 
+
30  integer, intent(in) :: lunin, lunot
+
31  integer my_lunin, my_lunot, lun, il, im, ier, iupbs01
+
32 
+
33  ! Check for I8 integers
+
34 
+
35  if(im8b) then
+
36  im8b=.false.
+
37 
+
38  call x84(lunin,my_lunin,1)
+
39  call x84(lunot,my_lunot,1)
+
40  call copybf(my_lunin,my_lunot)
+
41 
+
42  im8b=.true.
+
43  return
+
44  endif
+
45 
+
46  ! Check BUFR file statuses
+
47 
+
48  call status(lunin,lun,il,im)
+
49  if(il/=0) call bort ('BUFRLIB: COPYBF - INPUT BUFR FILE IS OPEN, IT MUST BE CLOSED')
+
50  call status(lunot,lun,il,im)
+
51  if(il/=0) call bort ('BUFRLIB: COPYBF - OUTPUT BUFR FILE IS OPEN, IT MUST BE CLOSED')
+
52 
+
53  ! Connect the files for reading/writing to the C I/O interface
+
54 
+
55  call openbf(lunin,'INX',lunin)
+
56  call openbf(lunot,'OUX',lunin)
+
57 
+
58  ! Read and copy a BUFR file from unit lunin to unit lunot
+
59 
+
60  ier = 0
+
61  do while (ier==0)
+
62  call rdmsgw(lunin,mgwa,ier)
+
63  if(ier==0) call msgwrt(lunot,mgwa,iupbs01(mgwa,'LENM'))
+
64  enddo
+
65 
+
66  ! Free up the file connections for the two files
+
67 
+
68  call closbf(lunin)
+
69  call closbf(lunot)
+
70 
+
71  return
+
72 end subroutine copybf
+
73 
+
107 recursive subroutine copymg(lunin,lunot)
+
108 
+
109  use modv_vars, only: im8b
+
110 
+
111  use moda_msgcwd
+
112  use moda_bitbuf
+
113  use moda_tables
+
114 
+
115  implicit none
+
116 
+
117  integer, intent(in) :: lunin, lunot
+
118  integer my_lunin, my_lunot, lin, lot, il, im, mtyp, msbt, inod, mbym, iupbs01, iok2cpy
+
119 
+
120  character*8 subset
+
121 
+
122  ! Check for I8 integers
+
123 
+
124  if(im8b) then
+
125  im8b=.false.
+
126 
+
127  call x84(lunin,my_lunin,1)
+
128  call x84(lunot,my_lunot,1)
+
129  call copymg(my_lunin,my_lunot)
+
130 
+
131  im8b=.true.
+
132  return
+
133  endif
+
134 
+
135  ! Check the file statuses
+
136 
+
137  call status(lunin,lin,il,im)
+
138  if(il==0) call bort('BUFRLIB: COPYMG - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
139  if(il>0) call bort('BUFRLIB: COPYMG - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
140  if(im==0) call bort('BUFRLIB: COPYMG - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
141 
+
142  call status(lunot,lot,il,im)
+
143  if(il==0) call bort('BUFRLIB: COPYMG - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
+
144  if(il<0) call bort('BUFRLIB: COPYMG - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
+
145  if(im/=0) call bort('BUFRLIB: COPYMG - ALL MESSAGES MUST BE CLOSED IN OUTPUT BUFR FILE, A MESSAGE IS OPEN')
+
146 
+
147  ! Make sure both files have the same tables
+
148 
+
149  subset = tag(inode(lin))(1:8)
+
150  call nemtba(lot,subset,mtyp,msbt,inod)
+
151  if(inode(lin)/=inod .and. iok2cpy(lin,lot)/=1) &
+
152  call bort('BUFRLIB: COPYMG - INPUT AND OUTPUT BUFR FILES MUST HAVE THE SAME INTERNAL TABLES, THEY ARE DIFFERENT HERE')
+
153 
+
154  ! Everything okay, so copy a message
+
155 
+
156  mbym = iupbs01(mbay(1,lin),'LENM')
+
157  call msgwrt(lunot,mbay(1,lin),mbym)
+
158 
+
159  ! Set the message control words for partition associated with lunot
+
160 
+
161  nmsg(lot) = nmsg(lot) + 1
+
162  nsub(lot) = msub(lin)
+
163  msub(lot) = msub(lin)
+
164  idate(lot) = idate(lin)
+
165  inode(lot) = inod
+
166 
+
167  return
+
168 end subroutine copymg
+
169 
+
202 recursive subroutine copysb(lunin,lunot,iret)
+
203 
+
204  use modv_vars, only: im8b
+
205 
+
206  use moda_msgcwd
+
207  use moda_bitbuf
+
208  use moda_tables
+
209 
+
210  implicit none
+
211 
+
212  integer, intent(in) :: lunin, lunot
+
213  integer, intent(out) :: iret
+
214  integer my_lunin, my_lunot, lin, lot, il, im, mest, icmp, nbyt, len0, len1, len2, len3, len4, l5, iok2cpy
+
215 
+
216  ! Check for I8 integers
+
217 
+
218  if(im8b) then
+
219  im8b=.false.
+
220 
+
221  call x84(lunin,my_lunin,1)
+
222  call x84(lunot,my_lunot,1)
+
223  call copysb(my_lunin,my_lunot,iret)
+
224  call x48(iret,iret,1)
+
225 
+
226  im8b=.true.
+
227  return
+
228  endif
+
229 
+
230  iret = 0
+
231 
+
232  ! Check the file statuses
+
233 
+
234  call status(lunin,lin,il,im)
+
235  if(il==0) call bort('BUFRLIB: COPYSB - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
236  if(il>0) call bort('BUFRLIB: COPYSB - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
237  if(im==0) call bort('BUFRLIB: COPYSB - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
238 
+
239  if(lunot>0) then
+
240  call status(lunot,lot,il,im)
+
241  if(il==0) call bort('BUFRLIB: COPYSB - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
+
242  if(il<0) call bort('BUFRLIB: COPYSB - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
+
243  if(im==0) call bort('BUFRLIB: COPYSB - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
+
244  if( (inode(lin)/=inode(lot)) .and. ( (tag(inode(lin))/=tag(inode(lot))) .or. (iok2cpy(lin,lot)/=1) ) ) &
+
245  call bort('BUFRLIB: COPYSB - INPUT AND OUTPUT BUFR FILES MUST HAVE THE SAME INTERNAL TABLES, THEY ARE DIFFERENT HERE')
+
246  endif
+
247 
+
248  ! See if there is another subset in the message
+
249 
+
250  if(nsub(lin)==msub(lin)) then
+
251  iret = -1
+
252  return
+
253  endif
+
254 
+
255  ! Check compression status of input message, output message will match
+
256 
+
257  call mesgbc(-lunin, mest, icmp)
+
258 
+
259  if(icmp==1) then
+
260 
+
261  ! The input message is compressed, so read in the next subset and copy it as compressed to the output message.
+
262 
+
263  call readsb(lunin,iret)
+
264  if(lunot>0) then
+
265  call ufbcpy(lunin,lunot)
+
266  call cmpmsg('Y')
+
267  call writsb(lunot)
+
268  call cmpmsg('N')
+
269  endif
+
270  else
+
271 
+
272  ! The input message is uncompressed, so read in the next subset and copy it as uncompressed to the output message.
+
273 
+
274  ibit = (mbyt(lin))*8
+
275  call upb(nbyt,16,mbay(1,lin),ibit)
+
276  if (nbyt>65530) then
+
277  ! This is an oversized subset, so we can't rely on the value of nbyt as being the true size (in bytes) of the subset.
+
278  if ( (nsub(lin)==0) .and. (msub(lin)==1) ) then
+
279  ! But it's also the first and only subset in the message, so we can determine its true size in a different way.
+
280  call getlens(mbay(1,lin), 4, len0, len1, len2, len3, len4, l5)
+
281  nbyt = len4 - 4
+
282  else
+
283  ! We have no way to easily determine the true size of this oversized subset.
+
284  iret = -1
+
285  return
+
286  endif
+
287  endif
+
288  if(lunot>0) call cpyupd(lunot, lin, lot, nbyt)
+
289  mbyt(lin) = mbyt(lin) + nbyt
+
290  nsub(lin) = nsub(lin) + 1
+
291  endif
+
292 
+
293  return
+
294 end subroutine copysb
+
295 
+
311 recursive integer function icopysb(lunin,lunot) result(iret)
+
312 
+
313  use modv_vars, only: im8b
+
314 
+
315  implicit none
+
316 
+
317  integer, intent(in) :: lunin, lunot
+
318  integer my_lunin, my_lunot
+
319 
+
320  if(im8b) then
+
321  im8b=.false.
+
322 
+
323  call x84(lunin,my_lunin,1)
+
324  call x84(lunot,my_lunot,1)
+
325  iret=icopysb(my_lunin,my_lunot)
+
326 
+
327  im8b=.true.
+
328  return
+
329  endif
+
330 
+
331  call copysb(lunin,lunot,iret)
+
332 
+
333  return
+
334 end function icopysb
+
335 
+
354 integer function iok2cpy(lui,luo) result(iret)
+
355 
+
356  use moda_msgcwd
+
357  use moda_tables
+
358 
+
359  implicit none
+
360 
+
361  integer, intent(in) :: lui, luo
+
362  integer icmpdx, mtyp, msbt, inod, ntei, nteo, i
+
363 
+
364  character*8 subset
+
365 
+
366  iret = 0
+
367 
+
368  ! Do both logical units have the same internal table information?
+
369 
+
370  if ( icmpdx(lui,luo) == 1 ) then
+
371  iret = 1
+
372  return
+
373  endif
+
374 
+
375  ! No, so get the Table A mnemonic from the message to be copied, then check whether that mnemonic is defined within the
+
376  ! dictionary tables for the logical unit to be copied to.
+
377 
+
378  subset = tag(inode(lui))(1:8)
+
379  call nemtbax(luo,subset,mtyp,msbt,inod)
+
380  if ( inod == 0 ) return
+
381 
+
382  ! The Table A mnemonic is defined within the dictionary tables for both units, so now make sure the definitions are identical.
+
383 
+
384  ntei = isc(inode(lui))-inode(lui)
+
385  nteo = isc(inod)-inod
+
386  if ( ntei /= nteo ) return
+
387 
+
388  do i = 1, ntei
+
389  if ( tag(inode(lui)+i) /= tag(inod+i) ) return
+
390  if ( typ(inode(lui)+i) /= typ(inod+i) ) return
+
391  if ( isc(inode(lui)+i) /= isc(inod+i) ) return
+
392  if ( irf(inode(lui)+i) /= irf(inod+i) ) return
+
393  if ( ibt(inode(lui)+i) /= ibt(inod+i) ) return
+
394  enddo
+
395 
+
396  iret = 1
+
397 
+
398  return
+
399 end function iok2cpy
+
400 
+
433 recursive subroutine cpymem(lunot)
+
434 
+
435  use modv_vars, only: im8b
+
436 
+
437  use moda_msgcwd
+
438  use moda_bitbuf
+
439  use moda_msgmem
+
440  use moda_tables
+
441 
+
442  implicit none
+
443 
+
444  integer, intent(in) :: lunot
+
445  integer my_lunot, lin, lot, il, im, mtyp, msbt, inod, mbym, iupbs01, iok2cpy
+
446 
+
447  character*8 subset
+
448 
+
449  ! Check for I8 integers
+
450 
+
451  if(im8b) then
+
452  im8b=.false.
+
453 
+
454  call x84(lunot,my_lunot,1)
+
455  call cpymem(my_lunot)
+
456 
+
457  im8b=.true.
+
458  return
+
459  endif
+
460 
+
461  ! Check the file statuses
+
462 
+
463  call status(munit,lin,il,im)
+
464  if(im==0) call bort('BUFRLIB: CPYMEM - A MESSAGE MUST BE OPEN IN INPUT BUFR MESSAGES IN INTERNAL MEMORY, NONE ARE')
+
465 
+
466  call status(lunot,lot,il,im)
+
467  if(il==0) call bort('BUFRLIB: CPYMEM - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
+
468  if(il<0) call bort('BUFRLIB: CPYMEM - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
+
469  if(im/=0) call bort('BUFRLIB: CPYMEM - ALL MESSAGES MUST BE CLOSED IN OUTPUT BUFR FILE, A MESSAGE IS OPEN')
+
470 
+
471  ! Make sure both files have the same tables
+
472 
+
473  subset = tag(inode(lin))(1:8)
+
474  call nemtba(lot,subset,mtyp,msbt,inod)
+
475  if(inode(lin)/=inod .and. iok2cpy(lin,lot)/=1) &
+
476  call bort('BUFRLIB: CPYMEM - INPUT BUFR MESSAGES IN INTERNAL MEMORY AND OUTPUT BUFR FILE MUST HAVE SAME INTERNAL '// &
+
477  'TABLES (DIFFERENT HERE)')
+
478 
+
479  ! Everything okay, so copy a message
+
480 
+
481  mbym = iupbs01(mbay(1,lin),'LENM')
+
482  call msgwrt(lunot,mbay(1,lin),mbym)
+
483 
+
484  ! Set the message control words for partition associated with lunot
+
485 
+
486  nmsg(lot) = nmsg(lot) + 1
+
487  nsub(lot) = msub(lin)
+
488  msub(lot) = msub(lin)
+
489  idate(lot) = idate(lin)
+
490  inode(lot) = inod
+
491 
+
492  return
+
493 end subroutine cpymem
+
494 
+
512 subroutine cpyupd(lunit,lin,lun,ibyt)
+
513 
+
514  use moda_msgcwd
+
515  use moda_bitbuf
+
516 
+
517  implicit none
+
518 
+
519  integer, intent(in) :: lunit, lin, lun, ibyt
+
520  integer nby0, nby1, nby2, nby3, nby4, nby5, iprt, lbit, lbyt, nbyt, iupb
+
521 
+
522  common /msgptr/ nby0,nby1,nby2,nby3,nby4,nby5
+
523 
+
524  common /quiet/ iprt
+
525 
+
526  character*128 bort_str, errstr
+
527 
+
528  logical msgfull
+
529 
+
530  ! Check whether the new subset should be written into the currently open message
+
531 
+
532  if(msgfull(mbyt(lun),ibyt,maxbyt) .or. ((ibyt>65530).and.(nsub(lun)>0))) then
+
533  ! NO it should not, either because:
+
534  ! 1) it doesn't fit,
+
535  ! -- OR --
+
536  ! 2) it has byte count > 65530 (sufficiently close to the upper limit for the 16 bit byte counter placed at the
+
537  ! beginning of each subset), AND the current message has at least one subset in it,
+
538  ! SO write the current message out and create a new one to hold the current subset
+
539  call msgwrt(lunit,mbay(1,lun),mbyt(lun))
+
540  call msgini(lun)
+
541  endif
+
542 
+
543  if(msgfull(mbyt(lun),ibyt,maxbyt)) then
+
544  write(bort_str,'("BUFRLIB: CPYUPD - THE LENGTH OF THIS SUBSET EXCEEDS THE MAXIMUM MESSAGE LENGTH (",I6,")")') maxbyt
+
545  call bort(bort_str)
+
546  endif
+
547 
+
548  ! Transfer subset from one message to the other.
+
549 
+
550  ! Note that we want to append the data for this subset to the end of Section 4, but the value in mbyt(lun) already includes
+
551  ! the length of Section 5 (i.e. 4 bytes). Therefore, we need to begin writing at the point 3 bytes prior to the byte
+
552  ! currently pointed to by mbyt(lun).
+
553 
+
554  call mvb(mbay(1,lin),mbyt(lin)+1,mbay(1,lun),mbyt(lun)-3,ibyt)
+
555 
+
556  ! Update the subset and byte counters
+
557 
+
558  mbyt(lun) = mbyt(lun) + ibyt
+
559  nsub(lun) = nsub(lun) + 1
+
560 
+
561  lbit = (nby0+nby1+nby2+4)*8
+
562  call pkb(nsub(lun),16,mbay(1,lun),lbit)
+
563 
+
564  lbyt = nby0+nby1+nby2+nby3
+
565  nbyt = iupb(mbay(1,lun),lbyt+1,24)
+
566  lbit = lbyt*8
+
567  call pkb(nbyt+ibyt,24,mbay(1,lun),lbit)
+
568 
+
569  ! If the subset byte count is > 65530, then give it its own one-subset message (i.e. we cannot have any other subsets
+
570  ! in this message because their beginning would be beyond the upper limit of 65535 in the 16-bit byte counter, meaning
+
571  ! they could not be located!)
+
572 
+
573  if(ibyt>65530) then
+
574  if(iprt>=1) then
+
575  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
+
576  write ( unit=errstr, fmt='(A,I7,A,A)') 'BUFRLIB: CPYUPD - SUBSET HAS BYTE COUNT = ',ibyt,' > UPPER LIMIT OF 65535'
+
577  call errwrt(errstr)
+
578  call errwrt('>>>>>>>WILL BE COPIED INTO ITS OWN MESSAGE<<<<<<<<')
+
579  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
+
580  call errwrt(' ')
+
581  endif
+
582  call msgwrt(lunit,mbay(1,lun),mbyt(lun))
+
583  call msgini(lun)
+
584  endif
+
585 
+
586  return
+
587 end subroutine cpyupd
+
588 
+
611 recursive subroutine ufbcpy(lubin,lubot)
+
612 
+
613  use modv_vars, only: im8b
+
614 
+
615  use moda_usrint
+
616  use moda_msgcwd
+
617  use moda_ufbcpl
+
618  use moda_tables
+
619 
+
620  implicit none
+
621 
+
622  integer, intent(in) :: lubin, lubot
+
623  integer my_lubin, my_lubot, lui, luo, il, im, n, iok2cpy
+
624 
+
625  ! Check for I8 integers
+
626 
+
627  if(im8b) then
+
628  im8b=.false.
+
629 
+
630  call x84(lubin,my_lubin,1)
+
631  call x84(lubot,my_lubot,1)
+
632  call ufbcpy(my_lubin,my_lubot)
+
633 
+
634  im8b=.true.
+
635  return
+
636  endif
+
637 
+
638  ! Check the file statuses and inode
+
639 
+
640  call status(lubin,lui,il,im)
+
641  if(il==0) call bort('BUFRLIB: UFBCPY - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
642  if(il>0) call bort('BUFRLIB: UFBCPY - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
643  if(im==0) call bort('BUFRLIB: UFBCPY - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
644  if(inode(lui)/=inv(1,lui)) &
+
645  call bort('BUFRLIB: UFBCPY - LOCATION OF INTERNAL TABLE FOR INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION '// &
+
646  'IN INTERNAL SUBSET ARRAY')
+
647 
+
648  call status(lubot,luo,il,im)
+
649  if(il==0) call bort('BUFRLIB: UFBCPY - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
+
650  if(il<0) call bort('BUFRLIB: UFBCPY - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
+
651  if(im==0) call bort('BUFRLIB: UFBCPY - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
+
652 
+
653  if( (inode(lui)/=inode(luo)) .and. ( (tag(inode(lui))/=tag(inode(luo))) .or. (iok2cpy(lui,luo)/=1) ) ) &
+
654  call bort('BUFRLIB: UFBCPY - INPUT AND OUTPUT BUFR FILES MUST HAVE THE SAME INTERNAL TABLES, THEY ARE DIFFERENT HERE')
+
655 
+
656  ! Everything okay, so copy user array from lui to luo
+
657 
+
658  nval(luo) = nval(lui)
+
659 
+
660  do n=1,nval(lui)
+
661  inv(n,luo) = inv(n,lui)
+
662  nrfelm(n,luo) = nrfelm(n,lui)
+
663  val(n,luo) = val(n,lui)
+
664  enddo
+
665 
+
666  luncpy(luo)=lubin
+
667 
+
668  return
+
669 end subroutine ufbcpy
+
670 
+
677 subroutine cpbfdx(lud,lun)
+
678 
+
679  use moda_msgcwd
+
680  use moda_tababd
+
681 
+
682  implicit none
+
683 
+
684  integer, intent(in) :: lud, lun
+
685  integer i
+
686 
+
687  ! Initialize the dictionary table partition
+
688 
+
689  call dxinit(lun,0)
+
690 
+
691  ! Positional index for Table A mnem.
+
692  inode(lun) = inode(lud)
+
693 
+
694  ntba(lun) = ntba(lud)
+
695  ntbb(lun) = ntbb(lud)
+
696  ntbd(lun) = ntbd(lud)
+
697 
+
698  ! Table A entries
+
699  do i=1,ntba(lud)
+
700  idna(i,lun,1) = idna(i,lud,1)
+
701  idna(i,lun,2) = idna(i,lud,2)
+
702  taba(i,lun) = taba(i,lud)
+
703  mtab(i,lun) = mtab(i,lud)
+
704  enddo
+
705 
+
706  ! Table B entries
+
707  do i=1,ntbb(lud)
+
708  idnb(i,lun) = idnb(i,lud)
+
709  tabb(i,lun) = tabb(i,lud)
+
710  enddo
+
711 
+
712  ! Copy Table D entries
+
713  do i=1,ntbd(lud)
+
714  idnd(i,lun) = idnd(i,lud)
+
715  tabd(i,lun) = tabd(i,lud)
+
716  enddo
+
717 
+
718  return
+
719 end subroutine cpbfdx
+
720 
+
730 subroutine mvb(ib1,nb1,ib2,nb2,nbm)
+
731 
+
732  implicit none
+
733 
+
734  integer, intent(in) :: ib1(*), nb1, nb2, nbm
+
735  integer, intent(out) :: ib2(*)
+
736  integer jb1, jb2, n, nval
+
737 
+
738  jb1 = 8*(nb1-1)
+
739  jb2 = 8*(nb2-1)
+
740 
+
741  do n=1,nbm
+
742  call upb(nval,8,ib1,jb1)
+
743  call pkb(nval,8,ib2,jb2)
+
744  enddo
+
745 
+
746  return
+
747 end subroutine mvb
+
748 
+
767 recursive subroutine ufbcup(lubin,lubot)
+
768 
+
769  use modv_vars, only: im8b
+
770 
+
771  use moda_usrint
+
772  use moda_msgcwd
+
773  use moda_tables
+
774  use moda_ivttmp
+
775 
+
776  implicit none
+
777 
+
778  integer, intent(in) :: lubin, lubot
+
779  integer my_lubin, my_lubot, lui, luo, il, im, ntag, ni, no, nv, nin
+
780 
+
781  character*10 tago
+
782 
+
783  ! Check for I8 integers
+
784 
+
785  if(im8b) then
+
786  im8b=.false.
+
787  call x84(lubin,my_lubin,1)
+
788  call x84(lubot,my_lubot,1)
+
789  call ufbcup(my_lubin,my_lubot)
+
790  im8b=.true.
+
791  return
+
792  endif
+
793 
+
794  ! Check the file statuses and inode
+
795 
+
796  call status(lubin,lui,il,im)
+
797  if(il==0) call bort('BUFRLIB: UFBCUP - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
798  if(il>0) call bort('BUFRLIB: UFBCUP - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
799  if(im==0) call bort('BUFRLIB: UFBCUP - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
800  if(inode(lui)/=inv(1,lui)) call bort('BUFRLIB: UFBCUP - LOCATION OF INTERNAL TABLE FOR '// &
+
801  'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
+
802 
+
803  call status(lubot,luo,il,im)
+
804  if(il==0) call bort('BUFRLIB: UFBCUP - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
+
805  if(il<0) call bort('BUFRLIB: UFBCUP - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
+
806  if(im==0) call bort('BUFRLIB: UFBCUP - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
+
807 
+
808  ! Make a list of unique tags in the input buffer
+
809 
+
810  ntag = 0
+
811 
+
812  outer1: do ni=1,nval(lui)
+
813  nin = inv(ni,lui)
+
814  if(itp(nin)>=2) then
+
815  do nv=1,ntag
+
816  if(ttmp(nv)==tag(nin)) cycle outer1
+
817  enddo
+
818  ntag = ntag+1
+
819  itmp(ntag) = ni
+
820  ttmp(ntag) = tag(nin)
+
821  endif
+
822  enddo outer1
+
823 
+
824  if(ntag==0) call bort('BUFRLIB: UFBCUP - THERE ARE NO ELEMENTS (TAGS) IN INPUT SUBSET BUFFER')
+
825 
+
826  ! Now, using the list of unique tags, make one copy of the common elements to the output buffer
+
827 
+
828  outer2: do nv=1,ntag
+
829  ni = itmp(nv)
+
830  do no=1,nval(luo)
+
831  tago = tag(inv(no,luo))
+
832  if(ttmp(nv)==tago) then
+
833  val(no,luo) = val(ni,lui)
+
834  cycle outer2
+
835  endif
+
836  enddo
+
837  enddo outer2
+
838 
+
839  return
+
840 end subroutine ufbcup
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine upb(nval, nbits, ibay, ibit)
Decode an integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:202
+
subroutine pkb(nval, nbits, ibay, ibit)
Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
Definition: ciencode.F90:140
+
subroutine cmpmsg(cf)
Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writin...
Definition: compress.F90:33
+
integer function iok2cpy(lui, luo)
Check whether a BUFR message, or a data subset from within a BUFR message, can be copied from one For...
Definition: copydata.F90:355
+
recursive integer function icopysb(lunin, lunot)
Copy a BUFR data subset from one Fortran logical unit to another.
Definition: copydata.F90:312
+
subroutine cpbfdx(lud, lun)
Copy all of the DX BUFR table information from one unit to another within internal memory.
Definition: copydata.F90:678
+
subroutine mvb(ib1, nb1, ib2, nb2, nbm)
Copy a specified number of bytes from one packed binary array to another.
Definition: copydata.F90:731
+
recursive subroutine copybf(lunin, lunot)
Copy an entire BUFR file from one Fortran logical unit to another.
Definition: copydata.F90:23
+
recursive subroutine ufbcup(lubin, lubot)
Copy unique elements of a data subset.
Definition: copydata.F90:768
+
recursive subroutine copysb(lunin, lunot, iret)
Copy a BUFR data subset from one Fortran logical unit to another.
Definition: copydata.F90:203
+
subroutine cpyupd(lunit, lin, lun, ibyt)
Copy a BUFR data subset from one unit to another within internal memory.
Definition: copydata.F90:513
+
recursive subroutine cpymem(lunot)
Copy a BUFR message from internal arrays to a file.
Definition: copydata.F90:434
+
recursive subroutine ufbcpy(lubin, lubot)
Copy a BUFR data subset from one Fortran logical unit to another.
Definition: copydata.F90:612
+
recursive subroutine copymg(lunin, lunot)
Copy a BUFR message from one file to another.
Definition: copydata.F90:108
+
subroutine nemtba(lun, nemo, mtyp, msbt, inod)
Get information about a Table A descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1247
+
subroutine nemtbax(lun, nemo, mtyp, msbt, inod)
Get information about a Table A descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1197
+
subroutine dxinit(lun, ioi)
Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally init...
Definition: dxtable.F90:606
+
subroutine errwrt(str)
Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
Definition: errwrt.F90:32
+ +
Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
+
integer ibit
Bit pointer within ibay.
+
integer, dimension(:,:), allocatable mbay
Current BUFR message for each file ID.
+
integer, dimension(:), allocatable mbyt
Length (in bytes) of current BUFR message for each file ID.
+
integer maxbyt
Maximum length of an output BUFR message.
+
Declare arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manip...
+
character *10, dimension(:), allocatable ttmp
tag array elements for new sections of a growing subset buffer.
+
integer, dimension(:), allocatable itmp
inv array elements for new sections of a growing subset buffer.
+
Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
+
integer, dimension(:), allocatable mgwa
Temporary working copy of BUFR message.
+
Declare arrays used to store information about the current BUFR message that is in the process of bei...
+
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
+
integer, dimension(:), allocatable idate
Section 1 date-time of message.
+
integer, dimension(:), allocatable nmsg
Current message pointer within logical unit.
+
integer, dimension(:), allocatable msub
Total number of data subsets in message.
+
integer, dimension(:), allocatable nsub
Current subset pointer within message.
+
Declare arrays and variables used to store the contents of one or more BUFR files within internal mem...
+
integer munit
Fortran logical unit number for use in accessing contents of BUFR files within internal memory.
+
Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
+
integer, dimension(:), allocatable ntba
Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
+
character *600, dimension(:,:), allocatable tabd
Table D entries for each file ID.
+
character *128, dimension(:,:), allocatable taba
Table A entries for each file ID.
+
integer, dimension(:,:), allocatable mtab
Entries within jump/link table corresponding to taba.
+
integer, dimension(:,:,:), allocatable idna
Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
+
integer, dimension(:), allocatable ntbd
Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
+
integer, dimension(:), allocatable ntbb
Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
+
integer, dimension(:,:), allocatable idnd
WMO bit-wise representations of the FXY values corresponding to tabd.
+
integer, dimension(:,:), allocatable idnb
WMO bit-wise representations of the FXY values corresponding to tabb.
+
character *128, dimension(:,:), allocatable tabb
Table B entries for each file ID.
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
+
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
+
Declare an array used to store, for each file ID, the logical unit number corresponding to a separate...
+
integer, dimension(:), allocatable luncpy
Logical unit numbers used to copy long character strings between BUFR data subsets.
+
Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
+
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
+
real *8, dimension(:,:), allocatable, target val
Data values.
+
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
+
integer, dimension(:,:), allocatable nrfelm
Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
+
recursive subroutine closbf(lunit)
Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
+
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
Read the section lengths of a BUFR message, up to a specified point in the message.
+
subroutine rdmsgw(lunit, mesg, iret)
Read the next BUFR message from logical unit lunit as an array of integer words.
+
subroutine msgini(lun)
Initialize, within the internal arrays, a new uncompressed BUFR message for output.
+
subroutine msgwrt(lunit, mesg, mgbyt)
Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical u...
+
recursive subroutine writsb(lunit)
Write a complete data subset into a BUFR message, for eventual output to logical unit lunit.
+
recursive subroutine readsb(lunit, iret)
Read the next data subset from a BUFR message.
Definition: readwritesb.F90:32
+
recursive integer function iupbs01(mbay, s01mnem)
Read a specified value from within Section 0 or Section 1 of a BUFR message.
Definition: s013vals.F90:247
+
recursive subroutine mesgbc(lunin, mesgtyp, icomp)
Return the message type (from Section 1) and message compression indicator (from Section 3) of a BUFR...
Definition: s013vals.F90:1482
+
subroutine x48(iin4, iout8, nval)
Encode one or more 4-byte integer values as 8-byte integer values.
Definition: x4884.F90:18
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/cpmstabs_8c.html b/cpmstabs_8c.html index a9c04d94f..557310f05 100644 --- a/cpmstabs_8c.html +++ b/cpmstabs_8c.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -99,7 +99,7 @@

Functions

void cpmstabs (int nmtb, int *ibfxyn, char(*cbscl)[4], char(*cbsref)[12], char(*cbbw)[4], char(*cbunit)[24], char(*cbmnem)[8], char(*cbelem)[120], int nmtd, int *idfxyn, char(*cdseq)[120], char(*cdmnem)[8], int *ndelem, int *idefxy, int maxcd) - This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time, and in which case we can't directly access the Fortran module MODA_MSTABS arrays from within C. More...
+ Copy relevant information from the Fortran module moda_mstabs arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time, and in which case we can't directly access those Fortran module arrays from within C. More...
 

Detailed Description

@@ -213,12 +213,12 @@

-

This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time, and in which case we can't directly access the Fortran module MODA_MSTABS arrays from within C.

+

Copy relevant information from the Fortran module moda_mstabs arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time, and in which case we can't directly access those Fortran module arrays from within C.

All arguments to this subroutine are input.

Parameters
- + @@ -226,11 +226,11 @@

cbmnem

- + - +
nmtb- Number of master Table B entries
ibfxyn- Bit-wise representations of master Table B FXY numbers
ibfxyn- WMO bit-wise representations of master Table B FXY numbers
cbscl- Master Table B scale factors
cbsref- Master Table B reference values
cbbw- Master Table B bit widths
- Master Table B mnemonics
cbelem- Master Table B element names
nmtd- Number of master Table D entries
idfxyn- Bit-wise representations of master Table D FXY numbers
idfxyn- WMO bit-wise representations of master Table D FXY numbers
cdseq- Master Table D sequence names
cdmnem- Master Table D mnemonics
ndelem- Number of child descriptors for master Table D sequence
idefxy- Bit-wise representations of child descriptors for master Table D sequence
idefxy- WMO bit-wise representations of child descriptors for master Table D sequence
maxcd- Maximum number of child descriptors for a master Table D sequence
@@ -240,7 +240,7 @@

Definition at line 37 of file cpmstabs.c.

-

References moda_mstabs::cbbw, cbbw_c, moda_mstabs::cbelem, cbelem_c, moda_mstabs::cbmnem, cbmnem_c, moda_mstabs::cbscl, cbscl_c, moda_mstabs::cbsref, cbsref_c, moda_mstabs::cbunit, cbunit_c, moda_mstabs::cdmnem, cdmnem_c, moda_mstabs::cdseq, cdseq_c, moda_mstabs::ibfxyn, ibfxyn_c, icvidx(), moda_mstabs::idefxy, idefxy_c, moda_mstabs::idfxyn, idfxyn_c, modv_maxcd::maxcd, moda_mstabs::ndelem, ndelem_c, moda_mstabs::nmtb, nmtb_c, moda_mstabs::nmtd, and nmtd_c.

+

References moda_mstabs::cbbw, cbbw_c, moda_mstabs::cbelem, cbelem_c, moda_mstabs::cbmnem, cbmnem_c, moda_mstabs::cbscl, cbscl_c, moda_mstabs::cbsref, cbsref_c, moda_mstabs::cbunit, cbunit_c, moda_mstabs::cdmnem, cdmnem_c, moda_mstabs::cdseq, cdseq_c, moda_mstabs::ibfxyn, ibfxyn_c, icvidx(), moda_mstabs::idefxy, idefxy_c, moda_mstabs::idfxyn, idfxyn_c, moda_mstabs::ndelem, ndelem_c, moda_mstabs::nmtb, nmtb_c, moda_mstabs::nmtd, and nmtd_c.

diff --git a/cpmstabs_8c_source.html b/cpmstabs_8c_source.html index 5ddf08f92..270cdef3c 100644 --- a/cpmstabs_8c_source.html +++ b/cpmstabs_8c_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -94,82 +94,81 @@
37 cpmstabs(int nmtb, int *ibfxyn, char (*cbscl)[4], char (*cbsref)[12], char (*cbbw)[4],
38  char (*cbunit)[24], char (*cbmnem)[8], char (*cbelem)[120], int nmtd,
39  int *idfxyn, char (*cdseq)[120], char (*cdmnem)[8], int *ndelem,
-
40  int *idefxy, int maxcd)
+
40  int *idefxy, int maxcd)
41 {
42 
43  int ii, jj, idx;
44 
-
45  nmtb_c = nmtb;
+
45  nmtb_c = nmtb;
46  for ( ii = 0; ii < nmtb; ii++ ) {
-
47  ibfxyn_c[ii] = ibfxyn[ii];
+
47  ibfxyn_c[ii] = ibfxyn[ii];
48  for ( jj = 0; jj < 4; jj++ ) {
-
49  cbscl_c[ii][jj] = cbscl[ii][jj];
-
50  cbbw_c[ii][jj] = cbbw[ii][jj];
+
49  cbscl_c[ii][jj] = cbscl[ii][jj];
+
50  cbbw_c[ii][jj] = cbbw[ii][jj];
51  }
52  for ( jj = 0; jj < 8; jj++ ) {
-
53  cbmnem_c[ii][jj] = cbmnem[ii][jj];
+
53  cbmnem_c[ii][jj] = cbmnem[ii][jj];
54  }
55  for ( jj = 0; jj < 12; jj++ ) {
-
56  cbsref_c[ii][jj] = cbsref[ii][jj];
+
56  cbsref_c[ii][jj] = cbsref[ii][jj];
57  }
58  for ( jj = 0; jj < 24; jj++ ) {
-
59  cbunit_c[ii][jj] = cbunit[ii][jj];
+
59  cbunit_c[ii][jj] = cbunit[ii][jj];
60  }
61  for ( jj = 0; jj < 120; jj++ ) {
-
62  cbelem_c[ii][jj] = cbelem[ii][jj];
+
62  cbelem_c[ii][jj] = cbelem[ii][jj];
63  }
64  }
65 
-
66  nmtd_c = nmtd;
+
66  nmtd_c = nmtd;
67  for ( ii = 0; ii < nmtd; ii++ ) {
-
68  idfxyn_c[ii] = idfxyn[ii];
-
69  ndelem_c[ii] = ndelem[ii];
+
68  idfxyn_c[ii] = idfxyn[ii];
+
69  ndelem_c[ii] = ndelem[ii];
70  for ( jj = 0; jj < ndelem[ii]; jj++ ) {
-
71  idx = icvidx( ii, jj, maxcd );
-
72  idefxy_c[idx] = idefxy[idx];
+
71  idx = icvidx( ii, jj, maxcd );
+
72  idefxy_c[idx] = idefxy[idx];
73  }
74  for ( jj = 0; jj < 8; jj++ ) {
-
75  cdmnem_c[ii][jj] = cdmnem[ii][jj];
+
75  cdmnem_c[ii][jj] = cdmnem[ii][jj];
76  }
77  for ( jj = 0; jj < 120; jj++ ) {
-
78  cdseq_c[ii][jj] = cdseq[ii][jj];
+
78  cdseq_c[ii][jj] = cdseq[ii][jj];
79  }
80  }
81 
82 }
Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
-
void cpmstabs(int nmtb, int *ibfxyn, char(*cbscl)[4], char(*cbsref)[12], char(*cbbw)[4], char(*cbunit)[24], char(*cbmnem)[8], char(*cbelem)[120], int nmtd, int *idfxyn, char(*cdseq)[120], char(*cdmnem)[8], int *ndelem, int *idefxy, int maxcd)
This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays ...
Definition: cpmstabs.c:37
-
int icvidx(int ii, int jj, int numjj)
Computes a unique 1-dimensional array index from 2-dimensional indices.
Definition: icvidx.c:22
+
int icvidx(int ii, int jj, int numjj)
Computes a unique 1-dimensional array index from 2-dimensional indices.
Definition: icvidx.c:22
+
void cpmstabs(int nmtb, int *ibfxyn, char(*cbscl)[4], char(*cbsref)[12], char(*cbbw)[4], char(*cbunit)[24], char(*cbmnem)[8], char(*cbelem)[120], int nmtd, int *idfxyn, char(*cdseq)[120], char(*cdmnem)[8], int *ndelem, int *idefxy, int maxcd)
Copy relevant information from the Fortran module moda_mstabs arrays to new arrays within C,...
Definition: cpmstabs.c:37
Declare variables for internal storage of master Table B and Table D entries.
-
char(* cbunit_c)[24]
Master Table B units; copied from Fortran cbunit array.
-
int * idfxyn_c
Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
-
char(* cdmnem_c)[8]
Master Table D mnemonics; copied from Fortran cdmnem array.
-
char(* cbelem_c)[120]
Master Table B element names; copied from Fortran cbelem array.
-
int * ndelem_c
Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
-
int nmtd_c
Number of master Table D entries; copied from Fortran nmtd variable.
-
int * idefxy_c
Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
-
char(* cbbw_c)[4]
Master Table B bit widths; copied from Fortran cbbw array.
-
char(* cbsref_c)[12]
Master Table B reference value; copied from Fortran cbsref array.
-
char(* cdseq_c)[120]
Master Table D sequence names; copied from Fortran cdseq array.
-
int * ibfxyn_c
Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
-
int nmtb_c
Number of master Table B entries; copied from Fortran nmtb variable.
-
char(* cbscl_c)[4]
Master Table B scale factors; copied from Fortran cbscl array.
-
char(* cbmnem_c)[8]
Master Table B mnemonics; copied from Fortran cbmnem array.
-
integer, dimension(:), allocatable idfxyn
Bit-wise representations of FXY numbers for master Table D.
-
character, dimension(:,:), allocatable cbunit
Units corresponding to ibfxyn.
-
integer nmtb
Number of master Table B entries (up to a maximum of MXMTBB).
-
character, dimension(:,:), allocatable cbbw
Bit widths corresponding to ibfxyn.
-
character, dimension(:,:), allocatable cdseq
Sequence names corresponding to idfxyn.
-
character, dimension(:,:), allocatable cbmnem
Mnemonics corresponding to ibfxyn.
-
integer, dimension(:), allocatable ndelem
Numbers of child descriptors corresponding to idfxyn.
-
character, dimension(:,:), allocatable cbelem
Element names corresponding to ibfxyn.
-
character, dimension(:,:), allocatable cbscl
Scale factors corresponding to ibfxyn.
-
character, dimension(:,:), allocatable cdmnem
Mnemonics corresponding to idfxyn.
-
character, dimension(:,:), allocatable cbsref
Reference values corresponding to ibfxyn.
-
integer nmtd
Number of master Table D entries (up to a maximum of MXMTBD).
-
integer, dimension(:), allocatable idefxy
Bit-wise representations of child descriptors corresponding to idfxyn.
-
integer, dimension(:), allocatable ibfxyn
Bit-wise representations of FXY numbers for master Table B.
-
integer, public maxcd
Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
+
int * idefxy_c
WMO bit-wise representations of child descriptors for master Table D sequences; copied from Fortran i...
+
char(* cbsref_c)[12]
Master Table B reference values; copied from Fortran cbsref array.
+
char(* cbelem_c)[120]
Master Table B element names; copied from Fortran cbelem array.
+
int * idfxyn_c
WMO bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
+
char(* cdmnem_c)[8]
Master Table D mnemonics; copied from Fortran cdmnem array.
+
char(* cdseq_c)[120]
Master Table D sequence names; copied from Fortran cdseq array.
+
char(* cbscl_c)[4]
Master Table B scale factors; copied from Fortran cbscl array.
+
char(* cbunit_c)[24]
Master Table B units; copied from Fortran cbunit array.
+
char(* cbmnem_c)[8]
Master Table B mnemonics; copied from Fortran cbmnem array.
+
char(* cbbw_c)[4]
Master Table B bit widths; copied from Fortran cbbw array.
+
int nmtd_c
Number of master Table D entries; copied from Fortran nmtd variable.
+
int * ibfxyn_c
WMO bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
+
int nmtb_c
Number of master Table B entries; copied from Fortran nmtb variable.
+
int * ndelem_c
Number of child descriptors for master Table D sequences; copied from Fortran ndelem array.
+
integer, dimension(:), allocatable idfxyn
WMO bit-wise representations of FXY numbers for master Table D.
+
character, dimension(:,:), allocatable cbunit
Units corresponding to ibfxyn.
+
integer nmtb
Number of master Table B entries (up to a maximum of mxmtbb).
+
character, dimension(:,:), allocatable cbbw
Bit widths corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cdseq
Sequence names corresponding to idfxyn.
+
character, dimension(:,:), allocatable cbmnem
Mnemonics corresponding to ibfxyn.
+
integer, dimension(:), allocatable ndelem
Numbers of child descriptors corresponding to idfxyn.
+
character, dimension(:,:), allocatable cbelem
Element names corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cbscl
Scale factors corresponding to ibfxyn.
+
character, dimension(:,:), allocatable cdmnem
Mnemonics corresponding to idfxyn.
+
character, dimension(:,:), allocatable cbsref
Reference values corresponding to ibfxyn.
+
integer nmtd
Number of master Table D entries (up to a maximum of mxmtbd).
+
integer, dimension(:), allocatable idefxy
WMO bit-wise representations of child descriptors corresponding to idfxyn.
+
integer, dimension(:), allocatable ibfxyn
WMO bit-wise representations of FXY numbers for master Table B.
diff --git a/cread_8c.html b/cread_8c.html index 211ecef90..5ad2352d2 100644 --- a/cread_8c.html +++ b/cread_8c.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -126,7 +126,7 @@

Detailed Description

C language interface for reading or writing BUFR messages.

This interface is used internally by many of the Fortran language file-reading/writing subroutines and message-reading/writing subroutines within the NCEPLIBS-bufr software, in order to use C to directly read/write BUFR messages from/to files.

-

This in turn eliminates the need for IEEE Fortran control words within files, though such control words can still be included when writing BUFR messages to files (if desired) via a previous call to subroutine setblock().

+

This in turn eliminates the need for IEEE Fortran control words within files, though such control words can still be included when writing BUFR messages to files (if desired) via a previous call to subroutine setblock().

Author
J. Woollen
Date
2012-09-15
diff --git a/cread_8c_source.html b/cread_8c_source.html index 025189b7d..e57ebc74b 100644 --- a/cread_8c_source.html +++ b/cread_8c_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -91,37 +91,37 @@
19 #include "cread.h"
20 
29 void
-
30 openrb(int nfile, char *ufile) {
+
30 openrb(int nfile, char *ufile) {
31  pb[nfile] = fopen(ufile, "rb ");
32 }
33 
42 void
-
43 openwb(int nfile, char *ufile) {
+
43 openwb(int nfile, char *ufile) {
44  pb[nfile] = fopen(ufile, "wb ");
45 }
46 
55 void
-
56 openab(int nfile, char *ufile) {
+
56 openab(int nfile, char *ufile) {
57  pb[nfile] = fopen(ufile, "a+b");
58 }
59 
67 void
-
68 backbufr(int nfile) {
+
68 backbufr(int nfile) {
69  fsetpos(pb[nfile],&lstpos[nfile]);
70 }
71 
79 void
-
80 cewind(int nfile) {
+
80 cewind(int nfile) {
81  rewind(pb[nfile]);
82 }
83 
91 void
-
92 closfb(int nfile) {
+
92 closfb(int nfile) {
93  fclose(pb[nfile]);
94 }
95 
113 int
-
114 crdbufr(int nfile, int *bufr, int mxwrd) {
+
114 crdbufr(int nfile, int *bufr, int mxwrd) {
115 
116  int nbytrem, nintrem, nbytx, nintx, wkint[2], ii;
117  size_t nb = sizeof(int), nbdi8 = 8/sizeof(int);
@@ -196,7 +196,7 @@
186 }
187 
198 void
-
199 cwrbufr(int nfile, int *bufr, int nwrd) {
+
199 cwrbufr(int nfile, int *bufr, int nwrd) {
200  size_t nb = sizeof(int);
201 
202  fwrite(bufr, nb, nwrd, pb[nfile]);
diff --git a/cread_8h.html b/cread_8h.html index 57cae750e..d19eb02d6 100644 --- a/cread_8h.html +++ b/cread_8h.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -105,7 +105,7 @@

Detailed Description

Declare variables for reading or writing BUFR messages via a C language interface.

-

These variables are used by the C language interface which encompasses functions openrb(), openwb(), openab(), backbufr(), cewind(), closfb(), crdbufr() and cwrbufr().

+

These variables are used by the C language interface which encompasses functions openrb(), openwb(), openab(), backbufr(), cewind(), closfb(), crdbufr() and cwrbufr().

When allocated, these variables are dimensioned as one larger than NFILES because of the difference in array indexing between Fortran and C. In each function, the value passed in for nfile will be a Fortran file ID ranging in value from 1 to NFILES, so we need to allow for this same range of values in C, which would otherwise expect the array indices to range from 0 to NFILES-1.

Author
J. Woollen
Date
2012-09-15
@@ -134,7 +134,7 @@

Referenced by arallocc(), ardllocc(), backbufr(), and crdbufr().

+

Referenced by arallocc(), ardllocc(), backbufr(), and crdbufr().

@@ -160,7 +160,7 @@

Referenced by arallocc(), ardllocc(), backbufr(), cewind(), closfb(), crdbufr(), cwrbufr(), openab(), openrb(), and openwb().

+

Referenced by arallocc(), ardllocc(), backbufr(), cewind(), closfb(), crdbufr(), cwrbufr(), openab(), openrb(), and openwb().

diff --git a/cread_8h_source.html b/cread_8h_source.html index 151cb6ce6..0a6743905 100644 --- a/cread_8h_source.html +++ b/cread_8h_source.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
diff --git a/crwbmg_8c.html b/crwbmg_8c.html index 84731f1cd..24fd8b54e 100644 --- a/crwbmg_8c.html +++ b/crwbmg_8c.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -173,7 +173,7 @@

Author
J. Ator

Date
2005-11-29
-

Definition at line 296 of file crwbmg.c.

+

Definition at line 290 of file crwbmg.c.

References pbf.

@@ -208,14 +208,14 @@

Open a new file for reading or writing BUFR messages via a C language interface.

-

This function is designed to be easily callable from application program written in either C or Fortran. It is functionally equivalent to subroutine openbf(); however, there are some important differences:

+

This function is designed to be easily callable from application program written in either C or Fortran. It is functionally equivalent to subroutine openbf(); however, there are some important differences:

    -
  • When using openbf(), the underlying file must already be associated with a Fortran logical unit number on the local system, typicially via a prior Fortran "OPEN" statement. This is not required when using this function.
  • +
  • When using openbf(), the underlying file must already be associated with a Fortran logical unit number on the local system, typicially via a prior Fortran "OPEN" statement. This is not required when using this function.
  • When using this function, it is only possible to have at most one input (io = 'r') file and one output (io = 'w') file open at a time. If a successive call to this function is made in either case where a file of that type is already open, then the function will automatically close the previous file of that type before opening the new one.
  • -
  • When opening a file for input/reading using openbf(), the user can make subsequent calls to any of the NCEPLIBS-bufr message-reading subroutines to read individual BUFR messages from that file into internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines") to read individual data subsets from each such message. However, when opening a file for input/reading using this function, the user must instead make subsequent calls to crbmg() to read individual BUFR messages from that file, and each such message will be returned directly to the user within an allocated memory array. The user may then, if desired, make subsequent calls to readerme() to store each such message into the same internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines" to read individual data subsets from each such message.
  • -
  • When opening a file for output/writing using openbf(), the user can make subsequent successive calls to writsb() to pack each completed data subset into the BUFR message that is currently open within the internal arrays, for eventual output to that file. However, when opening a file for output/writing using this function, the user can instead, if desired, make subsequent successive calls to writsa() to pack each completed data subset into the BUFR message that is currently open within the internal arrays. The use of writsa() will cause each completed BUFR message to be returned directly to the user within an allocated memory array, which in turn can then be written directly to the file via a subsequent call to cwbmg().
  • +
  • When opening a file for input/reading using openbf(), the user can make subsequent calls to any of the NCEPLIBS-bufr message-reading subroutines to read individual BUFR messages from that file into internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines") to read individual data subsets from each such message. However, when opening a file for input/reading using this function, the user must instead make subsequent calls to crbmg() to read individual BUFR messages from that file, and each such message will be returned directly to the user within an allocated memory array. The user may then, if desired, make subsequent calls to readerme() to store each such message into the same internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines" to read individual data subsets from each such message.
  • +
  • When opening a file for output/writing using openbf(), the user can make subsequent successive calls to writsb() to pack each completed data subset into the BUFR message that is currently open within the internal arrays, for eventual output to that file. However, when opening a file for output/writing using this function, the user can instead, if desired, make subsequent successive calls to writsa() to pack each completed data subset into the BUFR message that is currently open within the internal arrays. The use of writsa() will cause each completed BUFR message to be returned directly to the user within an allocated memory array, which in turn can then be written directly to the file via a subsequent call to cwbmg().
-

Any errors encountered when using this function are automatically logged to standard output, or to an alternate location previously specified via a call to subroutine errwrt().

+

Any errors encountered when using this function are automatically logged to standard output, or to an alternate location previously specified via a call to subroutine errwrt().

Parameters
@@ -232,7 +232,7 @@

Definition at line 120 of file crwbmg.c.

-

References bort_f(), MXFNLEN, pbf, and wrdlen_f().

+

References bort_f(), MXFNLEN, and pbf.

Referenced by main().

@@ -297,7 +297,7 @@

Author
J. Ator
Date
2005-11-29
-

Definition at line 201 of file crwbmg.c.

+

Definition at line 195 of file crwbmg.c.

References bort_f(), iupbs01_f(), pbf, and rbytes().

@@ -352,7 +352,7 @@

Author
J. Ator
Date
2005-11-29
-

Definition at line 269 of file crwbmg.c.

+

Definition at line 263 of file crwbmg.c.

References bort_f(), and pbf.

diff --git a/crwbmg_8c_source.html b/crwbmg_8c_source.html index 9dfe3cedd..92693907c 100644 --- a/crwbmg_8c_source.html +++ b/crwbmg_8c_source.html @@ -26,7 +26,7 @@

@@ -163,109 +163,102 @@
168  bort_f(errstr);
169  }
170 
-
171  /*
-
172  ** Call wrdlen to initialize some important information about the local machine, just in case
-
173  ** it hasn't already been called.
-
174  */
-
175  wrdlen_f();
-
176 
-
177  return;
-
178 }
-
179 
-
200 void
-
201 crbmg(char *bmg, int mxmb, int *nmb, int *iret)
-
202 {
-
203  int wkint[2];
-
204 
-
205  char errstr[129];
-
206  char blanks[5] = " ";
-
207 
-
208  /*
-
209  ** Make sure that a file is open for reading.
-
210  */
-
211  if (pbf[0] == NULL) {
-
212  sprintf(errstr, "BUFRLIB: CRBMG - NO FILE IS OPEN FOR READING");
-
213  bort_f(errstr);
-
214  }
-
215 
-
216  /*
-
217  ** Initialize the first 4 characters of the output array to blanks.
-
218  */
-
219  if (mxmb < 5) {
-
220  *iret = 1;
-
221  return;
-
222  }
-
223  strcpy(bmg, blanks);
-
224 
-
225  /*
-
226  ** Look for the start of the next BUFR message.
-
227  */
-
228  while (strncmp("BUFR", bmg, 4) != 0) {
-
229  memmove(bmg, &bmg[1], 3);
-
230  if ((*iret = rbytes(bmg, mxmb, 3, 1)) != 0) return;
-
231  }
-
232 
-
233  /*
-
234  ** Read the next 4 bytes of the BUFR message and get the length of the message.
-
235  */
-
236  if ((*iret = rbytes(bmg, mxmb, 4, 4)) != 0) return;
-
237  memcpy(wkint, bmg, 8);
-
238  *nmb = iupbs01_f(wkint, "LENM");
-
239 
-
240  /*
-
241  ** Read the remainder of the BUFR message.
-
242  */
-
243  if ((*iret = rbytes(bmg, mxmb, 8, *nmb-8)) != 0) return;
-
244 
-
245  /*
-
246  ** Check that the "7777" is in the expected location.
-
247  */
-
248  *iret = ((strncmp("7777", &bmg[*nmb-4], 4) == 0) ? 0 : 2);
-
249 
-
250  return;
-
251 }
-
252 
-
268 void
-
269 cwbmg(char *bmg, int nmb, int *iret)
-
270 {
-
271  char errstr[129];
-
272 
-
273  /*
-
274  ** Make sure that a file is open for writing.
-
275  */
-
276  if (pbf[1] == NULL) {
-
277  sprintf(errstr, "BUFRLIB: CWBMG - NO FILE IS OPEN FOR WRITING");
-
278  bort_f(errstr);
-
279  }
-
280 
-
281  /*
-
282  ** Write the BUFR message to the file.
-
283  */
-
284  *iret = ((fwrite(bmg, 1, nmb, pbf[1]) == nmb) ? 0 : -1);
-
285 
-
286  return;
-
287 }
-
288 
-
295 void
-
296 ccbfl(void)
-
297 {
-
298  unsigned short i;
-
299 
-
300  for (i = 0; i < 2; i++) {
-
301  if (pbf[i] != NULL) fclose(pbf[i]);
-
302  }
-
303 
-
304  return;
-
305 }
+
171  return;
+
172 }
+
173 
+
194 void
+
195 crbmg(char *bmg, int mxmb, int *nmb, int *iret)
+
196 {
+
197  int wkint[2];
+
198 
+
199  char errstr[129];
+
200  char blanks[5] = " ";
+
201 
+
202  /*
+
203  ** Make sure that a file is open for reading.
+
204  */
+
205  if (pbf[0] == NULL) {
+
206  sprintf(errstr, "BUFRLIB: CRBMG - NO FILE IS OPEN FOR READING");
+
207  bort_f(errstr);
+
208  }
+
209 
+
210  /*
+
211  ** Initialize the first 4 characters of the output array to blanks.
+
212  */
+
213  if (mxmb < 5) {
+
214  *iret = 1;
+
215  return;
+
216  }
+
217  strcpy(bmg, blanks);
+
218 
+
219  /*
+
220  ** Look for the start of the next BUFR message.
+
221  */
+
222  while (strncmp("BUFR", bmg, 4) != 0) {
+
223  memmove(bmg, &bmg[1], 3);
+
224  if ((*iret = rbytes(bmg, mxmb, 3, 1)) != 0) return;
+
225  }
+
226 
+
227  /*
+
228  ** Read the next 4 bytes of the BUFR message and get the length of the message.
+
229  */
+
230  if ((*iret = rbytes(bmg, mxmb, 4, 4)) != 0) return;
+
231  memcpy(wkint, bmg, 8);
+
232  *nmb = iupbs01_f(wkint, "LENM");
+
233 
+
234  /*
+
235  ** Read the remainder of the BUFR message.
+
236  */
+
237  if ((*iret = rbytes(bmg, mxmb, 8, *nmb-8)) != 0) return;
+
238 
+
239  /*
+
240  ** Check that the "7777" is in the expected location.
+
241  */
+
242  *iret = ((strncmp("7777", &bmg[*nmb-4], 4) == 0) ? 0 : 2);
+
243 
+
244  return;
+
245 }
+
246 
+
262 void
+
263 cwbmg(char *bmg, int nmb, int *iret)
+
264 {
+
265  char errstr[129];
+
266 
+
267  /*
+
268  ** Make sure that a file is open for writing.
+
269  */
+
270  if (pbf[1] == NULL) {
+
271  sprintf(errstr, "BUFRLIB: CWBMG - NO FILE IS OPEN FOR WRITING");
+
272  bort_f(errstr);
+
273  }
+
274 
+
275  /*
+
276  ** Write the BUFR message to the file.
+
277  */
+
278  *iret = ((fwrite(bmg, 1, nmb, pbf[1]) == nmb) ? 0 : -1);
+
279 
+
280  return;
+
281 }
+
282 
+
289 void
+
290 ccbfl(void)
+
291 {
+
292  unsigned short i;
+
293 
+
294  for (i = 0; i < 2; i++) {
+
295  if (pbf[i] != NULL) fclose(pbf[i]);
+
296  }
+
297 
+
298  return;
+
299 }
int iupbs01_f(int *bufr, char *mnemonic)
Read a data value from Section 0 or Section 1 of a BUFR message.
Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
-
void wrdlen_f(void)
Determine important information about the local machine.
void bort_f(char *errstr)
Log one error message and abort application program.
void cobfl(char *bfl, char io)
Open a new file for reading or writing BUFR messages via a C language interface.
Definition: crwbmg.c:120
-
void cwbmg(char *bmg, int nmb, int *iret)
Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
Definition: crwbmg.c:269
+
void cwbmg(char *bmg, int nmb, int *iret)
Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
Definition: crwbmg.c:263
int rbytes(char *bmg, int mxmb, int isloc, int newbytes)
Read a specified number of bytes from the file that was opened via the most recent call to function c...
Definition: crwbmg.c:38
-
void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
Definition: crwbmg.c:201
-
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
Definition: crwbmg.c:296
+
void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
Definition: crwbmg.c:195
+
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
Definition: crwbmg.c:290
#define MXFNLEN
Maximum length of a filename, including any directory prefixes or other local filesystem notation.
Definition: crwbmg.c:10
FILE * pbf[2]
File pointers; each element will automatically initialize to NULL.
Definition: crwbmg.c:14
diff --git a/debufr_8F90.html b/debufr_8F90.html index 3d6090f68..837126914 100644 --- a/debufr_8F90.html +++ b/debufr_8F90.html @@ -26,7 +26,7 @@ @@ -99,7 +99,7 @@ - +
bfl- System file to be opened. Inclusion of directory prefixes or other local filesystem notation is allowed, up to 200 total characters.
NCEPLIBS-bufr -  12.0.1 +  12.1.0
NCEPLIBS-bufr -  12.0.1 +  12.1.0

Modules

module  share_table_info
 This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.
 This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.
 
- + - + - + @@ -213,31 +213,31 @@

cobfl() with io = 'r'.

Parameters

@@ -187,19 +187,19 @@

character(c_char), intent(in), value character(kind=c_char,len=1), intent(in)  basic,
character(c_char), intent(in), value character(kind=c_char,len=1), intent(in)  forcemt,
character(c_char), intent(in), value character(kind=c_char,len=1), intent(in)  cfms 
- - - - - + + + + - - + - - + - - diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 934eb6641..5573139c1 100644 --- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -26,7 +26,7 @@ @@ -89,35 +89,20 @@
[in]ofile– c_char(*): File to contain verbose output listing of contents of each decoded BUFR message
[in]lenof– c_int: Length of ofile string
[in]tbldir– c_char(*): Directory containing DX and/or master BUFR tables to be used for decoding
[in]lentd– c_int: Length of tbldir string
[in]tblfil– c_char(*): File containing DX BUFR table information to be used for decoding
    +
ofile- File to contain verbose output listing of contents of each decoded BUFR message
lenof- Length of ofile string
tbldir- Directory containing DX and/or master BUFR tables to be used for decoding
lentd- Length of tbldir string
tblfil- File containing DX BUFR table information to be used for decoding
  • 'NULLFILE' = No such file will be used
[in]lentf– c_int: Length of tblfil string
[in]prmstg– c_char*(*): String of up to 20 comma-separated PARAMETER=VALUE pairs to be used to dynamically allocate memory within the NCEPLIBS-bufr software, overriding the default VALUE that would otherwise be used for each such PARAMETER.
    +
lentf- Length of tblfil string
prmstg- String of up to 20 comma-separated PARAMETER=VALUE pairs to be used to dynamically allocate memory within the NCEPLIBS-bufr software, overriding the default VALUE that would otherwise be used for each such PARAMETER
  • 'NULLPSTG' = No such pairs will be used
[in]lenps– c_int: Length of prmstg string
[in]basic– c_char: Indicator as to whether only "basic" information in Sections 0-3 should be decoded from each BUFR message:
    +
lenps- Length of prmstg string
basic- Indicator as to whether only "basic" information in Sections 0-3 should be decoded from each BUFR message:
  • 'Y' = Yes
  • 'N' = No
[in]forcemt– c_char: Indicator as to whether master BUFR tables should be used for decoding, regardless of whether the input file contains any embedded DX BUFR table messages:
    +
forcemt- Indicator as to whether master BUFR tables should be used for decoding, regardless of whether the input file contains any embedded DX BUFR table messages:
  • 'Y' = Yes
  • 'N' = No
[in]cfms– c_char: Indicator as to whether code and flag table meanings should be read from master BUFR tables and included in the print output:
    +
cfms- Indicator as to whether code and flag table meanings should be read from master BUFR tables and included in the print output:
  • 'Y' = Yes
  • 'N' = No
@@ -246,16 +246,16 @@

Remarks
    -
  • See NCEPLIBS-bufr function isetprm() for a complete list of parameters that can be dynamically sized via prmstg.
  • +
  • See NCEPLIBS-bufr function isetprm() for a complete list of parameters that can be dynamically sized via prmstg.
  • Fortran logical unit numbers 51, 90, 91, 92 and 93 are reserved for use within this subroutine.
Author
J. Ator
Date
2009-07-01
-

Definition at line 56 of file debufr.F90.

+

Definition at line 54 of file debufr.F90.

-

References codflg(), datelen(), dxdump(), getcfmng(), share_table_info::ltbd, share_table_info::ludx, mtinfo(), openbf(), parstr(), readerme(), rtrcptb(), strnum(), strsuc(), ufdump(), and upds3().

+

References codflg(), datelen(), dxdump(), getcfmng(), share_table_info::ltbd, share_table_info::ludx, mtinfo(), openbf(), parstr(), readerme(), rtrcptb(), strnum(), strsuc(), ufdump(), and upds3().

@@ -291,8 +291,8 @@

Date
2012-12-07
Parameters
- - + @@ -302,7 +302,7 @@

Author
J. Ator
Date
2012-12-07
-

Definition at line 388 of file debufr.F90.

+

Definition at line 383 of file debufr.F90.

References share_table_info::ltbd, share_table_info::ludx, and share_table_info::tbldir_f.

diff --git a/debufr_8F90_source.html b/debufr_8F90_source.html index 31e123bf1..007974792 100644 --- a/debufr_8F90_source.html +++ b/debufr_8F90_source.html @@ -26,7 +26,7 @@

@@ -97,373 +97,371 @@
20  integer ludx
21 end module share_table_info
22 
-
56 subroutine fdebufr_c ( ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms ) &
-
57  bind( c, name = 'fdebufr_f' )
-
58 
-
59  use iso_c_binding
-
60  use bufr_interface
- +
54 subroutine fdebufr_c ( ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms ) &
+
55  bind( c, name = 'fdebufr_f' )
+
56 
+
57  use iso_c_binding
+
58  use bufr_interface
+ +
60 
+
61  implicit none
62 
-
63  implicit none
-
64 
-
65  integer, parameter :: mxbf = 2500000
-
66  integer, parameter :: mxbfd4 = mxbf/4
-
67  integer, parameter :: mxds3 = 500
-
68  integer, parameter :: mxprms = 20
+
63  integer, parameter :: mxbf = 2500000
+
64  integer, parameter :: mxbfd4 = mxbf/4
+
65  integer, parameter :: mxds3 = 500
+
66  integer, parameter :: mxprms = 20
+
67 
+
68  character(kind=c_char,len=1), intent(in) :: ofile(*), tbldir(*), tblfil(*), prmstg(*), basic, forcemt, cfms
69 
-
70  character(kind=c_char,len=1), intent(in) :: ofile(*), tbldir(*), tblfil(*), prmstg(*)
+
70  character(len=:), allocatable :: ofile_f, tblfil_f, prmstg_f
71 
-
72  character(len=:), allocatable :: ofile_f, tblfil_f, prmstg_f
+
72  integer(c_int), value, intent(in) :: lenof, lentd, lentf, lenps
73 
-
74  integer(c_int), value, intent(in) :: lenof, lentd, lentf, lenps
-
75 
-
76  character(c_char), value, intent(in) :: basic, forcemt, cfms
-
77 
-
78  integer*4 :: isetprm, idxmsg, iupbs01, iupbs3, ireadsb
-
79  integer*4 :: nbyt, ierr
-
80 
-
81  logical exists
-
82 
-
83  character*120 cmorgc, cmgses, cmmtyp, cmmsbt, cmmsbti
-
84  character*20 ptag ( mxprms ), pvtag(2), cprmnm
-
85  character*8 cmgtag
-
86  character*6 cds3 ( mxds3 )
-
87  character opened, usemt, bfmg ( mxbf ), basic_f, forcemt_f, cfms_f
+
74  integer*4 :: isetprm, idxmsg, iupbs01, iupbs3, ireadsb
+
75  integer*4 :: nbyt, ierr
+
76 
+
77  logical exists
+
78 
+
79  character*120 cmorgc, cmgses, cmmtyp, cmmsbt, cmmsbti
+
80  character*20 ptag ( mxprms ), pvtag(2), cprmnm
+
81  character*8 cmgtag
+
82  character*6 cds3 ( mxds3 )
+
83  character opened, usemt, bfmg ( mxbf ), basic_f, forcemt_f, cfms_f
+
84 
+
85  integer ibfmg ( mxbfd4 ), lunit, nmsg, nsub, nsubt, ii, jj, nds3, nptag, npvtag, ipval, lcprmnm, ier, imgdt, ierme, &
+
86  iogce, lcmorgc, ierorgc, igses, lcmgses, iergses, iryr, irmo, irdy, irhr, irmi, irtret, &
+
87  mtyp, lcmmtyp, iermtyp, msbt, lcmmsbt, iermsbt, msbti, lcmmsbti, iermsbti, iersn
88 
-
89  integer ibfmg ( mxbfd4 ), lunit, nmsg, nsub, nsubt, ii, jj, nds3, nptag, npvtag, ipval, lcprmnm, ier, imgdt, ierme, &
-
90  iogce, lcmorgc, ierorgc, igses, lcmgses, iergses, iryr, irmo, irdy, irhr, irmi, irtret, &
-
91  mtyp, lcmmtyp, iermtyp, msbt, lcmmsbt, iermsbt, msbti, lcmmsbti, iermsbti, iersn
+
89  equivalence( bfmg(1), ibfmg(1) )
+
90 
+
91  ! Initialize the values in the Share_Table_Info module.
92 
-
93  equivalence( bfmg(1), ibfmg(1) )
-
94 
-
95 ! Initialize the values in the Share_Table_Info module.
-
96 
-
97  ludx = 93
-
98  ltbd = lentd
-
99  allocate( character(len=lentd) :: tbldir_f )
-
100  tbldir_f = transfer( tbldir(1:lentd), tbldir_f )
-
101 
-
102 ! Copy the other input C strings into Fortran strings.
-
103 
-
104  allocate( character(len=lenof) :: ofile_f )
-
105  ofile_f = transfer( ofile(1:lenof), ofile_f )
-
106  allocate( character(len=lentf) :: tblfil_f )
-
107  tblfil_f = transfer( tblfil(1:lentf), tblfil_f )
-
108  allocate( character(len=lenps) :: prmstg_f )
-
109  prmstg_f = transfer( prmstg(1:lenps), prmstg_f )
-
110  basic_f = basic
-
111  forcemt_f = forcemt
-
112  cfms_f = cfms
+
93  ludx = 93
+
94  ltbd = lentd
+
95  allocate( character(len=lentd) :: tbldir_f )
+
96  tbldir_f = transfer( tbldir(1:lentd), tbldir_f )
+
97 
+
98  ! Copy the other input C strings into Fortran strings.
+
99 
+
100  allocate( character(len=lenof) :: ofile_f )
+
101  ofile_f = transfer( ofile(1:lenof), ofile_f )
+
102  allocate( character(len=lentf) :: tblfil_f )
+
103  tblfil_f = transfer( tblfil(1:lentf), tblfil_f )
+
104  allocate( character(len=lenps) :: prmstg_f )
+
105  prmstg_f = transfer( prmstg(1:lenps), prmstg_f )
+
106  basic_f = transfer( basic(1:1), basic_f )
+
107  forcemt_f = transfer( forcemt(1:1), forcemt_f )
+
108  cfms_f = transfer( cfms(1:1), cfms_f )
+
109 
+
110  ! Open the output file.
+
111 
+
112  open ( unit = 51, file = ofile_f )
113 
-
114 ! Open the output file.
+
114  ! Note that in the below open statement we just need to specify a dummy placeholder file.
115 
-
116  open ( unit = 51, file = ofile_f )
-
117 
-
118 ! Note that in the below open statement we just need to specify a dummy placeholder file.
-
119 
-
120  lunit = 92
-
121  open ( unit = lunit, file = '/dev/null' )
+
116  lunit = 92
+
117  open ( unit = lunit, file = '/dev/null' )
+
118 
+
119  call datelen ( 10 )
+
120 
+
121  ! Initialize some other values.
122 
-
123  call datelen ( 10 )
-
124 
-
125 ! Initialize some other values.
-
126 
-
127  nmsg = 0
-
128  nsubt = 0
-
129 
-
130  opened = 'N'
-
131  usemt = 'N'
+
123  nmsg = 0
+
124  nsubt = 0
+
125 
+
126  opened = 'N'
+
127  usemt = 'N'
+
128 
+
129  do while ( .true. )
+
130 
+
131  ! Get the next message from the input BUFR file.
132 
-
133  do while ( .true. )
+
133  call crbmg_c ( bfmg, mxbf, nbyt, ierr )
134 
-
135 ! Get the next message from the input BUFR file.
+
135  if ( ierr /= 0 ) then
136 
-
137  call crbmg_c ( bfmg, mxbf, nbyt, ierr )
-
138 
-
139  if ( ierr .ne. 0 ) then
-
140 
-
141  if ( ierr .eq. -1 ) then
-
142  write ( 51, fmt = '( /, A, I7, A, I9, A )') 'Reached end of BUFR file; it contained a total of', nmsg, &
-
143  ' messages and', nsubt, ' subsets'
-
144  else
-
145  write ( 51, fmt = '( /, A, I4 )' ) 'Error while reading BUFR file; the return code from CRBMG = ', ierr
-
146  end if
-
147 
-
148  if ( ( basic_f .eq. 'N' ) .and. ( opened .eq. 'Y' ) ) then
-
149  write (51, fmt = '( /, A, / )' ) 'Here is the DX table that was generated:'
-
150  call dxdump ( lunit, 51 )
-
151  end if
-
152 
-
153 ! Close the output file, deallocate memory, and return.
-
154 
-
155  close ( 51 )
-
156  deallocate ( ofile_f )
-
157  deallocate ( tbldir_f )
-
158  deallocate ( tblfil_f )
-
159  deallocate ( prmstg_f )
-
160  return
-
161  end if
-
162 
-
163  if ( opened .eq. 'N' ) then
-
164 
-
165  if ( ( isetprm( 'MAXCD', mxds3 ) .ne. 0 ) .or. ( isetprm( 'MXMSGL', mxbf ) .ne. 0 ) .or. &
-
166  ( isetprm( 'MAXSS', 300000 ) .ne. 0 ) .or. ( isetprm( 'NFILES', 2 ) .ne. 0 ) ) then
-
167  print *, 'Error: Bad return from isetprm'
-
168  return
-
169  end if
-
170 
-
171 ! Process any dynamic allocation parameters that were passed in on the command line.
-
172 
-
173  if ( prmstg_f(1:8) .ne. 'NULLPSTG' ) then
-
174  call parstr ( prmstg_f, ptag, mxprms, nptag, ',', .false. )
-
175  if ( nptag .gt. 0 ) then
-
176  do ii = 1, nptag
-
177  call parstr ( ptag(ii), pvtag, 2, npvtag, '=', .false. )
-
178  if ( npvtag .eq. 2 ) then
-
179  call strsuc ( pvtag(1), cprmnm, lcprmnm )
-
180  call strnum ( pvtag(2), ipval, iersn )
-
181  if ( ( lcprmnm .gt. 0 ) .and. ( iersn .ne. -1 ) ) then
-
182  if ( isetprm( cprmnm(1:lcprmnm), ipval ) .ne. 0 ) then
-
183  print *, 'Error: Bad return from isetprm for parameter: ', cprmnm(1:lcprmnm)
-
184  return
-
185  end if
-
186  end if
-
187  end if
-
188  end do
-
189  end if
-
190  end if
+
137  if ( ierr == -1 ) then
+
138  write ( 51, fmt = '( /, A, I7, A, I9, A )') 'Reached end of BUFR file; it contained a total of', nmsg, &
+
139  ' messages and', nsubt, ' subsets'
+
140  else
+
141  write ( 51, fmt = '( /, A, I4 )' ) 'Error while reading BUFR file; the return code from CRBMG = ', ierr
+
142  end if
+
143 
+
144  if ( ( basic_f == 'N' ) .and. ( opened == 'Y' ) ) then
+
145  write (51, fmt = '( /, A, / )' ) 'Here is the DX table that was generated:'
+
146  call dxdump ( lunit, 51 )
+
147  end if
+
148 
+
149  ! Close the output file, deallocate memory, and return.
+
150 
+
151  close ( 51 )
+
152  deallocate ( ofile_f )
+
153  deallocate ( tbldir_f )
+
154  deallocate ( tblfil_f )
+
155  deallocate ( prmstg_f )
+
156  return
+
157  end if
+
158 
+
159  if ( opened == 'N' ) then
+
160 
+
161  if ( ( isetprm( 'MAXCD', mxds3 ) /= 0 ) .or. ( isetprm( 'MXMSGL', mxbf ) /= 0 ) .or. &
+
162  ( isetprm( 'MAXSS', 300000 ) /= 0 ) .or. ( isetprm( 'NFILES', 2 ) /= 0 ) ) then
+
163  print *, 'Error: Bad return from isetprm'
+
164  return
+
165  end if
+
166 
+
167  ! Process any dynamic allocation parameters that were passed in on the command line.
+
168 
+
169  if ( prmstg_f(1:8) /= 'NULLPSTG' ) then
+
170  call parstr ( prmstg_f, ptag, mxprms, nptag, ',', .false. )
+
171  if ( nptag > 0 ) then
+
172  do ii = 1, nptag
+
173  call parstr ( ptag(ii), pvtag, 2, npvtag, '=', .false. )
+
174  if ( npvtag == 2 ) then
+
175  call strsuc ( pvtag(1), cprmnm, lcprmnm )
+
176  call strnum ( pvtag(2), ipval, iersn )
+
177  if ( ( lcprmnm > 0 ) .and. ( iersn /= -1 ) ) then
+
178  if ( isetprm( cprmnm(1:lcprmnm), ipval ) /= 0 ) then
+
179  print *, 'Error: Bad return from isetprm for parameter: ', cprmnm(1:lcprmnm)
+
180  return
+
181  end if
+
182  end if
+
183  end if
+
184  end do
+
185  end if
+
186  end if
+
187 
+
188  ! Decide how to process the file.
+
189 
+
190  if ( ( idxmsg( ibfmg ) == 1 ) .and. ( forcemt_f == 'N' ) ) then
191 
-
192 ! Decide how to process the file.
-
193 
-
194  if ( ( idxmsg( ibfmg ) .eq. 1 ) .and. ( forcemt_f .eq. 'N' ) ) then
-
195 
-
196 ! The first message in the file is a DX dictionary message, so assume there's an embedded table at the
-
197 ! front of the file, and use this table to decode it.
-
198 
-
199  call openbf ( lunit, 'INUL', lunit )
-
200  else if ( ( tblfil_f(1:8) .ne. 'NULLFILE' ) .and. ( forcemt_f .eq. 'N' ) ) then
-
201 
-
202 ! A DX dictionary tables file was specified on the command line, so use it to decode the BUFR file.
-
203 
-
204  inquire ( file = tblfil_f, exist = exists )
-
205  if ( .not. exists ) then
-
206  print *, 'Error: Could not find file ', tblfil_f
-
207  return
-
208  end if
-
209  open ( unit = 91, file = tblfil_f, iostat = ier )
-
210  if ( ier .ne. 0 ) then
-
211  print *, 'Error: Could not open file ', tblfil_f
-
212  return
-
213  endif
-
214  call openbf ( lunit, 'IN', 91 )
-
215  else
-
216 
-
217 ! Decode the file using the master tables in tbldir_f.
+
192  ! The first message in the file is a DX dictionary message, so assume there's an embedded table at the
+
193  ! front of the file, and use this table to decode it.
+
194 
+
195  call openbf ( lunit, 'INUL', lunit )
+
196  else if ( ( tblfil_f(1:8) /= 'NULLFILE' ) .and. ( forcemt_f == 'N' ) ) then
+
197 
+
198  ! A DX dictionary tables file was specified on the command line, so use it to decode the BUFR file.
+
199 
+
200  inquire ( file = tblfil_f, exist = exists )
+
201  if ( .not. exists ) then
+
202  print *, 'Error: Could not find file ', tblfil_f
+
203  return
+
204  end if
+
205  open ( unit = 91, file = tblfil_f, iostat = ier )
+
206  if ( ier /= 0 ) then
+
207  print *, 'Error: Could not open file ', tblfil_f
+
208  return
+
209  endif
+
210  call openbf ( lunit, 'IN', 91 )
+
211  else
+
212 
+
213  ! Decode the file using the master tables in tbldir_f.
+
214 
+
215  usemt = 'Y'
+
216  call openbf ( lunit, 'SEC3', lunit )
+
217  end if
218 
-
219  usemt = 'Y'
-
220  call openbf ( lunit, 'SEC3', lunit )
-
221  end if
-
222 
-
223  opened = 'Y'
+
219  opened = 'Y'
+
220 
+
221  call mtinfo ( tbldir_f, 90, 91 )
+
222  if ( cfms_f == 'Y' ) call codflg ( 'Y' )
+
223  end if
224 
-
225  call mtinfo ( tbldir_f, 90, 91 )
-
226  if ( cfms_f .eq. 'Y' ) call codflg ( 'Y' )
-
227  end if
+
225  if ( basic_f == 'N' ) then
+
226 
+
227  ! Pass the message to the decoder.
228 
-
229  if ( basic_f .eq. 'N' ) then
-
230 
-
231 ! Pass the message to the decoder.
-
232 
-
233  call readerme ( ibfmg, lunit, cmgtag, imgdt, ierme )
-
234  end if
+
229  call readerme ( ibfmg, lunit, cmgtag, imgdt, ierme )
+
230  end if
+
231 
+
232  ! If this is a DX dictionary message, then don't generate any output unless master tables are being used for decoding.
+
233 
+
234  if ( ( idxmsg( ibfmg ) /= 1 ) .or. ( usemt == 'Y' ) ) then
235 
-
236 ! If this is a DX dictionary message, then don't generate any output unless master tables are being used for decoding.
+
236  nmsg = nmsg + 1
237 
-
238  if ( ( idxmsg( ibfmg ) .ne. 1 ) .or. ( usemt .eq. 'Y' ) ) then
+
238  write ( 51, fmt = '( /, A, I7 )' ) 'Found BUFR message #', nmsg
239 
-
240  nmsg = nmsg + 1
+
240  ! Decode and output the data from Section 0.
241 
-
242  write ( 51, fmt = '( /, A, I7 )' ) 'Found BUFR message #', nmsg
-
243 
-
244 ! Decode and output the data from Section 0.
+
242  write ( 51, fmt= '( /, A, I9 )' ) ' Message length: ', iupbs01( ibfmg, 'LENM' )
+
243  write ( 51, fmt= '( A, I4 )' ) ' Section 0 length: ', iupbs01( ibfmg, 'LEN0' )
+
244  write ( 51, fmt= '( A, I4 )' ) ' BUFR edition: ', iupbs01( ibfmg, 'BEN' )
245 
-
246  write ( 51, fmt= '( /, A, I9 )' ) ' Message length: ', iupbs01( ibfmg, 'LENM' )
-
247  write ( 51, fmt= '( A, I4 )' ) ' Section 0 length: ', iupbs01( ibfmg, 'LEN0' )
-
248  write ( 51, fmt= '( A, I4 )' ) ' BUFR edition: ', iupbs01( ibfmg, 'BEN' )
-
249 
-
250 ! Decode and output the data from Section 1.
-
251 
-
252  write ( 51, fmt= '( /, A, I4 )' ) ' Section 1 length: ', iupbs01( ibfmg, 'LEN1' )
-
253  write ( 51, fmt= '( A, I4 )' ) ' Master table: ', iupbs01( ibfmg, 'BMT' )
-
254 
-
255  iogce = iupbs01( ibfmg, 'OGCE' )
-
256  igses = iupbs01( ibfmg, 'GSES' )
-
257  if ( ( basic_f .eq. 'Y' ) .or. ( cfms_f .eq. 'N' ) ) then
-
258  write ( 51, fmt= '( A, I5 )' ) ' Originating center: ', iogce
-
259  write ( 51, fmt= '( A, I4 )' ) ' Originating subcenter: ', igses
-
260  else
-
261  call getcfmng ( lunit, 'ORIGC', iogce, ' ', -1, cmorgc, lcmorgc, ierorgc )
-
262  if ( ierorgc .eq. 0 ) then
-
263  write ( 51, fmt= '( A, I5, 3A )' ) ' Originating center: ', iogce, ' (= ', cmorgc(1:lcmorgc), ')'
-
264  else
-
265  write ( 51, fmt= '( A, I5 )' ) ' Originating center: ', iogce
-
266  end if
-
267  call getcfmng ( lunit, 'GSES', igses, 'ORIGC', iogce, cmgses, lcmgses, iergses )
-
268  if ( iergses .eq. 0 ) then
-
269  write ( 51, fmt= '( A, I4, 3A )' ) ' Originating subcenter: ', igses, ' (= ', cmgses(1:lcmgses), ')'
-
270  else
-
271  write ( 51, fmt= '( A, I4 )' ) ' Originating subcenter: ', igses
-
272  end if
-
273  end if
-
274 
-
275  write ( 51, fmt= '( A, I4 )' ) ' Update sequence numbr: ', iupbs01( ibfmg, 'USN' )
-
276 
-
277  if ( iupbs01( ibfmg, 'ISC2' ) .eq. 1 ) then
-
278  write ( 51, fmt = '( A )') ' Section 2 present?: Yes'
-
279  else
-
280  write ( 51, fmt = '( A )') ' Section 2 present?: No'
-
281  end if
-
282 
-
283  mtyp = iupbs01( ibfmg, 'MTYP' )
-
284  msbt = iupbs01( ibfmg, 'MSBT' )
-
285  msbti = iupbs01( ibfmg, 'MSBTI' )
-
286  if ( ( basic_f .eq. 'Y' ) .or. ( cfms_f .eq. 'N' ) ) then
-
287  write ( 51, fmt= '( A, I4 )' ) ' Data category: ', mtyp
-
288  write ( 51, fmt= '( A, I4 )' ) ' Local subcategory: ', msbt
-
289  write ( 51, fmt= '( A, I4 )' ) ' Internatl subcategory: ', msbti
-
290  else
-
291  call getcfmng ( lunit, 'TABLAT', mtyp, ' ', -1, cmmtyp, lcmmtyp, iermtyp )
-
292  if ( iermtyp .eq. 0 ) then
-
293  write ( 51, fmt= '( A, I4, 3A )' ) ' Data category: ', mtyp, ' (= ', cmmtyp(1:lcmmtyp), ')'
-
294  else
-
295  write ( 51, fmt= '( A, I4 )' ) ' Data category: ', mtyp
-
296  end if
-
297  call getcfmng ( lunit, 'TABLASL', msbt, 'TABLAT', mtyp, cmmsbt, lcmmsbt, iermsbt )
-
298  if ( ( iermsbt .eq. 0 ) .and. ( iogce .eq. 7 ) ) then
-
299  write ( 51, fmt= '( A, I4, 3A )' ) ' Local subcategory: ', msbt, ' (= ', cmmsbt(1:lcmmsbt), ')'
-
300  else
-
301  write ( 51, fmt= '( A, I4 )' ) ' Local subcategory: ', msbt
-
302  end if
-
303  call getcfmng ( lunit, 'TABLASS', msbti, 'TABLAT', mtyp, cmmsbti, lcmmsbti, iermsbti )
-
304  if ( iermsbti .eq. 0 ) then
-
305  write ( 51, fmt= '( A, I4, 3A )' ) ' Internatl subcategory: ', msbti, ' (= ', cmmsbti(1:lcmmsbti), ')'
-
306  else
-
307  write ( 51, fmt= '( A, I4 )' ) ' Internatl subcategory: ', msbti
-
308  end if
-
309  end if
-
310 
-
311  write ( 51, fmt= '( A, I4 )' ) ' Master table version: ', iupbs01( ibfmg, 'MTV' )
-
312  write ( 51, fmt= '( A, I4 )' ) ' Local table version: ', iupbs01( ibfmg, 'MTVL' )
-
313  write ( 51, fmt= '( A, I4 )' ) ' Year: ', iupbs01( ibfmg, 'YEAR' )
-
314  write ( 51, fmt= '( A, I4 )' ) ' Month: ', iupbs01( ibfmg, 'MNTH' )
-
315  write ( 51, fmt= '( A, I4 )' ) ' Day: ', iupbs01( ibfmg, 'DAYS' )
-
316  write ( 51, fmt= '( A, I4 )' ) ' Hour: ', iupbs01( ibfmg, 'HOUR' )
-
317  write ( 51, fmt= '( A, I4 )' ) ' Minute: ', iupbs01( ibfmg, 'MINU' )
-
318  write ( 51, fmt= '( A, I4 )' ) ' Second: ', iupbs01( ibfmg, 'SECO' )
-
319  if ( ( iogce .eq. 7 ) .and. ( igses .eq. 3 ) ) then
-
320  call rtrcptb ( ibfmg, iryr, irmo, irdy, irhr, irmi, irtret )
-
321  if ( irtret .eq. 0 ) then
-
322  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt year: ', iryr
-
323  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt month: ', irmo
-
324  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt day: ', irdy
-
325  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt hour: ', irhr
-
326  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt minute: ', irmi
-
327  end if
-
328  end if
-
329 
-
330 ! Decode and output the data from Section 3.
+
246  ! Decode and output the data from Section 1.
+
247 
+
248  write ( 51, fmt= '( /, A, I4 )' ) ' Section 1 length: ', iupbs01( ibfmg, 'LEN1' )
+
249  write ( 51, fmt= '( A, I4 )' ) ' Master table: ', iupbs01( ibfmg, 'BMT' )
+
250 
+
251  iogce = iupbs01( ibfmg, 'OGCE' )
+
252  igses = iupbs01( ibfmg, 'GSES' )
+
253  if ( ( basic_f == 'Y' ) .or. ( cfms_f == 'N' ) ) then
+
254  write ( 51, fmt= '( A, I5 )' ) ' Originating center: ', iogce
+
255  write ( 51, fmt= '( A, I4 )' ) ' Originating subcenter: ', igses
+
256  else
+
257  call getcfmng ( lunit, 'ORIGC', iogce, ' ', -1, cmorgc, lcmorgc, ierorgc )
+
258  if ( ierorgc == 0 ) then
+
259  write ( 51, fmt= '( A, I5, 3A )' ) ' Originating center: ', iogce, ' (= ', cmorgc(1:lcmorgc), ')'
+
260  else
+
261  write ( 51, fmt= '( A, I5 )' ) ' Originating center: ', iogce
+
262  end if
+
263  call getcfmng ( lunit, 'GSES', igses, 'ORIGC', iogce, cmgses, lcmgses, iergses )
+
264  if ( iergses == 0 ) then
+
265  write ( 51, fmt= '( A, I4, 3A )' ) ' Originating subcenter: ', igses, ' (= ', cmgses(1:lcmgses), ')'
+
266  else
+
267  write ( 51, fmt= '( A, I4 )' ) ' Originating subcenter: ', igses
+
268  end if
+
269  end if
+
270 
+
271  write ( 51, fmt= '( A, I4 )' ) ' Update sequence numbr: ', iupbs01( ibfmg, 'USN' )
+
272 
+
273  if ( iupbs01( ibfmg, 'ISC2' ) == 1 ) then
+
274  write ( 51, fmt = '( A )') ' Section 2 present?: Yes'
+
275  else
+
276  write ( 51, fmt = '( A )') ' Section 2 present?: No'
+
277  end if
+
278 
+
279  mtyp = iupbs01( ibfmg, 'MTYP' )
+
280  msbt = iupbs01( ibfmg, 'MSBT' )
+
281  msbti = iupbs01( ibfmg, 'MSBTI' )
+
282  if ( ( basic_f == 'Y' ) .or. ( cfms_f == 'N' ) ) then
+
283  write ( 51, fmt= '( A, I4 )' ) ' Data category: ', mtyp
+
284  write ( 51, fmt= '( A, I4 )' ) ' Local subcategory: ', msbt
+
285  write ( 51, fmt= '( A, I4 )' ) ' Internatl subcategory: ', msbti
+
286  else
+
287  call getcfmng ( lunit, 'TABLAT', mtyp, ' ', -1, cmmtyp, lcmmtyp, iermtyp )
+
288  if ( iermtyp == 0 ) then
+
289  write ( 51, fmt= '( A, I4, 3A )' ) ' Data category: ', mtyp, ' (= ', cmmtyp(1:lcmmtyp), ')'
+
290  else
+
291  write ( 51, fmt= '( A, I4 )' ) ' Data category: ', mtyp
+
292  end if
+
293  call getcfmng ( lunit, 'TABLASL', msbt, 'TABLAT', mtyp, cmmsbt, lcmmsbt, iermsbt )
+
294  if ( ( iermsbt == 0 ) .and. ( iogce == 7 ) ) then
+
295  write ( 51, fmt= '( A, I4, 3A )' ) ' Local subcategory: ', msbt, ' (= ', cmmsbt(1:lcmmsbt), ')'
+
296  else
+
297  write ( 51, fmt= '( A, I4 )' ) ' Local subcategory: ', msbt
+
298  end if
+
299  call getcfmng ( lunit, 'TABLASS', msbti, 'TABLAT', mtyp, cmmsbti, lcmmsbti, iermsbti )
+
300  if ( iermsbti == 0 ) then
+
301  write ( 51, fmt= '( A, I4, 3A )' ) ' Internatl subcategory: ', msbti, ' (= ', cmmsbti(1:lcmmsbti), ')'
+
302  else
+
303  write ( 51, fmt= '( A, I4 )' ) ' Internatl subcategory: ', msbti
+
304  end if
+
305  end if
+
306 
+
307  write ( 51, fmt= '( A, I4 )' ) ' Master table version: ', iupbs01( ibfmg, 'MTV' )
+
308  write ( 51, fmt= '( A, I4 )' ) ' Local table version: ', iupbs01( ibfmg, 'MTVL' )
+
309  write ( 51, fmt= '( A, I4 )' ) ' Year: ', iupbs01( ibfmg, 'YEAR' )
+
310  write ( 51, fmt= '( A, I4 )' ) ' Month: ', iupbs01( ibfmg, 'MNTH' )
+
311  write ( 51, fmt= '( A, I4 )' ) ' Day: ', iupbs01( ibfmg, 'DAYS' )
+
312  write ( 51, fmt= '( A, I4 )' ) ' Hour: ', iupbs01( ibfmg, 'HOUR' )
+
313  write ( 51, fmt= '( A, I4 )' ) ' Minute: ', iupbs01( ibfmg, 'MINU' )
+
314  write ( 51, fmt= '( A, I4 )' ) ' Second: ', iupbs01( ibfmg, 'SECO' )
+
315  if ( ( iogce == 7 ) .and. ( igses == 3 ) ) then
+
316  call rtrcptb ( ibfmg, iryr, irmo, irdy, irhr, irmi, irtret )
+
317  if ( irtret == 0 ) then
+
318  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt year: ', iryr
+
319  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt month: ', irmo
+
320  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt day: ', irdy
+
321  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt hour: ', irhr
+
322  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt minute: ', irmi
+
323  end if
+
324  end if
+
325 
+
326  ! Decode and output the data from Section 3.
+
327 
+
328  nsub = iupbs3( ibfmg, 'NSUB' )
+
329  write ( 51, fmt= '( /, A, I4 )' ) ' Number of data subsets: ', nsub
+
330  nsubt = nsubt + nsub
331 
-
332  nsub = iupbs3( ibfmg, 'NSUB' )
-
333  write ( 51, fmt= '( /, A, I4 )' ) ' Number of data subsets: ', nsub
-
334  nsubt = nsubt + nsub
-
335 
-
336  if ( iupbs3( ibfmg, 'IOBS' ) .eq. 1 ) then
-
337  write ( 51, fmt = '( A )') ' Data are observed?: Yes'
-
338  else
-
339  write ( 51, fmt = '( A )') ' Data are observed?: No'
-
340  end if
-
341 
-
342  if ( iupbs3( ibfmg, 'ICMP' ) .eq. 1 ) then
-
343  write ( 51, fmt = '( A )') ' Data are compressed?: Yes'
-
344  else
-
345  write ( 51, fmt = '( A )') ' Data are compressed?: No'
-
346  end if
-
347 
-
348  call upds3 ( ibfmg, mxds3, cds3, nds3 )
-
349  write ( 51, fmt= '( A, I5 )' ) ' Number of descriptors: ', nds3
-
350  do jj = 1, nds3
-
351  write ( 51, fmt = '( 5X, I4, A, A6)' ) jj, ": ", cds3( jj )
-
352  end do
+
332  if ( iupbs3( ibfmg, 'IOBS' ) == 1 ) then
+
333  write ( 51, fmt = '( A )') ' Data are observed?: Yes'
+
334  else
+
335  write ( 51, fmt = '( A )') ' Data are observed?: No'
+
336  end if
+
337 
+
338  if ( iupbs3( ibfmg, 'ICMP' ) == 1 ) then
+
339  write ( 51, fmt = '( A )') ' Data are compressed?: Yes'
+
340  else
+
341  write ( 51, fmt = '( A )') ' Data are compressed?: No'
+
342  end if
+
343 
+
344  call upds3 ( ibfmg, mxds3, cds3, nds3 )
+
345  write ( 51, fmt= '( A, I5 )' ) ' Number of descriptors: ', nds3
+
346  do jj = 1, nds3
+
347  write ( 51, fmt = '( 5X, I4, A, A6)' ) jj, ": ", cds3( jj )
+
348  end do
+
349 
+
350  if ( ( basic_f == 'N' ) .and. ( ierme >= 0 ) ) then
+
351 
+
352  ! Decode and output the data from Section 4.
353 
-
354  if ( ( basic_f .eq. 'N' ) .and. ( ierme .ge. 0 ) ) then
-
355 
-
356 ! Decode and output the data from Section 4.
-
357 
-
358  write ( 51, fmt = '( /, A, I7, 3A, I10, A, I6, A )' ) &
-
359  'BUFR message #', nmsg, ' of type ', cmgtag, ' and date ', imgdt, ' contains ', nsub, ' subsets:'
-
360  do while ( ireadsb( lunit ) .eq. 0 )
-
361  call ufdump ( lunit, 51 )
-
362  end do
-
363  end if
+
354  write ( 51, fmt = '( /, A, I7, 3A, I10, A, I6, A )' ) &
+
355  'BUFR message #', nmsg, ' of type ', cmgtag, ' and date ', imgdt, ' contains ', nsub, ' subsets:'
+
356  do while ( ireadsb( lunit ) == 0 )
+
357  call ufdump ( lunit, 51 )
+
358  end do
+
359  end if
+
360 
+
361  write ( 51, fmt = '( /, A, I7 )' ) 'End of BUFR message #', nmsg
+
362  write ( 51, fmt = '( /, 120("-"))' )
+
363  end if
364 
-
365  write ( 51, fmt = '( /, A, I7 )' ) 'End of BUFR message #', nmsg
-
366  write ( 51, fmt = '( /, 120("-"))' )
-
367  end if
-
368 
-
369  end do
-
370 
-
371  return
-
372 end subroutine fdebufr_c
-
373 
-
388 subroutine openbt ( lundx, mtyp )
-
389 
-
390  use share_table_info
+
365  end do
+
366 
+
367  return
+
368 end subroutine fdebufr_c
+
369 
+
383 subroutine openbt ( lundx, mtyp )
+
384 
+
385  use share_table_info
+
386 
+
387  implicit none
+
388 
+
389  character*11 bftab
+
390  character*275 bftabfil
391 
-
392  implicit none
-
393 
-
394  character*11 bftab
-
395  character*520 bftabfil
+
392  integer, intent(in) :: mtyp
+
393  integer, intent(out) :: lundx
+
394 
+
395  logical exists
396 
-
397  integer, intent(in) :: mtyp
-
398  integer, intent(out) :: lundx
+
397  write ( bftab, '("bufrtab.",i3.3)' ) mtyp
+
398  bftabfil = tbldir_f(1:ltbd) // '/' // bftab
399 
-
400  logical exists
-
401 
-
402  write ( bftab, '("bufrtab.",i3.3)' ) mtyp
-
403  bftabfil = tbldir_f(1:ltbd) // '/' // bftab
-
404 
-
405  inquire ( file = bftabfil, exist = exists )
-
406  if ( exists ) then
-
407  lundx = ludx
-
408  close ( lundx )
-
409  open ( unit = lundx, file = bftabfil )
-
410  else
-
411  lundx = 0
-
412  end if
-
413 
-
414  return
-
415 end subroutine openbt
-
subroutine codflg(CF)
This subroutine is used to specify whether or not code and flag table information should be included ...
Definition: codflg.f:41
-
recursive subroutine datelen(LEN)
This subroutine is used to specify the format of Section 1 date-time values that will be output by fu...
Definition: datelen.f:28
-
subroutine fdebufr_c(ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms)
This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR ...
Definition: debufr.F90:58
-
recursive subroutine dxdump(LUNIT, LDXOT)
This subroutine prints a copy of the DX BUFR table associated with a specified Fortran logical unit.
Definition: dxdump.f:39
-
recursive subroutine getcfmng(LUNIT, NEMOI, IVALI, NEMOD, IVALD, CMEANG, LNMNG, IRET)
This subroutine searches for a specified Table B mnemonic and associated value (code figure or bit nu...
Definition: getcfmng.f:105
+
400  inquire ( file = bftabfil, exist = exists )
+
401  if ( exists ) then
+
402  lundx = ludx
+
403  close ( lundx )
+
404  open ( unit = lundx, file = bftabfil )
+
405  else
+
406  lundx = 0
+
407  end if
+
408 
+
409  return
+
410 end subroutine openbt
+
recursive subroutine getcfmng(lunit, nemoi, ivali, nemod, ivald, cmeang, lnmng, iret)
Decode the meaning of a numerical value from a code or flag table.
Definition: cftbvs.F90:220
+
subroutine fdebufr_c(ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms)
This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR ...
Definition: debufr.F90:56
+
recursive subroutine ufdump(lunit, luprt)
Print a verbose listing of the contents of a data subset, including all data values and replicated se...
Definition: dumpdata.F90:228
+
recursive subroutine dxdump(lunit, ldxot)
Print a copy of the DX BUFR table associated with a specified Fortran logical unit.
Definition: dumpdata.F90:580
-
recursive subroutine mtinfo(CMTDIR, LUNMT1, LUNMT2)
Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
Definition: mtinfo.f:39
+
subroutine codflg(cf)
Specify whether or not code and flag table information should be included during all future reads of ...
+
recursive subroutine mtinfo(cmtdir, lunmt1, lunmt2)
Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
Definition: mastertable.F90:35
+
recursive subroutine strnum(str, num, iret)
Decode an integer from a character string.
Definition: misc.F90:177
+
subroutine strsuc(str1, str2, lens)
Remove leading and trailing blanks from a character string.
Definition: misc.F90:220
Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs.
This module is used within the debufr utility to share information between subroutine fdebufr_c() and...
Definition: debufr.F90:11
integer ludx
Fortran logical unit number to use for referencing a DX table.
Definition: debufr.F90:20
integer ltbd
Length (in characters) of tbldir_f.
Definition: debufr.F90:17
character(len=:), allocatable tbldir_f
Directory containing DX BUFR tables to be used for decoding.
Definition: debufr.F90:14
-
recursive subroutine openbf(LUNIT, IO, LUNDX)
Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
Definition: openbf.f:124
-
recursive subroutine openbt(LUNDX, MTYP)
This subroutine is called as a last resort from within subroutine cktaba(), in the event the latter s...
Definition: openbt.f:36
-
subroutine parstr(STR, TAGS, MTAG, NTAG, SEP, LIMIT80)
Parse a string containing one or more substrings into an array of substrings.
Definition: parstr.f:24
-
recursive subroutine readerme(MESG, LUNIT, SUBSET, JDATE, IRET)
Read a BUFR message from a memory array.
Definition: readerme.f:52
-
recursive subroutine rtrcptb(MBAY, IYR, IMO, IDY, IHR, IMI, IRET)
This subroutine reads the tank receipt time (if one exists) from Section 1 of a BUFR message.
Definition: rtrcptb.f:26
-
recursive subroutine strnum(str, num, iret)
Decode an integer from a character string.
Definition: strnum.F90:24
-
subroutine strsuc(str1, str2, lens)
This subroutine removes leading and trailing blanks from a character string.
Definition: strsuc.F90:16
-
recursive subroutine ufdump(LUNIT, LUPRT)
This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
Definition: ufdump.f:44
-
recursive subroutine upds3(MBAY, LCDS3, CDS3, NDS3)
This subroutine returns the sequence of data descriptors contained within Section 3 of a BUFR message...
Definition: upds3.f:26
+
recursive subroutine openbt(lundx, mtyp)
Specify a DX BUFR table of last resort, in case subroutine cktaba() is unable to locate a DX BUFR tab...
Definition: openbt.F90:31
+
recursive subroutine openbf(lunit, io, lundx)
Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
+
recursive subroutine readerme(mesg, lunit, subset, jdate, iret)
Read a BUFR message from a memory array.
+
recursive subroutine upds3(mbay, lcds3, cds3, nds3)
Read the sequence of data descriptors contained within Section 3 of a BUFR message.
Definition: s013vals.F90:829
+
recursive subroutine datelen(len)
Specify the format of Section 1 date-time values that will be output by future calls to any of the NC...
Definition: s013vals.F90:889
+
subroutine parstr(str, tags, mtag, ntag, sep, limit80)
Parse a string containing one or more substrings into an array of substrings.
Definition: strings.F90:473
+
recursive subroutine rtrcptb(mbay, iyr, imo, idy, ihr, imi, iret)
Read the tank receipt time (if one exists) from Section 1 of a BUFR message.
Definition: tankrcpt.F90:114
diff --git a/debufr_8c.html b/debufr_8c.html index fcd393e62..ab5a1c613 100644 --- a/debufr_8c.html +++ b/debufr_8c.html @@ -26,7 +26,7 @@ @@ -96,16 +96,16 @@ #include <stdio.h>
#include <libgen.h>
#include <unistd.h>
-#include "bufrlib.h"
+#include <stdlib.h>
#include "bufr_interface.h"

Go to the source code of this file.

[in]mtyp– integer: Data category of BUFR message
[out]lundx– integer: Fortran logical unit number for DX BUFR tables file to use in reading/decoding the message
    +
mtyp- Data category of BUFR message
lundx- Fortran logical unit number for DX BUFR tables file to use in reading/decoding the message
  • 0 = No such file is available
NCEPLIBS-bufr -  12.0.1 +  12.1.0
NCEPLIBS-bufr -  12.0.1 +  12.1.0
- - - + + + @@ -120,8 +120,8 @@

Definition in file debufr.c.

Function Documentation

- -

◆ fdebufr_f()

+ +

◆ fdebufr_f()

@@ -177,19 +177,19 @@

- + - + - + @@ -303,7 +303,7 @@

isetprm(). + documentation for NCEPLIBS-bufr function isetprm(). bufrfile [path/]name of BUFR file to be decoded
Remarks
    @@ -323,7 +323,7 @@

    Definition at line 167 of file debufr.c.

    -

    References bvers_f(), ccbfl(), cobfl(), fdebufr_f(), prtusage(), and VERS_STR_LEN.

    +

    References bvers_f(), ccbfl(), cobfl(), fdebufr_f(), prtusage(), and VERS_STR_LEN.

    @@ -364,7 +364,7 @@

    diff --git a/debufr_8c.js b/debufr_8c.js index 430768a9b..acdc65c3a 100644 --- a/debufr_8c.js +++ b/debufr_8c.js @@ -1,6 +1,6 @@ var debufr_8c = [ - [ "fdebufr_f", "debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6", null ], + [ "fdebufr_f", "debufr_8c.html#a834922eb8174316cd235a552c2456279", null ], [ "main", "debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97", null ], [ "prtusage", "debufr_8c.html#a54cbb8b652032605c043b18a134cd85d", null ] ]; \ No newline at end of file diff --git a/debufr_8c_source.html b/debufr_8c_source.html index 6c295a044..8419f6ad1 100644 --- a/debufr_8c_source.html +++ b/debufr_8c_source.html @@ -26,7 +26,7 @@

@@ -92,12 +92,12 @@
9 #include <stdio.h>
10 #include <libgen.h>
11 #include <unistd.h>
-
12 
-
13 #include "bufrlib.h"
+
12 #include <stdlib.h>
+
13 
14 #include "bufr_interface.h"
15 
-
38 void fdebufr_f( char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps,
-
39  char basic, char forcemt, char cfms );
+
38 void fdebufr_f( char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps,
+
39  char *basic, char *forcemt, char *cfms );
40 
48 void prtusage( char *prgnam ) {
49  printf( "\nUSAGE:\n" );
@@ -129,7 +129,7 @@
75  printf( " or it may contain all of the master BUFR tables when these\n" );
76  printf( " are being used to decode a file. If unspecified, the\n" );
77  printf( " default directory location is\n" );
-
78  printf( " \"/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build/install/tables\"\n\n" );
+
78  printf( " \"/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build-docs/install/tables\"\n\n" );
79  printf( " tablefil file within tabledir containing DX BUFR tables to be used\n" );
80  printf( " for decoding.\n\n" );
81  printf( " prmstg string of comma-separated PARAMETER=VALUE pairs, up to a\n" );
@@ -145,25 +145,25 @@
167 int main( int argc, char *argv[ ] ) {
168 
169  int ch;
-
170 
-
171  char basic = 'N';
-
172  char forcemt = 'N';
-
173  char cfms = 'Y';
-
174  char io = 'r';
-
175  char tbldir_default[500] =
-
176  "/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build/ins"
-
177  "tall/tables";
-
178  char bvstr[VERS_STR_LEN+1];
-
179 
-
180  char *ofile = NULL;
-
181  char *tbldir = NULL;
-
182  char *tblfil = NULL;
-
183  char *prmstg = NULL;
-
184  char *wkstr = NULL;
-
185 
-
186  char *bcopy, *bname, *dcopy, *dname;
+
170  int iret;
+
171  int lenof, lentd, lentf, lenps;
+
172 
+
173  char basic = 'N';
+
174  char forcemt = 'N';
+
175  char cfms = 'Y';
+
176  char io = 'r';
+
177  char tbldir_default[240] =
+
178  "/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build-doc"
+
179  "s/install/tables";
+
180  char bvstr[VERS_STR_LEN+1];
+
181 
+
182  char *ofile = NULL;
+
183  char *tbldir = NULL;
+
184  char *tblfil = NULL;
+
185  char *prmstg = NULL;
+
186  char *wkstr = NULL;
187 
-
188  int lenof, lentd, lentf, lenps;
+
188  char *bcopy, *bname, *dcopy, *dname;
189 
190  /*
191  ** Get and process the valid options from the command line:
@@ -171,8 +171,8 @@
193  while ( ( ch = getopt ( argc, argv, "vhbcmo:t:f:p:" ) ) != EOF ) {
194  switch ( ch ) {
195  case 'v':
-
196  bvers_f( bvstr, VERS_STR_LEN+1 );
-
197  printf( "This is debufr v4.0.0, built with NCEPLIBS-bufr v%s\n", bvstr );
+
196  bvers_f( bvstr, VERS_STR_LEN+1 );
+
197  printf( "This is the debufr utility, built with NCEPLIBS-bufr v%s\n", bvstr );
198  return 0;
199  case 'h':
200  printf( "\nPROGRAM %s\n", argv[0] );
@@ -309,46 +309,48 @@
331  printf( "\nERROR: Cannot write output file to %s\n",
332  ( strcmp( dname, "." ) == 0 ? "current working directory" : dname ) );
333  prtusage( argv[0] );
-
334  return -1;
+
334  iret = -1;
335  }
-
336  free( dcopy );
+
336  else {
337 
-
338  /*
-
339  ** Read and decode each message from the input BUFR file.
-
340  */
-
341  lenof = strlen( ofile );
-
342  lentd = strlen( tbldir );
-
343  lentf = strlen( tblfil );
-
344  lenps = strlen( prmstg );
-
345  fdebufr_f( ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms );
-
346 
-
347  free( ofile );
-
348  free( tbldir );
-
349  free( tblfil );
-
350  free( prmstg );
-
351 
-
352  /*
-
353  ** Close the input BUFR file.
-
354  */
-
355  ccbfl( );
-
356 
-
357  return 0;
-
358 }
+
338  /*
+
339  ** Read and decode each message from the input BUFR file.
+
340  */
+
341  lenof = strlen( ofile );
+
342  lentd = strlen( tbldir );
+
343  lentf = strlen( tblfil );
+
344  lenps = strlen( prmstg );
+
345  fdebufr_f( ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, &basic, &forcemt, &cfms );
+
346  iret = 0;
+
347  }
+
348  free( dcopy );
+
349 
+
350  free( ofile );
+
351  free( tbldir );
+
352  free( tblfil );
+
353  free( prmstg );
+
354 
+
355  /*
+
356  ** Close the input BUFR file.
+
357  */
+
358  ccbfl( );
+
359 
+
360  return iret;
+
361 }
Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.
+
#define VERS_STR_LEN
Size of a character string needed to store a library version number.
void cobfl(char *bfl, char io)
Open a new file for reading or writing BUFR messages via a C language interface.
Definition: crwbmg.c:120
-
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
Definition: crwbmg.c:296
+
void ccbfl(void)
Close all files that were opened via previous calls to function cobfl().
Definition: crwbmg.c:290
void bvers_f(char *cverstr, int cverstr_len)
Get the version number of the NCEPLIBS-bufr software.
-
Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
-
#define VERS_STR_LEN
Size of a character string needed to store a library version number.
Definition: bufrlib.h:72
int main(int argc, char *argv[])
This program decodes a BUFR file and generates a verbose listing of the contents.
Definition: debufr.c:167
void prtusage(char *prgnam)
This function prints program usage information to standard output.
Definition: debufr.c:48
-
void fdebufr_f(char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps, char basic, char forcemt, char cfms)
Read, decode, and print a verbose output listing of the contents of a BUFR file.
+
void fdebufr_f(char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps, char *basic, char *forcemt, char *cfms)
Read, decode, and print a verbose output listing of the contents of a BUFR file.
diff --git a/dir_22e12ea4559d63fc79cb69a343f5f5b4.html b/dir_22e12ea4559d63fc79cb69a343f5f5b4.html new file mode 100644 index 000000000..e2c73d50e --- /dev/null +++ b/dir_22e12ea4559d63fc79cb69a343f5f5b4.html @@ -0,0 +1,109 @@ + + + + + + + +NCEPLIBS-bufr: utils Directory Reference + + + + + + + + + + + + + +
+
+

Functions

void fdebufr_f (char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps, char basic, char forcemt, char cfms)
 Read, decode, and print a verbose output listing of the contents of a BUFR file. More...
 
void fdebufr_f (char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps, char *basic, char *forcemt, char *cfms)
 Read, decode, and print a verbose output listing of the contents of a BUFR file. More...
 
int main (int argc, char *argv[])
 This program decodes a BUFR file and generates a verbose listing of the contents. More...
 
char char *  basic,
char char *  forcemt,
char char *  cfms 
NCEPLIBS-bufr -  12.0.1 +  12.1.0
+ + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
utils Directory Reference
+
+
+ + + + + + + + +

+Files

file  debufr.c [code]
 C language code for debufr utility.
 
file  sinv.F90 [code]
 Produces a BUFR file inventory by satellite type.
 
+
+
+ + + + diff --git a/dir_49e56c817e5e54854c35e136979f97ca.html b/dir_49e56c817e5e54854c35e136979f97ca.html index 17439b58c..cca8f5bf5 100644 --- a/dir_49e56c817e5e54854c35e136979f97ca.html +++ b/dir_49e56c817e5e54854c35e136979f97ca.html @@ -26,7 +26,7 @@

NCEPLIBS-bufr -  12.0.1 +  12.1.0
NCEPLIBS-bufr -  12.0.1 +  12.1.0
- - - - - - - - - - - - - + - - + + - - + + - - + + - - - - - + + @@ -131,66 +116,30 @@ - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - + + - - - - - - @@ -200,245 +149,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -446,437 +182,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + +

Files

file  adn30.f [code]
 Convert a WMO bit-wise representation of an FXY value to a character string of length 5 or 6.
 
file  arallocc.c [code]
 Dynamically allocate C language arrays.
 
file  arallocf.f [code]
 Dynamically allocate Fortran language arrays.
 
file  ardllocc.c [code]
 Free all dynamically-allocated memory within internal C language arrays.
 
file  ardllocf.f [code]
 Free all dynamically-allocated memory within internal Fortran language arrays.
 Allocate or deallocate C language arrays.
 
file  atrcpt.f [code]
 Add a tank receipt time to a BUFR message.
file  arallocf.F90 [code]
 Allocate or deallocate Fortran language arrays.
 
file  blocks.f [code]
 Encapsulate a BUFR message with IEEE Fortran control words.
file  bitmaps.F90 [code]
 Process bitmaps within BUFR messages.
 
file  bort.f [code]
 Log one error message and abort application program.
file  blocks.F90 [code]
 Block BUFR messages with IEEE Fortran control words.
 
file  bort2.f [code]
 Log two error messages and abort application program.
 
file  bort_exit.c [code]
 Abort the application program.
file  borts.F90 [code]
 Log one or more error messages and abort application program.
 
file  bufr_c2f_interface.F90 [code]
 Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C.
file  bufrlib.F90 [code]
 Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library.
 
file  cadn30.f [code]
 Convert an FXY value from its WMO bit-wise representation to its six-character representation.
 
file  capit.f [code]
 Capitalize a character string.
file  bufrlib.h [code]
 Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
 
file  cfe.c [code]
 C language interface for processing master Code/Flag table entries.
 
file  chekstab.f [code]
 Check that an internal BUFR table representation is self-consistent and fully defined.
 
file  cktaba.f [code]
 Parse the Table A mnemonic and date out of Section 1 of a BUFR message.
 
file  closbf.f [code]
 Close a previously opened file and disconnect it from the NCEPLIBS-bufr software.
 
file  closmg.f [code]
 Close and write the current message to a BUFR file that was previously opened for writing.
 
file  cmpmsg.f [code]
 Specify the use of compression when writing BUFR messages.
 
file  cmsgini.f [code]
 Initialize a new compressed BUFR message for output.
 
file  cnved4.f [code]
 Convert a BUFR edition 3 message to BUFR edition 4.
 
file  codflg.f [code]
 Specify inclusion of code and flag tables when reading master BUFR tables.
 
file  conwin.f [code]
 Search consecutive subset buffer segments for an element identified in the user string as a conditional node.
file  cftbvs.F90 [code]
 Convert between code or flag table values and actual data values.
 
file  copybf.f [code]
 Copy an entire BUFR file.
file  cidecode.F90 [code]
 Decode character strings and integer values.
 
file  copymg.f [code]
 Copy a BUFR message from one file to another.
file  ciencode.F90 [code]
 Encode character strings and integer values.
 
file  copysb.f [code]
 Copy a BUFR data subset.
file  compress.F90 [code]
 Read or write compressed BUFR messages.
 
file  cpbfdx.f [code]
 Copy DX BUFR table information within internal memory.
 
file  cpdxmm.f [code]
 Read embedded DX BUFR table into internal arrays.
file  copydata.F90 [code]
 Copy data between BUFR files or messages.
 
file  cpmstabs.c [code]
 Copy master Table B and Table D information from Fortran arrays to C arrays within internal memory.
 
file  cpymem.f [code]
 Copy a BUFR message.
 
file  cpyupd.f [code]
 Copy a BUFR data subset.
 
file  cread.c [code]
 C language interface for reading or writing BUFR messages.
 
file  crwbmg.c [code]
 C language interface for reading or writing BUFR messages.
 
file  datebf.f [code]
 Read the Section 1 date-time from the first data message of a BUFR file.
 
file  datelen.f [code]
 Specify format of Section 1 date-time when reading BUFR messages.
 
file  digit.f [code]
 Check whether the characters in a string are all numeric.
 
file  drfini.f [code]
 Initialize replication factors for delayed replication sequences.
 
file  drstpl.f [code]
 Search for a specified mnemonic within unexpanded sequences of the internal jump/link table.
 
file  dumpbf.f [code]
 Read the Section 1 date-time from the first two "dummy" messages of an NCEP dump file.
 
file  dxdump.f [code]
 Print the contents of a DX BUFR table.
 
file  dxinit.f [code]
 Initialize the internal arrays which contain the DX BUFR table.
 
file  dxmini.f [code]
 Initialize a DX BUFR tables message.
 
file  elemdx.f [code]
 Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
 
file  errwrt.f [code]
 Specify location for logging of error and diagnostic messages.
 
file  exitbufr.f [code]
 Reset the NCEPLIBS-bufr software for potential dynamic reallocation of memory.
file  dumpdata.F90 [code]
 Print the contents of a data subset or DX BUFR table.
 
file  fortran_close.F90 [code]
 Close a Fortran file on the local system.
file  dxtable.F90 [code]
 Read or write DX BUFR table information.
 
file  fortran_open.F90 [code]
 Open a Fortran file on the local system.
file  errwrt.F90 [code]
 Specify location for logging of error and diagnostic messages.
 
file  fstag.f [code]
 Search for a specified occurrence of a specified mnemonic within a data subset definition, starting from a specified location.
 
file  getabdb.f [code]
 Get Table B and Table D information from the internal DX BUFR tables.
 
file  getbmiss.f [code]
 Get the current placeholder value for "missing" data.
 
file  getcfmng.f [code]
 Decode the meaning of a numerical value from a code or flag table.
 
file  getlens.f [code]
 Read the section lengths of a BUFR message.
 
file  getntbe.f [code]
 Read the first line of the next entry from a master table B, table D or Code/Flag table file.
 
file  gets1loc.f [code]
 Get the location of a specified value within Section 1 of a BUFR message.
 
file  gettagpr.f [code]
 Get the parent for a specified occurrence of a Table B or Table D mnemonic.
 
file  gettagre.f [code]
 Check whether a Table B mnemonic references another Table B mnemonic via an internal bitmap.
 
file  gettbh.f [code]
 Read the header lines from a master table B, table D or Code/Flag table.
 
file  getvalnb.f [code]
 Read one data value from a data subset.
 
file  getwin.f [code]
 Look for a window containing a specified node within the internal jump/link table.
 
file  hold4wlc.f [code]
 Write a long character string (greater than 8 bytes) to a data subset.
 
file  i4dy.f [code]
 Convert a date-time with a 2-digit year to a date-time with a 4-digit year.
 
file  ibfms.f [code]
 Test whether a real*8 data value is "missing".
 
file  icbfms.f [code]
 Test whether a character string is "missing".
 
file  icmpdx.f [code]
 Check whether two BUFR files have the same DX BUFR table information.
 
file  icopysb.f [code]
 Copy a BUFR data subset.
file  fxy.F90 [code]
 Process FXY values, including converting between character and WMO bit-wise representations.
 
file  icvidx.c [code]
 Compute a unique 1-dimensional array index from 2-dimensional indices.
 
file  idn30.f [code]
 Convert an FXY value from a character string to the WMO bit-wise representation.
 
file  idxmsg.f [code]
 Check whether a BUFR message contains DX BUFR tables information.
 
file  ifbget.f [code]
 Check whether there are any more data subsets available to be read from a BUFR message.
 
file  ifxy.f [code]
 Convert an FXY value from its six character representation to its WMO bit-wise representation.
 
file  igetdate.f [code]
 Read the date-time from Section 1 of a BUFR message.
 
file  igetfxy.f [code]
 Search for a valid FXY number within a character string.
 
file  igetmxby.f [code]
 Get the maximum length of a BUFR message that can be written to an output file.
 
file  igetntbi.f [code]
 Get the next index for storing an entry within an internal DX BUFR table.
 
file  igetntbl.f [code]
 Read the next line from a master table B, table D or Code/Flag table file.
 
file  igetprm.f [code]
 Get the current value of a parameter.
 
file  igetrfel.f [code]
 Check whether a specified element refers to a previous element within the same subset via an internal bitmap.
 
file  igetsc.f [code]
 Check for an abnormal status code associated with the processing of a file.
file  mastertable.F90 [code]
 Read or write master table information.
 
file  igettdi.f [code]
 Get the next usable Table D index for the current master table, or reset the index.
file  memmsgs.F90 [code]
 Read and process BUFR messages within internal memory arrays.
 
file  imrkopr.f [code]
 Check whether a mnemonic is a Table C marker operator.
 
file  inctab.f [code]
 Get the next available positional index for writing into the internal jump/link table.
 
file  invcon.f [code]
 Search a specified window for a conditional node.
 
file  invmrg.f [code]
 Merge parts of data subsets.
 
file  invtag.f [code]
 Search for a specified mnemonic within a specified portion of the current data subset.
 
file  invwin.f [code]
 Search for a specified node within a specified portion of the current data subset.
 
file  iok2cpy.f [code]
 Check whether a BUFR message or data subset can be copied from one BUFR file to another.
 
file  iokoper.f [code]
 Check whether a mnemonic is a Table C operator.
 
file  ipkm.f [code]
 Encode an integer value within a character string.
 
file  ipks.f [code]
 Pack a real*8 value into an integer by applying the proper scale and reference values.
 
file  ireadmg.f [code]
 Read the next message from a BUFR file that was previously opened for reading.
 
file  ireadmm.f [code]
 Read a BUFR message from internal arrays.
 
file  ireadmt.f [code]
 Check whether master BUFR tables need to be read from the local file system.
 
file  ireadns.f [code]
 Read the next data subset from a BUFR file that was previously opened for reading.
 
file  ireadsb.f [code]
 Read the next data subset from a BUFR message.
 
file  irev.F [code]
 Return a copy of an input integer word with the bytes reversed.
 
file  isetprm.f [code]
 Define a customized parameter value for dynamic allocation.
 
file  ishrdx.f [code]
 Check whether two BUFR files are sharing the same DX BUFR table.
 
file  isize.f [code]
 Compute the number of characters needed to encode an integer as a string.
 
file  istdesc.f [code]
 Check whether a descriptor is WMO-standard.
 
file  iupb.f [code]
 Decode an integer value from an integer array.
 
file  iupbs01.f [code]
 Read a data value from Section 0 or Section 1 of a BUFR message.
 
file  iupbs3.f [code]
 Read a data value from Section 3 of a BUFR message.
 
file  iupm.f [code]
 Decode an integer value from a character string.
 
file  iupvs01.f [code]
 Read a data value from Section 0 or Section 1 of a BUFR message.
 
file  jstnum.f [code]
 Left-justify a character string containing an encoded integer.
 
file  lcmgdf.f [code]
 Check for the existence of any long character strings (greater than 8 bytes) within a data subset definition.
 
file  lmsg.f [code]
 Determine the array size needed to store a BUFR message.
 
file  lstjpb.f [code]
 Search backwards from a specified node of the jump/link table for a node of a specified type.
 
file  makestab.f [code]
 Build the internal jump/link table.
 
file  maxout.f [code]
 Define a customized maximum length for output BUFR messages.
 
file  mesgbc.f [code]
 Get information about a BUFR message.
 
file  mesgbf.f [code]
 Get information about a BUFR message.
 
file  minimg.f [code]
 Write a minutes value into Section 1 of a BUFR message.
file  missing.F90 [code]
 Test for "missing" data values.
 
file  modules_arrs.F90 [code]
 Declare module arrays.
file  modules_vars.F90 [code]
 Declare and initialize module variables.
 
file  mrginv.f [code]
 Print a summary of merge activity.
 
file  msgfull.f [code]
 Check whether a data subset will fit within a BUFR message.
 
file  msgini.f [code]
 Initialize a new uncompressed BUFR message for output.
 
file  msgupd.f [code]
 Write an uncompressed BUFR data subset.
 
file  msgwrt.f [code]
 Finalize a BUFR message for output and write the message to a BUFR file.
 
file  mstabs.h [code]
 Declare variables for internal storage of master Table B and Table D entries.
 
file  mtfnam.f [code]
 Determine filenames and check for the existence of corresponding standard and local master table files on the filesystem.
 
file  mtinfo.f [code]
 Specify location of master BUFR tables on local file system.
 
file  mvb.f [code]
 Copy a specified number of bytes from one packed binary array to another.
 
file  nemdefs.f [code]
 Get the element name and units associated with a Table B mnemonic.
 
file  nemock.f [code]
 Check the validity of a mnemonic.
 
file  nemspecs.f [code]
 Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.
 
file  nemtab.f [code]
 Get information about a descriptor, based on the mnemonic.
 
file  nemtba.f [code]
 Search for a Table A descriptor within the internal DX BUFR tables.
 
file  nemtbax.f [code]
 Search for a Table A descriptor within the internal DX BUFR tables.
 
file  nemtbb.f [code]
 Get information about a Table B descriptor.
 
file  nemtbd.f [code]
 Get information about a Table D descriptor.
 
file  nenubd.f [code]
 Confirm that a mnemonic and FXY value haven't already been defined.
 
file  nevn.f [code]
 Search for stacked data events within a specified portion of the current data subset.
 
file  newwin.f [code]
 Computes the ending index of the window.
 
file  nmsub.f [code]
 Get the number of data subsets from a BUFR message.
 
file  nmwrd.f [code]
 Determine the array size needed to store a BUFR message.
 
file  numbck.f [code]
 Check the validity of an FXY value.
 
file  numtab.f [code]
 Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
file  openbt.F90 [code]
 Specify DX BUFR table file of last resort.
 
file  numtbd.f [code]
 Search for a Table B or Table D descriptor within the internal DX BUFR tables.
file  openclosebf.F90 [code]
 Open or close a file to the library.
 
file  nvnwin.f [code]
 Search for all occurrences of a specified node within a specified portion of the current data subset.
file  readwritemg.F90 [code]
 Read or write a BUFR message.
 
file  nwords.f [code]
 Compute the length of a delayed replication sequence.
file  readwritesb.F90 [code]
 Read or write a BUFR data subset.
 
file  nxtwin.f [code]
 Computes the start and end indices of the next window.
 
file  openbf.f [code]
 Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file.
 
file  openbt.f [code]
 Specify DX BUFR table file of last resort.
 
file  openmb.f [code]
 Open a new message for output in a BUFR file that was previously opened for writing.
 
file  openmg.f [code]
 Open a new message for output in a BUFR file that was previously opened for writing.
 
file  pad.f [code]
 Pad a BUFR data subset with zeroed-out bits up to the next byte boundary.
 
file  padmsg.f [code]
 Pad a BUFR message with zeroed-out bytes up to the next 8-byte boundary.
 
file  parstr.f [code]
 Parse a string containing one or more substrings into an array of substrings.
 
file  parusr.f [code]
 Initate the process to parse out mnemonics from a character string.
 
file  parutg.f [code]
 Parse a mnemonic from a character string.
 
file  pkb.f [code]
 Encode an integer value within an integer array.
 
file  pkb8.f [code]
 Encode an 8-byte integer value within an integer array.
 
file  pkbs1.f [code]
 Write a data value into Section 1 of a BUFR message.
 
file  pkc.f [code]
 Encode a character string within an integer array.
 
file  pkftbv.f [code]
 Determine the numerical data value equivalent to the setting of a specified bit within a flag table.
 
file  pktdd.f [code]
 Store information about a child mnemonic within the internal arrays.
 
file  pkvs01.f [code]
 Specify a value to be included in Section 0 or Section 1 when writing BUFR messages.
 
file  posapx.f [code]
 Position an output BUFR file for appending.
 
file  rcstpl.f [code]
 Store the subset template into internal arrays.
 
file  rdbfdx.f [code]
 Read a complete DX BUFR table.
 
file  rdcmps.f [code]
 Read the next compressed BUFR data subset into internal arrays.
 
file  rdmemm.f [code]
 Read a specified BUFR message from internal arrays.
 
file  rdmems.f [code]
 Read a specified data subset from a BUFR message.
 
file  rdmgsb.f [code]
 Read a specified data subset from a BUFR file.
 
file  rdmsgw.F90 [code]
 Read a BUFR message.
 
file  rdmtbb.f [code]
 Read master Table B information from local file system.
 
file  rdmtbd.f [code]
 Read master Table D information from local file system.
 
file  rdmtbf.f [code]
 Read master Code/Flag table information from local file system.
 
file  rdtree.f [code]
 Read the next uncompressed BUFR data subset into internal arrays.
 
file  rdusdx.f [code]
 Read a complete DX BUFR table.
 
file  readdx.f [code]
 Read DX BUFR table information into internal arrays.
 
file  readerme.f [code]
 Read a BUFR message from a memory array.
 
file  readlc.f [code]
 Read a long character string (greater than 8 bytes) from a data subset.
 
file  readmg.f [code]
 Read the next message from a BUFR file that was previously opened for reading.
 
file  readmm.f [code]
 Read a specified BUFR message from internal arrays.
 
file  readns.f [code]
 Read the next data subset from a BUFR file that was previously opened for reading.
 
file  reads3.f [code]
 Read the Section 3 descriptors from a BUFR message.
 
file  readsb.f [code]
 Read the next data subset from a BUFR message.
file  readwriteval.F90 [code]
 Read or write data values within a BUFR data subset.
 
file  restd.c [code]
 Standardize a local Table D descriptor.
 
file  rewnbf.f [code]
 Store or restore parameters associated with a BUFR file.
 
file  rsvfvm.f [code]
 Process a "following value" mnemonic.
 
file  rtrcpt.f [code]
 Read the tank receipt time from Section 1 of a BUFR message.
 
file  rtrcptb.f [code]
 Read the tank receipt time from Section 1 of a BUFR message.
 
file  seqsdx.f [code]
 Decode the sequence information from a Table D mnemonic definition.
 
file  setblock.f [code]
 Specify the use of IEEE Fortran control words when writing BUFR messages.
 
file  setbmiss.f [code]
 Define a customized placeholder value for "missing" data.
 
file  setim8b.F90 [code]
 Use 8-byte integer arguments to BUFRLIB subprograms from Fortran.
 
file  setvalnb.f [code]
 Write one data value to a data subset.
 
file  sntbbe.f [code]
 Store a master Table B entry into Fortran arrays.
 
file  sntbde.f [code]
 Store a master Table D entry into Fortran arrays.
 
file  sntbfe.f [code]
 Store a master Code/Flag table entry into internal memory.
 
file  status.f [code]
 Check whether a file is connected to the NCEPLIBS-bufr software.
 
file  stbfdx.f [code]
 Store a DX BUFR tables message into internal arrays.
 
file  stdmsg.f [code]
 Specify the use of standardization when writing BUFR messages.
 
file  stndrd.f [code]
 Standardize a BUFR message.
 
file  stntbi.f [code]
 Store a new entry within the internal BUFR Table B or D.
 
file  stntbia.f [code]
 Store a new entry within the internal BUFR Table A.
 
file  strbtm.f [code]
 Store information about a bitmap element.
file  s013vals.F90 [code]
 Read and write data values within Sections 0, 1, and 3 of BUFR messages.
 
file  strcln.f [code]
 Reset the string cache.
file  standard.F90 [code]
 Write WMO-standard BUFR messages.
 
file  strcpt.f [code]
 Specify a tank receipt time to be included in Section 1 when writing BUFR messages.
 
file  string.f [code]
 Check whether a string is in the string cache.
 
file  strnum.F90 [code]
 Decode an integer from a character string.
 
file  strsuc.F90 [code]
 Remove leading and trailing blanks from a character string.
file  strings.F90 [code]
 Process mnemonic strings.
 
file  stseq.c [code]
 Store information about a standard Table D descriptor within internal DX BUFR tables.
 
file  tabent.f [code]
 Store an entry for a Table B or D mnemonic within the internal jump/link table.
 
file  tabsub.f [code]
 Store an entry for a Table A mnemonic within the internal jump/link table.
 
file  trybump.f [code]
 Try to expand a delayed replication sequence.
 
file  ufbcnt.f [code]
 Get the current message number and data subset number within a BUFR file.
 
file  ufbcpy.f [code]
 Copy a BUFR data subset.
 
file  ufbcup.f [code]
 Copy unique elements of a data subset.
 
file  ufbdmp.f [code]
 Print the contents of a data subset.
 
file  ufbevn.f [code]
 Read one or more data values from an NCEP prepbufr file.
 
file  ufbget.f [code]
 Read one or more data values from a data subset.
 
file  ufbin3.f [code]
 Read one or more data values from an NCEP prepfits file.
 
file  ufbint.f [code]
 Read/write one or more data values from/to a data subset.
 
file  ufbinx.f [code]
 Read one or more data values from a data subset.
 
file  ufbmem.f [code]
 Connect a new file to the NCEPLIBS-bufr software, and read the entire file contents into internal arrays.
 
file  ufbmex.f [code]
 Connect a new file to the BUFRLIB software, and read the entire file contents into internal arrays.
 
file  ufbmms.f [code]
 Read a specified data subset from internal arrays.
 
file  ufbmns.f [code]
 Read a specified data subset from internal arrays.
 
file  ufbovr.f [code]
 Overwrite one or more data values within a data subset.
 
file  ufbpos.f [code]
 Jump forwards or backwards to a specified data subset within a BUFR file.
 
file  ufbqcd.f [code]
 Get the event program code associated with a Table D mnemonic from an NCEP prepbufr file.
 
file  ufbqcp.f [code]
 Get the Table D mnemonic associated with an event program code from an NCEP prepbufr file.
 
file  ufbrep.f [code]
 Read/write one or more data values from/to a data subset.
 
file  ufbrms.f [code]
 Read one or more data values from a data subset in internal arrays.
 
file  ufbrp.f [code]
 Read/write one or more data values from/to a data subset.
 
file  ufbrw.f [code]
 Read/write one or more data values from/to a data subset.
 
file  ufbseq.f [code]
 Read/write an entire sequence of data values from/to a data subset.
 
file  ufbsp.f [code]
 Read/write one or more data values from/to a data subset.
 
file  ufbstp.f [code]
 Read/write one or more data values from/to a data subset.
 
file  ufbtab.f [code]
 Read one or more data values from every data subset in a BUFR file.
 
file  ufbtam.f [code]
 Read one or more data values from every data subset in internal arrays.
 
file  ufdump.f [code]
 Print the contents of a data subset.
 
file  up8.f [code]
 Decode an 8-byte integer value from an integer array.
 
file  upb.f [code]
 Decode an integer value from an integer array.
 
file  upb8.f [code]
 Decode an 8-byte integer value from an integer array.
 
file  upbb.f [code]
 Decode an integer value from an integer array.
 
file  upc.f [code]
 Decode a character string from an integer array.
 
file  upds3.f [code]
 Read data descriptors from Section 3 of a BUFR message.
 
file  upftbv.f [code]
 Determine the bit settings equivalent to a numerical flag table value.
 
file  ups.f [code]
 Unpack a real*8 value from an integer by applying the proper scale and reference values.
 
file  uptdd.f [code]
 Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D sequence.
 
file  usrtpl.f [code]
 Store the subset template into internal arrays.
 
file  wrcmps.f [code]
 Write a compressed BUFR data subset.
 
file  wrdesc.c [code]
 Maintain an array of descriptors.
 
file  wrdlen.F [code]
 Determine important information about the local machine.
 
file  wrdxtb.f [code]
 Write DX BUFR tables messages to a BUFR file.
 
file  writcp.f [code]
 Write a data subset into a BUFR message using compression.
 
file  writdx.f [code]
 Write DX BUFR tables messages to the beginning of a BUFR file.
 
file  writlc.f [code]
 Write a long character string (greater than 8 bytes) to a data subset.
 
file  writsa.f [code]
 Write a data subset into a BUFR message, and return each completed message within a memory array.
 
file  writsb.f [code]
 Write a data subset into a BUFR message.
 
file  wrtree.f [code]
 Pack a BUFR data subset.
 
file  wtstat.f [code]
 Update file status in library internals.
 
file  x48.F [code]
 Encode one or more 4-byte integer values as 8-byte integer values.
file  tankrcpt.F90 [code]
 Read and write tank receipt times within BUFR messages.
 
file  x84.F [code]
 Encode one or more 8-byte integer values as 4-byte integer values.
file  x4884.F90 [code]
 Convert between 4-byte integers and 8-byte integers.
 
diff --git a/dir_7a6c296ee00f7c8711e279503c1d5b5f.html b/dir_7a6c296ee00f7c8711e279503c1d5b5f.html new file mode 100644 index 000000000..a251393c4 --- /dev/null +++ b/dir_7a6c296ee00f7c8711e279503c1d5b5f.html @@ -0,0 +1,106 @@ + + + + + + + +NCEPLIBS-bufr: src Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+ + + + + +

+Files

file  misc.F90 [code]
 Miscellaneous subroutines and functions.
 
+
+
+ + + + diff --git a/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html b/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html index a62ae4389..b933ea13d 100644 --- a/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html +++ b/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -89,8 +89,11 @@ - - + + + + + @@ -98,8 +101,8 @@ - - + + @@ -107,8 +110,8 @@ - - + + diff --git a/dumpdata_8F90.html b/dumpdata_8F90.html new file mode 100644 index 000000000..15372bd48 --- /dev/null +++ b/dumpdata_8F90.html @@ -0,0 +1,343 @@ + + + + + + + +NCEPLIBS-bufr: dumpdata.F90 File Reference + + + + + + + + + + + + + +
+
+

Files

file  binv.f90 [code]
 Produce an inventory of subsets in a bufr file.
file  apxdx.F90 [code]
 Append a specified DX BUFR table to a specified BUFR file.
 
file  binv.F90 [code]
 Produce an inventory of subsets in a bufr file.
 
file  cmpbqm.F90 [code]
 Print inventory of observations from prepbufr file by variable, report type and quality mark.
file  debufr.F90 [code]
 Fortran language code for debufr utility.
 
file  gettab.f90 [code]
 Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout.
file  gettab.F90 [code]
 Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout.
 
file  readbp.F90 [code]
 Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time.
file  readmp.F90 [code]
 Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.
 
file  split_by_subset.f90 [code]
 Split a BUFR file into separate BUFR files by subset type.
file  split_by_subset.F90 [code]
 Split a BUFR file into separate BUFR files by subset type.
 
file  xbfmg.c [code]
 Split a BUFR file into separate BUFR files by message.
+ + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dumpdata.F90 File Reference
+
+
+ +

Print the contents of a data subset or DX BUFR table. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions/Subroutines

recursive subroutine dxdump (lunit, ldxot)
 Print a copy of the DX BUFR table associated with a specified Fortran logical unit. More...
 
recursive subroutine getabdb (lunit, tabdb, itab, jtab)
 Get Table B and Table D information from the internal DX BUFR tables. More...
 
recursive subroutine ufbdmp (lunin, luprt)
 Print a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as jump/link table information and other internal subset pointers. More...
 
recursive subroutine ufdump (lunit, luprt)
 Print a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as the meanings of data values which are code or flag table entries. More...
 
+

Detailed Description

+

Print the contents of a data subset or DX BUFR table.

+
Authors
J. Woollen, J. Ator, D. Keyser
+
Date
1994-01-06
+ +

Definition in file dumpdata.F90.

+

Function/Subroutine Documentation

+ +

◆ dxdump()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine dxdump (integer, intent(in) lunit,
integer, intent(in) ldxot 
)
+
+ +

Print a copy of the DX BUFR table associated with a specified Fortran logical unit.

+

This subroutine is especially useful for learning the structure of existing BUFR files which contain DX BUFR table information embedded as BUFR messages within those files. The DX BUFR table is printed using the same ASCII format described in the documentation for DX BUFR Tables, so the output file is suitable for use as Fortran logical unit LUNDX in subsequent calls to subroutine openbf() for reading or writing additional BUFR files with the same structure.

+
Parameters
+ + + +
lunit- Fortran logical unit number for BUFR file
ldxot- Fortran logical unit number for print output
+
+
+

Logical unit lunit must be open for either input or output operations via a previous call to subroutine openbf(). Logical unit ldxot must already be associated with a filename on the local system, typically via a Fortran "OPEN" statement.

+
Remarks
    +
  • This subroutine only prints the DX BUFR table that is currently in scope for logical unit lunit. Therefore, if logical unit lunit contains multiple embedded DX BUFR tables, then multiple calls to this subroutine must be made to print out all of the tables, once while each table is in scope for a data subset defined within that particular table.
  • +
+
+
Author
J. Ator
+
Date
2004-08-18
+ +

Definition at line 579 of file dumpdata.F90.

+ +

References bort(), moda_nmikrp::irp, moda_nmikrp::krp, moda_nmikrp::nem, nemtbd(), moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, status(), strsuc(), moda_tababd::taba, moda_tababd::tabb, moda_tababd::tabd, and x84().

+ +

Referenced by fdebufr_c(), and gettab().

+ +
+
+ +

◆ getabdb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine getabdb (integer, intent(in) lunit,
character*128, dimension(*), intent(out) tabdb,
integer, intent(in) itab,
integer, intent(out) jtab 
)
+
+ +

Get Table B and Table D information from the internal DX BUFR tables.

+

The information is returned in a memory array in a pre-defined ASCII format.

+
Parameters
+ + + + + +
lunit- Fortran logical unit number for BUFR file
itab- Dimensioned size of tabdb array; used by the subroutine to ensure that it doesn't overflow the tabdb array
tabdb- Internal Table B and Table D information
jtab- Number of entries stored within tabdb
+
+
+
Author
J. Ator
+
Date
2005-11-29
+ +

Definition at line 828 of file dumpdata.F90.

+ +

References moda_nmikrp::irp, moda_nmikrp::krp, moda_nmikrp::nem, nemtbd(), moda_tababd::ntbb, moda_tababd::ntbd, status(), moda_tababd::tabb, moda_tababd::tabd, x48(), and x84().

+ +
+
+ +

◆ ufbdmp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine ufbdmp (integer, intent(in) lunin,
integer, intent(in) luprt 
)
+
+ +

Print a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as jump/link table information and other internal subset pointers.

+

This subroutine is similar to subroutine ufdump(), but it prints different characteristics of each data subset, and in a slightly different format. However, both subroutines can be useful for different diagnostic purposes, and both can also be run interactively to scroll through the contents of a data subset.

+

Logical unit abs(lunin) should have already been opened for input operations via a previous call to subroutine openbf(), and a BUFR data subset should have already been read into internal arrays via a previous call to one of the subset-reading subroutines.

+

Except when luprt = 0, logical unit luprt must already be associated with a filename on the local system, typically via a Fortran "OPEN" statement. When luprt = 0, the subroutine will run interactively and print to standard output, scrolling 20 lines at a time and prompting each time whether to quit and return to the application program (by typing 'q' then '<Enter>') or continue scrolling (by typing anything else).

+
Parameters
+ + + +
lunin- Absolute value is Fortran logical unit number for BUFR file
    +
  • If lunin > 0, data values are printed to luprt using the format descriptor code 'G15.6', meaning that all values will be printed (since the format adapts to the order of magnitude of each value), but values won't necessarily be lined up with the decimal point in the same column
  • +
  • If lunin < 0, data values are printed to luprt using the format descriptor code 'F15.6', meaning that all values will be lined up with the decimal point in the same column, but values exceeding the format width of 15 characters will print as overflow (e.g. '***************')
  • +
+
luprt- Fortran logical unit number for print output:
    +
  • 0 = Run interactively, printing to standard output
  • +
+
+
+
+
Authors
J. Woollen, J. Ator, D. Keyser
+
Date
1994-01-06
+ +

Definition at line 41 of file dumpdata.F90.

+ +

References bort(), ibfms(), moda_tables::ibt, icbfms(), moda_msgcwd::inode, moda_usrint::inv, moda_tables::irf, moda_tables::isc, isize(), moda_tables::itp, moda_tables::jmpb, moda_tables::jump, moda_tables::link, nemtab(), moda_usrint::nval, readlc(), status(), moda_tababd::tabb, moda_tables::tag, moda_tables::typ, upftbv(), moda_usrint::val, and x84().

+ +
+
+ +

◆ ufdump()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine ufdump (integer, intent(in) lunit,
integer, intent(in) luprt 
)
+
+ +

Print a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as the meanings of data values which are code or flag table entries.

+

This subroutine is similar to subroutine ufbdmp(), but it prints different characteristics of each data subset, and in a slightly different format. However, both subroutines can be useful for different diagnostic purposes, and both can also be run interactively to scroll through the contents of a data subset.

+

Logical unit lunit should have already been opened for input operations via a previous call to subroutine openbf(), and a BUFR data subset should have already been read into internal arrays via a previous call to one of the subset-reading subroutines.

+

Except when luprt = 0, logical unit luprt must already be associated with a filename on the local system, typically via a Fortran "OPEN" statement. When luprt = 0, the subroutine will run interactively and print to standard output, scrolling 20 lines at a time and prompting each time whether to quit and return to the application program (by typing 'q' then '<Enter>') or continue scrolling (by typing anything else).

+

In order for the meanings of code and flag table values to be included in the output, a previous call to subroutine codflg() must have been made with argument cf = 'Y'. Otherwise, only the code and flag table values themselves will be printed.

+
Parameters
+ + + +
lunit- Fortran logical unit number for BUFR file
luprt- Fortran logical unit number for print output
    +
  • 0 = Run interactively, printing to standard output
  • +
+
+
+
+
Authors
J. Woollen, J. Ator
+
Date
2002-05-14
+ +

Definition at line 227 of file dumpdata.F90.

+ +

References bort(), moda_tablef::cdmf, fstag(), ibfms(), moda_tables::ibt, icbfms(), moda_msgcwd::inode, moda_nrv203::inodnrv, moda_usrint::inv, ireadmt(), moda_tables::irf, moda_tables::isc, isize(), moda_tables::itp, nemtab(), moda_nrv203::nnrv, moda_usrint::nrfelm, moda_msgcwd::nsub, numtbd(), moda_usrint::nval, readlc(), status(), strsuc(), moda_tababd::tabb, moda_tables::tag, moda_tables::typ, upftbv(), moda_usrint::val, and x84().

+ +

Referenced by fdebufr_c(), readbp(), and readmp().

+ +
+
+
+
+ + + + diff --git a/dumpdata_8F90.js b/dumpdata_8F90.js new file mode 100644 index 000000000..5b58498cc --- /dev/null +++ b/dumpdata_8F90.js @@ -0,0 +1,7 @@ +var dumpdata_8F90 = +[ + [ "dxdump", "dumpdata_8F90.html#ac693ae3d5af0a71505d5f9305c86fdb8", null ], + [ "getabdb", "dumpdata_8F90.html#aa267dbf23e18a201eec17e2fa48238d7", null ], + [ "ufbdmp", "dumpdata_8F90.html#ad4fdbfc4ae3890133d9204a881541a1a", null ], + [ "ufdump", "dumpdata_8F90.html#a20fa33f6e0fcb0816c4b070c73362539", null ] +]; \ No newline at end of file diff --git a/dumpdata_8F90_source.html b/dumpdata_8F90_source.html new file mode 100644 index 000000000..d965794ce --- /dev/null +++ b/dumpdata_8F90_source.html @@ -0,0 +1,929 @@ + + + + + + + +NCEPLIBS-bufr: dumpdata.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dumpdata.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
41 recursive subroutine ufbdmp(lunin,luprt)
+
42 
+
43  use modv_vars, only: im8b
+
44 
+
45  use moda_usrint
+
46  use moda_msgcwd
+
47  use moda_tababd
+
48  use moda_tables
+
49 
+
50  implicit none
+
51 
+
52  integer, intent(in) :: lunin, luprt
+
53  integer, parameter :: mxfv = 31
+
54  integer ifv(mxfv), my_lunin, my_luprt, luout, lunit, lun, il, im, nv, nd, it, ib, is, ir, jp, lk, jb, &
+
55  idn, nifv, nchr, n, ii, ipt, isz, isize, ibfms, icbfms
+
56 
+
57  character lchr2*120, lchr*20, pmiss*20, bits*14, tg*10, tg_rj*10, vc*8, fmtf*7, tp*3, tab, you
+
58 
+
59  real*8 vl
+
60 
+
61  equivalence(vl,vc)
+
62 
+
63  data pmiss /' MISSING'/
+
64  data you /'Y'/
+
65 
+
66  ! Check for I8 integers
+
67 
+
68  if(im8b) then
+
69  im8b=.false.
+
70 
+
71  call x84(lunin,my_lunin,1)
+
72  call x84(luprt,my_luprt,1)
+
73  call ufbdmp(my_lunin,my_luprt)
+
74 
+
75  im8b=.true.
+
76  return
+
77  endif
+
78 
+
79  if(luprt==0) then
+
80  luout = 6
+
81  else
+
82  luout = luprt
+
83  endif
+
84 
+
85  ! Check the file status and inode
+
86 
+
87  lunit = abs(lunin)
+
88  call status(lunit,lun,il,im)
+
89  if(il==0) call bort('BUFRLIB: UFBDMP - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
90  if(il>0) call bort('BUFRLIB: UFBDMP - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
91  if(im==0) call bort('BUFRLIB: UFBDMP - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
92  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBDMP - LOCATION OF INTERNAL TABLE FOR '// &
+
93  'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
+
94 
+
95  ! Dump the contents of @ref moda_usrint for unit abs(lunin)
+
96 
+
97  do nv=1,nval(lun)
+
98  if(luprt==0 .and. mod(nv,20)==0) then
+
99 
+
100  ! When luprt=0, the output will be scrolled, 20 elements at a time
+
101 
+
102  print*,'(<enter> for MORE, q <enter> to QUIT)'
+
103  read(5,'(A1)') you
+
104 
+
105  ! If the terminal enters "q" followed by "<enter>", then scrolling will end and the subroutine will return to the
+
106  ! calling program
+
107 
+
108  if(you=='q') then
+
109  print*
+
110  print*,'==> You have chosen to stop the dumping of this subset'
+
111  print*
+
112  return
+
113  endif
+
114  endif
+
115  nd = inv(nv,lun)
+
116  vl = val(nv,lun)
+
117  tg = tag(nd)
+
118  tp = typ(nd)
+
119  it = itp(nd)
+
120  ib = ibt(nd)
+
121  is = isc(nd)
+
122  ir = irf(nd)
+
123  jp = jump(nd)
+
124  lk = link(nd)
+
125  jb = jmpb(nd)
+
126  tg_rj = adjustr(tg)
+
127  if(tp/='CHR') then
+
128  bits = ' '
+
129  if(it==2) then
+
130  call nemtab(lun,tg,idn,tab,n)
+
131  if(tabb(n,lun)(71:75)=='FLAG') then
+
132 
+
133  ! Print a listing of the bits corresponding to this value.
+
134 
+
135  call upftbv(lunit,tg,vl,mxfv,ifv,nifv)
+
136  if(nifv>0) then
+
137  bits(1:1) = '('
+
138  ipt = 2
+
139  do ii=1,nifv
+
140  isz = isize(ifv(ii))
+
141  write(fmtf,'(A2,I1,A4)') '(I', isz, ',A1)'
+
142  if((ipt+isz)<=14) then
+
143  write(bits(ipt:ipt+isz),fmtf) ifv(ii), ','
+
144  ipt = ipt + isz + 1
+
145  else
+
146  bits(2:13) = 'MANY BITS ON'
+
147  ipt = 15
+
148  endif
+
149  enddo
+
150  bits(ipt-1:ipt-1) = ')'
+
151  endif
+
152  endif
+
153  endif
+
154  if(ibfms(vl)/=0) then
+
155  write(luout,'(I5,1X,A3,A1,I1,1X,A10,1X, A20, 14X,7(1X,I5))') nv,tp,'-',it,tg_rj,pmiss,ib,is,ir,nd,jp,lk,jb
+
156  else
+
157  if(lunit==lunin) then
+
158  write(luout,'(I5,1X,A3,A1,I1,1X,A10,5X,G15.6,1X,A14,7(1X,I5))') nv,tp,'-',it,tg_rj,vl,bits,ib,is,ir,nd,jp,lk,jb
+
159  else
+
160  write(luout,'(I5,1X,A3,A1,I1,1X,A10,5X,F15.6,1X,A14,7(1X,I5))') nv,tp,'-',it,tg_rj,vl,bits,ib,is,ir,nd,jp,lk,jb
+
161  endif
+
162  endif
+
163  else
+
164  nchr=ib/8
+
165  if(nchr>8) then
+
166  call readlc(lunit,lchr2,tg_rj)
+
167  if (icbfms(lchr2,nchr)/=0) then
+
168  lchr = pmiss
+
169  else
+
170  lchr = lchr2(1:20)
+
171  endif
+
172  else
+
173  if(ibfms(vl)/=0) then
+
174  lchr = pmiss
+
175  else
+
176  lchr = vc
+
177  endif
+
178  endif
+
179  if ( nchr<=20 .or. lchr==pmiss ) then
+
180  lchr = adjustr(lchr)
+
181  write(luout,'(I5,1X,A3,A1,I1,1X,A10,1X, A20, 14X,7(1X,I5))') nv,tp,'-',it,tg_rj,lchr,ib,is,ir,nd,jp,lk,jb
+
182  else
+
183  write(luout,'(I5,1X,A3,A1,I1,1X,A10,1X, A, 7(1X,I5))') nv,tp,'-',it,tg_rj,lchr2(1:nchr),ib,is,ir,nd,jp,lk,jb
+
184  endif
+
185  endif
+
186  enddo
+
187 
+
188  write(luout,'(/A/)') ' >>> END OF SUBSET <<< '
+
189 
+
190  return
+
191 end subroutine ufbdmp
+
192 
+
227 recursive subroutine ufdump(lunit,luprt)
+
228 
+
229  use bufrlib
+
230 
+
231  use modv_vars, only: im8b
+
232 
+
233  use moda_usrint
+
234  use moda_msgcwd
+
235  use moda_tababd
+
236  use moda_tables
+
237  use moda_tablef
+
238  use moda_nrv203
+
239 
+
240  implicit none
+
241 
+
242  integer, intent(in) :: lunit, luprt
+
243  integer, parameter :: mxfv = 31 , mxcfdp = 5, mxseq = 10, mxls = 10
+
244  integer ifv(mxfv), icfdp(mxcfdp), idxrep(mxseq), numrep(mxseq), lsqnam(mxseq), lsct(mxls), my_lunit, my_luprt, &
+
245  nseq, nls, lcfmeang, luout, lun, il, im, node, lnm2, lnm3, itmp, ityp, ii, jj, nifv, nv, n, nchr, idn, ipt, &
+
246  nrfe, nout, lcfmg, ifvd, iersf, ierbd, ierft, isz, isize, ireadmt, ibfms, icbfms
+
247  integer*8 ival
+
248 
+
249  real*8 rval
+
250 
+
251  character cfmeang*120, lchr2*120, fmt*80, desc*64, unit*24, lchr*20, pmiss*20, nemo3*15, nemo*10, nemo2*10, tagrfe*10, &
+
252  seqnam(mxseq)*10, lsnemo(mxls)*10, nemod*8, cval*8, fmtf*7, numb*6, type*3, tab, you
+
253 
+
254  logical track, found, rdrv
+
255 
+
256  equivalence(rval,cval)
+
257 
+
258  data pmiss /' MISSING'/
+
259  data you /'Y'/
+
260 
+
261  ! Check for I8 integers
+
262 
+
263  if(im8b) then
+
264  im8b=.false.
+
265 
+
266  call x84(lunit,my_lunit,1)
+
267  call x84(luprt,my_luprt,1)
+
268  call ufdump(my_lunit,my_luprt)
+
269 
+
270  im8b=.true.
+
271  return
+
272  endif
+
273 
+
274  nseq = 0
+
275  nls = 0
+
276  lcfmeang = len(cfmeang)
+
277 
+
278  if(luprt==0) then
+
279  luout = 6
+
280  else
+
281  luout = luprt
+
282  endif
+
283 
+
284  ! Check the file status and inode
+
285 
+
286  call status(lunit,lun,il,im)
+
287  if(il==0) call bort('BUFRLIB: UFDUMP - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
+
288  if(il>0) call bort('BUFRLIB: UFDUMP - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
+
289  if(im==0) call bort('BUFRLIB: UFDUMP - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
+
290  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFDUMP - LOCATION OF INTERNAL TABLE FOR '// &
+
291  'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
+
292 
+
293  write(luout,'(/,2A,/)') 'MESSAGE TYPE ',tag(inode(lun))
+
294 
+
295  ! If code/flag table details are being printed, and if this is the first subset of a new message, then
+
296  ! make sure the appropriate master tables have been read in to memory for this message.
+
297 
+
298  if(cdmf=='Y' .and. nsub(lun)==1) itmp = ireadmt(lun)
+
299 
+
300  ! Dump the contents of @ref moda_usrint for unit lunit
+
301 
+
302  do nv=1,nval(lun)
+
303  if(luprt==0 .and. mod(nv,20)==0) then
+
304 
+
305  ! When luprt=0, the output will be scrolled, 20 elements at a time
+
306 
+
307  print*,'(<enter> for MORE, q <enter> to QUIT)'
+
308  read(5,'(A1)') you
+
309 
+
310  ! If the terminal enters "q" followed by "<enter>", then scrolling will end and the subroutine will return to the
+
311  ! calling program
+
312 
+
313  if(you=='q') then
+
314  print*
+
315  print*,'==> You have chosen to stop the dumping of this subset'
+
316  print*
+
317  return
+
318  endif
+
319  endif
+
320 
+
321  node = inv(nv,lun)
+
322  nemo = tag(node)
+
323  ityp = itp(node)
+
324  type = typ(node)
+
325 
+
326  if(ityp>=1.and.ityp<=3) then
+
327  call nemtab(lun,nemo,idn,tab,n)
+
328  if(n>0) then
+
329  numb = tabb(n,lun)(1:6)
+
330  desc = tabb(n,lun)(16:70)
+
331  unit = tabb(n,lun)(71:94)
+
332  endif
+
333  rval = val(nv,lun)
+
334  endif
+
335 
+
336  if((ityp==0).or.(ityp==1)) then
+
337 
+
338  ! Sequence descriptor or delayed descriptor replication factor
+
339 
+
340  if((type=='REP').or.(type=='DRP').or.(type=='DRB').or.(type=='DRS')) then
+
341 
+
342  ! Print the number of replications
+
343  nseq = nseq+1
+
344  if(nseq>mxseq) call bort('BUFRLIB: UFDUMP - MXSEQ OVERFLOW')
+
345  if(type=='REP') then
+
346  numrep(nseq) = irf(node)
+
347  else
+
348  numrep(nseq) = nint(rval)
+
349  endif
+
350  call strsuc(nemo,nemo2,lnm2)
+
351  fmt = '(11X,A,I6,1X,A)'
+
352  write(luout,fmt) nemo2(1:lnm2), numrep(nseq), 'REPLICATIONS'
+
353 
+
354  ! How many times is this sequence replicated?
+
355  if(numrep(nseq)>1) then
+
356  ! Track the sequence
+
357  seqnam(nseq) = nemo2
+
358  lsqnam(nseq) = lnm2
+
359  idxrep(nseq) = 1
+
360  else
+
361  ! Don't bother
+
362  nseq = nseq-1
+
363  endif
+
364  elseif( ((type=='SEQ').or.(type=='RPC').or.(type=='RPS')) .and. (nseq>0) ) then
+
365 
+
366  ! Is this one of the sequences being tracked?
+
367  ii = nseq
+
368  track = .false.
+
369  call strsuc(nemo,nemo2,lnm2)
+
370  do while ((ii>=1).and.(.not.track))
+
371  if(nemo2(1:lnm2)==seqnam(ii)(2:lsqnam(ii)-1)) then
+
372  track = .true.
+
373  ! Mark this level in the output
+
374  fmt = '(4X,A,2X,A,2X,A,I6,2X,A)'
+
375  write(luout,fmt) '++++++', nemo2(1:lnm2), 'REPLICATION #', idxrep(ii), '++++++'
+
376  if(idxrep(ii)<numrep(ii)) then
+
377  ! There are more levels to come
+
378  idxrep(ii) = idxrep(ii)+1
+
379  else
+
380  ! This was the last level for this sequence, so stop tracking it
+
381  nseq = nseq-1
+
382  endif
+
383  else
+
384  ii = ii-1
+
385  endif
+
386  enddo
+
387  endif
+
388  elseif(ityp==2) then
+
389 
+
390  ! Numeric value.
+
391 
+
392  ! First check if this node contains a redefined reference value. If so, modify the desc field to label it as such.
+
393  jj = 1
+
394  rdrv = .false.
+
395  do while ((jj<=nnrv).and.(.not.rdrv))
+
396  if (node==inodnrv(jj)) then
+
397  rdrv = .true.
+
398  desc = 'New reference value for ' // nemo
+
399  unit = ' '
+
400  else
+
401  jj = jj + 1
+
402  endif
+
403  enddo
+
404 
+
405  ! Next check if this element refers to another element via a bitmap. If so, modify the desc field to identify the
+
406  ! referred element.
+
407  nrfe = nrfelm(nv,lun)
+
408  if(nrfe>0) then
+
409  tagrfe = tag(inv(nrfe,lun))
+
410  jj = 48
+
411  do while((jj>=1).and.(desc(jj:jj)==' '))
+
412  jj = jj - 1
+
413  enddo
+
414  if(jj<=33) desc(jj+1:jj+15) = ' for ' // tagrfe
+
415  endif
+
416 
+
417  ! Now print the value
+
418  if(ibfms(rval)/=0) then
+
419  ! The value is "missing".
+
420  fmt = '(A6,2X,A10,2X,A20,2X,A24,6X,A48)'
+
421  write(luout,fmt) numb,nemo,pmiss,unit,desc
+
422  else
+
423  fmt = '(A6,2X,A10,2X, ,2X,A24,6X,A48)'
+
424  ! Based upon the corresponding scale factor, select an appropriate format for the printing of this value.
+
425  if(isc(node)>0) then
+
426  write(fmt(15:20),'(A,I2)') 'F20.', isc(node)
+
427  else
+
428  write(fmt(18:20),'(A)') 'I20'
+
429  endif
+
430  if(unit(1:4)=='FLAG') then
+
431  ! Print a listing of the bits corresponding to this value.
+
432  call upftbv(lunit,nemo,rval,mxfv,ifv,nifv)
+
433  if(nifv>0) then
+
434  unit(11:11) = '('
+
435  ipt = 12
+
436  do ii=1,nifv
+
437  isz = isize(ifv(ii))
+
438  write(fmtf,'(A2,I1,A4)') '(I', isz, ',A1)'
+
439  if((ipt+isz)<=24) then
+
440  write(unit(ipt:ipt+isz),fmtf) ifv(ii), ','
+
441  ipt = ipt + isz + 1
+
442  else
+
443  unit(12:23) = 'MANY BITS ON'
+
444  ipt = 25
+
445  endif
+
446  enddo
+
447  unit(ipt-1:ipt-1) = ')'
+
448  endif
+
449  endif
+
450  if(isc(node)>0) then
+
451  write(luout,fmt) numb,nemo,rval,unit,desc
+
452  else
+
453  ival = nint(rval,8)
+
454  write(luout,fmt) numb,nemo,ival,unit,desc
+
455  endif
+
456  if( (unit(1:4)=='FLAG' .or. unit(1:4)=='CODE') .and. (cdmf=='Y') ) then
+
457  ! Print the meanings of the code and flag values.
+
458  fmt = '(31X,I8,A,A)'
+
459  if(unit(1:4)=='CODE') then
+
460  nifv = 1
+
461  ifv(nifv) = nint(rval)
+
462  endif
+
463  do ii=1,nifv
+
464  icfdp(1) = (-1)
+
465  call srchtbf_c(idn,ifv(ii),icfdp(1),mxcfdp,-1,cfmeang,lcfmeang,lcfmg,iersf)
+
466  if(iersf==0) then
+
467  write(luout,fmt) ifv(ii),' = ',cfmeang(1:lcfmg)
+
468  elseif(iersf<0) then
+
469  write(luout,fmt) ifv(ii),' = ','***THIS IS AN ILLEGAL/UNDEFINED VALUE***'
+
470  else
+
471  ! The meaning of this value is dependent on the value of another mnemonic in the report. Look for
+
472  ! that other mnemonic within the report and then use it and its associated value to retrieve and print
+
473  ! the proper meaning from the code/flag tables.
+
474  ierft = (-1)
+
475  jj = 0
+
476  do while((jj<iersf).and.(ierft<0))
+
477  jj = jj + 1
+
478  call numtbd(lun,icfdp(jj),nemod,tab,ierbd)
+
479  if((ierbd>0).and.(tab=='B')) call fstag(lun,nemod,-1,nv,nout,ierft)
+
480  enddo
+
481  if(ierft==0) then
+
482  ifvd = nint(val(nout,lun))
+
483  if(jj>1) icfdp(1) = icfdp(jj)
+
484  call srchtbf_c(idn,ifv(ii),icfdp(1),mxcfdp,ifvd,cfmeang,lcfmeang,lcfmg,iersf)
+
485  if(iersf==0) write(luout,fmt) ifv(ii),' = ', cfmeang(1:lcfmg)
+
486  endif
+
487  endif
+
488  enddo
+
489  endif
+
490  endif
+
491  elseif(ityp==3) then
+
492 
+
493  ! Character (CCITT IA5) value
+
494 
+
495  nchr = ibt(node)/8
+
496 
+
497  if(ibfms(rval)/=0) then
+
498  lchr = pmiss
+
499  else if(nchr<=8) then
+
500  lchr = cval
+
501  else
+
502  ! Track the number of occurrences of this long character string, so that we can properly output each one.
+
503  ii = 1
+
504  found = .false.
+
505  do while((ii<=nls).and.(.not.found))
+
506  if(nemo==lsnemo(ii)) then
+
507  found = .true.
+
508  else
+
509  ii = ii + 1
+
510  endif
+
511  enddo
+
512  if(.not.found) then
+
513  nls = nls+1
+
514  if(nls>mxls) call bort('BUFRLIB: UFDUMP - MXLS OVERFLOW')
+
515  lsnemo(nls) = nemo
+
516  lsct(nls) = 1
+
517  nemo3 = nemo
+
518  else
+
519  call strsuc(nemo,nemo3,lnm3)
+
520  lsct(ii) = lsct(ii) + 1
+
521  write(fmtf,'(A,I1,A)') '(2A,I', isize(lsct(ii)), ')'
+
522  write(nemo3,fmtf) nemo(1:lnm3), '#', lsct(ii)
+
523  endif
+
524 
+
525  call readlc(lunit,lchr2,nemo3)
+
526  if (icbfms(lchr2,nchr)/=0) then
+
527  lchr = pmiss
+
528  else
+
529  lchr = lchr2(1:20)
+
530  endif
+
531  endif
+
532 
+
533  if ( nchr<=20 .or. lchr==pmiss ) then
+
534  lchr = adjustr(lchr)
+
535  fmt = '(A6,2X,A10,2X,A20,2X,"(",I2,")",A24,2X,A48)'
+
536  write(luout,fmt) numb,nemo,lchr,nchr,unit,desc
+
537  else
+
538  fmt = '(A6,2X,A10,2X,A,2X,"(",I3,")",A23,2X,A48)'
+
539  write(luout,fmt) numb,nemo,lchr2(1:nchr),nchr,unit,desc
+
540  endif
+
541  endif
+
542 
+
543  enddo
+
544 
+
545  write(luout,'(/A/)') ' >>> END OF SUBSET <<< '
+
546 
+
547  return
+
548 end subroutine ufdump
+
549 
+
579 recursive subroutine dxdump(lunit,ldxot)
+
580 
+
581  use modv_vars, only: im8b, reps
+
582 
+
583  use moda_tababd
+
584  use moda_nmikrp
+
585 
+
586  implicit none
+
587 
+
588  integer, intent(in) :: lunit, ldxot
+
589  integer my_lunit, my_ldxot, lun, il, im, n, na, nc, nch, ic, icms, nseq
+
590 
+
591  character card*80, cardi1*80, cardi2*80, cardi3*80, cardi4*80, cmstr*20, wrk3*10, wrk1*8, wrk2*8, adn*6
+
592 
+
593  logical tbskip, tdskip, xtrci1
+
594 
+
595  data cardi1 /'| | | |'/
+
596  data cardi2 /'| | |'/
+
597  data cardi3 /'| | | | | |-------------|'/
+
598  data cardi4 /'|------------------------------------------------------------------------------|'/
+
599 
+
600  ! Statement functions
+
601  tbskip(adn) = ((adn=='063000').or.(adn=='063255').or.(adn=='031000').or.(adn=='031001').or.(adn=='031002'))
+
602  tdskip(adn) = ((adn=='360001').or.(adn=='360002').or.(adn=='360003').or.(adn=='360004'))
+
603 
+
604  ! Check for I8 integers.
+
605 
+
606  if(im8b) then
+
607  im8b=.false.
+
608 
+
609  call x84(lunit,my_lunit,1)
+
610  call x84(ldxot,my_ldxot,1)
+
611  call dxdump(my_lunit,my_ldxot)
+
612 
+
613  im8b=.true.
+
614  return
+
615  endif
+
616 
+
617  ! Determine lun from lunit.
+
618 
+
619  call status(lunit,lun,il,im)
+
620  if(il==0) call bort('BUFRLIB: DXDUMP - BUFR FILE IS CLOSED, IT MUST BE OPEN')
+
621 
+
622  ! Create and write out (to ldxot) the header cards for the descriptor definition section.
+
623 
+
624  card=cardi4
+
625  card( 1: 1)='.'
+
626  card(80:80)='.'
+
627  write (ldxot,'(A)') card
+
628 
+
629  card=cardi4
+
630  card( 2: 2)=' '
+
631  card(79:79)=' '
+
632  card(15:64)=' USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D '
+
633  write (ldxot,'(A)') card
+
634 
+
635  write (ldxot,'(A)') cardi4
+
636 
+
637  card=cardi1
+
638  card( 3:10)='MNEMONIC'
+
639  card(14:19)='NUMBER'
+
640  card(23:33)='DESCRIPTION'
+
641  write (ldxot,'(A)') card
+
642 
+
643  card=cardi4
+
644  card(12:12)='|'
+
645  card(21:21)='|'
+
646  write (ldxot,'(A)') card
+
647 
+
648  ! Create and write out (to ldxot) the Table D descriptor definition cards.
+
649 
+
650  write (ldxot,'(A)') cardi1
+
651 
+
652  xtrci1=.false.
+
653  do n=1,ntbd(lun)
+
654  if(.not.tdskip(tabd(n,lun)(1:6))) then
+
655  card=cardi1
+
656  card( 3:10)=tabd(n,lun)( 7:14)
+
657  card(14:19)=tabd(n,lun)( 1: 6)
+
658  card(23:77)=tabd(n,lun)(16:70)
+
659  ! Check if this Table D mnemonic is also a Table A mnemonic. If so, then label it as such and also check if it is the
+
660  ! last of the Table A mnemonics, in which case an extra cardi1 line will be written to ldxot in order to separate
+
661  ! the Table A mnemonics from the other Table D mnemonics.
+
662  do na=1,ntba(lun)
+
663  if(taba(na,lun)(4:11)==tabd(n,lun)(7:14)) then
+
664  card(14:14)='A'
+
665  if(na==ntba(lun)) xtrci1=.true.
+
666  exit
+
667  end if
+
668  end do
+
669  write (ldxot,'(A)') card
+
670  if(xtrci1) then
+
671  write (ldxot,'(A)') cardi1
+
672  xtrci1=.false.
+
673  end if
+
674  end if
+
675  end do
+
676 
+
677  ! Create and write out (to ldxot) the Table B descriptor definition cards.
+
678 
+
679  write (ldxot,'(A)') cardi1
+
680 
+
681  do n=1,ntbb(lun)
+
682  if(.not.tbskip(tabb(n,lun)(1:6))) then
+
683  card=cardi1
+
684  card( 3:10)=tabb(n,lun)( 7:14)
+
685  card(14:19)=tabb(n,lun)( 1: 6)
+
686  card(23:77)=tabb(n,lun)(16:70)
+
687  write (ldxot,'(A)') card
+
688  end if
+
689  end do
+
690 
+
691  write (ldxot,'(A)') cardi1
+
692 
+
693  ! Create and write out (to ldxot) the header cards for the sequence definition section.
+
694 
+
695  write (ldxot,'(A)') cardi4
+
696 
+
697  card=cardi2
+
698  card( 3:10)='MNEMONIC'
+
699  card(14:21)='SEQUENCE'
+
700  write (ldxot,'(A)') card
+
701 
+
702  card=cardi4
+
703  card(12:12)='|'
+
704  write (ldxot,'(A)') card
+
705 
+
706  ! Create and write out (to ldxot) the Table D sequence definition cards.
+
707 
+
708  write (ldxot,'(A)') cardi2
+
709 
+
710  do n=1,ntbd(lun)
+
711  if(.not.tdskip(tabd(n,lun)(1:6))) then
+
712  card=cardi2
+
713  card( 3:10)=tabd(n,lun)( 7:14)
+
714  ic = 14
+
715  ! Get the list of child mnemonics for this Table D descriptor, and then add each one (including any replication tags)
+
716  ! to the sequence definition card for this Table D descriptor.
+
717  call nemtbd(lun,n,nseq,nem(1,1),irp(1,1),krp(1,1))
+
718  if(nseq>0) then
+
719  do nc=1,nseq
+
720  cmstr=' '
+
721  icms=0
+
722  call strsuc(nem(nc,1),wrk2,nch)
+
723  if(irp(nc,1)/=0) then
+
724  ! Add the opening replication tag.
+
725  icms=icms+1
+
726  cmstr(icms:icms)=reps(irp(nc,1))
+
727  end if
+
728  cmstr(icms+1:icms+nch)=wrk2(1:nch)
+
729  icms=icms+nch
+
730  if(irp(nc,1)/=0) then
+
731  ! Add the closing replication tag.
+
732  icms=icms+1
+
733  cmstr(icms:icms)=reps(irp(nc,1)+5)
+
734  end if
+
735  if(krp(nc,1)/=0) then
+
736  ! Add the fixed replication count.
+
737  wrk1=' '
+
738  write (wrk1,'(I3)') krp(nc,1)
+
739  call strsuc(wrk1,wrk2,nch)
+
740  cmstr(icms+1:icms+nch)=wrk2(1:nch)
+
741  icms=icms+nch
+
742  end if
+
743  ! Will this child (and its replication tags, if any) fit into the current sequence definition card? If not, then
+
744  ! write out (to ldxot) the current card and initialize a new one to hold this child.
+
745  if(ic>(79-icms)) then
+
746  write (ldxot,'(A)') card
+
747  card=cardi2
+
748  card( 3:10)=tabd(n,lun)( 7:14)
+
749  ic = 14
+
750  end if
+
751  card(ic:ic+icms-1)=cmstr(1:icms)
+
752  ! Note that we want to leave 2 blank spaces between each child within the sequence definition card, to improve
+
753  ! readability.
+
754  ic=ic+icms+2
+
755  end do
+
756  write (ldxot,'(A)') card
+
757  write (ldxot,'(A)') cardi2
+
758  end if
+
759  end if
+
760  end do
+
761 
+
762  ! Create and write out (to ldxot) the header cards for the element definition section.
+
763 
+
764  write (ldxot,'(A)') cardi4
+
765 
+
766  card=cardi3
+
767  card( 3:10)='MNEMONIC'
+
768  card(14:17)='SCAL'
+
769  card(21:29)='REFERENCE'
+
770  card(35:37)='BIT'
+
771  card(41:45)='UNITS'
+
772  write (ldxot,'(A)') card
+
773 
+
774  card=cardi4
+
775  card(12:12)='|'
+
776  card(19:19)='|'
+
777  card(33:33)='|'
+
778  card(39:39)='|'
+
779  card(66:66)='|'
+
780  write (ldxot,'(A)') card
+
781 
+
782  ! Create and write out (to ldxot) the Table B element definition cards.
+
783 
+
784  write (ldxot,'(A)') cardi3
+
785 
+
786  do n=1,ntbb(lun)
+
787  if(.not.tbskip(tabb(n,lun)(1:6))) then
+
788  card=cardi3
+
789  card( 3:10)=tabb(n,lun)( 7:14)
+
790  card(41:64)=tabb(n,lun)(71:94)
+
791  ! Add the scale factor.
+
792  call strsuc(tabb(n,lun)(96:98),wrk2,nch)
+
793  card(17-nch+1:17)=wrk2
+
794  if(tabb(n,lun)(95:95)=='-') card(17-nch:17-nch)='-'
+
795  ! Add the reference value.
+
796  call strsuc(tabb(n,lun)(100:109),wrk3,nch)
+
797  card(31-nch+1:31)=wrk3
+
798  if(tabb(n,lun)(99:99)=='-') card(31-nch:31-nch)='-'
+
799  ! Add the bit width.
+
800  call strsuc(tabb(n,lun)(110:112),wrk2,nch)
+
801  card(37-nch+1:37)=wrk2
+
802  write (ldxot,'(a)') card
+
803  end if
+
804  end do
+
805 
+
806  write (ldxot,'(A)') cardi3
+
807 
+
808  ! Create and write out (to ldxot) the closing card.
+
809 
+
810  card=cardi4
+
811  card( 1: 1)='`'
+
812  card(80:80)=''''
+
813  write (ldxot,'(A)') card
+
814 
+
815  return
+
816 end subroutine dxdump
+
817 
+
828 recursive subroutine getabdb(lunit,tabdb,itab,jtab)
+
829 
+
830  use modv_vars, only: im8b
+
831 
+
832  use moda_tababd
+
833  use moda_nmikrp
+
834 
+
835  implicit none
+
836 
+
837  integer, intent(in) :: lunit, itab
+
838  integer, intent(out) :: jtab
+
839  integer my_lunit, my_itab, lun, il, im, i, j, k, nseq
+
840 
+
841  character*128, intent(out) :: tabdb(*)
+
842  character*8 nemo
+
843 
+
844  ! Check for I8 integers
+
845 
+
846  if(im8b) then
+
847  im8b=.false.
+
848  call x84(lunit,my_lunit,1)
+
849  call x84(itab,my_itab,1)
+
850  call getabdb(my_lunit,tabdb,my_itab,jtab)
+
851  call x48(jtab,jtab,1)
+
852  im8b=.true.
+
853  return
+
854  endif
+
855 
+
856  jtab = 0
+
857 
+
858  ! Make sure the file is open
+
859 
+
860  call status(lunit,lun,il,im)
+
861  if(il==0) return
+
862 
+
863  ! Write out the Table D entries for this file
+
864 
+
865  do i=1,ntbd(lun)
+
866  nemo = tabd(i,lun)(7:14)
+
867  call nemtbd(lun,i,nseq,nem(1,1),irp(1,1),krp(1,1))
+
868  do j=1,nseq,10
+
869  jtab = jtab+1
+
870  if(jtab<=itab) then
+
871  write(tabdb(jtab),fmt='(A,A8,10(1X,A10))') 'D ', nemo, (nem(k,1),k=j,min(j+9,nseq))
+
872  endif
+
873  enddo
+
874  enddo
+
875 
+
876  ! Add the Table B entries
+
877 
+
878  do i=1,ntbb(lun)
+
879  jtab = jtab+1
+
880  if(jtab<=itab) then
+
881  write(tabdb(jtab),fmt='(A,A8,1X,A42)') 'B ', tabb(i,lun)(7:14), tabb(i,lun)(71:112)
+
882  endif
+
883  enddo
+
884 
+
885  return
+
886 end subroutine getabdb
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
recursive subroutine upftbv(lunit, nemo, val, mxib, ibit, nib)
Given a Table B mnemonic with flag table units and a corresponding numerical data value,...
Definition: cftbvs.F90:70
+
recursive subroutine ufdump(lunit, luprt)
Print a verbose listing of the contents of a data subset, including all data values and replicated se...
Definition: dumpdata.F90:228
+
recursive subroutine getabdb(lunit, tabdb, itab, jtab)
Get Table B and Table D information from the internal DX BUFR tables.
Definition: dumpdata.F90:829
+
recursive subroutine dxdump(lunit, ldxot)
Print a copy of the DX BUFR table associated with a specified Fortran logical unit.
Definition: dumpdata.F90:580
+
recursive subroutine ufbdmp(lunin, luprt)
Print a verbose listing of the contents of a data subset, including all data values and replicated se...
Definition: dumpdata.F90:42
+
subroutine nemtbd(lun, itab, nseq, nems, irps, knts)
Get information about a Table D descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1346
+
subroutine nemtab(lun, nemo, idn, tab, iret)
Get information about a descriptor, based on a mnemonic.
Definition: fxy.F90:432
+
subroutine numtbd(lun, idn, nemo, tab, iret)
Get information about a Table B or Table D descriptor, based on the WMO bit-wise representation of an...
Definition: fxy.F90:290
+ + +
integer function ireadmt(lun)
Check the most recent BUFR message that was read via a call to one of the message-reading subroutines...
+
subroutine strsuc(str1, str2, lens)
Remove leading and trailing blanks from a character string.
Definition: misc.F90:220
+
integer function isize(num)
Compute the number of characters needed to encode an integer as a string.
Definition: misc.F90:408
+
recursive integer function icbfms(str, lstr)
Check whether a character string returned from a previous call to subroutine readlc() was encoded as ...
Definition: missing.F90:56
+
integer function ibfms(r8val)
Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-re...
Definition: missing.F90:25
+
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
Definition: bufrlib.F90:11
+
Declare arrays used to store information about the current BUFR message that is in the process of bei...
+
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
+
integer, dimension(:), allocatable nsub
Current subset pointer within message.
+
Declare arrays used by various subroutines to hold information about Table D sequences.
+
integer, dimension(:,:), allocatable krp
Replication counts corresponding to nem:
+
integer, dimension(:,:), allocatable irp
Replication indicators corresponding to nem:
+
character *8, dimension(:,:), allocatable nem
Child mnemonics within Table D sequences.
+
Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
+
integer nnrv
Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv...
+
integer, dimension(:), allocatable inodnrv
Entries within jump/link table which contain new reference values.
+
Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
+
integer, dimension(:), allocatable ntba
Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
+
character *600, dimension(:,:), allocatable tabd
Table D entries for each file ID.
+
character *128, dimension(:,:), allocatable taba
Table A entries for each file ID.
+
integer, dimension(:), allocatable ntbd
Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
+
integer, dimension(:), allocatable ntbb
Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
+
character *128, dimension(:,:), allocatable tabb
Table B entries for each file ID.
+
Declare a variable used to indicate whether master code and flag tables should be read.
+
character cdmf
Flag indicating whether to include code and flag table information during reads of master BUFR tables...
+
Declare arrays and variables used to store the internal jump/link table.
+
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
+
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
+
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
+
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
+
integer, dimension(:), allocatable jmpb
Jump backward indices corresponding to tag and typ:
+
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
+
integer, dimension(:), allocatable jump
Jump forward indices corresponding to tag and typ:
+
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
+
integer, dimension(:), allocatable link
Link indices corresponding to tag, typ and jmpb:
+
Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
+
integer, dimension(:), allocatable nval
Number of data values in BUFR data subset.
+
real *8, dimension(:,:), allocatable, target val
Data values.
+
integer, dimension(:,:), allocatable, target inv
Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
+
integer, dimension(:,:), allocatable nrfelm
Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
recursive subroutine readlc(lunit, chr, str)
Read a long character string (greater than 8 bytes) from a data subset.
+
subroutine x48(iin4, iout8, nval)
Encode one or more 4-byte integer values as 8-byte integer values.
Definition: x4884.F90:18
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/dxtable_8F90.html b/dxtable_8F90.html new file mode 100644 index 000000000..44f1b5937 --- /dev/null +++ b/dxtable_8F90.html @@ -0,0 +1,1530 @@ + + + + + + + +NCEPLIBS-bufr: dxtable.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dxtable.F90 File Reference
+
+
+ +

Read or write DX BUFR table information. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions/Subroutines

subroutine dxinit (lun, ioi)
 Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally initialize the table with apriori Table B and D entries. More...
 
subroutine dxmini (mbay, mbyt, mb4, mba, mbb, mbd)
 Initialize a DX BUFR tables (dictionary) message, writing all the preliminary information into Sections 0, 1, 3, 4. More...
 
subroutine elemdx (card, lun)
 Decode the scale factor, reference value, bit width and units (i.e., the "elements") from a Table B mnemonic definition card that was previously read from a user-supplied DX BUFR table file in character format by subroutine rdusdx(). More...
 
integer function idxmsg (mesg)
 Check whether a BUFR message contains DX BUFR tables information that was generated by the NCEPLIBS-bufr software. More...
 
integer function igetntbi (lun, ctb)
 Get the next available index for storing an entry within a specified internal DX BUFR table. More...
 
recursive subroutine nemdefs (lunit, nemo, celem, cunit, iret)
 Get the element name and units associated with a Table B descriptor. More...
 
subroutine nemtba (lun, nemo, mtyp, msbt, inod)
 Get information about a Table A descriptor from the internal DX BUFR tables. More...
 
subroutine nemtbax (lun, nemo, mtyp, msbt, inod)
 Get information about a Table A descriptor from the internal DX BUFR tables. More...
 
subroutine nemtbb (lun, itab, unit, iscl, iref, ibit)
 Get information about a Table B descriptor from the internal DX BUFR tables. More...
 
subroutine nemtbd (lun, itab, nseq, nems, irps, knts)
 Get information about a Table D descriptor from the internal DX BUFR tables. More...
 
subroutine nenubd (nemo, numb, lun)
 Confirm that a mnemonic and FXY value haven't already been defined. More...
 
subroutine pktdd (id, lun, idn, iret)
 Store information about a child mnemonic within the internal BUFR Table D. More...
 
subroutine rdbfdx (lunit, lun)
 Beginning at the current file pointer location within lunit, read a complete DX BUFR table into internal memory arrays in module moda_tababd. More...
 
subroutine rdusdx (lundx, lun)
 Read and parse a file containing a user-supplied DX BUFR table in character format, then store this information into internal arrays in module moda_tababd. More...
 
subroutine readdx (lunit, lun, lundx)
 Initialize modules moda_tababd and moda_msgcwd with DX BUFR (dictionary) tables. More...
 
subroutine rsvfvm (nem1, nem2)
 Process a "following value" mnemonic. More...
 
subroutine seqsdx (card, lun)
 Decode the Table D sequence information from a mnemonic definition card that was previously read from a user-supplied DX BUFR table in character format by subroutine rdusdx(), then add this information to the already-existing entry for that mnemonic within the internal BUFR Table D arrays in module moda_tababd. More...
 
subroutine stbfdx (lun, mesg)
 Copy a DX BUFR tables message into the internal memory arrays in module moda_tababd. More...
 
subroutine stntbi (n, lun, numb, nemo, celsq)
 Store a new entry within internal BUFR Table B or D. More...
 
subroutine stntbia (n, lun, numb, nemo, celsq)
 Store a new entry within internal BUFR Table A. More...
 
subroutine uptdd (id, lun, ient, iret)
 Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D sequence. More...
 
recursive subroutine wrdxtb (lundx, lunot)
 Generate one or more BUFR messages from the DX BUFR tables information associated with a given BUFR file, then write out those messages to the same or possibly a different BUFR file. More...
 
subroutine writdx (lunit, lun, lundx)
 Write DX BUFR table (dictionary) messages to the beginning of an output BUFR file in lunit. More...
 
+

Detailed Description

+

Read or write DX BUFR table information.

+
Author
Woollen
+
Date
1994-01-06
+ +

Definition in file dxtable.F90.

+

Function/Subroutine Documentation

+ +

◆ dxinit()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine dxinit (integer, intent(in) lun,
integer, intent(in) ioi 
)
+
+ +

Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally initialize the table with apriori Table B and D entries.

+
Parameters
+ + + +
lun- File ID
ioi- Switch:
    +
  • 0 do not initialize the table with apriori Table B and D entries
  • +
  • else initialize the table with apriori Table B and D entries
  • +
+
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 605 of file dxtable.F90.

+ +

References moda_tababd::idnb, moda_tababd::idnd, moda_tababd::mtab, moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, pktdd(), moda_tababd::taba, moda_tababd::tabb, and moda_tababd::tabd.

+ +

Referenced by cpbfdx(), rdbfdx(), rdmemm(), rdusdx(), readerme(), and reads3().

+ +
+
+ +

◆ dxmini()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine dxmini (integer, dimension(*), intent(out) mbay,
integer, intent(out) mbyt,
integer, intent(out) mb4,
integer, intent(out) mba,
integer, intent(out) mbb,
integer, intent(out) mbd 
)
+
+ +

Initialize a DX BUFR tables (dictionary) message, writing all the preliminary information into Sections 0, 1, 3, 4.

+

Subroutine wrdxtb() will be called later to add this information into the message.

+
Parameters
+ + + + + + + +
mbay- BUFR message
mbyt- Length (in bytes) of mbay
mb4- Byte number in message of first byte in Section 4
mba- Byte number in message of fourth byte in Section 4
mbb- Byte number in message of fifth byte in Section 4
mbd- Byte number in message of sixth byte in Section 4
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 696 of file dxtable.F90.

+ +

References bort(), pkb(), and pkc().

+ +

Referenced by wrdxtb().

+ +
+
+ +

◆ elemdx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine elemdx (character*80, intent(in) card,
integer, intent(in) lun 
)
+
+ +

Decode the scale factor, reference value, bit width and units (i.e., the "elements") from a Table B mnemonic definition card that was previously read from a user-supplied DX BUFR table file in character format by subroutine rdusdx().

+

These decoded values are then added to the already-existing entry for that mnemonic within the internal BUFR Table B array tabb(*,lun) in module moda_tababd.

+
Parameters
+ + + +
card- Mnemonic definition card that was read from a user-supplied DX BUFR table
lun- File ID
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 515 of file dxtable.F90.

+ +

References bort2(), capit(), jstnum(), nemtab(), and moda_tababd::tabb.

+ +

Referenced by bufr_c2f_interface::elemdx_c(), and rdusdx().

+ +
+
+ +

◆ idxmsg()

+ +
+
+ + + + + + + + +
integer function idxmsg (integer, dimension(*), intent(in) mesg)
+
+ +

Check whether a BUFR message contains DX BUFR tables information that was generated by the NCEPLIBS-bufr software.

+
Parameters
+ + +
mesg- BUFR message
+
+
+
Returns
idxmsg - Flag indicating whether mesg contains DX BUFR tables information:
    +
  • 0 = No
  • +
  • 1 = Yes
  • +
+
+
Author
J. Ator
+
Date
2009-03-23
+ +

Definition at line 1122 of file dxtable.F90.

+ +

References iupbs01().

+ +

Referenced by datebf(), dumpbf(), mesgbc(), mesgbf(), readerme(), readmg(), and ufbmem().

+ +
+
+ +

◆ igetntbi()

+ +
+
+ + + + + + + + + + + + + + + + + + +
integer function igetntbi (integer, intent(in) lun,
character, intent(in) ctb 
)
+
+ +

Get the next available index for storing an entry within a specified internal DX BUFR table.

+
Parameters
+ + + +
lun- File ID
ctb- Type of internal DX BUFR table for which to return the next available index:
    +
  • 'A' = Table A
  • +
  • 'B' = Table B
  • +
  • 'D' = Table D
  • +
+
+
+
+
Returns
igetntbi - Next available index for storing an entry within ctb
+
Author
J. Ator
+
Date
2009-03-23
+ +

Definition at line 1152 of file dxtable.F90.

+ +

References bort(), moda_tababd::ntba, moda_tababd::ntbb, and moda_tababd::ntbd.

+ +

Referenced by bufr_c2f_interface::igetntbi_c().

+ +
+
+ +

◆ nemdefs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
recursive subroutine nemdefs (integer, intent(in) lunit,
character*(*), intent(in) nemo,
character*(*), intent(out) celem,
character*(*), intent(out) cunit,
integer, intent(out) iret 
)
+
+ +

Get the element name and units associated with a Table B descriptor.

+

Given a Table B mnemonic defined in the DX BUFR Tables associated with a BUFR file (or in the master BUFR tables, if the file was opened in subroutine openbf() with io = 'SEC3'), this subroutine returns the element name and units associated with that mnemonic.

+
Parameters
+ + + + + + +
lunit- Fortran logical unit number for BUFR file
nemo- Mnemonic for Table B descriptor
celem- Element name associated with nemo
cunit- Units associated with nemo
iret- Return code
    +
  • 0 normal return
  • +
  • -1 nemo could not be found, or some other error occurred
  • +
+
+
+
+

Logical unit lunit should have already been opened for input or output operations via a previous call to subroutine openbf().

+
Author
J. Ator
+
Date
2014-10-02
+ +

Definition at line 1445 of file dxtable.F90.

+ +

References nemtab(), status(), moda_tababd::tabb, x48(), and x84().

+ +

Referenced by bufr_c2f_interface::nemdefs_c().

+ +
+
+ +

◆ nemtba()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine nemtba (integer, intent(in) lun,
character*(*), intent(in) nemo,
integer, intent(out) mtyp,
integer, intent(out) msbt,
integer, intent(out) inod 
)
+
+ +

Get information about a Table A descriptor from the internal DX BUFR tables.

+

This subroutine is similar to subroutine nemtbax(), except that it calls subroutine bort() if the descriptor is not found in Table A, whereas nemtbax() will return an inod value of 0 in such cases.

+
Parameters
+ + + + + + +
lun- File ID associated with DX BUFR tables
nemo- Mnemonic for Table A descriptor
mtyp- Message type corresponding to nemo
msbt- Message subtype corresponding to nemo
inod- Positional index of nemo within internal Table A, if found
+
+
+
Author
J. Woollen
+
Date
1999-11-18
+ +

Definition at line 1246 of file dxtable.F90.

+ +

References bort(), and nemtbax().

+ +

Referenced by cmsgini(), copymg(), cpymem(), lcmgdf(), msgini(), openmb(), and openmg().

+ +
+
+ +

◆ nemtbax()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine nemtbax (integer, intent(in) lun,
character*(*), intent(in) nemo,
integer, intent(out) mtyp,
integer, intent(out) msbt,
integer, intent(out) inod 
)
+
+ +

Get information about a Table A descriptor from the internal DX BUFR tables.

+

This subroutine is similar to subroutine nemtba(), except it returns an inod value of 0 if the descriptor is not found in Table A, whereas nemtba() will call subroutine bort() in such cases.

+
Parameters
+ + + + + + +
lun- File ID associated with DX BUFR tables
nemo- Mnemonic for Table A descriptor
mtyp- Message type corresponding to nemo
msbt- Message subtype corresponding to nemo
inod- Positional index of nemo within internal Table A, if found
    +
  • 0 = nemo not found within internal Table A
  • +
+
+
+
+
Author
J. Woollen
+
Date
1999-11-18
+ +

Definition at line 1196 of file dxtable.F90.

+ +

References bort(), moda_tababd::idna, moda_tababd::mtab, moda_tababd::ntba, and moda_tababd::taba.

+ +

Referenced by cktaba(), iok2cpy(), nemtba(), and stndrd().

+ +
+
+ +

◆ nemtbb()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine nemtbb (integer, intent(in) lun,
integer, intent(in) itab,
character*24, intent(out) unit,
integer, intent(out) iscl,
integer, intent(out) iref,
integer, intent(out) ibit 
)
+
+ +

Get information about a Table B descriptor from the internal DX BUFR tables.

+
Parameters
+ + + + + + + +
lun- File ID
itab- Positional index of descriptor within internal Table B
unit- Units of descriptor
iscl- Scale factor of descriptor
iref- Reference value of descriptor
ibit- Bit width of descriptor
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 1277 of file dxtable.F90.

+ +

References bort(), moda_tababd::idnb, moda_tababd::ntbb, strnum(), and moda_tababd::tabb.

+ +

Referenced by chekstab(), bufr_c2f_interface::nemtbb_c(), and tabent().

+ +
+
+ +

◆ nemtbd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine nemtbd (integer, intent(in) lun,
integer, intent(in) itab,
integer, intent(out) nseq,
character*8, dimension(*), intent(out) nems,
integer, dimension(*), intent(out) irps,
integer, dimension(*), intent(out) knts 
)
+
+ +

Get information about a Table D descriptor from the internal DX BUFR tables.

+
Parameters
+ + + + + + + +
lun- File ID associated with DX BUFR tables
itab- Positional index of descriptor within internal Table D
nseq- Number of child mnemonics for descriptor
nems- Child mnemonics
irps- Array of values corresponding to nems
    +
  • 5, if corresponding nems value is a Table D mnemonic using 1-bit delayed replication
  • +
  • 4, if corresponding nems value is a Table D mnemonic using 8-bit delayed (stack) replication
  • +
  • 3, if corresponding nems value is a Table D mnemonic using 8-bit delayed replication
  • +
  • 2, if corresponding nems value is a Table D mnemonic using 16-bit delayed replication
  • +
  • 1, if corresponding nems value is a Table D mnemonic using regular (non-delayed) replication
  • +
  • 0, otherwise
  • +
+
knts- Array of values corresponding to nems
    +
  • Number of replications, if corresponding nems value is a Table D mnemonic using regular (non-delayed) replication
  • +
  • 0, otherwise
  • +
+
+
+
+
Remarks
    +
  • This subroutine does not recursively resolve any child mnemonics which may themselves be Table D mnemonics. Instead, this subroutine only returns the list of mnemonics which are direct children of the descriptor referenced by itab. This information should have already been stored into internal arrays via previous calls to subroutine pktdd().
  • +
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 1345 of file dxtable.F90.

+ +

References bort(), moda_tababd::idnd, moda_tababd::ntbd, numtab(), rsvfvm(), moda_tababd::tabd, and uptdd().

+ +

Referenced by chekstab(), dxdump(), getabdb(), and tabsub().

+ +
+
+ +

◆ nenubd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
subroutine nenubd (character, intent(in) nemo,
character, intent(in) numb,
integer, intent(in) lun 
)
+
+ +

Confirm that a mnemonic and FXY value haven't already been defined.

+

Check a mnemonic and FXY value pair that were read from a user-supplied BUFR DX dictionary table in character format, in order to confirm that neither value has already been defined within internal BUFR table B or D (in module moda_tababd) for the given lun. If either value has already been defined for this lun, then an appropriate call is made to subroutine bort().

+
Parameters
+ + + + +
nemo- Mnemonic
numb- FXY value associated with nemo
lun- File ID
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 1513 of file dxtable.F90.

+ +

References bort(), moda_tababd::ntbb, moda_tababd::ntbd, moda_tababd::tabb, and moda_tababd::tabd.

+ +

Referenced by stbfdx(), and stntbi().

+ +
+
+ +

◆ pktdd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine pktdd (integer, intent(in) id,
integer, intent(in) lun,
integer, intent(in) idn,
integer, intent(out) iret 
)
+
+ +

Store information about a child mnemonic within the internal BUFR Table D.

+

Store information about a child mnemonic within the internal BUFR table D entry (in module moda_tababd) for a table D sequence (parent) mnemonic when the child mnemonic is contained within the sequence represented by the parent mnemonic (as determined within seqsdx()).

+
Parameters
+ + + + + +
id- Positional index of parent mnemonic within internal BUFR table D array tabd(*,*)
lun- File ID
idn- WMO bit-wise representation of FXY value corresponding to child mnemonic
    +
  • 0 = Delete all information about all child mnemonics from within tabd(id,lun)
  • +
+
iret- Total number of child mnemonics stored thus far (including idn) for the parent mnemonic given by tabd(id,lun)
    +
  • 0 = Information was cleared from tabd(id,lun) because input idn value was 0
  • +
  • -1 = Bad counter value or maximum number of child mnemonics already stored for this parent mnemonic
  • +
+
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 1665 of file dxtable.F90.

+ +

References errwrt(), ipkm(), and moda_tababd::tabd.

+ +

Referenced by dxinit(), bufr_c2f_interface::pktdd_c(), seqsdx(), and stbfdx().

+ +
+
+ +

◆ rdbfdx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine rdbfdx (integer, intent(in) lunit,
integer, intent(in) lun 
)
+
+ +

Beginning at the current file pointer location within lunit, read a complete DX BUFR table into internal memory arrays in module moda_tababd.

+

A DX BUFR table consists of one or more consecutive DX BUFR messages.

+

This subroutine performs a function similar to rdusdx(), except that rdusdx() reads from a file containing a user-supplied DX BUFR table in character format. See rdusdx() for a description of the arrays that are filled in module moda_tababd.

+

This subroutine performs a function similar to cpdxmm(), except that cpdxmm() writes to the internal memory arrays in module moda_msgmem, for use with a file of BUFR messages that is being read and stored into internal memory via subroutine ufbmem().

+
Parameters
+ + + +
lunit- Fortran logical unit number for BUFR file
lun- File ID associated with lunit
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 120 of file dxtable.F90.

+ +

References bort(), dxinit(), errwrt(), makestab(), moda_mgwa::mgwa, rdmsgw(), and stbfdx().

+ +

Referenced by posapx(), readdx(), and readmg().

+ +
+
+ +

◆ rdusdx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine rdusdx (integer, intent(in) lundx,
integer, intent(in) lun 
)
+
+ +

Read and parse a file containing a user-supplied DX BUFR table in character format, then store this information into internal arrays in module moda_tababd.

+

This subroutine performs a function similar to subroutine rdbfdx(), except that rdbfdx() reads the DX BUFR table directly from messages at the beginning of an input BUFR file.

+
Parameters
+ + + +
lundx- Fortran logical unit number for user-supplied DX BUFR table in character format
lun- File ID
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 196 of file dxtable.F90.

+ +

References bort2(), dxinit(), elemdx(), moda_tababd::idna, makestab(), seqsdx(), stntbi(), and stntbia().

+ +

Referenced by cktaba(), and readdx().

+ +
+
+ +

◆ readdx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
subroutine readdx (integer, intent(in) lunit,
integer, intent(in) lun,
integer, intent(in) lundx 
)
+
+ +

Initialize modules moda_tababd and moda_msgcwd with DX BUFR (dictionary) tables.

+

These tables are needed to read, write, initialize or append a BUFR file.

+

The modules are initialized from either:

    +
  1. an external, user-supplied BUFR dictionary table file (i.e., a BUFR mnemonic table), or
  2. +
  3. the BUFR file indicated by lunit, or
  4. +
  5. another currently opened BUFR file.
  6. +
+

If the modules are initialized by the BUFR file indicated by lunit, then it must have been opened for input processing and positioned at a dictionary table message somewhere in the file.

+

Once initialzed, the dictionary arrays are associated with the BUFR file indicated by lunit, until the file is closed with closbf().

+
Parameters
+ + + + +
lunit- Fortran logical unit number for BUFR file being read, written, initialized or appended
lun- file ID associated with LUNIT
lundx- Fortran logical unit number containing dictionary table information to be used in reading/writing from/to lunit (depending on the case); may be set equal to lunit if dictionary table information is already embedded in lunit (but only if lunit is being read)
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 28 of file dxtable.F90.

+ +

References bort(), cpbfdx(), errwrt(), makestab(), rdbfdx(), rdusdx(), and status().

+ +

Referenced by openbf(), and writdx().

+ +
+
+ +

◆ rsvfvm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine rsvfvm (character*8, intent(inout) nem1,
character*8, intent(in) nem2 
)
+
+ +

Process a "following value" mnemonic.

+

Step through the "following value" mnemonic nem1 and, for each "." character encountered (except for the initial one), overwrite it with the next corresponding character from nem2.

+

For example:

+     if, on input:    nem1 = ".DTH...."
+                      nem2 = "MXTM    "
+     then, on output: nem1 = ".DTHMXTM"
+ 
Parameters
+ + + +
nem1- Mnemonic
    +
  • on input, a "following value" mnemonic
  • +
  • on output, a copy of input nem1 with all "." characters (except the initial one) overwritten with corresponding characters from nem2
  • +
+
nem2- Mnemonic immediately following nem1 within DX BUFR table
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 1794 of file dxtable.F90.

+ +

Referenced by nemtbd(), and seqsdx().

+ +
+
+ +

◆ seqsdx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine seqsdx (character*80, intent(in) card,
integer, intent(in) lun 
)
+
+ +

Decode the Table D sequence information from a mnemonic definition card that was previously read from a user-supplied DX BUFR table in character format by subroutine rdusdx(), then add this information to the already-existing entry for that mnemonic within the internal BUFR Table D arrays in module moda_tababd.

+
Parameters
+ + + +
card- Mnemonic definition card that was read from a user-supplied DX BUFR table
lun- File ID
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 332 of file dxtable.F90.

+ +

References bort2(), nemtab(), numtab(), parstr(), pktdd(), rsvfvm(), and strnum().

+ +

Referenced by rdusdx().

+ +
+
+ +

◆ stbfdx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
subroutine stbfdx (integer, intent(in) lun,
integer, dimension(*), intent(in) mesg 
)
+
+ +

Copy a DX BUFR tables message into the internal memory arrays in module moda_tababd.

+
Parameters
+ + + +
lun- File ID
mesg- DX BUFR tables message
+
+
+
Author
J. Ator
+
Date
2009-03-23
+ +

Definition at line 989 of file dxtable.F90.

+ +

References bort(), capit(), getlens(), moda_tababd::idnb, moda_tababd::idnd, nenubd(), moda_tababd::ntbb, moda_tababd::ntbd, pktdd(), stntbia(), moda_tababd::taba, moda_tababd::tabb, moda_tababd::tabd, and upc().

+ +

Referenced by rdbfdx(), rdmemm(), and readerme().

+ +
+
+ +

◆ stntbi()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine stntbi (integer, intent(in) n,
integer, intent(in) lun,
character*(*), intent(in) numb,
character*(*), intent(in) nemo,
character*(*), intent(in) celsq 
)
+
+ +

Store a new entry within internal BUFR Table B or D.

+
Parameters
+ + + + + + +
n- Storage index into internal Table B or D
lun- File ID
numb- FXY number for new Table B or D entry
nemo- Mnemonic corresponding to numb
celsq- Element or sequence description corresponding to numb
+
+
+
Author
Ator
+
Date
2009-03-23
+ +

Definition at line 1620 of file dxtable.F90.

+ +

References moda_tababd::idnb, moda_tababd::idnd, nenubd(), moda_tababd::ntbb, moda_tababd::ntbd, moda_tababd::tabb, and moda_tababd::tabd.

+ +

Referenced by rdusdx(), and bufr_c2f_interface::stntbi_c().

+ +
+
+ +

◆ stntbia()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine stntbia (integer, intent(in) n,
integer, intent(in) lun,
character*(*), intent(in) numb,
character*(*), intent(in) nemo,
character*(*), intent(in) celsq 
)
+
+ +

Store a new entry within internal BUFR Table A.

+
Parameters
+ + + + + + +
n- Storage index into internal Table A
lun- File ID
numb- FXY number for new Table A entry
nemo- Mnemonic corresponding to numb
celsq- Sequence description corresponding to numb
+
+
+
Author
Ator
+
Date
2009-03-23
+ +

Definition at line 1559 of file dxtable.F90.

+ +

References bort(), moda_tababd::idna, moda_tababd::ntba, and moda_tababd::taba.

+ +

Referenced by rdusdx(), reads3(), and stbfdx().

+ +
+
+ +

◆ uptdd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine uptdd (integer, intent(in) id,
integer, intent(in) lun,
integer, intent(in) ient,
integer, intent(out) iret 
)
+
+ +

Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D sequence.

+

For a description of the WMO bit-wise representation of the FXY value, see ifxy().

+
Parameters
+ + + + + +
id- Positional index of parent mnemonic within internal BUFR Table D array tabd
lun- File ID
ient- Ordinal indicator of child mnemonic to return from within tabd(id,lun) sequence
    +
  • 0 = Return a count of the total number of child mnemonics within the sequence
  • +
+
iret- Return value:
    +
  • WMO bit-wise representation of FXY value corresponding to (ient)th child mnemonic, if input ient was > 0
  • +
  • Total number of child mnemonics, if input ient was 0
  • +
+
+
+
+
Author
J. Woollen
+
Date
1994-01-06
+ +

Definition at line 1740 of file dxtable.F90.

+ +

References bort(), and moda_tababd::tabd.

+ +

Referenced by nemtbd(), and bufr_c2f_interface::uptdd_c().

+ +
+
+ +

◆ wrdxtb()

+ +
+
+ + + + + + + + + + + + + + + + + + +
recursive subroutine wrdxtb (integer, intent(in) lundx,
integer, intent(in) lunot 
)
+
+ +

Generate one or more BUFR messages from the DX BUFR tables information associated with a given BUFR file, then write out those messages to the same or possibly a different BUFR file.

+

Logical units lundx and lunot should have already been opened via previous calls to subroutine openbf(), and in particular logical unit lunot must have been opened for output operations. lundx and lunot may be the same if it is desired to append to lunot with DX BUFR messages generated from its own internal tables.

+
Parameters
+ + + +
lundx- Fortran logical unit number associated with DX BUFR table information to be written out
lunot- Fortran logical unit number of BUFR file to which messages are to be written
+
+
+
Author
J. Ator
+
Date
2009-03-23
+ +

Definition at line 849 of file dxtable.F90.

+ +

References adn30(), bort(), cpbfdx(), dxmini(), getlens(), iupb(), iupm(), moda_mgwa::mgwa, msgfull(), msgwrt(), moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, pkb(), pkc(), status(), moda_tababd::taba, moda_tababd::tabb, moda_tababd::tabd, and x84().

+ +

Referenced by apxdx(), makestab(), and writdx().

+ +
+
+ +

◆ writdx()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
subroutine writdx (integer, intent(in) lunit,
integer, intent(in) lun,
integer, intent(in) lundx 
)
+
+ +

Write DX BUFR table (dictionary) messages to the beginning of an output BUFR file in lunit.

+

The table messages are read from arrays in internal memory (module moda_tababd). An initial call to subroutine readdx() generates these internal arrays.

+
Parameters
+ + + + +
lunit- Fortran logical unit number for BUFR file being written.
lun- File ID of open BUFR file.
lundx- Fortran logical unit number containing dictionary table information to be used (by readdx()) to create internal tables written to lunit; if set equal to lunit, this subroutine calls bort().
+
+
+
Author
Woollen
+
Date
1994-01-06
+ +

Definition at line 811 of file dxtable.F90.

+ +

References bort(), readdx(), and wrdxtb().

+ +

Referenced by openbf().

+ +
+
+
+
+ + + + diff --git a/dxtable_8F90.js b/dxtable_8F90.js new file mode 100644 index 000000000..a0bc82ec5 --- /dev/null +++ b/dxtable_8F90.js @@ -0,0 +1,26 @@ +var dxtable_8F90 = +[ + [ "dxinit", "dxtable_8F90.html#ae1a2a7cf7f60579fa9e9399a25f4930b", null ], + [ "dxmini", "dxtable_8F90.html#a30167b1b9b52074ad5db11d45665d551", null ], + [ "elemdx", "dxtable_8F90.html#a0669d7561ae99961babcdb2022073052", null ], + [ "idxmsg", "dxtable_8F90.html#aea259cd399ca3121a66475a2ea73ec65", null ], + [ "igetntbi", "dxtable_8F90.html#ad7abde76f89f036b69d944c260fbe2d4", null ], + [ "nemdefs", "dxtable_8F90.html#ad6352a1c1fdec4ba0adb0173781e4542", null ], + [ "nemtba", "dxtable_8F90.html#a36f644b9119ebf87f957bfe023e5cc45", null ], + [ "nemtbax", "dxtable_8F90.html#a8ea33660d62d74dee92cf7bf9541c1cd", null ], + [ "nemtbb", "dxtable_8F90.html#a21fa5817ff8a6f471dca950fbaa693ba", null ], + [ "nemtbd", "dxtable_8F90.html#aa0b7269b3a7df645e6917bfd4ba72b32", null ], + [ "nenubd", "dxtable_8F90.html#ae672eaf27f17dc904b894f347d89c233", null ], + [ "pktdd", "dxtable_8F90.html#aae6295132b2eb71f969417879832ed47", null ], + [ "rdbfdx", "dxtable_8F90.html#aef89e4de1387c4bcdeda0a64e8c6d308", null ], + [ "rdusdx", "dxtable_8F90.html#a3c5a3be625c365b782f36c0cb772ae35", null ], + [ "readdx", "dxtable_8F90.html#adc51a45a8d628c17cd4d749733df506b", null ], + [ "rsvfvm", "dxtable_8F90.html#a437a4acba1f5e0b3173da0cafc101e9c", null ], + [ "seqsdx", "dxtable_8F90.html#a591d4a2752e5c69299905fb910f7fcc7", null ], + [ "stbfdx", "dxtable_8F90.html#ac59d8db430cbb1cbe7ced7ebc386ef4a", null ], + [ "stntbi", "dxtable_8F90.html#aaa433680a14847a3fd64a6fa1b877211", null ], + [ "stntbia", "dxtable_8F90.html#ac0b4a9cb7d5c89dfe084698b9bb4042e", null ], + [ "uptdd", "dxtable_8F90.html#aeec2544ee0e0d8587c6687cda7023e54", null ], + [ "wrdxtb", "dxtable_8F90.html#a81ea6d2408950b5728790bc8f8c80261", null ], + [ "writdx", "dxtable_8F90.html#ac8141d6ac66d21c3fd2be3251a6a40c3", null ] +]; \ No newline at end of file diff --git a/dxtable_8F90_source.html b/dxtable_8F90_source.html new file mode 100644 index 000000000..8b7515df5 --- /dev/null +++ b/dxtable_8F90_source.html @@ -0,0 +1,1673 @@ + + + + + + + +NCEPLIBS-bufr: dxtable.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dxtable.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
28 subroutine readdx(lunit,lun,lundx)
+
29 
+
30  implicit none
+
31 
+
32  integer, intent(in) :: lunit, lun, lundx
+
33  integer iprt, lud, ildx, imdx
+
34 
+
35  character*128 errstr
+
36 
+
37  common /quiet/ iprt
+
38 
+
39  ! Get the status of unit lundx
+
40 
+
41  call status(lundx,lud,ildx,imdx)
+
42 
+
43  ! Read a dictionary table from the indicated source
+
44 
+
45  if (lunit==lundx) then
+
46  ! Source is input BUFR file in lunit
+
47  if(iprt>=2) then
+
48  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
49  write ( unit=errstr, fmt='(A,A,I3,A)' ) 'BUFRLIB: READDX - READING BUFR DICTIONARY TABLE FROM ', &
+
50  'INPUT BUFR FILE IN UNIT ', lundx, ' INTO INTERNAL ARRAYS'
+
51  call errwrt(errstr)
+
52  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
53  call errwrt(' ')
+
54  endif
+
55  rewind lunit
+
56  call rdbfdx(lunit,lun)
+
57  elseif(ildx==-1) then
+
58  ! Source is input BUFR file in lundx; BUFR file in lunit may be input or output
+
59  if(iprt>=2) then
+
60  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
61  write ( unit=errstr, fmt='(A,A,I3,A,A,I3)' ) 'BUFRLIB: READDX - COPYING BUFR DCTY TBL FROM INTERNAL ', &
+
62  'ARRAYS ASSOC. W/ INPUT UNIT ', lundx, ' TO THOSE ASSOC. W/ UNIT ', lunit
+
63  call errwrt(errstr)
+
64  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
65  call errwrt(' ')
+
66  endif
+
67  call cpbfdx(lud,lun)
+
68  call makestab
+
69  elseif(ildx==1) then
+
70  ! Source is output BUFR file in lundx; BUFR file in lunit may be input or output
+
71  if(iprt>=2) then
+
72  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
73  write ( unit=errstr, fmt='(A,A,I3,A,A,I3)' ) 'BUFRLIB: READDX - COPYING BUFR DCTY TBL FROM INTERNAL ', &
+
74  'ARRAYS ASSOC. W/ OUTPUT UNIT ', lundx, ' TO THOSE ASSOC. W/ UNIT ', lunit
+
75  call errwrt(errstr)
+
76  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
77  call errwrt(' ')
+
78  endif
+
79  call cpbfdx(lud,lun)
+
80  call makestab
+
81  elseif(ildx==0) then
+
82  ! Source is user-supplied character table in lundx; BUFR file in lunit may be input or output
+
83  if(iprt>=2) then
+
84  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
85  write ( unit=errstr, fmt='(A,A,I3,A)' ) 'BUFRLIB: READDX - READING BUFR DICTIONARY TABLE FROM ', &
+
86  'USER-SUPPLIED TEXT FILE IN UNIT ', lundx, ' INTO INTERNAL ARRAYS'
+
87  call errwrt(errstr)
+
88  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
+
89  call errwrt(' ')
+
90  endif
+
91  rewind lundx
+
92  call rdusdx(lundx,lun)
+
93  else
+
94  call bort('BUFRLIB: READDX - CANNOT DETERMINE SOURCE OF INPUT DICTIONARY TABLE')
+
95  endif
+
96 
+
97  return
+
98 end subroutine readdx
+
99 
+
120 subroutine rdbfdx(lunit,lun)
+
121 
+
122  use bufrlib
+
123 
+
124  use moda_mgwa
+
125 
+
126  implicit none
+
127 
+
128  integer, intent(in) :: lunit, lun
+
129  integer iprt, ict, ier, idxmsg, iupbs3
+
130 
+
131  character*128 errstr
+
132 
+
133  logical done
+
134 
+
135  common /quiet/ iprt
+
136 
+
137  call dxinit(lun,0)
+
138 
+
139  ict = 0
+
140  done = .false.
+
141 
+
142  ! Read a complete dictionary table from lunit, as a set of one or more DX dictionary messages.
+
143 
+
144  do while ( .not. done )
+
145  call rdmsgw ( lunit, mgwa, ier )
+
146  if ( ier == -1 ) then
+
147  ! Don't abort for an end-of-file condition, since it may be possible for a file to end with dictionary messages.
+
148  ! Instead, backspace the file pointer and let the calling routine diagnose the end-of-file condition and deal with
+
149  ! it as it sees fit.
+
150  call backbufr_c(lun)
+
151  done = .true.
+
152  else if ( ier == -2 ) then
+
153  call bort('BUFRLIB: RDBFDX - ERROR READING A BUFR DICTIONARY MESSAGE')
+
154  else if ( idxmsg(mgwa) /= 1 ) then
+
155  ! This is a non-DX dictionary message. Assume we've reached the end of the dictionary table, and backspace lunit
+
156  ! so that the next read (e.g. in the calling routine) will get this same message.
+
157  call backbufr_c(lun)
+
158  done = .true.
+
159  else if ( iupbs3(mgwa,'NSUB') == 0 ) then
+
160  ! This is a DX dictionary message, but it doesn't contain any actual dictionary information. Assume we've reached
+
161  ! the end of the dictionary table.
+
162  done = .true.
+
163  else
+
164  ! Store this message into module @ref moda_tababd.
+
165  ict = ict + 1
+
166  call stbfdx(lun,mgwa)
+
167  endif
+
168  enddo
+
169 
+
170  if ( iprt >= 2 ) then
+
171  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
+
172  write ( unit=errstr, fmt='(A,I3,A)' ) 'BUFRLIB: RDBFDX - STORED NEW DX TABLE CONSISTING OF (', ict, ') MESSAGES;'
+
173  call errwrt(errstr)
+
174  errstr = 'WILL APPLY THIS TABLE TO ALL SUBSEQUENT DATA IN FILE UNTIL NEXT DX TABLE IS FOUND'
+
175  call errwrt(errstr)
+
176  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
+
177  call errwrt(' ')
+
178  endif
+
179 
+
180  call makestab
+
181 
+
182  return
+
183 end subroutine rdbfdx
+
184 
+
196 subroutine rdusdx(lundx,lun)
+
197 
+
198  use moda_tababd
+
199 
+
200  implicit none
+
201 
+
202  integer, intent(in) :: lundx, lun
+
203  integer ios, iret, n, numbck, nemock, igetntbi
+
204 
+
205  character*128 bort_str1
+
206  character*156 bort_str2
+
207  character*80 card
+
208  character*8 nemo
+
209  character*6 numb, nmb2
+
210 
+
211  ! Initialize the dictionary table control word partition arrays with apriori Table B and D entries
+
212 
+
213  call dxinit(lun,1)
+
214  rewind lundx
+
215 
+
216  ! Read user cards until there are no more
+
217 
+
218  do while (.true.)
+
219 
+
220  read(lundx, '(A80)', iostat = ios) card
+
221  if (ios/=0) then
+
222  call makestab
+
223  return
+
224  endif
+
225 
+
226  if(card(1: 1)== '*') cycle ! comment line
+
227  if(card(3:10)=='--------') cycle ! separation line
+
228  if(card(3:10)==' ') cycle ! blank line
+
229  if(card(3:10)=='MNEMONIC') cycle ! header line
+
230  if(card(3:10)=='TABLE D') cycle ! header line
+
231  if(card(3:10)=='TABLE B') cycle ! header line
+
232 
+
233  if(card(12:12)=='|' .and. card(21:21)=='|') then
+
234 
+
235  ! Parse a descriptor definition card
+
236  nemo = card(3:10) ! nemo is the (up to) 8-character mnemonic
+
237  iret=nemock(nemo)
+
238  if(iret==-2) then
+
239  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
240  write(bort_str2,'(18X,"MNEMONIC ",A," IN USER DICTIONARY HAS INVALID CHARACTERS")') nemo
+
241  call bort2(bort_str1,bort_str2)
+
242  endif
+
243  numb = card(14:19) ! numb is the 6-character FXY value corresponding to nemo
+
244  nmb2 = numb
+
245  if(nmb2(1:1)=='A') nmb2(1:1) = '3'
+
246  iret=numbck(nmb2)
+
247  if(iret==-1) then
+
248  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
249  write(bort_str2,'(18X,"DESCRIPTOR NUMBER ",A," IN USER '// &
+
250  'DICTIONARY HAS AN INVALID FIRST CHARACTER (F VALUE) - MUST BE A, 0 OR 3")') numb
+
251  call bort2(bort_str1,bort_str2)
+
252  endif
+
253  if(iret==-2) then
+
254  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
255  write(bort_str2,'(18X,"DESCRIPTOR NUMBER ",A," IN USER '// &
+
256  'DICTIONARY HAS NON-NUMERIC VALUES IN CHARACTERS 2-6 (X AND Y VALUES)")') numb
+
257  call bort2(bort_str1,bort_str2)
+
258  endif
+
259  if(iret==-3) then
+
260  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
261  write(bort_str2,'(18X,"DESCRIPTOR NUMBER ",A," IN USER '// &
+
262  'DICTIONARY HAS INVALID NUMBER IN CHARACTERS 2-3 (X VALUE) - MUST BE BETWEEN 00 AND 63")') numb
+
263  call bort2(bort_str1,bort_str2)
+
264  endif
+
265  if(iret==-4) then
+
266  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
267  write(bort_str2,'(18X,"DESCRIPTOR NUMBER ",A," IN USER '// &
+
268  'DICTIONARY HAS INVALID NUMBER IN CHARACTERS 4-6 (Y VALUE) - MUST BE BETWEEN 000 AND 255")') numb
+
269  call bort2(bort_str1,bort_str2)
+
270  endif
+
271 
+
272  if(numb(1:1)=='A') then
+
273  ! Table A descriptor found
+
274  n = igetntbi( lun, 'A' )
+
275  call stntbia ( n, lun, numb, nemo, card(23:) )
+
276  if ( idna(n,lun,1) == 11 ) then
+
277  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
278  write(bort_str2,'(18X,"USER-DEFINED MESSAGE TYPE ""011"" IS RESERVED FOR DICTIONARY MESSAGES")')
+
279  call bort2(bort_str1,bort_str2)
+
280  endif
+
281  ! Replace "A" with "3" so Table D descriptor will be found in card as well (see below).
+
282  numb(1:1) = '3'
+
283  endif
+
284 
+
285  if(numb(1:1)=='0') then
+
286  ! Table B descriptor found
+
287  call stntbi ( igetntbi(lun,'B'), lun, numb, nemo, card(23:) )
+
288  cycle
+
289  endif
+
290 
+
291  if(numb(1:1)=='3') then
+
292  ! Table D descriptor found
+
293  call stntbi ( igetntbi(lun,'D'), lun, numb, nemo, card(23:) )
+
294  cycle
+
295  endif
+
296 
+
297  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
298  write(bort_str2,'(18X,"DESCRIPTOR NUMBER ",A," IN USER '// &
+
299  'DICTIONARY HAS AN INVALID FIRST CHARACTER (F VALUE) - MUST BE A, 0 OR 3")') numb
+
300  call bort2(bort_str1,bort_str2)
+
301 
+
302  endif
+
303 
+
304  if(card(12:12)=='|' .and. card(19:19)/='|') then
+
305  ! Parse a sequence definition card
+
306  call seqsdx(card,lun)
+
307  cycle
+
308  endif
+
309 
+
310  if(card(12:12)=='|' .and. card(19:19)=='|') then
+
311  ! Parse an element definition card
+
312  call elemdx(card,lun)
+
313  cycle
+
314  endif
+
315 
+
316  ! Can't figure out what kind of card it is
+
317  write(bort_str1,'("BUFRLIB: RDUSDX - CARD READ IN IS: ",A)') card
+
318  write(bort_str2,'(18X,"THIS CARD HAS A BAD FORMAT - IT IS NOT RECOGNIZED BY THIS SUBROUTINE")')
+
319  call bort2(bort_str1,bort_str2)
+
320  enddo
+
321 
+
322 end subroutine rdusdx
+
323 
+
332 subroutine seqsdx(card,lun)
+
333 
+
334  use modv_vars, only: reps, idnr
+
335 
+
336  implicit none
+
337 
+
338  integer, intent(in) :: lun
+
339  integer maxtgs, maxtag, ntag, idn, jdn, iseq, irep, i, j, n, itab, iret, ier, numr, nemock
+
340 
+
341  character*128 bort_str1, bort_str2
+
342  character*80 seqs
+
343  character*80, intent(in) :: card
+
344  character*12 atag, tags(250)
+
345  character*8 nemo, nema, nemb
+
346  character*6 adn30, clemon
+
347  character tab
+
348 
+
349  data maxtgs /250/
+
350  data maxtag /12/
+
351 
+
352  ! Find the sequence tag in Table D and parse the sequence string
+
353 
+
354  nemo = card( 3:10)
+
355  seqs = card(14:78)
+
356 
+
357  ! Note that an entry for this mnemonic should already exist within the internal BUFR Table D array tabd(*,LUN); this entry
+
358  ! should have been created by subroutine rdusdx() when the mnemonic and its associated FXY value and description were
+
359  ! initially defined within a card read from the "Descriptor Definition" section at the top of the user-supplied DX BUFR
+
360  ! table in character format. Now, we need to retrieve the positional index for that entry within tabd(*,lun) so that we
+
361  ! can access the entry and then add the decoded sequence information to it.
+
362 
+
363  call nemtab(lun,nemo,idn,tab,iseq)
+
364  if(tab/='D') then
+
365  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
366  write(bort_str2,'(18X,"MNEMONIC ",A," IS NOT A TABLE D ENTRY (UNDEFINED, TAB=",A,")")') nemo,tab
+
367  call bort2(bort_str1,bort_str2)
+
368  endif
+
369  call parstr(seqs,tags,maxtgs,ntag,' ',.true.)
+
370  if(ntag==0) then
+
371  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
372  write(bort_str2,'(18X,"TABLE D SEQUENCE (PARENT) MNEMONIC ",A," DOES NOT CONTAIN ANY CHILD MNEMONICS")') nemo
+
373  call bort2(bort_str1,bort_str2)
+
374  endif
+
375 
+
376  do n=1,ntag
+
377  atag = tags(n)
+
378  irep = 0
+
379 
+
380  ! Check for a replicator
+
381 
+
382  outer: do i=1,5
+
383  if(atag(1:1)==reps(i)) then
+
384  ! Note that reps(*), which contains all of the symbols used to denote all of the various replication schemes that
+
385  ! are possible within a user-supplied BUFR dictionary table in character format, was previously defined within
+
386  ! subroutine bfrini().
+
387  do j=2,maxtag
+
388  if(atag(j:j)==reps(i+5)) then
+
389  ! Note that subroutine strnum() will return numr = 0 if the string passed to it contains all blanks
+
390  ! (as *should* be the case whenever i = 2 '(' ')', 3 '{' '}', 4 '[' ']', or 5 '<' '>').
+
391  ! However, when i = 1 '"' '"', then subroutine strnum() will return numr = (the number of replications for
+
392  ! the mnemonic using F=1 "regular" (i.e. non-delayed) replication).
+
393  call strnum(atag(j+1:maxtag),numr,ier)
+
394  if(i==1 .and. numr<=0) then
+
395  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
396  write(bort_str2,'(9X,"TBL D MNEM. ",A," CONTAINS REG. REPL. '// &
+
397  'CHILD MNEM. ",A," W/ INVALID # OF REPLICATIONS (",I3,") AFTER 2ND QUOTE")') nemo,tags(n),numr
+
398  call bort2(bort_str1,bort_str2)
+
399  endif
+
400  if(i==1 .and. numr>255) then
+
401  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
402  write(bort_str2,'(18X,"TBL D MNEM. ",A," CONTAINS REG. REPL. '// &
+
403  'CHILD MNEM. ",A," W/ # OF REPLICATIONS (",I3,") > LIMIT OF 255")') nemo,tags(n),numr
+
404  call bort2(bort_str1,bort_str2)
+
405  endif
+
406  if(i/=1 .and. numr/=0) then
+
407  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
408  write(bort_str2,'(18X,"TBL D MNEM. ",A," CONTAINS DELAYED REPL. '// &
+
409  'CHILD MNEM. ",A," W/ # OF REPL. (",I3,") SPECIFIED - A NO-NO")') nemo,tags(n),numr
+
410  call bort2(bort_str1,bort_str2)
+
411  endif
+
412  atag = atag(2:j-1)
+
413  irep = i
+
414  exit outer
+
415  endif
+
416  enddo
+
417  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
418  write(bort_str2,'(18X,"TABLE D SEQUENCE (PARENT) MNEMONIC ",A,'// &
+
419  '" CONTAINS A BADLY FORMED CHILD MNEMONIC ",A)') nemo,tags(n)
+
420  call bort2(bort_str1,bort_str2)
+
421  endif
+
422  enddo outer
+
423 
+
424  ! Check for a valid tag
+
425 
+
426  iret=nemock(atag)
+
427  if(iret==-1) then
+
428  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
429  write(bort_str2,'(18X,"TABLE D (PARENT) MNEMONIC ",A," CONTAINS'// &
+
430  ' A CHILD MNEMONIC ",A," NOT BETWEEN 1 & 8 CHARACTERS")') nemo,tags(n)
+
431  call bort2(bort_str1,bort_str2)
+
432  endif
+
433  if(iret==-2) then
+
434  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
435  write(bort_str2,'(18X,"TABLE D (PARENT) MNEMONIC ",A," CONTAINS'// &
+
436  ' A CHILD MNEMONIC ",A," WITH INVALID CHARACTERS")') nemo,tags(n)
+
437  call bort2(bort_str1,bort_str2)
+
438  endif
+
439  call nemtab(lun,atag,idn,tab,iret)
+
440  if(iret>0) then
+
441  ! Note that the next code line checks that we are not trying to replicate a Table B mnemonic (which is currently not
+
442  ! allowed). The logic works because, for replicated mnemonics, irep = i = (the index within reps(*) of the symbol
+
443  ! associated with the type of replication in question (e.g. "{, "<", etc.))
+
444  if(tab=='B' .and. irep/=0) then
+
445  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
446  write(bort_str2,'(18X,"TABLE D (PARENT) MNEMONIC ",A," CONTAINS'// &
+
447  ' A REPLICATED CHILD TABLE B MNEMONIC ",A," - A NO-NO")') nemo,tags(n)
+
448  call bort2(bort_str1,bort_str2)
+
449  endif
+
450  if(atag(1:1)=='.') then
+
451  ! This mnemonic is a "following value" mnemonic (i.e. it relates to the mnemonic that immediately follows it within
+
452  ! the user-supplied character-format BUFR dictionary table sequence), so confirm that it contains, as a substring,
+
453  ! this mnemonic that immediately follows it.
+
454  if(n==ntag) then
+
455  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
456  write(bort_str2,'(18X,"TBL D (PARENT) MNEM. ",A," CONTAINS A '// &
+
457  '''FOLLOWING VALUE'' MNEMONIC WHICH IS LAST IN THE STRING")') nemo
+
458  call bort2(bort_str1,bort_str2)
+
459  endif
+
460  nemb = tags(n+1)(1:8)
+
461  call numtab(lun,idn,nema,tab,itab)
+
462  call nemtab(lun,nemb,jdn,tab,iret)
+
463  call rsvfvm(nema,nemb)
+
464  if(nema/=atag) then
+
465  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
466  write(bort_str2,'(18X,"TBL D (PARENT) MNEM. ",A," CONTAINS AN '// &
+
467  'INVALID ''FOLLOWING VALUE'' MNEMONIC ",A,"(SHOULD BE ",A,")")') nemo,tags(n),nema
+
468  call bort2(bort_str1,bort_str2)
+
469  endif
+
470  if(tab/='B') then
+
471  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
472  write(bort_str2,'(18X,"TBL D (PARENT) MNEM. ",A,", THE MNEM. ",'// &
+
473  'A," FOLLOWING A ''FOLLOWING VALUE'' MNEM. IS NOT A TBL B ENTRY")') nemo,nemb
+
474  call bort2(bort_str1,bort_str2)
+
475  endif
+
476  endif
+
477  else
+
478  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
479  write(bort_str2,'(18X,"TABLE D SEQUENCE (PARENT) MNEMONIC ",A,'// &
+
480  '" CONTAINS A CHILD MNEMONIC ",A," NOT FOUND IN ANY TABLE")') nemo,tags(n)
+
481  call bort2(bort_str1,bort_str2)
+
482  endif
+
483 
+
484  ! Write the descriptor string into the tabd array, but first look for a replication descriptor
+
485  if(irep>0) call pktdd(iseq,lun,idnr(irep)+numr,iret)
+
486  if(iret<0) then
+
487  clemon = adn30(idnr(irep)+numr,6)
+
488  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
489  write(bort_str2,'(9X,"TBL D (PARENT) MNEM. ",A," - BAD RETURN '// &
+
490  'FROM PKTDD TRYING TO STORE REPL. DESC. ",A,", SEE PREV. WARNING MSG")') nemo,clemon
+
491  call bort2(bort_str1,bort_str2)
+
492  endif
+
493  call pktdd(iseq,lun,idn,iret)
+
494  if(iret<0) then
+
495  write(bort_str1,'("BUFRLIB: SEQSDX - CARD READ IN IS: ",A)') card
+
496  write(bort_str2,'(9X,"TBL D (PARENT) MNEM. ",A," - BAD RETURN '// &
+
497  'FROM PKTDD TRYING TO STORE CHILD MNEM. ",A,", SEE PREV. WARNING MSG")') nemo,tags(n)
+
498  call bort2(bort_str1,bort_str2)
+
499  endif
+
500 
+
501  enddo
+
502 
+
503  return
+
504 end subroutine seqsdx
+
505 
+
515 subroutine elemdx(card,lun)
+
516 
+
517  use moda_tababd
+
518 
+
519  implicit none
+
520 
+
521  integer, intent(in) :: lun
+
522  integer idsn, iele, iret
+
523 
+
524  character*128 bort_str1, bort_str2
+
525  character*80, intent(in) :: card
+
526  character*24 unit
+
527  character*11 refr, refr_orig
+
528  character*8 nemo
+
529  character*4 scal, scal_orig
+
530  character*3 bitw, bitw_orig
+
531  character sign, tab
+
532 
+
533  ! Capture the various elements characteristics
+
534 
+
535  nemo = card( 3:10)
+
536  scal = card(14:17)
+
537  refr = card(21:31)
+
538  bitw = card(35:37)
+
539  unit = card(41:64)
+
540  ! Make sure the units are all capitalized
+
541  call capit(unit)
+
542 
+
543  ! Find the element tag in Table B. Note that an entry for this mnemonic should already exist within the internal
+
544  ! BUFR Table B array tabb(*,lun). We now need to retrieve the positional index for that entry within tabb(*,lun)
+
545  ! so that we can access the entry and then add the scale factor, reference value, bit width, and units to it.
+
546 
+
547  call nemtab(lun,nemo,idsn,tab,iele)
+
548  if(tab/='B') then
+
549  write(bort_str1,'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
+
550  write(bort_str2,'(18X,"MNEMONIC ",A," IS NOT A TABLE B ENTRY (UNDEFINED, TAB=",A,")")') nemo,tab
+
551  call bort2(bort_str1,bort_str2)
+
552  endif
+
553 
+
554  ! Left justify and store characteristics
+
555 
+
556  unit = adjustl(unit)
+
557  if(unit==' ') then
+
558  write(bort_str1,'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
+
559  write(bort_str2,'(18X,"UNITS FIELD IS EMPTY")')
+
560  call bort2(bort_str1,bort_str2)
+
561  endif
+
562  tabb(iele,lun)(71:94) = unit
+
563 
+
564  scal_orig=scal
+
565  call jstnum(scal,sign,iret)
+
566  if(iret/=0) then
+
567  write(bort_str1,'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
+
568  write(bort_str2,'(18X,"PARSED SCALE VALUE (=",A,") IS NOT NUMERIC")') scal_orig
+
569  call bort2(bort_str1,bort_str2)
+
570  endif
+
571  tabb(iele,lun)(95:95) = sign
+
572  tabb(iele,lun)(96:98) = scal(1:3)
+
573 
+
574  refr_orig=refr
+
575  call jstnum(refr,sign,iret)
+
576  if(iret/=0) then
+
577  write(bort_str1,'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
+
578  write(bort_str2,'(18X,"PARSED REFERENCE VALUE (=",A,") IS NOT NUMERIC")') refr_orig
+
579  call bort2(bort_str1,bort_str2)
+
580  endif
+
581  tabb(iele,lun)( 99: 99) = sign
+
582  tabb(iele,lun)(100:109) = refr(1:10)
+
583 
+
584  bitw_orig=bitw
+
585  call jstnum(bitw,sign,iret)
+
586  if(iret/=0 .or. sign=='-') then
+
587  write(bort_str1,'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
+
588  write(bort_str2,'(18X,"PARSED BIT WIDTH VALUE (=",A,") IS NOT NUMERIC")') bitw_orig
+
589  call bort2(bort_str1,bort_str2)
+
590  endif
+
591  tabb(iele,lun)(110:112) = bitw
+
592 
+
593  return
+
594 end subroutine elemdx
+
595 
+
605 subroutine dxinit(lun,ioi)
+
606 
+
607  use modv_vars, only: idnr
+
608 
+
609  use moda_tababd
+
610 
+
611  implicit none
+
612 
+
613  integer, intent(in) :: lun, ioi
+
614  integer ibct, ipd1, ipd2, ipd3, ipd4, ninib, ninid, n, i, iret, ifxy
+
615 
+
616  character*8 inib(6,5),inid(5)
+
617  character*6 adn30
+
618 
+
619  common /padesc/ ibct, ipd1, ipd2, ipd3, ipd4
+
620 
+
621  data inib /'------','BYTCNT ','BYTES ','+0','+0','16', &
+
622  '------','BITPAD ','NONE ','+0','+0','1 ', &
+
623  '031000','DRF1BIT ','NUMERIC','+0','+0','1 ', &
+
624  '031001','DRF8BIT ','NUMERIC','+0','+0','8 ', &
+
625  '031002','DRF16BIT','NUMERIC','+0','+0','16'/
+
626  data ninib /5/
+
627 
+
628  data inid /' ', &
+
629  'DRP16BIT', &
+
630  'DRP8BIT ', &
+
631  'DRPSTAK ', &
+
632  'DRP1BIT '/
+
633  data ninid /5/
+
634 
+
635  ! Clear out a table partition
+
636 
+
637  ntba(lun) = 0
+
638  do i=1,ntba(0)
+
639  taba(i,lun) = ' '
+
640  mtab(i,lun) = 0
+
641  enddo
+
642 
+
643  ntbb(lun) = 0
+
644  do i=1,ntbb(0)
+
645  tabb(i,lun) = ' '
+
646  enddo
+
647 
+
648  ntbd(lun) = 0
+
649  do i=1,ntbd(0)
+
650  tabd(i,lun) = ' '
+
651  call pktdd(i,lun,0,iret)
+
652  enddo
+
653 
+
654  if(ioi==0) return
+
655 
+
656  ! Initialize table with apriori Table B and D entries
+
657 
+
658  inib(1,1) = adn30(ibct,6)
+
659  inib(1,2) = adn30(ipd4,6)
+
660 
+
661  do i=1,ninib
+
662  ntbb(lun) = ntbb(lun)+1
+
663  idnb(i,lun) = ifxy(inib(1,i))
+
664  tabb(i,lun)( 1: 6) = inib(1,i)(1:6)
+
665  tabb(i,lun)( 7: 70) = inib(2,i)
+
666  tabb(i,lun)( 71: 94) = inib(3,i)
+
667  tabb(i,lun)( 95: 98) = inib(4,i)(1:4)
+
668  tabb(i,lun)( 99:109) = inib(5,i)
+
669  tabb(i,lun)(110:112) = inib(6,i)(1:3)
+
670  enddo
+
671 
+
672  do i=2,ninid
+
673  n = ntbd(lun)+1
+
674  idnd(n,lun) = idnr(i)
+
675  tabd(n,lun)(1: 6) = adn30(idnr(i),6)
+
676  tabd(n,lun)(7:70) = inid(i)
+
677  call pktdd(n,lun,idnr(1),iret)
+
678  call pktdd(n,lun,idnr(i+5),iret)
+
679  ntbd(lun) = n
+
680  enddo
+
681 
+
682  return
+
683 end subroutine dxinit
+
684 
+
696 subroutine dxmini(mbay,mbyt,mb4,mba,mbb,mbd)
+
697 
+
698  use modv_vars, only: mxmsgld4
+
699 
+
700  implicit none
+
701 
+
702  integer, intent(out) :: mbay(*), mbyt, mb4, mba, mbb, mbd
+
703  integer maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30, mtyp, msbt, mbit, ih, id, im, iy, i, nsub, idxs, ldxs, &
+
704  nby0, nby1, nby2, nby3, nby4, nby5, iupm
+
705 
+
706  character*128 bort_str
+
707  character*56 dxstr
+
708 
+
709  common /dxtab/ maxdx, idxv, nxstr(10), ldxa(10), ldxb(10), ldxd(10), ld30(10), dxstr(10)
+
710 
+
711  msbt = idxv
+
712 
+
713  ! Initialize the message
+
714 
+
715  mbit = 0
+
716  do i=1,mxmsgld4
+
717  mbay(i) = 0
+
718  enddo
+
719 
+
720  ! For DX table messages, the Section 1 date is simply zeroed out. Note that there is logic in function idxmsg()
+
721  ! which relies on this.
+
722  ih = 0
+
723  id = 0
+
724  im = 0
+
725  iy = 0
+
726 
+
727  mtyp = 11 ! DX table messages are always type 11, per WMO BUFR Table A
+
728  nsub = 1
+
729 
+
730  idxs = idxv+1
+
731  ldxs = nxstr(idxs)
+
732 
+
733  nby0 = 8
+
734  nby1 = 18
+
735  nby2 = 0
+
736  nby3 = 7 + nxstr(idxs) + 1
+
737  nby4 = 7
+
738  nby5 = 4
+
739  mbyt = nby0+nby1+nby2+nby3+nby4+nby5
+
740 
+
741  if(mod(nby3,2)/=0) call bort ('BUFRLIB: DXMINI - LENGTH OF SECTION 3 IS NOT A MULTIPLE OF 2')
+
742 
+
743  ! Section 0
+
744 
+
745  call pkc('BUFR' , 4 , mbay,mbit)
+
746  call pkb( mbyt , 24 , mbay,mbit)
+
747  call pkb( 3 , 8 , mbay,mbit)
+
748 
+
749  ! Section 1
+
750 
+
751  call pkb( nby1 , 24 , mbay,mbit)
+
752  call pkb( 0 , 8 , mbay,mbit)
+
753  call pkb( 3 , 8 , mbay,mbit)
+
754  call pkb( 7 , 8 , mbay,mbit)
+
755  call pkb( 0 , 8 , mbay,mbit)
+
756  call pkb( 0 , 8 , mbay,mbit)
+
757  call pkb( mtyp , 8 , mbay,mbit)
+
758  call pkb( msbt , 8 , mbay,mbit)
+
759  call pkb( 36 , 8 , mbay,mbit)
+
760  call pkb( idxv , 8 , mbay,mbit)
+
761  call pkb( iy , 8 , mbay,mbit)
+
762  call pkb( im , 8 , mbay,mbit)
+
763  call pkb( id , 8 , mbay,mbit)
+
764  call pkb( ih , 8 , mbay,mbit)
+
765  call pkb( 0 , 8 , mbay,mbit)
+
766  call pkb( 0 , 8 , mbay,mbit)
+
767 
+
768  ! Section 3
+
769 
+
770  call pkb( nby3 , 24 , mbay,mbit)
+
771  call pkb( 0 , 8 , mbay,mbit)
+
772  call pkb( 1 , 16 , mbay,mbit)
+
773  call pkb( 2**7 , 8 , mbay,mbit)
+
774  do i=1,ldxs
+
775  call pkb(iupm(dxstr(idxs)(i:i),8),8,mbay,mbit)
+
776  enddo
+
777  call pkb( 0 , 8 , mbay,mbit)
+
778 
+
779  ! Section 4
+
780 
+
781  mb4 = mbit/8+1
+
782  call pkb( nby4 , 24 , mbay,mbit)
+
783  call pkb( 0 , 8 , mbay,mbit)
+
784  mba = mbit/8+1
+
785  call pkb( 0 , 8 , mbay,mbit)
+
786  mbb = mbit/8+1
+
787  call pkb( 0 , 8 , mbay,mbit)
+
788  mbd = mbit/8+1
+
789  call pkb( 0 , 8 , mbay,mbit)
+
790 
+
791  if(mbit/8+nby5/=mbyt) then
+
792  write(bort_str,'("BUFRLIB: DXMINI - NUMBER OF BYTES STORED FOR '// &
+
793  'A MESSAGE (",I6,") IS NOT THE SAME AS FIRST CALCULATED, MBYT (",I6)') mbit/8+nby5,mbyt
+
794  call bort(bort_str)
+
795  endif
+
796 
+
797  return
+
798 end subroutine dxmini
+
799 
+
811 subroutine writdx(lunit,lun,lundx)
+
812 
+
813  implicit none
+
814 
+
815  integer, intent(in) :: lunit, lun, lundx
+
816 
+
817  character*128 bort_str
+
818 
+
819  ! The table must be coming from an input file
+
820 
+
821  if(lunit==lundx) then
+
822  write(bort_str,'("BUFRLIB: WRITDX - FILES CONTAINING BUFR DATA '// &
+
823  'AND DICTIONARY TABLE CANNOT BE THE SAME (HERE BOTH SHARE FORTRAN UNIT NUMBER ",I3,")")') lunit
+
824  call bort(bort_str)
+
825  endif
+
826 
+
827  ! Must first call readdx() to generate internal dictionary table arrays, before calling wrdxtb()
+
828 
+
829  call readdx(lunit,lun,lundx)
+
830  call wrdxtb(lunit,lunit)
+
831 
+
832  return
+
833 end subroutine writdx
+
834 
+
849 recursive subroutine wrdxtb(lundx,lunot)
+
850 
+
851  use modv_vars, only: im8b
+
852 
+
853  use moda_tababd
+
854  use moda_mgwa
+
855 
+
856  implicit none
+
857 
+
858  integer, intent(in) :: lundx, lunot
+
859  integer maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30, my_lundx, my_lunot, ldx, lot, il, im, lda, ldb, ldd, l30, nseq, &
+
860  mbit, mbyt, mby4, mbya, mbyb, mbyd, i, j, jj, idn, lend, len0, len1, len2, l3, l4, l5, iupb, iupm
+
861 
+
862  common /dxtab/ maxdx, idxv, nxstr(10), ldxa(10), ldxb(10), ldxd(10), ld30(10), dxstr(10)
+
863 
+
864  character*56 dxstr
+
865  character*6 adn30
+
866 
+
867  logical msgfull
+
868 
+
869  ! Check for I8 integers
+
870 
+
871  if(im8b) then
+
872  im8b=.false.
+
873 
+
874  call x84(lundx,my_lundx,1)
+
875  call x84(lunot,my_lunot,1)
+
876  call wrdxtb(my_lundx,my_lunot)
+
877 
+
878  im8b=.true.
+
879  return
+
880  endif
+
881 
+
882  ! Check file statuses
+
883 
+
884  call status(lunot,lot,il,im)
+
885  if(il==0) call bort('BUFRLIB: WRDXTB - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
+
886  if(il<0) call bort('BUFRLIB: WRDXTB - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
+
887 
+
888  call status(lundx,ldx,il,im)
+
889  if(il==0) call bort('BUFRLIB: WRDXTB - DX TABLE FILE IS CLOSED, IT MUST BE OPEN')
+
890 
+
891  ! If files are different, copy internal table information from lundx to lunot
+
892 
+
893  if(lundx/=lunot) call cpbfdx(ldx,lot)
+
894 
+
895  ! Generate and write out BUFR dictionary messages to lunot
+
896 
+
897  call dxmini(mgwa,mbyt,mby4,mbya,mbyb,mbyd)
+
898 
+
899  lda = ldxa(idxv+1)
+
900  ldb = ldxb(idxv+1)
+
901  ldd = ldxd(idxv+1)
+
902  l30 = ld30(idxv+1)
+
903 
+
904  ! Table A information
+
905 
+
906  do i=1,ntba(lot)
+
907  if(msgfull(mbyt,lda,maxdx).or.(iupb(mgwa,mbya,8)==255)) then
+
908  call msgwrt(lunot,mgwa,mbyt)
+
909  call dxmini(mgwa,mbyt,mby4,mbya,mbyb,mbyd)
+
910  endif
+
911  mbit = 8*(mby4-1)
+
912  call pkb(iupb(mgwa,mby4,24)+lda,24,mgwa,mbit)
+
913  mbit = 8*(mbya-1)
+
914  call pkb(iupb(mgwa,mbya,8)+1,8,mgwa,mbit)
+
915  mbit = 8*(mbyb-1)
+
916  call pkc(taba(i,lot),lda,mgwa,mbit)
+
917  call pkb(0,8,mgwa,mbit)
+
918  call pkb(0,8,mgwa,mbit)
+
919  mbyt = mbyt+lda
+
920  mbyb = mbyb+lda
+
921  mbyd = mbyd+lda
+
922  enddo
+
923 
+
924  ! Table B information
+
925 
+
926  do i=1,ntbb(lot)
+
927  if(msgfull(mbyt,ldb,maxdx).or.(iupb(mgwa,mbyb,8)==255)) then
+
928  call msgwrt(lunot,mgwa,mbyt)
+
929  call dxmini(mgwa,mbyt,mby4,mbya,mbyb,mbyd)
+
930  endif
+
931  mbit = 8*(mby4-1)
+
932  call pkb(iupb(mgwa,mby4,24)+ldb,24,mgwa,mbit)
+
933  mbit = 8*(mbyb-1)
+
934  call pkb(iupb(mgwa,mbyb,8)+1,8,mgwa,mbit)
+
935  mbit = 8*(mbyd-1)
+
936  call pkc(tabb(i,lot),ldb,mgwa,mbit)
+
937  call pkb(0,8,mgwa,mbit)
+
938  mbyt = mbyt+ldb
+
939  mbyd = mbyd+ldb
+
940  enddo
+
941 
+
942  ! Table D information
+
943 
+
944  do i=1,ntbd(lot)
+
945  nseq = iupm(tabd(i,lot)(ldd+1:ldd+1),8)
+
946  lend = ldd+1 + l30*nseq
+
947  if(msgfull(mbyt,lend,maxdx).or.(iupb(mgwa,mbyd,8)==255)) then
+
948  call msgwrt(lunot,mgwa,mbyt)
+
949  call dxmini(mgwa,mbyt,mby4,mbya,mbyb,mbyd)
+
950  endif
+
951  mbit = 8*(mby4-1)
+
952  call pkb(iupb(mgwa,mby4,24)+lend,24,mgwa,mbit)
+
953  mbit = 8*(mbyd-1)
+
954  call pkb(iupb(mgwa,mbyd,8)+1,8,mgwa,mbit)
+
955  mbit = 8*(mbyt-4)
+
956  call pkc(tabd(i,lot),ldd,mgwa,mbit)
+
957  call pkb(nseq,8,mgwa,mbit)
+
958  do j=1,nseq
+
959  jj = ldd+2 + (j-1)*2
+
960  idn = iupm(tabd(i,lot)(jj:jj),16)
+
961  call pkc(adn30(idn,l30),l30,mgwa,mbit)
+
962  enddo
+
963  mbyt = mbyt+lend
+
964  enddo
+
965 
+
966  ! Write the unwritten (leftover) message.
+
967 
+
968  call msgwrt(lunot,mgwa,mbyt)
+
969 
+
970  ! Write out one additional (dummy) DX message containing zero subsets. This will serve as a delimiter for this set of
+
971  ! table messages within output unit lunot, just in case the next thing written to lunot ends up being another set of
+
972  ! table messages.
+
973 
+
974  call dxmini(mgwa,mbyt,mby4,mbya,mbyb,mbyd)
+
975  call getlens(mgwa,2,len0,len1,len2,l3,l4,l5)
+
976  mbit = (len0+len1+len2+4)*8
+
977  call pkb(0,16,mgwa,mbit)
+
978  call msgwrt(lunot,mgwa,mbyt)
+
979 
+
980  return
+
981 end subroutine wrdxtb
+
982 
+
989 subroutine stbfdx(lun,mesg)
+
990 
+
991  use modv_vars, only: maxcd
+
992 
+
993  use moda_tababd
+
994 
+
995  implicit none
+
996 
+
997  integer, intent(in) :: lun, mesg(*)
+
998  integer maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30, ldxbd(10), ldxbe(10), ja, jb, idxs, i3, i, j, n, nd, ndd, idn, &
+
999  jbit, len0, len1, len2, len3, l4, l5, lda, ldb, ldd, ldbd, ldbe, l30, ia, la, ib, lb, id, ld, iret, &
+
1000  ifxy, iupb, iupbs01, igetntbi, idn30
+
1001 
+
1002  character*128 bort_str
+
1003  character*128 tabb1, tabb2
+
1004  character*56 dxstr
+
1005  character*55 cseq
+
1006  character*50 dxcmp
+
1007  character*24 unit
+
1008  character*8 nemo
+
1009  character*6 numb, cidn
+
1010 
+
1011  common /dxtab/ maxdx, idxv, nxstr(10), ldxa(10), ldxb(10), ldxd(10), ld30(10), dxstr(10)
+
1012 
+
1013  data ldxbd /38, 70, 8*0/
+
1014  data ldxbe /42, 42, 8*0/
+
1015 
+
1016  ! Statement functions
+
1017  ja(i) = ia+1+lda*(i-1)
+
1018  jb(i) = ib+1+ldb*(i-1)
+
1019 
+
1020  ! Get some preliminary information from the message
+
1021 
+
1022  idxs = iupbs01(mesg,'MSBT')+1
+
1023  if(idxs>idxv+1) idxs = iupbs01(mesg,'MTVL')+1
+
1024  if(ldxa(idxs)==0 .or. ldxb(idxs)==0 .or. ldxd(idxs)==0) call bort('BUFRLIB: STBFDX - UNEXPECTED DICTIONARY '// &
+
1025  'MESSAGE SUBTYPE OR LOCAL VERSION NUMBER (E.G., L.V.N. HIGHER THAN KNOWN)')
+
1026 
+
1027  call getlens(mesg,3,len0,len1,len2,len3,l4,l5)
+
1028  i3 = len0+len1+len2
+
1029  dxcmp = ' '
+
1030  jbit = 8*(i3+7)
+
1031  call upc(dxcmp,nxstr(idxs),mesg,jbit,.false.)
+
1032  if(dxcmp/=dxstr(idxs)) call bort('BUFRLIB: STBFDX - UNEXPECTED DICTIONARY MESSAGE CONTENTS')
+
1033 
+
1034  ! Section 4 - read definitions for Tables A, B and D
+
1035 
+
1036  lda = ldxa(idxs)
+
1037  ldb = ldxb(idxs)
+
1038  ldd = ldxd(idxs)
+
1039  ldbd = ldxbd(idxs)
+
1040  ldbe = ldxbe(idxs)
+
1041  l30 = ld30(idxs)
+
1042 
+
1043  ia = i3+len3+5
+
1044  la = iupb(mesg,ia,8)
+
1045  ib = ja(la+1)
+
1046  lb = iupb(mesg,ib,8)
+
1047  id = jb(lb+1)
+
1048  ld = iupb(mesg,id,8)
+
1049 
+
1050  ! Table A
+
1051 
+
1052  do i=1,la
+
1053  n = igetntbi(lun,'A')
+
1054  jbit = 8*(ja(i)-1)
+
1055  call upc(taba(n,lun),lda,mesg,jbit,.true.)
+
1056  numb = ' '//taba(n,lun)(1:3)
+
1057  nemo = taba(n,lun)(4:11)
+
1058  cseq = taba(n,lun)(13:67)
+
1059  call stntbia(n,lun,numb,nemo,cseq)
+
1060  enddo
+
1061 
+
1062  ! Table B
+
1063 
+
1064  do i=1,lb
+
1065  n = igetntbi(lun,'B')
+
1066  jbit = 8*(jb(i)-1)
+
1067  call upc(tabb1,ldbd,mesg,jbit,.true.)
+
1068  jbit = 8*(jb(i)+ldbd-1)
+
1069  call upc(tabb2,ldbe,mesg,jbit,.true.)
+
1070  tabb(n,lun) = tabb1(1:ldxbd(idxv+1))//tabb2(1:ldxbe(idxv+1))
+
1071  numb = tabb(n,lun)(1:6)
+
1072  nemo = tabb(n,lun)(7:14)
+
1073  call nenubd(nemo,numb,lun)
+
1074  idnb(n,lun) = ifxy(numb)
+
1075  unit = tabb(n,lun)(71:94)
+
1076  call capit(unit)
+
1077  tabb(n,lun)(71:94) = unit
+
1078  ntbb(lun) = n
+
1079  enddo
+
1080 
+
1081  ! Table D
+
1082 
+
1083  do i=1,ld
+
1084  n = igetntbi(lun,'D')
+
1085  jbit = 8*id
+
1086  call upc(tabd(n,lun),ldd,mesg,jbit,.true.)
+
1087  numb = tabd(n,lun)(1:6)
+
1088  nemo = tabd(n,lun)(7:14)
+
1089  call nenubd(nemo,numb,lun)
+
1090  idnd(n,lun) = ifxy(numb)
+
1091  nd = iupb(mesg,id+ldd+1,8)
+
1092  if(nd>maxcd) then
+
1093  write(bort_str,'("BUFRLIB: STBFDX - NUMBER OF DESCRIPTORS IN '// &
+
1094  'TABLE D ENTRY ",A," IN BUFR TABLE (",I4,") EXCEEDS THE LIMIT (",I4,")")') nemo,nd,maxcd
+
1095  call bort(bort_str)
+
1096  endif
+
1097  do j=1,nd
+
1098  ndd = id+ldd+2 + (j-1)*l30
+
1099  jbit = 8*(ndd-1)
+
1100  call upc(cidn,l30,mesg,jbit,.true.)
+
1101  idn = idn30(cidn,l30)
+
1102  call pktdd(n,lun,idn,iret)
+
1103  if(iret<0) call bort('BUFRLIB: STBFDX - BAD RETURN FROM BUFRLIB ROUTINE PKTDD, SEE PREVIOUS WARNING MESSAGE')
+
1104  enddo
+
1105  id = id+ldd+1 + nd*l30
+
1106  if(iupb(mesg,id+1,8)==0) id = id+1
+
1107  ntbd(lun) = n
+
1108  enddo
+
1109 
+
1110  return
+
1111 end subroutine stbfdx
+
1112 
+
1122 integer function idxmsg( mesg ) result( iret )
+
1123 
+
1124  implicit none
+
1125 
+
1126  integer, intent(in) :: mesg(*)
+
1127  integer iupbs01
+
1128 
+
1129  ! Note that the following test relies upon logic within subroutine dxmini() which zeroes out the Section 1 date of
+
1130  ! all DX dictionary messages.
+
1131 
+
1132  if ( (iupbs01(mesg,'MTYP')==11) .and. &
+
1133  (iupbs01(mesg,'MNTH')==0) .and. (iupbs01(mesg,'DAYS')==0) .and. (iupbs01(mesg,'HOUR')==0) ) then
+
1134  iret = 1
+
1135  else
+
1136  iret = 0
+
1137  end if
+
1138 
+
1139  return
+
1140 end function idxmsg
+
1141 
+
1152 integer function igetntbi ( lun, ctb ) result(iret)
+
1153 
+
1154  use moda_tababd
+
1155 
+
1156  implicit none
+
1157 
+
1158  integer, intent(in) :: lun
+
1159  integer imax
+
1160 
+
1161  character, intent(in) :: ctb
+
1162  character*128 bort_str
+
1163 
+
1164  if ( ctb == 'A' ) then
+
1165  iret = ntba(lun) + 1
+
1166  imax = ntba(0)
+
1167  else if ( ctb == 'B' ) then
+
1168  iret = ntbb(lun) + 1
+
1169  imax = ntbb(0)
+
1170  else ! ctb == 'D'
+
1171  iret = ntbd(lun) + 1
+
1172  imax = ntbd(0)
+
1173  endif
+
1174  if ( iret > imax ) then
+
1175  write(bort_str,'("BUFRLIB: IGETNTBI - NUMBER OF INTERNAL TABLE",A1," ENTRIES EXCEEDS THE LIMIT (",I4,")")') ctb, imax
+
1176  call bort(bort_str)
+
1177  endif
+
1178 
+
1179  return
+
1180 end function igetntbi
+
1181 
+
1196 subroutine nemtbax(lun,nemo,mtyp,msbt,inod)
+
1197 
+
1198  use moda_tababd
+
1199 
+
1200  implicit none
+
1201 
+
1202  integer, intent(in) :: lun
+
1203  integer, intent(out) :: mtyp, msbt, inod
+
1204  integer i
+
1205 
+
1206  character*(*), intent(in) :: nemo
+
1207  character*128 bort_str
+
1208 
+
1209  inod = 0
+
1210 
+
1211  ! Look for nemo in Table A
+
1212 
+
1213  do i=1,ntba(lun)
+
1214  if(taba(i,lun)(4:11)==nemo) then
+
1215  mtyp = idna(i,lun,1)
+
1216  msbt = idna(i,lun,2)
+
1217  inod = mtab(i,lun)
+
1218  if(mtyp<0 .or. mtyp>255) then
+
1219  write(bort_str,'("BUFRLIB: NEMTBAX - INVALID MESSAGE TYPE (",I4,") RETURNED FOR MENMONIC ",A)') mtyp, nemo
+
1220  call bort(bort_str)
+
1221  endif
+
1222  if(msbt<0 .or. msbt>255) then
+
1223  write(bort_str,'("BUFRLIB: NEMTBAX - INVALID MESSAGE SUBTYPE (",I4,") RETURNED FOR MENMONIC ",A)') msbt, nemo
+
1224  call bort(bort_str)
+
1225  endif
+
1226  exit
+
1227  endif
+
1228  enddo
+
1229 
+
1230  return
+
1231 end subroutine nemtbax
+
1232 
+
1246 subroutine nemtba(lun,nemo,mtyp,msbt,inod)
+
1247 
+
1248  implicit none
+
1249 
+
1250  integer, intent(in) :: lun
+
1251  integer, intent(out) :: mtyp, msbt, inod
+
1252 
+
1253  character*(*), intent(in) :: nemo
+
1254  character*128 bort_str
+
1255 
+
1256  ! Look for nemo in Table A
+
1257 
+
1258  call nemtbax(lun,nemo,mtyp,msbt,inod)
+
1259  if(inod==0) then
+
1260  write(bort_str,'("BUFRLIB: NEMTBA - CAN''T FIND MNEMONIC ",A)') nemo
+
1261  call bort(bort_str)
+
1262  endif
+
1263 
+
1264  return
+
1265 end subroutine nemtba
+
1266 
+
1277 subroutine nemtbb(lun,itab,unit,iscl,iref,ibit)
+
1278 
+
1279  use moda_tababd
+
1280 
+
1281  implicit none
+
1282 
+
1283  integer, intent(in) :: lun, itab
+
1284  integer, intent(out) :: iscl, iref, ibit
+
1285  integer idn, ierns
+
1286 
+
1287  character*128 bort_str
+
1288  character*24, intent(out) :: unit
+
1289  character*8 nemo
+
1290 
+
1291  if(itab<=0 .or. itab>ntbb(lun)) then
+
1292  write(bort_str,'("BUFRLIB: NEMTBB - ITAB (",I7,") NOT FOUND IN TABLE B")') itab
+
1293  call bort(bort_str)
+
1294  endif
+
1295 
+
1296  ! Pull out Table B information
+
1297 
+
1298  idn = idnb(itab,lun)
+
1299  nemo = tabb(itab,lun)( 7:14)
+
1300  unit = tabb(itab,lun)(71:94)
+
1301  call strnum(tabb(itab,lun)( 95: 98),iscl,ierns)
+
1302  call strnum(tabb(itab,lun)( 99:109),iref,ierns)
+
1303  call strnum(tabb(itab,lun)(110:112),ibit,ierns)
+
1304 
+
1305  ! Check Table B contents
+
1306 
+
1307  if(unit(1:5)/='CCITT' .and. ibit>32) then
+
1308  write(bort_str,'("BUFRLIB: NEMTBB - BIT WIDTH FOR NON-CHARACTER TABLE B MNEMONIC ",A," (",I7,") IS > 32")') nemo,ibit
+
1309  call bort(bort_str)
+
1310  endif
+
1311  if(unit(1:5)=='CCITT' .and. mod(ibit,8)/=0) then
+
1312  write(bort_str,'("BUFRLIB: NEMTBB - BIT WIDTH FOR CHARACTER TABLE B MNEMONIC ",A," (",I7,") IS NOT A MULTIPLE OF 8")') &
+
1313  nemo,ibit
+
1314  call bort(bort_str)
+
1315  endif
+
1316 
+
1317  return
+
1318 end subroutine nemtbb
+
1319 
+
1345 subroutine nemtbd(lun,itab,nseq,nems,irps,knts)
+
1346 
+
1347  use modv_vars, only: maxcd
+
1348 
+
1349  use moda_tababd
+
1350 
+
1351  implicit none
+
1352 
+
1353  integer, intent(in) :: lun, itab
+
1354  integer, intent(out) :: nseq, irps(*), knts(*)
+
1355  integer i, j, ndsc, idsc, iret
+
1356 
+
1357  character*128 bort_str
+
1358  character*8, intent(out) :: nems(*)
+
1359  character*8 nemo, nemt, nemf
+
1360  character tab
+
1361 
+
1362  if(itab<=0 .or. itab>ntbd(lun)) then
+
1363  write(bort_str,'("BUFRLIB: NEMTBD - ITAB (",I7,") NOT FOUND IN TABLE D")') itab
+
1364  call bort(bort_str)
+
1365  endif
+
1366 
+
1367  ! Clear the return values
+
1368 
+
1369  nseq = 0
+
1370 
+
1371  do i=1,maxcd
+
1372  nems(i) = ' '
+
1373  irps(i) = 0
+
1374  knts(i) = 0
+
1375  enddo
+
1376 
+
1377  ! Parse the Table D entry
+
1378 
+
1379  nemo = tabd(itab,lun)(7:14)
+
1380  idsc = idnd(itab,lun)
+
1381  call uptdd(itab,lun,0,ndsc)
+
1382 
+
1383  ! Loop through each child mnemonic
+
1384 
+
1385  do j=1,ndsc
+
1386  if(nseq+1>maxcd) then
+
1387  write(bort_str,'("BUFRLIB: NEMTBD - THERE ARE MORE THAN '// &
+
1388  '(",I4,") DESCRIPTORS (THE LIMIT) IN TABLE D SEQUENCE MNEMONIC ",A)') maxcd, nemo
+
1389  call bort(bort_str)
+
1390  endif
+
1391  call uptdd(itab,lun,j,idsc)
+
1392  call numtab(lun,idsc,nemt,tab,iret)
+
1393  if(tab=='R') then
+
1394  if(iret<0) then
+
1395  ! Regular (i.e. non-delayed) replication
+
1396  irps(nseq+1) = 1
+
1397  knts(nseq+1) = abs(iret)
+
1398  elseif(iret>0) then
+
1399  ! Delayed replication
+
1400  irps(nseq+1) = iret
+
1401  endif
+
1402  elseif(tab=='F') then
+
1403  ! Replication factor
+
1404  irps(nseq+1) = iret
+
1405  elseif(tab=='D'.or.tab=='C') then
+
1406  nseq = nseq+1
+
1407  nems(nseq) = nemt
+
1408  elseif(tab=='B') then
+
1409  nseq = nseq+1
+
1410  if((nemt(1:1)=='.').and.(j<ndsc)) then
+
1411  ! This is a "following value" mnemonic
+
1412  call uptdd(itab,lun,j+1,idsc)
+
1413  call numtab(lun,idsc,nemf,tab,iret)
+
1414  call rsvfvm(nemt,nemf)
+
1415  endif
+
1416  nems(nseq) = nemt
+
1417  endif
+
1418  enddo
+
1419 
+
1420  return
+
1421 end subroutine nemtbd
+
1422 
+
1445 recursive subroutine nemdefs ( lunit, nemo, celem, cunit, iret )
+
1446 
+
1447  use modv_vars, only: im8b
+
1448 
+
1449  use moda_tababd
+
1450 
+
1451  implicit none
+
1452 
+
1453  integer, intent(in) :: lunit
+
1454  integer, intent(out) :: iret
+
1455  integer my_lunit, lun, il, im, idn, iloc, ls
+
1456 
+
1457  character*(*), intent(in) :: nemo
+
1458  character*(*), intent(out) :: celem, cunit
+
1459  character tab
+
1460 
+
1461  ! Check for I8 integers.
+
1462 
+
1463  if(im8b) then
+
1464  im8b=.false.
+
1465  call x84 ( lunit, my_lunit, 1 )
+
1466  call nemdefs ( my_lunit, nemo, celem, cunit, iret )
+
1467  call x48 ( iret, iret, 1 )
+
1468  im8b=.true.
+
1469  return
+
1470  endif
+
1471 
+
1472  iret = -1
+
1473 
+
1474  ! Get lun from lunit.
+
1475 
+
1476  call status( lunit, lun, il, im )
+
1477  if ( il == 0 ) return
+
1478 
+
1479  ! Find the requested mnemonic in the internal Table B arrays.
+
1480 
+
1481  call nemtab( lun, nemo, idn, tab, iloc )
+
1482  if ( ( iloc == 0 ) .or. ( tab /= 'B' ) ) return
+
1483 
+
1484  ! Get the element name and units of the requested mnemonic.
+
1485 
+
1486  celem = ' '
+
1487  ls = min(len(celem),55)
+
1488  celem(1:ls) = tabb(iloc,lun)(16:15+ls)
+
1489 
+
1490  cunit = ' '
+
1491  ls = min(len(cunit),24)
+
1492  cunit(1:ls) = tabb(iloc,lun)(71:70+ls)
+
1493 
+
1494  iret = 0
+
1495 
+
1496  return
+
1497 end subroutine nemdefs
+
1498 
+
1513 subroutine nenubd(nemo,numb,lun)
+
1514 
+
1515  use moda_tababd
+
1516 
+
1517  implicit none
+
1518 
+
1519  character, intent(in) :: nemo*8, numb*6
+
1520  character*128 bort_str
+
1521 
+
1522  integer, intent(in) :: lun
+
1523  integer n
+
1524 
+
1525  do n=1,ntbb(lun)
+
1526  if(numb==tabb(n,lun)(1:6)) then
+
1527  write(bort_str,'("BUFRLIB: NENUBD - TABLE B FXY VALUE (",A,") HAS ALREADY BEEN DEFINED (DUPLICATE)")') numb
+
1528  call bort(bort_str)
+
1529  endif
+
1530  if(nemo==tabb(n,lun)(7:14)) then
+
1531  write(bort_str,'("BUFRLIB: NENUBD - TABLE B MNEMONIC (",A,") HAS ALREADY BEEN DEFINED (DUPLICATE)")') nemo
+
1532  call bort(bort_str)
+
1533  endif
+
1534  enddo
+
1535 
+
1536  do n=1,ntbd(lun)
+
1537  if(numb==tabd(n,lun)(1:6)) then
+
1538  write(bort_str,'("BUFRLIB: NENUBD - TABLE D FXY VALUE (",A,") HAS ALREADY BEEN DEFINED (DUPLICATE)")') numb
+
1539  call bort(bort_str)
+
1540  endif
+
1541  if(nemo==tabd(n,lun)(7:14)) then
+
1542  write(bort_str,'("BUFRLIB: NENUBD - TABLE D MNEMONIC (",A,") HAS ALREADY BEEN DEFINED (DUPLICATE)")') nemo
+
1543  call bort(bort_str)
+
1544  endif
+
1545  enddo
+
1546 
+
1547  return
+
1548 end subroutine nenubd
+
1549 
+
1559 subroutine stntbia ( n, lun, numb, nemo, celsq )
+
1560 
+
1561  use moda_tababd
+
1562 
+
1563  implicit none
+
1564 
+
1565  integer, intent(in) :: n, lun
+
1566  integer i, mtyp, msbt
+
1567 
+
1568  character*(*), intent(in) :: numb, nemo, celsq
+
1569  character*128 bort_str
+
1570 
+
1571  ! Confirm that neither nemo nor numb has already been defined within the internal BUFR Table A for the given lun.
+
1572 
+
1573  do i=1,ntba(lun)
+
1574  if(numb(4:6)==taba(i,lun)(1:3)) then
+
1575  write(bort_str,'("BUFRLIB: STNTBIA - TABLE A FXY VALUE (",A,") HAS ALREADY BEEN DEFINED (DUPLICATE)")') numb
+
1576  call bort(bort_str)
+
1577  endif
+
1578  if(nemo(1:8)==taba(i,lun)(4:11)) then
+
1579  write(bort_str,'("BUFRLIB: STNTBIA - TABLE A MNEMONIC (",A,") HAS ALREADY BEEN DEFINED (DUPLICATE)")') nemo
+
1580  call bort(bort_str)
+
1581  endif
+
1582  enddo
+
1583 
+
1584  ! Store the values within the internal BUFR Table A.
+
1585 
+
1586  taba(n,lun)(1:3) = numb(4:6)
+
1587  taba(n,lun)(4:11) = nemo(1:8)
+
1588  taba(n,lun)(13:67) = celsq(1:55)
+
1589 
+
1590  ! Decode and store the message type and subtype.
+
1591 
+
1592  if ( verify( nemo(3:8), '1234567890' ) == 0 ) then
+
1593  ! Message type & subtype obtained directly from Table A mnemonic
+
1594  read ( nemo,'(2X,2I3)') mtyp, msbt
+
1595  idna(n,lun,1) = mtyp
+
1596  idna(n,lun,2) = msbt
+
1597  else
+
1598  ! Message type obtained from Y value of Table A seq. descriptor
+
1599  read ( numb(4:6),'(I3)') idna(n,lun,1)
+
1600  ! Message subtype hardwired to zero
+
1601  idna(n,lun,2) = 0
+
1602  endif
+
1603 
+
1604  ! Update the count of internal Table A entries.
+
1605 
+
1606  ntba(lun) = n
+
1607 
+
1608  return
+
1609 end subroutine stntbia
+
1610 
+
1620 subroutine stntbi ( n, lun, numb, nemo, celsq )
+
1621 
+
1622  use moda_tababd
+
1623 
+
1624  implicit none
+
1625 
+
1626  integer, intent(in) :: n, lun
+
1627  integer ifxy
+
1628 
+
1629  character*(*), intent(in) :: numb, nemo, celsq
+
1630 
+
1631  call nenubd ( nemo, numb, lun )
+
1632 
+
1633  if ( numb(1:1) == '0') then
+
1634  idnb(n,lun) = ifxy(numb)
+
1635  tabb(n,lun)(1:6) = numb(1:6)
+
1636  tabb(n,lun)(7:14) = nemo(1:8)
+
1637  tabb(n,lun)(16:70) = celsq(1:55)
+
1638  ntbb(lun) = n
+
1639  else ! numb(1:1) == '3'
+
1640  idnd(n,lun) = ifxy(numb)
+
1641  tabd(n,lun)(1:6) = numb(1:6)
+
1642  tabd(n,lun)(7:14) = nemo(1:8)
+
1643  tabd(n,lun)(16:70) = celsq(1:55)
+
1644  ntbd(lun) = n
+
1645  endif
+
1646 
+
1647  return
+
1648 end subroutine stntbi
+
1649 
+
1665 subroutine pktdd(id,lun,idn,iret)
+
1666 
+
1667  use modv_vars, only: maxcd
+
1668 
+
1669  use moda_tababd
+
1670 
+
1671  implicit none
+
1672 
+
1673  integer, intent(in) :: id, lun, idn
+
1674  integer, intent(out) :: iret
+
1675  integer maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30, iprt, ldd, nd, idm, iupm
+
1676 
+
1677  character*128 errstr
+
1678  character*56 dxstr
+
1679 
+
1680  common /dxtab/ maxdx, idxv, nxstr(10), ldxa(10), ldxb(10), ldxd(10), ld30(10), dxstr(10)
+
1681  common /quiet/ iprt
+
1682 
+
1683  ! ldd points to the byte within tabd(id,lun) which contains (in packed integer format) a count of the number of child
+
1684  ! mnemonics stored thus far for this parent mnemonic.
+
1685  ldd = ldxd(idxv+1)+1
+
1686 
+
1687  ! Zero the counter if idn is zero
+
1688  if(idn==0) then
+
1689  call ipkm(tabd(id,lun)(ldd:ldd),1,0)
+
1690  iret = 0
+
1691  return
+
1692  endif
+
1693 
+
1694  ! Update the stored descriptor count for this Table D entry. nd is the (unpacked) count of the number of child mnemonics
+
1695  ! stored thus far for this parent mnemonic.
+
1696  nd = iupm(tabd(id,lun)(ldd:ldd),8)
+
1697 
+
1698  if(nd<0 .or. nd==maxcd) then
+
1699  if(iprt>=0) then
+
1700  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
+
1701  if(nd<0) then
+
1702  write ( unit=errstr, fmt='(A,I4,A)' ) 'BUFRLIB: PKTDD - BAD COUNTER VALUE (=', nd, ') - RETURN WITH IRET = -1'
+
1703  else
+
1704  write ( unit=errstr, fmt='(A,I4,A,A)' ) 'BUFRLIB: PKTDD - MAXIMUM NUMBER OF CHILD MNEMONICS (=', &
+
1705  maxcd, ') ALREADY STORED FOR THIS PARENT - RETURN WITH IRET = -1'
+
1706  endif
+
1707  call errwrt(errstr)
+
1708  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
+
1709  call errwrt(' ')
+
1710  endif
+
1711  iret = -1
+
1712  return
+
1713  else
+
1714  nd = nd+1
+
1715  call ipkm(tabd(id,lun)(ldd:ldd),1,nd)
+
1716  iret = nd
+
1717  endif
+
1718 
+
1719  ! Pack and store the descriptor. idm points to the starting byte within tabd(id,lun) at which the idn value for this
+
1720  ! child mnemonic will be stored (as a packed integer of width = 2 bytes).
+
1721  idm = ldd+1 + (nd-1)*2
+
1722  call ipkm(tabd(id,lun)(idm:idm),2,idn)
+
1723 
+
1724  return
+
1725 end subroutine pktdd
+
1726 
+
1740 subroutine uptdd(id,lun,ient,iret)
+
1741 
+
1742  use moda_tababd
+
1743 
+
1744  implicit none
+
1745 
+
1746  integer, intent(in) :: id, lun, ient
+
1747  integer, intent(out) :: iret
+
1748  integer maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30, ldd, ndsc, idsc, iupm
+
1749 
+
1750  character*128 bort_str
+
1751  character*56 dxstr
+
1752 
+
1753  common /dxtab/ maxdx, idxv, nxstr(10), ldxa(10), ldxb(10), ldxd(10), ld30(10), dxstr(10)
+
1754 
+
1755  ! Check if ient is in bounds
+
1756 
+
1757  ldd = ldxd(idxv+1)+1
+
1758  ndsc = iupm(tabd(id,lun)(ldd:ldd),8)
+
1759  if(ient==0) then
+
1760  iret = ndsc
+
1761  return
+
1762  elseif(ient<0 .or. ient>ndsc) then
+
1763  write(bort_str,'("BUFRLIB: UPTDD - VALUE OF THIRD ARGUMENT IENT (INPUT) IS OUT OF RANGE (IENT =",I4,")")') ient
+
1764  call bort(bort_str)
+
1765  endif
+
1766 
+
1767  ! Return the descriptor indicated by ient
+
1768 
+
1769  idsc = ldd+1 + (ient-1)*2
+
1770  iret = iupm(tabd(id,lun)(idsc:idsc),16)
+
1771 
+
1772  return
+
1773 end subroutine uptdd
+
1774 
+
1794 subroutine rsvfvm(nem1,nem2)
+
1795 
+
1796  implicit none
+
1797 
+
1798  character*8, intent(inout) :: nem1
+
1799  character*8, intent(in) :: nem2
+
1800 
+
1801  integer i, j
+
1802 
+
1803  do i=1,len(nem1)
+
1804  if(i==1) then
+
1805  ! Skip the initial ".", and initialize J.
+
1806  j = 1
+
1807  else
+
1808  if(nem1(i:i)=='.') then
+
1809  nem1(i:i) = nem2(j:j)
+
1810  j = j+1
+
1811  endif
+
1812  endif
+
1813  enddo
+
1814 
+
1815  return
+
1816 end subroutine rsvfvm
+
subroutine bort(str)
Log an error message, then abort the application program.
Definition: borts.F90:15
+
subroutine bort2(str1, str2)
Log two error messages, then abort the application program.
Definition: borts.F90:39
+
recursive integer function iupb(mbay, nbyt, nbit)
Decode an integer value from within a specified number of bits of an integer array,...
Definition: cidecode.F90:226
+
recursive integer function iupm(cbay, nbits)
Decode an integer value from within a specified number of bits of a character string,...
Definition: cidecode.F90:265
+
subroutine upc(chr, nchr, ibay, ibit, cnvnull)
Decode a character string from within a specified number of bytes of an integer array,...
Definition: cidecode.F90:26
+
subroutine pkc(chr, nchr, ibay, ibit)
Encode a character string within a specified number of bytes of an integer array, starting at the bit...
Definition: ciencode.F90:25
+
recursive subroutine ipkm(cbay, nbyt, n)
Encode an integer value within a specified number of bytes of a character string, up to a maximum of ...
Definition: ciencode.F90:194
+
subroutine pkb(nval, nbits, ibay, ibit)
Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
Definition: ciencode.F90:140
+
subroutine cpbfdx(lud, lun)
Copy all of the DX BUFR table information from one unit to another within internal memory.
Definition: copydata.F90:678
+
subroutine elemdx(card, lun)
Decode the scale factor, reference value, bit width and units (i.e., the "elements") from a Table B m...
Definition: dxtable.F90:516
+
subroutine nemtbb(lun, itab, unit, iscl, iref, ibit)
Get information about a Table B descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1278
+
subroutine dxmini(mbay, mbyt, mb4, mba, mbb, mbd)
Initialize a DX BUFR tables (dictionary) message, writing all the preliminary information into Sectio...
Definition: dxtable.F90:697
+
subroutine nemtba(lun, nemo, mtyp, msbt, inod)
Get information about a Table A descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1247
+
subroutine rdusdx(lundx, lun)
Read and parse a file containing a user-supplied DX BUFR table in character format,...
Definition: dxtable.F90:197
+
subroutine rsvfvm(nem1, nem2)
Process a "following value" mnemonic.
Definition: dxtable.F90:1795
+
subroutine seqsdx(card, lun)
Decode the Table D sequence information from a mnemonic definition card that was previously read from...
Definition: dxtable.F90:333
+
recursive subroutine wrdxtb(lundx, lunot)
Generate one or more BUFR messages from the DX BUFR tables information associated with a given BUFR f...
Definition: dxtable.F90:850
+
subroutine nemtbax(lun, nemo, mtyp, msbt, inod)
Get information about a Table A descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1197
+
subroutine nemtbd(lun, itab, nseq, nems, irps, knts)
Get information about a Table D descriptor from the internal DX BUFR tables.
Definition: dxtable.F90:1346
+
subroutine stntbi(n, lun, numb, nemo, celsq)
Store a new entry within internal BUFR Table B or D.
Definition: dxtable.F90:1621
+
subroutine pktdd(id, lun, idn, iret)
Store information about a child mnemonic within the internal BUFR Table D.
Definition: dxtable.F90:1666
+
subroutine stntbia(n, lun, numb, nemo, celsq)
Store a new entry within internal BUFR Table A.
Definition: dxtable.F90:1560
+
subroutine stbfdx(lun, mesg)
Copy a DX BUFR tables message into the internal memory arrays in module moda_tababd.
Definition: dxtable.F90:990
+
subroutine writdx(lunit, lun, lundx)
Write DX BUFR table (dictionary) messages to the beginning of an output BUFR file in lunit.
Definition: dxtable.F90:812
+
recursive subroutine nemdefs(lunit, nemo, celem, cunit, iret)
Get the element name and units associated with a Table B descriptor.
Definition: dxtable.F90:1446
+
integer function igetntbi(lun, ctb)
Get the next available index for storing an entry within a specified internal DX BUFR table.
Definition: dxtable.F90:1153
+
subroutine readdx(lunit, lun, lundx)
Initialize modules moda_tababd and moda_msgcwd with DX BUFR (dictionary) tables.
Definition: dxtable.F90:29
+
subroutine dxinit(lun, ioi)
Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally init...
Definition: dxtable.F90:606
+
subroutine nenubd(nemo, numb, lun)
Confirm that a mnemonic and FXY value haven't already been defined.
Definition: dxtable.F90:1514
+
integer function idxmsg(mesg)
Check whether a BUFR message contains DX BUFR tables information that was generated by the NCEPLIBS-b...
Definition: dxtable.F90:1123
+
subroutine uptdd(id, lun, ient, iret)
Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D s...
Definition: dxtable.F90:1741
+
subroutine rdbfdx(lunit, lun)
Beginning at the current file pointer location within lunit, read a complete DX BUFR table into inter...
Definition: dxtable.F90:121
+
subroutine errwrt(str)
Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
Definition: errwrt.F90:32
+
subroutine nemtab(lun, nemo, idn, tab, iret)
Get information about a descriptor, based on a mnemonic.
Definition: fxy.F90:432
+
subroutine numtab(lun, idn, nemo, tab, iret)
Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
Definition: fxy.F90:357
+
character *(*) function adn30(idn, ldn)
Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.
Definition: fxy.F90:18
+ + +
subroutine jstnum(str, sign, iret)
Left-justify a character string containing an encoded integer, by removing all leading blanks and any...
Definition: misc.F90:303
+
recursive subroutine strnum(str, num, iret)
Decode an integer from a character string.
Definition: misc.F90:177
+
subroutine capit(str)
Capitalize all of the alphabetic characters in a string.
Definition: misc.F90:355
+
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
Definition: bufrlib.F90:11
+
Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
+
integer, dimension(:), allocatable mgwa
Temporary working copy of BUFR message.
+
Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
+
integer, dimension(:), allocatable ntba
Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
+
character *600, dimension(:,:), allocatable tabd
Table D entries for each file ID.
+
character *128, dimension(:,:), allocatable taba
Table A entries for each file ID.
+
integer, dimension(:,:), allocatable mtab
Entries within jump/link table corresponding to taba.
+
integer, dimension(:,:,:), allocatable idna
Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
+
integer, dimension(:), allocatable ntbd
Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
+
integer, dimension(:), allocatable ntbb
Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
+
integer, dimension(:,:), allocatable idnd
WMO bit-wise representations of the FXY values corresponding to tabd.
+
integer, dimension(:,:), allocatable idnb
WMO bit-wise representations of the FXY values corresponding to tabb.
+
character *128, dimension(:,:), allocatable tabb
Table B entries for each file ID.
+
recursive subroutine status(lunit, lun, il, im)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
+
logical function msgfull(msiz, itoadd, mxsiz)
Check whether the current data subset in the internal arrays will fit within the current BUFR message...
+
recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
Read the section lengths of a BUFR message, up to a specified point in the message.
+
subroutine rdmsgw(lunit, mesg, iret)
Read the next BUFR message from logical unit lunit as an array of integer words.
+
subroutine msgwrt(lunit, mesg, mgbyt)
Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical u...
+
recursive integer function iupbs01(mbay, s01mnem)
Read a specified value from within Section 0 or Section 1 of a BUFR message.
Definition: s013vals.F90:247
+
subroutine parstr(str, tags, mtag, ntag, sep, limit80)
Parse a string containing one or more substrings into an array of substrings.
Definition: strings.F90:473
+
subroutine x48(iin4, iout8, nval)
Encode one or more 4-byte integer values as 8-byte integer values.
Definition: x4884.F90:18
+
subroutine x84(iin8, iout4, nval)
Encode one or more 8-byte integer values as 4-byte integer values.
Definition: x4884.F90:65
+
+
+ + + + diff --git a/errwrt_8F90.html b/errwrt_8F90.html new file mode 100644 index 000000000..38f7b8c4e --- /dev/null +++ b/errwrt_8F90.html @@ -0,0 +1,157 @@ + + + + + + + +NCEPLIBS-bufr: errwrt.F90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
errwrt.F90 File Reference
+
+
+ +

Specify location for logging of error and diagnostic messages. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Functions/Subroutines

subroutine errwrt (str)
 Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-bufr software. More...
 
+

Detailed Description

+

Specify location for logging of error and diagnostic messages.

+
Author
J. Ator
+
Date
2009-04-21
+ +

Definition in file errwrt.F90.

+

Function/Subroutine Documentation

+ +

◆ errwrt()

+ +
+
+ + + + + + + + +
subroutine errwrt (character*(*), intent(in) str)
+
+ +

Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-bufr software.

+

By default, all such messages are printed to standard output. However, if a user would like to direct such messages elsewhere, this can be done by providing an inline version of this subroutine, using the same calling sequence shown below, in order to override the default version of this subroutine contained within the NCEPLIBS-bufr distribution package. The user does not need to explicitly call this subroutine from within the application code, since the NCEPLIBS-bufr software automatically issues an internal call to errwrt when needed. Instead, the user simply needs to define his or her own version of this subroutine with the same name and calling sequence and include it within the compilation, and then the input string str can be logged or handled in any way of the user's choosing.

+
Parameters
+ + +
str- Error message or other diagnostic to be printed to standard output (default) or to another location (if specified via an inline replacement version of this subroutine)
+
+
+
Remarks
    +
  • The amount and types of diagnostic messages generated for logging can be controlled via a separate call to subroutine openbf() with io = 'QUIET'.
  • +
+
+
Author
J. Ator
+
Date
2009-04-21
+ +

Definition at line 31 of file errwrt.F90.

+ +

Referenced by arallocf(), bort(), bort2(), cktaba(), closbf(), cpdxmm(), cpyupd(), datebf(), dumpbf(), hold4wlc(), igetprm(), invcon(), invtag(), invwin(), ireadmt(), isetprm(), jstnum(), makestab(), maxout(), mrginv(), msgupd(), msgwrt(), mtfnam(), nvnwin(), openbf(), openbt(), pktdd(), rcstpl(), rdbfdx(), rdmemm(), rdmems(), rdmsgw(), readdx(), readerme(), readlc(), readmg(), reads3(), status(), ufbevn(), ufbin3(), ufbint(), ufbmem(), ufbmex(), ufbovr(), ufbrep(), ufbrms(), ufbrw(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), usrtpl(), and writlc().

+ +
+
+
+
+ + + + diff --git a/errwrt_8F90.js b/errwrt_8F90.js new file mode 100644 index 000000000..8e92fbb41 --- /dev/null +++ b/errwrt_8F90.js @@ -0,0 +1,4 @@ +var errwrt_8F90 = +[ + [ "errwrt", "errwrt_8F90.html#a9c4c22af6c77235db8ddd7f41594f543", null ] +]; \ No newline at end of file diff --git a/errwrt_8F90_source.html b/errwrt_8F90_source.html new file mode 100644 index 000000000..6b7597e87 --- /dev/null +++ b/errwrt_8F90_source.html @@ -0,0 +1,112 @@ + + + + + + + +NCEPLIBS-bufr: errwrt.F90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-bufr +  12.1.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
errwrt.F90
+
+
+Go to the documentation of this file.
1 
+
5 
+
31 subroutine errwrt(str)
+
32 
+
33  implicit none
+
34 
+
35  character*(*), intent(in) :: str
+
36 
+
37  print'(1x,a)',str
+
38 
+
39  return
+
40 end subroutine errwrt
+
subroutine errwrt(str)
Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
Definition: errwrt.F90:32
+
+
+ + + + diff --git a/files.html b/files.html index bec53fab4..23530e06c 100644 --- a/files.html +++ b/files.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -88,282 +88,62 @@
Here is a list of all documented files with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 adn30.fConvert a WMO bit-wise representation of an FXY value to a character string of length 5 or 6
 arallocc.cDynamically allocate C language arrays
 arallocf.fDynamically allocate Fortran language arrays
 ardllocc.cFree all dynamically-allocated memory within internal C language arrays
 ardllocf.fFree all dynamically-allocated memory within internal Fortran language arrays
 atrcpt.fAdd a tank receipt time to a BUFR message
 bfrini.f90Initialize global variables and arrays within internal memory
 binv.f90Produce an inventory of subsets in a bufr file
 blocks.fEncapsulate a BUFR message with IEEE Fortran control words
 bort.fLog one error message and abort application program
 bort2.fLog two error messages and abort application program
 bort_exit.cAbort the application program
 bufr_c2f_interface.F90Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C
 bufr_interface.F90Enable a number of C NCEPLIBS-bufr functions to be called from within Fortran application programs
 bufr_interface.hEnable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs
 bufrlib.F90Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library
 bufrlib.hEnable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library
 bvers.fGet the version number of the NCEPLIBS-bufr software
 cadn30.fConvert an FXY value from its WMO bit-wise representation to its six-character representation
 capit.fCapitalize a character string
 cfe.cC language interface for processing master Code/Flag table entries
 chekstab.fCheck that an internal BUFR table representation is self-consistent and fully defined
 cktaba.fParse the Table A mnemonic and date out of Section 1 of a BUFR message
 closbf.fClose a previously opened file and disconnect it from the NCEPLIBS-bufr software
 closmg.fClose and write the current message to a BUFR file that was previously opened for writing
 cmpbqm.F90Print inventory of observations from prepbufr file by variable, report type and quality mark
 cmpmsg.fSpecify the use of compression when writing BUFR messages
 cmsgini.fInitialize a new compressed BUFR message for output
 cnved4.fConvert a BUFR edition 3 message to BUFR edition 4
 codflg.fSpecify inclusion of code and flag tables when reading master BUFR tables
 conwin.fSearch consecutive subset buffer segments for an element identified in the user string as a conditional node
 copybf.fCopy an entire BUFR file
 copymg.fCopy a BUFR message from one file to another
 copysb.fCopy a BUFR data subset
 cpbfdx.fCopy DX BUFR table information within internal memory
 cpdxmm.fRead embedded DX BUFR table into internal arrays
 cpmstabs.cCopy master Table B and Table D information from Fortran arrays to C arrays within internal memory
 cpymem.fCopy a BUFR message
 cpyupd.fCopy a BUFR data subset
 cread.cC language interface for reading or writing BUFR messages
 cread.hDeclare variables for reading or writing BUFR messages via a C language interface
 crwbmg.cC language interface for reading or writing BUFR messages
 datebf.fRead the Section 1 date-time from the first data message of a BUFR file
 datelen.fSpecify format of Section 1 date-time when reading BUFR messages
 debufr.cC language code for debufr utility
 debufr.F90Fortran language code for debufr utility
 digit.fCheck whether the characters in a string are all numeric
 drfini.fInitialize replication factors for delayed replication sequences
 drstpl.fSearch for a specified mnemonic within unexpanded sequences of the internal jump/link table
 dumpbf.fRead the Section 1 date-time from the first two "dummy" messages of an NCEP dump file
 dxdump.fPrint the contents of a DX BUFR table
 dxinit.fInitialize the internal arrays which contain the DX BUFR table
 dxmini.fInitialize a DX BUFR tables message
 elemdx.fDecode the scale factor, reference value, bit width, and units from a Table B mnemonic definition
 errwrt.fSpecify location for logging of error and diagnostic messages
 exitbufr.fReset the NCEPLIBS-bufr software for potential dynamic reallocation of memory
 fortran_close.F90Close a Fortran file on the local system
 fortran_open.F90Open a Fortran file on the local system
 fstag.fSearch for a specified occurrence of a specified mnemonic within a data subset definition, starting from a specified location
 getabdb.fGet Table B and Table D information from the internal DX BUFR tables
 getbmiss.fGet the current placeholder value for "missing" data
 getcfmng.fDecode the meaning of a numerical value from a code or flag table
 getlens.fRead the section lengths of a BUFR message
 getntbe.fRead the first line of the next entry from a master table B, table D or Code/Flag table file
 gets1loc.fGet the location of a specified value within Section 1 of a BUFR message
 gettab.f90Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout
 gettagpr.fGet the parent for a specified occurrence of a Table B or Table D mnemonic
 gettagre.fCheck whether a Table B mnemonic references another Table B mnemonic via an internal bitmap
 gettbh.fRead the header lines from a master table B, table D or Code/Flag table
 getvalnb.fRead one data value from a data subset
 getwin.fLook for a window containing a specified node within the internal jump/link table
 hold4wlc.fWrite a long character string (greater than 8 bytes) to a data subset
 i4dy.fConvert a date-time with a 2-digit year to a date-time with a 4-digit year
 ibfms.fTest whether a real*8 data value is "missing"
 icbfms.fTest whether a character string is "missing"
 icmpdx.fCheck whether two BUFR files have the same DX BUFR table information
 icopysb.fCopy a BUFR data subset
 icvidx.cCompute a unique 1-dimensional array index from 2-dimensional indices
 idn30.fConvert an FXY value from a character string to the WMO bit-wise representation
 idxmsg.fCheck whether a BUFR message contains DX BUFR tables information
 ifbget.fCheck whether there are any more data subsets available to be read from a BUFR message
 ifxy.fConvert an FXY value from its six character representation to its WMO bit-wise representation
 igetdate.fRead the date-time from Section 1 of a BUFR message
 igetfxy.fSearch for a valid FXY number within a character string
 igetmxby.fGet the maximum length of a BUFR message that can be written to an output file
 igetntbi.fGet the next index for storing an entry within an internal DX BUFR table
 igetntbl.fRead the next line from a master table B, table D or Code/Flag table file
 igetprm.fGet the current value of a parameter
 igetrfel.fCheck whether a specified element refers to a previous element within the same subset via an internal bitmap
 igetsc.fCheck for an abnormal status code associated with the processing of a file
 igettdi.fGet the next usable Table D index for the current master table, or reset the index
 imrkopr.fCheck whether a mnemonic is a Table C marker operator
 inctab.fGet the next available positional index for writing into the internal jump/link table
 invcon.fSearch a specified window for a conditional node
 invmrg.fMerge parts of data subsets
 invtag.fSearch for a specified mnemonic within a specified portion of the current data subset
 invwin.fSearch for a specified node within a specified portion of the current data subset
 iok2cpy.fCheck whether a BUFR message or data subset can be copied from one BUFR file to another
 iokoper.fCheck whether a mnemonic is a Table C operator
 ipkm.fEncode an integer value within a character string
 ipks.fPack a real*8 value into an integer by applying the proper scale and reference values
 ireadmg.fRead the next message from a BUFR file that was previously opened for reading
 ireadmm.fRead a BUFR message from internal arrays
 ireadmt.fCheck whether master BUFR tables need to be read from the local file system
 ireadns.fRead the next data subset from a BUFR file that was previously opened for reading
 ireadsb.fRead the next data subset from a BUFR message
 irev.FReturn a copy of an input integer word with the bytes reversed
 isetprm.fDefine a customized parameter value for dynamic allocation
 ishrdx.fCheck whether two BUFR files are sharing the same DX BUFR table
 isize.fCompute the number of characters needed to encode an integer as a string
 istdesc.fCheck whether a descriptor is WMO-standard
 iupb.fDecode an integer value from an integer array
 iupbs01.fRead a data value from Section 0 or Section 1 of a BUFR message
 iupbs3.fRead a data value from Section 3 of a BUFR message
 iupm.fDecode an integer value from a character string
 iupvs01.fRead a data value from Section 0 or Section 1 of a BUFR message
 jstnum.fLeft-justify a character string containing an encoded integer
 lcmgdf.fCheck for the existence of any long character strings (greater than 8 bytes) within a data subset definition
 lmsg.fDetermine the array size needed to store a BUFR message
 lstjpb.fSearch backwards from a specified node of the jump/link table for a node of a specified type
 makestab.fBuild the internal jump/link table
 maxout.fDefine a customized maximum length for output BUFR messages
 mesgbc.fGet information about a BUFR message
 mesgbf.fGet information about a BUFR message
 minimg.fWrite a minutes value into Section 1 of a BUFR message
 modules_arrs.F90Declare module arrays
 modules_vars.F90Declare and initialize module variables
 mrginv.fPrint a summary of merge activity
 msgfull.fCheck whether a data subset will fit within a BUFR message
 msgini.fInitialize a new uncompressed BUFR message for output
 msgupd.fWrite an uncompressed BUFR data subset
 msgwrt.fFinalize a BUFR message for output and write the message to a BUFR file
 mstabs.hDeclare variables for internal storage of master Table B and Table D entries
 mtfnam.fDetermine filenames and check for the existence of corresponding standard and local master table files on the filesystem
 mtinfo.fSpecify location of master BUFR tables on local file system
 mvb.fCopy a specified number of bytes from one packed binary array to another
 nemdefs.fGet the element name and units associated with a Table B mnemonic
 nemock.fCheck the validity of a mnemonic
 nemspecs.fGet the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic
 nemtab.fGet information about a descriptor, based on the mnemonic
 nemtba.fSearch for a Table A descriptor within the internal DX BUFR tables
 nemtbax.fSearch for a Table A descriptor within the internal DX BUFR tables
 nemtbb.fGet information about a Table B descriptor
 nemtbd.fGet information about a Table D descriptor
 nenubd.fConfirm that a mnemonic and FXY value haven't already been defined
 nevn.fSearch for stacked data events within a specified portion of the current data subset
 newwin.fComputes the ending index of the window
 nmsub.fGet the number of data subsets from a BUFR message
 nmwrd.fDetermine the array size needed to store a BUFR message
 numbck.fCheck the validity of an FXY value
 numtab.fGet information about a descriptor, based on the WMO bit-wise representation of an FXY value
 numtbd.fSearch for a Table B or Table D descriptor within the internal DX BUFR tables
 nvnwin.fSearch for all occurrences of a specified node within a specified portion of the current data subset
 nwords.fCompute the length of a delayed replication sequence
 nxtwin.fComputes the start and end indices of the next window
 openbf.fConnect a new file to the library, or initialize the library, or change verbosity associated with already-connected file
 openbt.fSpecify DX BUFR table file of last resort
 openmb.fOpen a new message for output in a BUFR file that was previously opened for writing
 openmg.fOpen a new message for output in a BUFR file that was previously opened for writing
 pad.fPad a BUFR data subset with zeroed-out bits up to the next byte boundary
 padmsg.fPad a BUFR message with zeroed-out bytes up to the next 8-byte boundary
 parstr.fParse a string containing one or more substrings into an array of substrings
 parusr.fInitate the process to parse out mnemonics from a character string
 parutg.fParse a mnemonic from a character string
 pkb.fEncode an integer value within an integer array
 pkb8.fEncode an 8-byte integer value within an integer array
 pkbs1.fWrite a data value into Section 1 of a BUFR message
 pkc.fEncode a character string within an integer array
 pkftbv.fDetermine the numerical data value equivalent to the setting of a specified bit within a flag table
 pktdd.fStore information about a child mnemonic within the internal arrays
 pkvs01.fSpecify a value to be included in Section 0 or Section 1 when writing BUFR messages
 posapx.fPosition an output BUFR file for appending
 rcstpl.fStore the subset template into internal arrays
 rdbfdx.fRead a complete DX BUFR table
 rdcmps.fRead the next compressed BUFR data subset into internal arrays
 rdmemm.fRead a specified BUFR message from internal arrays
 rdmems.fRead a specified data subset from a BUFR message
 rdmgsb.fRead a specified data subset from a BUFR file
 rdmsgw.F90Read a BUFR message
 rdmtbb.fRead master Table B information from local file system
 rdmtbd.fRead master Table D information from local file system
 rdmtbf.fRead master Code/Flag table information from local file system
 rdtree.fRead the next uncompressed BUFR data subset into internal arrays
 rdusdx.fRead a complete DX BUFR table
 readbp.F90Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time
 readdx.fRead DX BUFR table information into internal arrays
 readerme.fRead a BUFR message from a memory array
 readlc.fRead a long character string (greater than 8 bytes) from a data subset
 readmg.fRead the next message from a BUFR file that was previously opened for reading
 readmm.fRead a specified BUFR message from internal arrays
 readmp.F90Read BUFR file containing embedded DX BUFR tables, and print each report one at a time
 readns.fRead the next data subset from a BUFR file that was previously opened for reading
 reads3.fRead the Section 3 descriptors from a BUFR message
 readsb.fRead the next data subset from a BUFR message
 restd.cStandardize a local Table D descriptor
 rewnbf.fStore or restore parameters associated with a BUFR file
 rsvfvm.fProcess a "following value" mnemonic
 rtrcpt.fRead the tank receipt time from Section 1 of a BUFR message
 rtrcptb.fRead the tank receipt time from Section 1 of a BUFR message
 seqsdx.fDecode the sequence information from a Table D mnemonic definition
 setblock.fSpecify the use of IEEE Fortran control words when writing BUFR messages
 setbmiss.fDefine a customized placeholder value for "missing" data
 setim8b.F90Use 8-byte integer arguments to BUFRLIB subprograms from Fortran
 setvalnb.fWrite one data value to a data subset
 sinv.f90Produces a BUFR file inventory by satellite type
 sntbbe.fStore a master Table B entry into Fortran arrays
 sntbde.fStore a master Table D entry into Fortran arrays
 sntbfe.fStore a master Code/Flag table entry into internal memory
 split_by_subset.f90Split a BUFR file into separate BUFR files by subset type
 status.fCheck whether a file is connected to the NCEPLIBS-bufr software
 stbfdx.fStore a DX BUFR tables message into internal arrays
 stdmsg.fSpecify the use of standardization when writing BUFR messages
 stndrd.fStandardize a BUFR message
 stntbi.fStore a new entry within the internal BUFR Table B or D
 stntbia.fStore a new entry within the internal BUFR Table A
 strbtm.fStore information about a bitmap element
 strcln.fReset the string cache
 strcpt.fSpecify a tank receipt time to be included in Section 1 when writing BUFR messages
 string.fCheck whether a string is in the string cache
 strnum.F90Decode an integer from a character string
 strsuc.F90Remove leading and trailing blanks from a character string
 stseq.cStore information about a standard Table D descriptor within internal DX BUFR tables
 tabent.fStore an entry for a Table B or D mnemonic within the internal jump/link table
 tabsub.fStore an entry for a Table A mnemonic within the internal jump/link table
 trybump.fTry to expand a delayed replication sequence
 ufbcnt.fGet the current message number and data subset number within a BUFR file
 ufbcpy.fCopy a BUFR data subset
 ufbcup.fCopy unique elements of a data subset
 ufbdmp.fPrint the contents of a data subset
 ufbevn.fRead one or more data values from an NCEP prepbufr file
 ufbget.fRead one or more data values from a data subset
 ufbin3.fRead one or more data values from an NCEP prepfits file
 ufbint.fRead/write one or more data values from/to a data subset
 ufbinx.fRead one or more data values from a data subset
 ufbmem.fConnect a new file to the NCEPLIBS-bufr software, and read the entire file contents into internal arrays
 ufbmex.fConnect a new file to the BUFRLIB software, and read the entire file contents into internal arrays
 ufbmms.fRead a specified data subset from internal arrays
 ufbmns.fRead a specified data subset from internal arrays
 ufbovr.fOverwrite one or more data values within a data subset
 ufbpos.fJump forwards or backwards to a specified data subset within a BUFR file
 ufbqcd.fGet the event program code associated with a Table D mnemonic from an NCEP prepbufr file
 ufbqcp.fGet the Table D mnemonic associated with an event program code from an NCEP prepbufr file
 ufbrep.fRead/write one or more data values from/to a data subset
 ufbrms.fRead one or more data values from a data subset in internal arrays
 ufbrp.fRead/write one or more data values from/to a data subset
 ufbrw.fRead/write one or more data values from/to a data subset
 ufbseq.fRead/write an entire sequence of data values from/to a data subset
 ufbsp.fRead/write one or more data values from/to a data subset
 ufbstp.fRead/write one or more data values from/to a data subset
 ufbtab.fRead one or more data values from every data subset in a BUFR file
 ufbtam.fRead one or more data values from every data subset in internal arrays
 ufdump.fPrint the contents of a data subset
 up8.fDecode an 8-byte integer value from an integer array
 upb.fDecode an integer value from an integer array
 upb8.fDecode an 8-byte integer value from an integer array
 upbb.fDecode an integer value from an integer array
 upc.fDecode a character string from an integer array
 upds3.fRead data descriptors from Section 3 of a BUFR message
 upftbv.fDetermine the bit settings equivalent to a numerical flag table value
 ups.fUnpack a real*8 value from an integer by applying the proper scale and reference values
 uptdd.fGet the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D sequence
 usrtpl.fStore the subset template into internal arrays
 wrcmps.fWrite a compressed BUFR data subset
 wrdesc.cMaintain an array of descriptors
 wrdlen.FDetermine important information about the local machine
 wrdxtb.fWrite DX BUFR tables messages to a BUFR file
 writcp.fWrite a data subset into a BUFR message using compression
 writdx.fWrite DX BUFR tables messages to the beginning of a BUFR file
 writlc.fWrite a long character string (greater than 8 bytes) to a data subset
 writsa.fWrite a data subset into a BUFR message, and return each completed message within a memory array
 writsb.fWrite a data subset into a BUFR message
 wrtree.fPack a BUFR data subset
 wtstat.fUpdate file status in library internals
 x48.FEncode one or more 4-byte integer values as 8-byte integer values
 x84.FEncode one or more 8-byte integer values as 4-byte integer values
 xbfmg.cSplit a BUFR file into separate BUFR files by message
 apxdx.F90Append a specified DX BUFR table to a specified BUFR file
 arallocc.cAllocate or deallocate C language arrays
 arallocf.F90Allocate or deallocate Fortran language arrays
 binv.F90Produce an inventory of subsets in a bufr file
 bitmaps.F90Process bitmaps within BUFR messages
 blocks.F90Block BUFR messages with IEEE Fortran control words
 borts.F90Log one or more error messages and abort application program
 bufr_c2f_interface.F90Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C
 bufr_interface.F90Enable a number of C NCEPLIBS-bufr functions to be called from within Fortran application programs
 bufr_interface.hEnable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs
 bufrlib.F90Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library
 bufrlib.hEnable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library
 cfe.cC language interface for processing master Code/Flag table entries
 cftbvs.F90Convert between code or flag table values and actual data values
 cidecode.F90Decode character strings and integer values
 ciencode.F90Encode character strings and integer values
 cmpbqm.F90Print inventory of observations from prepbufr file by variable, report type and quality mark
 compress.F90Read or write compressed BUFR messages
 copydata.F90Copy data between BUFR files or messages
 cpmstabs.cCopy master Table B and Table D information from Fortran arrays to C arrays within internal memory
 cread.cC language interface for reading or writing BUFR messages
 cread.hDeclare variables for reading or writing BUFR messages via a C language interface
 crwbmg.cC language interface for reading or writing BUFR messages
 debufr.cC language code for debufr utility
 debufr.F90Fortran language code for debufr utility
 dumpdata.F90Print the contents of a data subset or DX BUFR table
 dxtable.F90Read or write DX BUFR table information
 errwrt.F90Specify location for logging of error and diagnostic messages
 fxy.F90Process FXY values, including converting between character and WMO bit-wise representations
 gettab.F90Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout
 icvidx.cCompute a unique 1-dimensional array index from 2-dimensional indices
 jumplink.F90Read or write jump/link table information
 mastertable.F90Read or write master table information
 memmsgs.F90Read and process BUFR messages within internal memory arrays
 misc.F90Miscellaneous subroutines and functions
 missing.F90Test for "missing" data values
 modules_arrs.F90Declare module arrays
 modules_vars.F90Declare and initialize module variables
 mstabs.hDeclare variables for internal storage of master Table B and Table D entries
 openbt.F90Specify DX BUFR table file of last resort
 openclosebf.F90Open or close a file to the library
 readbp.F90Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time
 readmp.F90Read BUFR file containing embedded DX BUFR tables, and print each report one at a time
 readwritemg.F90Read or write a BUFR message
 readwritesb.F90Read or write a BUFR data subset
 readwriteval.F90Read or write data values within a BUFR data subset
 restd.cStandardize a local Table D descriptor
 s013vals.F90Read and write data values within Sections 0, 1, and 3 of BUFR messages
 sinv.F90Produces a BUFR file inventory by satellite type
 split_by_subset.F90Split a BUFR file into separate BUFR files by subset type
 standard.F90Write WMO-standard BUFR messages
 strings.F90Process mnemonic strings
 stseq.cStore information about a standard Table D descriptor within internal DX BUFR tables
 tankrcpt.F90Read and write tank receipt times within BUFR messages
 x4884.F90Convert between 4-byte integers and 8-byte integers
 xbfmg.cSplit a BUFR file into separate BUFR files by message
diff --git a/files_dup.js b/files_dup.js index b4a6c3d67..518500e4b 100644 --- a/files_dup.js +++ b/files_dup.js @@ -1,17 +1,12 @@ var files_dup = [ - [ "adn30.f", "adn30_8f.html", "adn30_8f" ], + [ "apxdx.F90", "apxdx_8F90.html", "apxdx_8F90" ], [ "arallocc.c", "arallocc_8c.html", "arallocc_8c" ], - [ "arallocf.f", "arallocf_8f.html", "arallocf_8f" ], - [ "ardllocc.c", "ardllocc_8c.html", "ardllocc_8c" ], - [ "ardllocf.f", "ardllocf_8f.html", "ardllocf_8f" ], - [ "atrcpt.f", "atrcpt_8f.html", "atrcpt_8f" ], - [ "bfrini.f90", "bfrini_8f90.html", "bfrini_8f90" ], - [ "binv.f90", "binv_8f90.html", "binv_8f90" ], - [ "blocks.f", "blocks_8f.html", "blocks_8f" ], - [ "bort.f", "bort_8f.html", "bort_8f" ], - [ "bort2.f", "bort2_8f.html", "bort2_8f" ], - [ "bort_exit.c", "bort__exit_8c.html", "bort__exit_8c" ], + [ "arallocf.F90", "arallocf_8F90.html", "arallocf_8F90" ], + [ "binv.F90", "binv_8F90.html", "binv_8F90" ], + [ "bitmaps.F90", "bitmaps_8F90.html", "bitmaps_8F90" ], + [ "blocks.F90", "blocks_8F90.html", "blocks_8F90" ], + [ "borts.F90", "borts_8F90.html", "borts_8F90" ], [ "bufr_c2f_interface.F90", "bufr__c2f__interface_8F90.html", "bufr__c2f__interface_8F90" ], [ "bufr_interface.F90", "bufr__interface_8F90.html", [ [ "ccbfl_c", "interfacebufr__interface_1_1ccbfl__c.html", "interfacebufr__interface_1_1ccbfl__c" ], @@ -25,7 +20,6 @@ var files_dup = [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html", "interfacebufrlib_1_1arallocc__c" ], [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html", "interfacebufrlib_1_1ardllocc__c" ], [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html", "interfacebufrlib_1_1backbufr__c" ], - [ "bort_exit_c", "interfacebufrlib_1_1bort__exit__c.html", "interfacebufrlib_1_1bort__exit__c" ], [ "cewind_c", "interfacebufrlib_1_1cewind__c.html", "interfacebufrlib_1_1cewind__c" ], [ "closfb_c", "interfacebufrlib_1_1closfb__c.html", "interfacebufrlib_1_1closfb__c" ], [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html", "interfacebufrlib_1_1cpmstabs__c" ], @@ -43,263 +37,48 @@ var files_dup = [ "stseq_c", "interfacebufrlib_1_1stseq__c.html", "interfacebufrlib_1_1stseq__c" ] ] ], [ "bufrlib.h", "bufrlib_8h.html", "bufrlib_8h" ], - [ "bvers.f", "bvers_8f.html", "bvers_8f" ], - [ "cadn30.f", "cadn30_8f.html", "cadn30_8f" ], - [ "capit.f", "capit_8f.html", "capit_8f" ], [ "cfe.c", "cfe_8c.html", "cfe_8c" ], - [ "chekstab.f", "chekstab_8f.html", "chekstab_8f" ], - [ "cktaba.f", "cktaba_8f.html", "cktaba_8f" ], - [ "closbf.f", "closbf_8f.html", "closbf_8f" ], - [ "closmg.f", "closmg_8f.html", "closmg_8f" ], + [ "cftbvs.F90", "cftbvs_8F90.html", "cftbvs_8F90" ], + [ "cidecode.F90", "cidecode_8F90.html", "cidecode_8F90" ], + [ "ciencode.F90", "ciencode_8F90.html", "ciencode_8F90" ], [ "cmpbqm.F90", "cmpbqm_8F90.html", "cmpbqm_8F90" ], - [ "cmpmsg.f", "cmpmsg_8f.html", "cmpmsg_8f" ], - [ "cmsgini.f", "cmsgini_8f.html", "cmsgini_8f" ], - [ "cnved4.f", "cnved4_8f.html", "cnved4_8f" ], - [ "codflg.f", "codflg_8f.html", "codflg_8f" ], - [ "conwin.f", "conwin_8f.html", "conwin_8f" ], - [ "copybf.f", "copybf_8f.html", "copybf_8f" ], - [ "copymg.f", "copymg_8f.html", "copymg_8f" ], - [ "copysb.f", "copysb_8f.html", "copysb_8f" ], - [ "cpbfdx.f", "cpbfdx_8f.html", "cpbfdx_8f" ], - [ "cpdxmm.f", "cpdxmm_8f.html", "cpdxmm_8f" ], + [ "compress.F90", "compress_8F90.html", "compress_8F90" ], + [ "copydata.F90", "copydata_8F90.html", "copydata_8F90" ], [ "cpmstabs.c", "cpmstabs_8c.html", "cpmstabs_8c" ], - [ "cpymem.f", "cpymem_8f.html", "cpymem_8f" ], - [ "cpyupd.f", "cpyupd_8f.html", "cpyupd_8f" ], [ "cread.c", "cread_8c.html", "cread_8c" ], [ "cread.h", "cread_8h.html", "cread_8h" ], [ "crwbmg.c", "crwbmg_8c.html", "crwbmg_8c" ], - [ "datebf.f", "datebf_8f.html", "datebf_8f" ], - [ "datelen.f", "datelen_8f.html", "datelen_8f" ], [ "debufr.c", "debufr_8c.html", "debufr_8c" ], [ "debufr.F90", "debufr_8F90.html", "debufr_8F90" ], - [ "digit.f", "digit_8f.html", "digit_8f" ], - [ "drfini.f", "drfini_8f.html", "drfini_8f" ], - [ "drstpl.f", "drstpl_8f.html", "drstpl_8f" ], - [ "dumpbf.f", "dumpbf_8f.html", "dumpbf_8f" ], - [ "dxdump.f", "dxdump_8f.html", "dxdump_8f" ], - [ "dxinit.f", "dxinit_8f.html", "dxinit_8f" ], - [ "dxmini.f", "dxmini_8f.html", "dxmini_8f" ], - [ "elemdx.f", "elemdx_8f.html", "elemdx_8f" ], - [ "errwrt.f", "errwrt_8f.html", "errwrt_8f" ], - [ "exitbufr.f", "exitbufr_8f.html", "exitbufr_8f" ], - [ "fortran_close.F90", "fortran__close_8F90.html", "fortran__close_8F90" ], - [ "fortran_open.F90", "fortran__open_8F90.html", "fortran__open_8F90" ], - [ "fstag.f", "fstag_8f.html", "fstag_8f" ], - [ "getabdb.f", "getabdb_8f.html", "getabdb_8f" ], - [ "getbmiss.f", "getbmiss_8f.html", "getbmiss_8f" ], - [ "getcfmng.f", "getcfmng_8f.html", "getcfmng_8f" ], - [ "getlens.f", "getlens_8f.html", "getlens_8f" ], - [ "getntbe.f", "getntbe_8f.html", "getntbe_8f" ], - [ "gets1loc.f", "gets1loc_8f.html", "gets1loc_8f" ], - [ "gettab.f90", "gettab_8f90.html", "gettab_8f90" ], - [ "gettagpr.f", "gettagpr_8f.html", "gettagpr_8f" ], - [ "gettagre.f", "gettagre_8f.html", "gettagre_8f" ], - [ "gettbh.f", "gettbh_8f.html", "gettbh_8f" ], - [ "getvalnb.f", "getvalnb_8f.html", "getvalnb_8f" ], - [ "getwin.f", "getwin_8f.html", "getwin_8f" ], - [ "hold4wlc.f", "hold4wlc_8f.html", "hold4wlc_8f" ], - [ "i4dy.f", "i4dy_8f.html", "i4dy_8f" ], - [ "ibfms.f", "ibfms_8f.html", "ibfms_8f" ], - [ "icbfms.f", "icbfms_8f.html", "icbfms_8f" ], - [ "icmpdx.f", "icmpdx_8f.html", "icmpdx_8f" ], - [ "icopysb.f", "icopysb_8f.html", "icopysb_8f" ], + [ "dumpdata.F90", "dumpdata_8F90.html", "dumpdata_8F90" ], + [ "dxtable.F90", "dxtable_8F90.html", "dxtable_8F90" ], + [ "errwrt.F90", "errwrt_8F90.html", "errwrt_8F90" ], + [ "fxy.F90", "fxy_8F90.html", "fxy_8F90" ], + [ "gettab.F90", "gettab_8F90.html", "gettab_8F90" ], [ "icvidx.c", "icvidx_8c.html", "icvidx_8c" ], - [ "idn30.f", "idn30_8f.html", "idn30_8f" ], - [ "idxmsg.f", "idxmsg_8f.html", "idxmsg_8f" ], - [ "ifbget.f", "ifbget_8f.html", "ifbget_8f" ], - [ "ifxy.f", "ifxy_8f.html", "ifxy_8f" ], - [ "igetdate.f", "igetdate_8f.html", "igetdate_8f" ], - [ "igetfxy.f", "igetfxy_8f.html", "igetfxy_8f" ], - [ "igetmxby.f", "igetmxby_8f.html", "igetmxby_8f" ], - [ "igetntbi.f", "igetntbi_8f.html", "igetntbi_8f" ], - [ "igetntbl.f", "igetntbl_8f.html", "igetntbl_8f" ], - [ "igetprm.f", "igetprm_8f.html", "igetprm_8f" ], - [ "igetrfel.f", "igetrfel_8f.html", "igetrfel_8f" ], - [ "igetsc.f", "igetsc_8f.html", "igetsc_8f" ], - [ "igettdi.f", "igettdi_8f.html", "igettdi_8f" ], - [ "imrkopr.f", "imrkopr_8f.html", "imrkopr_8f" ], - [ "inctab.f", "inctab_8f.html", "inctab_8f" ], - [ "invcon.f", "invcon_8f.html", "invcon_8f" ], - [ "invmrg.f", "invmrg_8f.html", "invmrg_8f" ], - [ "invtag.f", "invtag_8f.html", "invtag_8f" ], - [ "invwin.f", "invwin_8f.html", "invwin_8f" ], - [ "iok2cpy.f", "iok2cpy_8f.html", "iok2cpy_8f" ], - [ "iokoper.f", "iokoper_8f.html", "iokoper_8f" ], - [ "ipkm.f", "ipkm_8f.html", "ipkm_8f" ], - [ "ipks.f", "ipks_8f.html", "ipks_8f" ], - [ "ireadmg.f", "ireadmg_8f.html", "ireadmg_8f" ], - [ "ireadmm.f", "ireadmm_8f.html", "ireadmm_8f" ], - [ "ireadmt.f", "ireadmt_8f.html", "ireadmt_8f" ], - [ "ireadns.f", "ireadns_8f.html", "ireadns_8f" ], - [ "ireadsb.f", "ireadsb_8f.html", "ireadsb_8f" ], - [ "irev.F", "irev_8F.html", "irev_8F" ], - [ "isetprm.f", "isetprm_8f.html", "isetprm_8f" ], - [ "ishrdx.f", "ishrdx_8f.html", "ishrdx_8f" ], - [ "isize.f", "isize_8f.html", "isize_8f" ], - [ "istdesc.f", "istdesc_8f.html", "istdesc_8f" ], - [ "iupb.f", "iupb_8f.html", "iupb_8f" ], - [ "iupbs01.f", "iupbs01_8f.html", "iupbs01_8f" ], - [ "iupbs3.f", "iupbs3_8f.html", "iupbs3_8f" ], - [ "iupm.f", "iupm_8f.html", "iupm_8f" ], - [ "iupvs01.f", "iupvs01_8f.html", "iupvs01_8f" ], - [ "jstnum.f", "jstnum_8f.html", "jstnum_8f" ], - [ "lcmgdf.f", "lcmgdf_8f.html", "lcmgdf_8f" ], - [ "lmsg.f", "lmsg_8f.html", "lmsg_8f" ], - [ "lstjpb.f", "lstjpb_8f.html", "lstjpb_8f" ], - [ "makestab.f", "makestab_8f.html", "makestab_8f" ], - [ "maxout.f", "maxout_8f.html", "maxout_8f" ], - [ "mesgbc.f", "mesgbc_8f.html", "mesgbc_8f" ], - [ "mesgbf.f", "mesgbf_8f.html", "mesgbf_8f" ], - [ "minimg.f", "minimg_8f.html", "minimg_8f" ], + [ "jumplink.F90", "jumplink_8F90.html", "jumplink_8F90" ], + [ "mastertable.F90", "mastertable_8F90.html", "mastertable_8F90" ], + [ "memmsgs.F90", "memmsgs_8F90.html", "memmsgs_8F90" ], + [ "misc.F90", "misc_8F90.html", "misc_8F90" ], + [ "missing.F90", "missing_8F90.html", "missing_8F90" ], [ "modules_arrs.F90", "modules__arrs_8F90.html", "modules__arrs_8F90" ], [ "modules_vars.F90", "modules__vars_8F90.html", "modules__vars_8F90" ], - [ "mrginv.f", "mrginv_8f.html", "mrginv_8f" ], - [ "msgfull.f", "msgfull_8f.html", "msgfull_8f" ], - [ "msgini.f", "msgini_8f.html", "msgini_8f" ], - [ "msgupd.f", "msgupd_8f.html", "msgupd_8f" ], - [ "msgwrt.f", "msgwrt_8f.html", "msgwrt_8f" ], [ "mstabs.h", "mstabs_8h.html", "mstabs_8h" ], - [ "mtfnam.f", "mtfnam_8f.html", "mtfnam_8f" ], - [ "mtinfo.f", "mtinfo_8f.html", "mtinfo_8f" ], - [ "mvb.f", "mvb_8f.html", "mvb_8f" ], - [ "nemdefs.f", "nemdefs_8f.html", "nemdefs_8f" ], - [ "nemock.f", "nemock_8f.html", "nemock_8f" ], - [ "nemspecs.f", "nemspecs_8f.html", "nemspecs_8f" ], - [ "nemtab.f", "nemtab_8f.html", "nemtab_8f" ], - [ "nemtba.f", "nemtba_8f.html", "nemtba_8f" ], - [ "nemtbax.f", "nemtbax_8f.html", "nemtbax_8f" ], - [ "nemtbb.f", "nemtbb_8f.html", "nemtbb_8f" ], - [ "nemtbd.f", "nemtbd_8f.html", "nemtbd_8f" ], - [ "nenubd.f", "nenubd_8f.html", "nenubd_8f" ], - [ "nevn.f", "nevn_8f.html", "nevn_8f" ], - [ "newwin.f", "newwin_8f.html", "newwin_8f" ], - [ "nmsub.f", "nmsub_8f.html", "nmsub_8f" ], - [ "nmwrd.f", "nmwrd_8f.html", "nmwrd_8f" ], - [ "numbck.f", "numbck_8f.html", "numbck_8f" ], - [ "numtab.f", "numtab_8f.html", "numtab_8f" ], - [ "numtbd.f", "numtbd_8f.html", "numtbd_8f" ], - [ "nvnwin.f", "nvnwin_8f.html", "nvnwin_8f" ], - [ "nwords.f", "nwords_8f.html", "nwords_8f" ], - [ "nxtwin.f", "nxtwin_8f.html", "nxtwin_8f" ], - [ "openbf.f", "openbf_8f.html", "openbf_8f" ], - [ "openbt.f", "openbt_8f.html", "openbt_8f" ], - [ "openmb.f", "openmb_8f.html", "openmb_8f" ], - [ "openmg.f", "openmg_8f.html", "openmg_8f" ], - [ "pad.f", "pad_8f.html", "pad_8f" ], - [ "padmsg.f", "padmsg_8f.html", "padmsg_8f" ], - [ "parstr.f", "parstr_8f.html", "parstr_8f" ], - [ "parusr.f", "parusr_8f.html", "parusr_8f" ], - [ "parutg.f", "parutg_8f.html", "parutg_8f" ], - [ "pkb.f", "pkb_8f.html", "pkb_8f" ], - [ "pkb8.f", "pkb8_8f.html", "pkb8_8f" ], - [ "pkbs1.f", "pkbs1_8f.html", "pkbs1_8f" ], - [ "pkc.f", "pkc_8f.html", "pkc_8f" ], - [ "pkftbv.f", "pkftbv_8f.html", "pkftbv_8f" ], - [ "pktdd.f", "pktdd_8f.html", "pktdd_8f" ], - [ "pkvs01.f", "pkvs01_8f.html", "pkvs01_8f" ], - [ "posapx.f", "posapx_8f.html", "posapx_8f" ], - [ "rcstpl.f", "rcstpl_8f.html", "rcstpl_8f" ], - [ "rdbfdx.f", "rdbfdx_8f.html", "rdbfdx_8f" ], - [ "rdcmps.f", "rdcmps_8f.html", "rdcmps_8f" ], - [ "rdmemm.f", "rdmemm_8f.html", "rdmemm_8f" ], - [ "rdmems.f", "rdmems_8f.html", "rdmems_8f" ], - [ "rdmgsb.f", "rdmgsb_8f.html", "rdmgsb_8f" ], - [ "rdmsgw.F90", "rdmsgw_8F90.html", "rdmsgw_8F90" ], - [ "rdmtbb.f", "rdmtbb_8f.html", "rdmtbb_8f" ], - [ "rdmtbd.f", "rdmtbd_8f.html", "rdmtbd_8f" ], - [ "rdmtbf.f", "rdmtbf_8f.html", "rdmtbf_8f" ], - [ "rdtree.f", "rdtree_8f.html", "rdtree_8f" ], - [ "rdusdx.f", "rdusdx_8f.html", "rdusdx_8f" ], + [ "openbt.F90", "openbt_8F90.html", "openbt_8F90" ], + [ "openclosebf.F90", "openclosebf_8F90.html", "openclosebf_8F90" ], [ "readbp.F90", "readbp_8F90.html", "readbp_8F90" ], - [ "readdx.f", "readdx_8f.html", "readdx_8f" ], - [ "readerme.f", "readerme_8f.html", "readerme_8f" ], - [ "readlc.f", "readlc_8f.html", "readlc_8f" ], - [ "readmg.f", "readmg_8f.html", "readmg_8f" ], - [ "readmm.f", "readmm_8f.html", "readmm_8f" ], [ "readmp.F90", "readmp_8F90.html", "readmp_8F90" ], - [ "readns.f", "readns_8f.html", "readns_8f" ], - [ "reads3.f", "reads3_8f.html", "reads3_8f" ], - [ "readsb.f", "readsb_8f.html", "readsb_8f" ], + [ "readwritemg.F90", "readwritemg_8F90.html", "readwritemg_8F90" ], + [ "readwritesb.F90", "readwritesb_8F90.html", "readwritesb_8F90" ], + [ "readwriteval.F90", "readwriteval_8F90.html", "readwriteval_8F90" ], [ "restd.c", "restd_8c.html", "restd_8c" ], - [ "rewnbf.f", "rewnbf_8f.html", "rewnbf_8f" ], - [ "rsvfvm.f", "rsvfvm_8f.html", "rsvfvm_8f" ], - [ "rtrcpt.f", "rtrcpt_8f.html", "rtrcpt_8f" ], - [ "rtrcptb.f", "rtrcptb_8f.html", "rtrcptb_8f" ], - [ "seqsdx.f", "seqsdx_8f.html", "seqsdx_8f" ], - [ "setblock.f", "setblock_8f.html", "setblock_8f" ], - [ "setbmiss.f", "setbmiss_8f.html", "setbmiss_8f" ], - [ "setim8b.F90", "setim8b_8F90.html", "setim8b_8F90" ], - [ "setvalnb.f", "setvalnb_8f.html", "setvalnb_8f" ], - [ "sinv.f90", "sinv_8f90.html", "sinv_8f90" ], - [ "sntbbe.f", "sntbbe_8f.html", "sntbbe_8f" ], - [ "sntbde.f", "sntbde_8f.html", "sntbde_8f" ], - [ "sntbfe.f", "sntbfe_8f.html", "sntbfe_8f" ], - [ "split_by_subset.f90", "split__by__subset_8f90.html", "split__by__subset_8f90" ], - [ "status.f", "status_8f.html", "status_8f" ], - [ "stbfdx.f", "stbfdx_8f.html", "stbfdx_8f" ], - [ "stdmsg.f", "stdmsg_8f.html", "stdmsg_8f" ], - [ "stndrd.f", "stndrd_8f.html", "stndrd_8f" ], - [ "stntbi.f", "stntbi_8f.html", "stntbi_8f" ], - [ "stntbia.f", "stntbia_8f.html", "stntbia_8f" ], - [ "strbtm.f", "strbtm_8f.html", "strbtm_8f" ], - [ "strcln.f", "strcln_8f.html", "strcln_8f" ], - [ "strcpt.f", "strcpt_8f.html", "strcpt_8f" ], - [ "string.f", "string_8f.html", "string_8f" ], - [ "strnum.F90", "strnum_8F90.html", "strnum_8F90" ], - [ "strsuc.F90", "strsuc_8F90.html", "strsuc_8F90" ], + [ "s013vals.F90", "s013vals_8F90.html", "s013vals_8F90" ], + [ "sinv.F90", "sinv_8F90.html", "sinv_8F90" ], + [ "split_by_subset.F90", "split__by__subset_8F90.html", "split__by__subset_8F90" ], + [ "standard.F90", "standard_8F90.html", "standard_8F90" ], + [ "strings.F90", "strings_8F90.html", "strings_8F90" ], [ "stseq.c", "stseq_8c.html", "stseq_8c" ], - [ "tabent.f", "tabent_8f.html", "tabent_8f" ], - [ "tabsub.f", "tabsub_8f.html", "tabsub_8f" ], - [ "trybump.f", "trybump_8f.html", "trybump_8f" ], - [ "ufbcnt.f", "ufbcnt_8f.html", "ufbcnt_8f" ], - [ "ufbcpy.f", "ufbcpy_8f.html", "ufbcpy_8f" ], - [ "ufbcup.f", "ufbcup_8f.html", "ufbcup_8f" ], - [ "ufbdmp.f", "ufbdmp_8f.html", "ufbdmp_8f" ], - [ "ufbevn.f", "ufbevn_8f.html", "ufbevn_8f" ], - [ "ufbget.f", "ufbget_8f.html", "ufbget_8f" ], - [ "ufbin3.f", "ufbin3_8f.html", "ufbin3_8f" ], - [ "ufbint.f", "ufbint_8f.html", "ufbint_8f" ], - [ "ufbinx.f", "ufbinx_8f.html", "ufbinx_8f" ], - [ "ufbmem.f", "ufbmem_8f.html", "ufbmem_8f" ], - [ "ufbmex.f", "ufbmex_8f.html", "ufbmex_8f" ], - [ "ufbmms.f", "ufbmms_8f.html", "ufbmms_8f" ], - [ "ufbmns.f", "ufbmns_8f.html", "ufbmns_8f" ], - [ "ufbovr.f", "ufbovr_8f.html", "ufbovr_8f" ], - [ "ufbpos.f", "ufbpos_8f.html", "ufbpos_8f" ], - [ "ufbqcd.f", "ufbqcd_8f.html", "ufbqcd_8f" ], - [ "ufbqcp.f", "ufbqcp_8f.html", "ufbqcp_8f" ], - [ "ufbrep.f", "ufbrep_8f.html", "ufbrep_8f" ], - [ "ufbrms.f", "ufbrms_8f.html", "ufbrms_8f" ], - [ "ufbrp.f", "ufbrp_8f.html", "ufbrp_8f" ], - [ "ufbrw.f", "ufbrw_8f.html", "ufbrw_8f" ], - [ "ufbseq.f", "ufbseq_8f.html", "ufbseq_8f" ], - [ "ufbsp.f", "ufbsp_8f.html", "ufbsp_8f" ], - [ "ufbstp.f", "ufbstp_8f.html", "ufbstp_8f" ], - [ "ufbtab.f", "ufbtab_8f.html", "ufbtab_8f" ], - [ "ufbtam.f", "ufbtam_8f.html", "ufbtam_8f" ], - [ "ufdump.f", "ufdump_8f.html", "ufdump_8f" ], - [ "up8.f", "up8_8f.html", "up8_8f" ], - [ "upb.f", "upb_8f.html", "upb_8f" ], - [ "upb8.f", "upb8_8f.html", "upb8_8f" ], - [ "upbb.f", "upbb_8f.html", "upbb_8f" ], - [ "upc.f", "upc_8f.html", "upc_8f" ], - [ "upds3.f", "upds3_8f.html", "upds3_8f" ], - [ "upftbv.f", "upftbv_8f.html", "upftbv_8f" ], - [ "ups.f", "ups_8f.html", "ups_8f" ], - [ "uptdd.f", "uptdd_8f.html", "uptdd_8f" ], - [ "usrtpl.f", "usrtpl_8f.html", "usrtpl_8f" ], - [ "wrcmps.f", "wrcmps_8f.html", "wrcmps_8f" ], - [ "wrdesc.c", "wrdesc_8c.html", "wrdesc_8c" ], - [ "wrdlen.F", "wrdlen_8F.html", "wrdlen_8F" ], - [ "wrdxtb.f", "wrdxtb_8f.html", "wrdxtb_8f" ], - [ "writcp.f", "writcp_8f.html", "writcp_8f" ], - [ "writdx.f", "writdx_8f.html", "writdx_8f" ], - [ "writlc.f", "writlc_8f.html", "writlc_8f" ], - [ "writsa.f", "writsa_8f.html", "writsa_8f" ], - [ "writsb.f", "writsb_8f.html", "writsb_8f" ], - [ "wrtree.f", "wrtree_8f.html", "wrtree_8f" ], - [ "wtstat.f", "wtstat_8f.html", "wtstat_8f" ], - [ "x48.F", "x48_8F.html", "x48_8F" ], - [ "x84.F", "x84_8F.html", "x84_8F" ], + [ "tankrcpt.F90", "tankrcpt_8F90.html", "tankrcpt_8F90" ], + [ "x4884.F90", "x4884_8F90.html", "x4884_8F90" ], [ "xbfmg.c", "xbfmg_8c.html", "xbfmg_8c" ] ]; \ No newline at end of file diff --git a/functions.html b/functions.html index c5acbae2d..85aad7104 100644 --- a/functions.html +++ b/functions.html @@ -26,7 +26,7 @@
NCEPLIBS-bufr -  12.0.1 +  12.1.0
@@ -92,9 +92,6 @@
  • backbufr_c() : bufrlib::backbufr_c
  • -
  • bort_exit_c() -: bufrlib::bort_exit_c -
  • ccbfl_c() : bufr_interface::ccbfl_c
  • diff --git a/functions_func.html b/functions_func.html index 1a2c3fd9c..68861eb46 100644 --- a/functions_func.html +++ b/functions_func.html @@ -26,7 +26,7 @@
    NCEPLIBS-bufr -  12.0.1 +  12.1.0
    @@ -92,9 +92,6 @@
  • backbufr_c() : bufrlib::backbufr_c
  • -
  • bort_exit_c() -: bufrlib::bort_exit_c -
  • ccbfl_c() : bufr_interface::ccbfl_c
  • diff --git a/fxy_8F90.html b/fxy_8F90.html new file mode 100644 index 000000000..d7c0e0779 --- /dev/null +++ b/fxy_8F90.html @@ -0,0 +1,655 @@ + + + + + + + +NCEPLIBS-bufr: fxy.F90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-bufr +  12.1.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    fxy.F90 File Reference
    +
    +
    + +

    Process FXY values, including converting between character and WMO bit-wise representations. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions/Subroutines

    character *(*) function adn30 (idn, ldn)
     Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6. More...
     
    subroutine cadn30 (idn, adn)
     Convert an FXY value from its WMO bit-wise representation to its 6 character representation. More...
     
    integer function idn30 (adn, ldn)
     Convert an FXY value from a character string to the WMO bit-wise representation. More...
     
    integer function ifxy (adsc)
     Convert an FXY value from its 6 character representation to its WMO bit-wise representation. More...
     
    integer function igetfxy (str, cfxy)
     Search for and return a valid FXY number from within a character string. More...
     
    subroutine nemtab (lun, nemo, idn, tab, iret)
     Get information about a descriptor, based on a mnemonic. More...
     
    integer function numbck (numb)
     Check an FXY number for validity. More...
     
    subroutine numtab (lun, idn, nemo, tab, iret)
     Get information about a descriptor, based on the WMO bit-wise representation of an FXY value. More...
     
    subroutine numtbd (lun, idn, nemo, tab, iret)
     Get information about a Table B or Table D descriptor, based on the WMO bit-wise representation of an FXY value. More...
     
    +

    Detailed Description

    +

    Process FXY values, including converting between character and WMO bit-wise representations.

    +
    Author
    J. Ator
    +
    Date
    2024-02-29
    + +

    Definition in file fxy.F90.

    +

    Function/Subroutine Documentation

    + +

    ◆ adn30()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    character*(*) function adn30 (integer, intent(in) idn,
    integer, intent(in) ldn 
    )
    +
    + +

    Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.

    +

    For an description of the WMO bit-wise representation of the FXY value, see ifxy().

    +

    This function is the logical inverse of function idn30().

    +
    Parameters
    + + + +
    idn- WMO bit-wise representation of FXY value
    ldn- Length of string to be returned; can be either 5 or 6 characters
    +
    +
    +
    Returns
    adn30 - FXY character string
    +
    Author
    J. Woollen
    +
    Date
    1994-01-06
    + +

    Definition at line 17 of file fxy.F90.

    + +

    References bort().

    + +

    Referenced by igetrfel(), istdesc(), ufbqcd(), upds3(), and wrdxtb().

    + +
    +
    + +

    ◆ cadn30()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    subroutine cadn30 (integer, intent(in) idn,
    character*(*), intent(out) adn 
    )
    +
    + +

    Convert an FXY value from its WMO bit-wise representation to its 6 character representation.

    +

    This subroutine is similar to function adn30(), except that it always returns 6 characters, and it always returns its output as a call parameter instead of a function value, which in turn allows it to be more easily called from within a C language function.

    +

    For a description of the WMO bit-wise representation of an FXY value, see ifxy().

    +
    Parameters
    + + + +
    idn- WMO bit-wise representation of FXY value
    adn- FXY value
    +
    +
    +
    Author
    J. Ator
    +
    Date
    2004-08-18
    + +

    Definition at line 64 of file fxy.F90.

    + +

    Referenced by bufr_c2f_interface::cadn30_c().

    + +
    +
    + +

    ◆ idn30()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    integer function idn30 (character*(*), intent(in) adn,
    integer, intent(in) ldn 
    )
    +
    + +

    Convert an FXY value from a character string to the WMO bit-wise representation.

    +

    For an description of the WMO bit-wise representation of the FXY value, see ifxy().

    +

    This function is the logical inverse of function adn30().

    +
    Parameters
    + + + +
    adn- FXY value; must be of length 5 or 6
    ldn- Length of adn; can be either 5 or 6 characters
    +
    +
    +
    Returns
    idn30 - WMO bit-wise representation of FXY value
    +
    Author
    J. Woollen
    +
    Date
    1994-01-06
    + +

    Definition at line 90 of file fxy.F90.

    + +

    References bort(), and ifxy().

    + +
    +
    + +

    ◆ ifxy()

    + +
    +
    + + + + + + + + +
    integer function ifxy (character*6, intent(in) adsc)
    +
    + +

    Convert an FXY value from its 6 character representation to its WMO bit-wise representation.

    +

    Per the official WMO BUFR regulations, an FXY value can be represented as a bit-wise integer in 16 bits, ordered from left (most significant) to right (least significant), and where the F value occupies the first 2 bits, the X value occupies the next 6 bits, and the Y value occupies the last 8 bits.

    For example, if ADSC = '063022'
    +
    +   F |     X     |      Y
    +   0 |     63    |      22
    +  0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0
    +
    +then the corresponding ifxy
    +
    +  = ( 2**13 + 2**12 + 2**11 + 2**10 + 2**9 + 2**8 +
    +      2**4 + 2**2 + 2**1 )
    +
    +  = 16150
    +
    Parameters
    + + +
    adsc- FXY value
    +
    +
    +
    Returns
    ifxy - WMO bit-wise representation of FXY value
    +
    Author
    J. Woollen
    +
    Date
    1994-01-06
    + +

    Definition at line 151 of file fxy.F90.

    + +

    Referenced by getcfmng(), idn30(), bufr_c2f_interface::ifxy_c(), ireadmt(), and ufbqcp().

    + +
    +
    + +

    ◆ igetfxy()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    integer function igetfxy (character*(*), intent(in) str,
    character*6, intent(out) cfxy 
    )
    +
    + +

    Search for and return a valid FXY number from within a character string.

    +

    The FXY number may be in format of either FXXYYY or F-XX-YYY within the input string, but it is always returned in format FXXYYY upon output.

    +
    Parameters
    + + + +
    str- input string
    cfxy- FXY number in format FXXYYY
    +
    +
    +
    Returns
      +
    • 0 normal return.
    • +
    • -1 could not find a valid FXY number in str
    • +
    +
    +
    Author
    Ator
    +
    Date
    2007-01-19
    + +

    Definition at line 178 of file fxy.F90.

    + +

    References numbck().

    + +
    +
    + +

    ◆ nemtab()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine nemtab (integer, intent(in) lun,
    character*(*), intent(in) nemo,
    integer, intent(out) idn,
    character, intent(out) tab,
    integer, intent(out) iret 
    )
    +
    + +

    Get information about a descriptor, based on a mnemonic.

    +
    Parameters
    + + + + + + +
    lun- File ID associated with DX BUFR tables
    nemo- Mnemonic
    idn- WMO bit-wise representation of FXY value for descriptor for descriptor associated with nemo
    tab- Type associated with idn:
      +
    • 'B' Table B descriptor.
    • +
    • 'D' Table D descriptor.
    • +
    • 'C' Table C operator.
    • +
    +
    iret- Return code:
      +
    • Positional index of idn within internal Table B, if tab = 'B'
    • +
    • Positional index of idn within internal Table D, if tab = 'D'
    • +
    • The X portion of the FXY value in idn, if tab = 'C'.
    • +
    • 0, otherwise
    • +
    +
    +
    +
    +
    Author
    J. Woollen
    +
    Date
    1994-01-06
    + +

    Definition at line 431 of file fxy.F90.

    + +

    References moda_tababd::idnb, moda_tababd::idnd, moda_tababd::ntbb, moda_tababd::ntbd, moda_tababd::tabb, and moda_tababd::tabd.

    + +

    Referenced by chekstab(), cmsgini(), elemdx(), getcfmng(), igetrfel(), msgini(), nemdefs(), bufr_c2f_interface::nemtab_c(), seqsdx(), tabsub(), ufbdmp(), ufbqcd(), ufdump(), and upftbv().

    + +
    +
    + +

    ◆ numbck()

    + +
    +
    + + + + + + + + +
    integer function numbck (character*6, intent(in) numb)
    +
    + +

    Check an FXY number for validity.

    +
    Parameters
    + + +
    numb- FXY value
    +
    +
    +
    Returns
    numbck - Indicator as to whether numb is valid:
      +
    • 0 = Yes
    • +
    • -1 = No, the first character ("F" value) is not '0', '1', '2', or '3'
    • +
    • -2 = No, characters 2-6 ("X" and "Y" values) are not all numeric
    • +
    • -3 = No, characters 2-3 ("X" value) are not between '00' and '63'
    • +
    • -4 = No, characters 4-6 ("Y" value) are not between '000' and '255'
    • +
    +
    +
    Author
    Woollen
    +
    Date
    1994-01-06
    + +

    Definition at line 236 of file fxy.F90.

    + +

    Referenced by igetfxy().

    + +
    +
    + +

    ◆ numtab()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine numtab (integer, intent(in) lun,
    integer, intent(in) idn,
    character*(*), intent(out) nemo,
    character, intent(out) tab,
    integer, intent(out) iret 
    )
    +
    + +

    Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.

    +

    For a description of the WMO bit-wise representation of the FXY value, see ifxy().

    +
    Parameters
    + + + + + + +
    lun- File ID associated with DX BUFR tables
    idn- WMO bit-wise representation of FXY value for descriptor
    nemo- Mnemonic associated with idn
    tab- Type associated with idn:
      +
    • 'B' Table B descriptor
    • +
    • 'D' Table D descriptor
    • +
    • 'C' Table C operator
    • +
    • 'R' Replication descriptor
    • +
    • 'F' Replication factor
    • +
    +
    iret- Return code:
      +
    • Positional index of idn within internal Table B, if tab = 'B'
    • +
    • Positional index of idn within internal Table D, if tab = 'D'
    • +
    • The X portion of the FXY value in idn, if tab = 'C'
    • +
    • ((-1) * the Y portion of the FXY value in idn), if tab = 'R' and the replication is regular (i.e. non-delayed)
    • +
    • 5 if tab = 'R' or tab = 'F' and the replication is 1-bit delayed
    • +
    • 4 if tab = 'R' or tab = 'F' and the replication is 8-bit delayed (stack)
    • +
    • 3 if tab = 'R' or tab = 'F' and the replication is 8-bit delayed
    • +
    • 2 if tab = 'R' or tab = 'F' and the replication is 16-bit delayed
    • +
    • 0 otherwise
    • +
    +
    +
    +
    +
    Author
    J. Woollen
    +
    Date
    1994-01-06
    + +

    Definition at line 356 of file fxy.F90.

    + +

    References numtbd().

    + +

    Referenced by cktaba(), nemtbd(), seqsdx(), stndrd(), and ufbqcp().

    + +
    +
    + +

    ◆ numtbd()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine numtbd (integer, intent(in) lun,
    integer, intent(in) idn,
    character*(*), intent(out) nemo,
    character, intent(out) tab,
    integer, intent(out) iret 
    )
    +
    + +

    Get information about a Table B or Table D descriptor, based on the WMO bit-wise representation of an FXY value.

    +

    For a description of the WMO bit-wise representation of the FXY value, see ifxy().

    +
    Parameters
    + + + + + + +
    lun- File ID associated with DX BUFR tables
    idn- WMO bit-wise representation of FXY value for Table B or Table D descriptor
    nemo- Mnemonic associated with idn
    tab- Type associated with idn:
      +
    • 'B' Table B descriptor
    • +
    • 'D' Table D descriptor
    • +
    +
    iret- Return code:
      +
    • Positional index of idn within internal Table B, if tab = 'B'
    • +
    • Positional index of idn within internal Table D, if tab = 'D'
    • +
    • 0 otherwise
    • +
    +
    +
    +
    +
    Author
    J. Woollen
    +
    Date
    2002-05-14
    + +

    Definition at line 289 of file fxy.F90.

    + +

    References moda_tababd::idnb, moda_tababd::idnd, moda_tababd::ntbb, moda_tababd::ntbd, moda_tababd::tabb, and moda_tababd::tabd.

    + +

    Referenced by getcfmng(), numtab(), bufr_c2f_interface::numtbd_c(), and ufdump().

    + +
    +
    +
    +
    + + + + diff --git a/fxy_8F90.js b/fxy_8F90.js new file mode 100644 index 000000000..a82ac16a7 --- /dev/null +++ b/fxy_8F90.js @@ -0,0 +1,12 @@ +var fxy_8F90 = +[ + [ "adn30", "fxy_8F90.html#af1ec2f8fc15418f1238413201f3e075c", null ], + [ "cadn30", "fxy_8F90.html#a438b8634d4f1308ee086a8f323662d2c", null ], + [ "idn30", "fxy_8F90.html#ac17b9bb050c7279594284b063390dc55", null ], + [ "ifxy", "fxy_8F90.html#ae3b70fcfea3c6201ad415fad4c4d375e", null ], + [ "igetfxy", "fxy_8F90.html#ad6db7a4654e1d26530c1fe4bdfb29ad9", null ], + [ "nemtab", "fxy_8F90.html#a01efa3bb871b451a8d53bd6d841bb297", null ], + [ "numbck", "fxy_8F90.html#a11357abe01c36dc3472be03e950e8fe3", null ], + [ "numtab", "fxy_8F90.html#ab6ec8c0148ab5d70923831667277b14e", null ], + [ "numtbd", "fxy_8F90.html#aca1fae67e284131dfd240d2336e3e77d", null ] +]; \ No newline at end of file diff --git a/fxy_8F90_source.html b/fxy_8F90_source.html new file mode 100644 index 000000000..d8abfce6f --- /dev/null +++ b/fxy_8F90_source.html @@ -0,0 +1,469 @@ + + + + + + + +NCEPLIBS-bufr: fxy.F90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-bufr +  12.1.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    fxy.F90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    5 
    +
    17 function adn30(idn,ldn)
    +
    18 
    +
    19  use modv_vars, only: nbitw
    +
    20 
    +
    21  implicit none
    +
    22 
    +
    23  integer, intent(in) :: idn, ldn
    +
    24 
    +
    25  integer i, idf, idx, idy
    +
    26 
    +
    27  character*(*) adn30
    +
    28  character*128 bort_str
    +
    29 
    +
    30  if(len(adn30)<ldn) call bort('BUFRLIB: ADN30 - FUNCTION RETURN STRING TOO SHORT')
    +
    31  if(idn<0 .or. idn>65535) call bort('BUFRLIB: ADN30 - INTEGER REPRESENTATION OF DESCRIPTOR OUT OF 16-BIT RANGE')
    +
    32 
    +
    33  if(ldn==5) then
    +
    34  write(adn30,'(i5)') idn
    +
    35  elseif(ldn==6) then
    +
    36  idf = ishft(idn,-14)
    +
    37  idx = ishft(ishft(idn,nbitw-14),-(nbitw-6))
    +
    38  idy = ishft(ishft(idn,nbitw- 8),-(nbitw-8))
    +
    39  write(adn30,'(i1,i2,i3)') idf,idx,idy
    +
    40  else
    +
    41  write(bort_str,'("BUFRLIB: ADN30 - CHARACTER LENGTH (",I4,") MUST BE EITHER 5 OR 6")') ldn
    +
    42  call bort(bort_str)
    +
    43  endif
    +
    44 
    +
    45  do i=1,ldn
    +
    46  if(adn30(i:i)==' ') adn30(i:i) = '0'
    +
    47  enddo
    +
    48 
    +
    49  return
    +
    50 end function adn30
    +
    51 
    +
    64 subroutine cadn30( idn, adn )
    +
    65 
    +
    66  implicit none
    +
    67 
    +
    68  integer, intent(in) :: idn
    +
    69 
    +
    70  character*(*), intent(out) :: adn
    +
    71 
    +
    72  character*6 adn30
    +
    73 
    +
    74  adn = adn30( idn, 6 )
    +
    75 
    +
    76  return
    +
    77 end subroutine cadn30
    +
    78 
    +
    90 integer function idn30(adn,ldn) result(iret)
    +
    91 
    +
    92  implicit none
    +
    93 
    +
    94  integer, intent(in) :: ldn
    +
    95 
    +
    96  character*(*), intent(in) :: adn
    +
    97 
    +
    98  character*128 bort_str
    +
    99 
    +
    100  integer ifxy
    +
    101 
    +
    102  if(len(adn)<ldn) then
    +
    103  write(bort_str,'("BUFRLIB: IDN30 - FUNCTION INPUT STRING ",A," CHARACTER LENGTH (",I4,") IS TOO SHORT (< LDN,",I5)') &
    +
    104  adn, len(adn), ldn
    +
    105  call bort(bort_str)
    +
    106  endif
    +
    107 
    +
    108  if(ldn==5) then
    +
    109  read(adn,'(i5)') iret
    +
    110  if(iret<0 .or. iret>65535) then
    +
    111  write(bort_str, &
    +
    112  '("BUFRLIB: IDN30 - DESCRIPTOR INTEGER REPRESENTATION, IDN30 (",I8,"), IS OUTSIDE 16-BIT RANGE (0-65535)")') iret
    +
    113  call bort(bort_str)
    +
    114  endif
    +
    115  elseif(ldn==6) then
    +
    116  iret = ifxy(adn)
    +
    117  else
    +
    118  write(bort_str,'("BUFRLIB: IDN30 - FUNCTION INPUT STRING ",A," CHARACTER LENGTH (",I4,") MUST BE EITHER 5 OR 6")') &
    +
    119  adn,ldn
    +
    120  call bort(bort_str)
    +
    121  endif
    +
    122 
    +
    123  return
    +
    124 end function idn30
    +
    125 
    +
    151 integer function ifxy(adsc) result(iret)
    +
    152 
    +
    153  implicit none
    +
    154 
    +
    155  integer if, ix, iy
    +
    156 
    +
    157  character*6, intent(in) :: adsc
    +
    158 
    +
    159  read(adsc,'(i1,i2,i3)') if,ix,iy
    +
    160  iret = if*2**14 + ix*2**8 + iy
    +
    161 
    +
    162  return
    +
    163 end function ifxy
    +
    164 
    +
    178 integer function igetfxy ( str, cfxy ) result ( iret )
    +
    179 
    +
    180  implicit none
    +
    181 
    +
    182  character*(*), intent(in) :: str
    +
    183  character*6, intent(out) :: cfxy
    +
    184 
    +
    185  integer, parameter :: lstr2 = 120
    +
    186  character*(lstr2) str2
    +
    187 
    +
    188  integer lstr, numbck
    +
    189 
    +
    190  iret = -1
    +
    191 
    +
    192  lstr = len( str )
    +
    193  if ( lstr < 6 ) return
    +
    194 
    +
    195  ! Left-justify a copy of the input string.
    +
    196 
    +
    197  if ( lstr > lstr2 ) then
    +
    198  str2(1:lstr2) = str(1:lstr2)
    +
    199  else
    +
    200  str2 = str
    +
    201  endif
    +
    202  str2 = adjustl( str2 )
    +
    203  if ( str2 == ' ' ) return
    +
    204 
    +
    205  ! Look for an FXY number.
    +
    206 
    +
    207  if ( index( str2, '-' ) /= 0 ) then
    +
    208  ! Format of field is F-XX-YYY.
    +
    209  cfxy(1:1) = str2(1:1)
    +
    210  cfxy(2:3) = str2(3:4)
    +
    211  cfxy(4:6) = str2(6:8)
    +
    212  else
    +
    213  ! Format of field is FXXYYY.
    +
    214  cfxy = str2(1:6)
    +
    215  endif
    +
    216 
    +
    217  ! Check that the FXY number is valid.
    +
    218 
    +
    219  if ( numbck( cfxy ) == 0 ) iret = 0
    +
    220 
    +
    221  return
    +
    222 end function igetfxy
    +
    223 
    +
    236 integer function numbck(numb) result(iret)
    +
    237 
    +
    238  implicit none
    +
    239 
    +
    240  character*6, intent(in) :: numb
    +
    241 
    +
    242  integer ix, iy
    +
    243 
    +
    244  ! Check the first character of numb.
    +
    245 
    +
    246  if( llt(numb(1:1),'0') .or. lgt(numb(1:1),'3') ) then
    +
    247  iret = -1
    +
    248  return
    +
    249  endif
    +
    250 
    +
    251  ! Check for a valid descriptor.
    +
    252 
    +
    253  if( verify(numb(2:6),'1234567890') == 0 ) then
    +
    254  read(numb,'(1x,i2,i3)') ix,iy
    +
    255  else
    +
    256  iret = -2
    +
    257  return
    +
    258  endif
    +
    259 
    +
    260  if(ix<0 .or. ix> 63) then
    +
    261  iret = -3
    +
    262  return
    +
    263  else if(iy<0 .or. iy>255) then
    +
    264  iret = -4
    +
    265  return
    +
    266  endif
    +
    267 
    +
    268  iret = 0
    +
    269 
    +
    270  return
    +
    271 end function numbck
    +
    272 
    +
    289 subroutine numtbd(lun,idn,nemo,tab,iret)
    +
    290 
    +
    291  use moda_tababd
    +
    292 
    +
    293  implicit none
    +
    294 
    +
    295  integer, intent(in) :: lun, idn
    +
    296  integer, intent(out) :: iret
    +
    297  integer i, ifxy
    +
    298 
    +
    299  character*(*), intent(out) :: nemo
    +
    300  character, intent(out) :: tab
    +
    301 
    +
    302  nemo = ' '
    +
    303  iret = 0
    +
    304  tab = ' '
    +
    305 
    +
    306  if(idn>=ifxy('300000')) then
    +
    307  ! Look for idn in Table D
    +
    308  do i=1,ntbd(lun)
    +
    309  if(idn==idnd(i,lun)) then
    +
    310  nemo = tabd(i,lun)(7:14)
    +
    311  tab = 'D'
    +
    312  iret = i
    +
    313  return
    +
    314  endif
    +
    315  enddo
    +
    316  else
    +
    317  ! Look for idn in Table B
    +
    318  do i=1,ntbb(lun)
    +
    319  if(idn==idnb(i,lun)) then
    +
    320  nemo = tabb(i,lun)(7:14)
    +
    321  tab = 'B'
    +
    322  iret = i
    +
    323  return
    +
    324  endif
    +
    325  enddo
    +
    326  endif
    +
    327 
    +
    328  return
    +
    329 end subroutine numtbd
    +
    330 
    +
    356 subroutine numtab(lun,idn,nemo,tab,iret)
    +
    357 
    +
    358  use modv_vars, only: idnr
    +
    359 
    +
    360  implicit none
    +
    361 
    +
    362  integer, intent(in) :: lun, idn
    +
    363  integer, intent(out) :: iret
    +
    364  integer i, iokoper
    +
    365 
    +
    366  character*(*), intent(out) :: nemo
    +
    367  character, intent(out) :: tab
    +
    368  character*6 adn30, cid
    +
    369 
    +
    370  nemo = ' '
    +
    371  iret = 0
    +
    372  tab = ' '
    +
    373 
    +
    374  ! Look for a replicator or a replication factor descriptor
    +
    375 
    +
    376  if(idn>=idnr(1) .and. idn<=idnr(6)) then
    +
    377  ! Note that the above test is checking whether idn is the bit-wise representation of a FXY (descriptor) value
    +
    378  ! denoting F=1 regular (i.e. non-delayed) replication, since, as was initialized within subroutine bfrini(),
    +
    379  ! idnr(1) = ifxy('101000'), and idnr(6) = ifxy('101255').
    +
    380  tab = 'R'
    +
    381  iret = -mod(idn,256)
    +
    382  return
    +
    383  endif
    +
    384 
    +
    385  do i=2,5
    +
    386  if(idn==idnr(i)) then
    +
    387  tab = 'R'
    +
    388  iret = i
    +
    389  return
    +
    390  elseif(idn==idnr(i+5)) then
    +
    391  tab = 'F'
    +
    392  iret = i
    +
    393  return
    +
    394  endif
    +
    395  enddo
    +
    396 
    +
    397  ! Look for idn in Table B and Table D
    +
    398 
    +
    399  call numtbd(lun,idn,nemo,tab,iret)
    +
    400  if(iret/=0) return
    +
    401 
    +
    402  ! Look for idn in Table C
    +
    403 
    +
    404  cid = adn30(idn,6)
    +
    405  if (iokoper(cid)==1) then
    +
    406  nemo = cid(1:6)
    +
    407  read(nemo,'(1X,I2)') iret
    +
    408  tab = 'C'
    +
    409  return
    +
    410  endif
    +
    411 
    +
    412  return
    +
    413 end subroutine numtab
    +
    414 
    +
    431 subroutine nemtab(lun,nemo,idn,tab,iret)
    +
    432 
    +
    433  use moda_tababd
    +
    434 
    +
    435  implicit none
    +
    436 
    +
    437  integer, intent(in) :: lun
    +
    438  integer, intent(out) :: idn, iret
    +
    439  integer i, j, ifxy, iokoper
    +
    440 
    +
    441  character*(*), intent(in) :: nemo
    +
    442  character, intent(out) :: tab
    +
    443  character*8 nemt
    +
    444 
    +
    445  logical folval
    +
    446 
    +
    447  folval = nemo(1:1)=='.'
    +
    448  iret = 0
    +
    449  tab = ' '
    +
    450 
    +
    451  ! Look for nemo in Table B
    +
    452 
    +
    453  outer: do i=1,ntbb(lun)
    +
    454  nemt = tabb(i,lun)(7:14)
    +
    455  if(nemt==nemo) then
    +
    456  idn = idnb(i,lun)
    +
    457  tab = 'B'
    +
    458  iret = i
    +
    459  return
    +
    460  elseif(folval.and.nemt(1:1)=='.') then
    +
    461  do j=2,len(nemt)
    +
    462  if(nemt(j:j)/='.' .and. nemt(j:j)/=nemo(j:j)) cycle outer
    +
    463  enddo
    +
    464  idn = idnb(i,lun)
    +
    465  tab = 'B'
    +
    466  iret = i
    +
    467  return
    +
    468  endif
    +
    469  enddo outer
    +
    470 
    +
    471  ! Don't look in Table D for following value-mnemonics
    +
    472 
    +
    473  if(folval) return
    +
    474 
    +
    475  ! Look in Table D if we got this far
    +
    476 
    +
    477  do i=1,ntbd(lun)
    +
    478  nemt = tabd(i,lun)(7:14)
    +
    479  if(nemt==nemo) then
    +
    480  idn = idnd(i,lun)
    +
    481  tab = 'D'
    +
    482  iret = i
    +
    483  return
    +
    484  endif
    +
    485  enddo
    +
    486 
    +
    487  ! If still nothing, check for Table C operator descriptors
    +
    488 
    +
    489  if (iokoper(nemo)==1) then
    +
    490  read(nemo,'(1X,I2)') iret
    +
    491  idn = ifxy(nemo)
    +
    492  tab = 'C'
    +
    493  return
    +
    494  endif
    +
    495 
    +
    496  return
    +
    497 end subroutine nemtab
    +
    subroutine bort(str)
    Log an error message, then abort the application program.
    Definition: borts.F90:15
    +
    subroutine nemtab(lun, nemo, idn, tab, iret)
    Get information about a descriptor, based on a mnemonic.
    Definition: fxy.F90:432
    +
    integer function numbck(numb)
    Check an FXY number for validity.
    Definition: fxy.F90:237
    +
    subroutine cadn30(idn, adn)
    Convert an FXY value from its WMO bit-wise representation to its 6 character representation.
    Definition: fxy.F90:65
    +
    subroutine numtab(lun, idn, nemo, tab, iret)
    Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
    Definition: fxy.F90:357
    +
    integer function idn30(adn, ldn)
    Convert an FXY value from a character string to the WMO bit-wise representation.
    Definition: fxy.F90:91
    +
    subroutine numtbd(lun, idn, nemo, tab, iret)
    Get information about a Table B or Table D descriptor, based on the WMO bit-wise representation of an...
    Definition: fxy.F90:290
    +
    integer function igetfxy(str, cfxy)
    Search for and return a valid FXY number from within a character string.
    Definition: fxy.F90:179
    +
    integer function ifxy(adsc)
    Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
    Definition: fxy.F90:152
    +
    character *(*) function adn30(idn, ldn)
    Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.
    Definition: fxy.F90:18
    +
    Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
    +
    character *600, dimension(:,:), allocatable tabd
    Table D entries for each file ID.
    +
    integer, dimension(:), allocatable ntbd
    Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
    +
    integer, dimension(:), allocatable ntbb
    Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
    +
    integer, dimension(:,:), allocatable idnd
    WMO bit-wise representations of the FXY values corresponding to tabd.
    +
    integer, dimension(:,:), allocatable idnb
    WMO bit-wise representations of the FXY values corresponding to tabb.
    +
    character *128, dimension(:,:), allocatable tabb
    Table B entries for each file ID.
    +
    +
    + + + + diff --git a/gettab_8F90.html b/gettab_8F90.html new file mode 100644 index 000000000..dd7029027 --- /dev/null +++ b/gettab_8F90.html @@ -0,0 +1,143 @@ + + + + + + + +NCEPLIBS-bufr: gettab.F90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-bufr +  12.1.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    gettab.F90 File Reference
    +
    +
    + +

    Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Functions/Subroutines

    program gettab
     Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout. More...
     
    +

    Detailed Description

    +

    Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout.

    +
    Author
    Woollen
    +
    Date
    2000-01-01
    + +

    Definition in file gettab.F90.

    +

    Function/Subroutine Documentation

    + +

    ◆ gettab()

    + +
    +
    + + + + +
    program gettab
    +
    + +

    Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout.

    +
    Returns
    0 for success, error code otherwise.
    +
    Author
    Woollen
    +
    Date
    2000-01-01
    + +

    Definition at line 13 of file gettab.F90.

    + +

    References closbf(), dxdump(), openbf(), and status().

    + +
    +
    +
    +
    + + + + diff --git a/gettab_8F90.js b/gettab_8F90.js new file mode 100644 index 000000000..a8a4ff379 --- /dev/null +++ b/gettab_8F90.js @@ -0,0 +1,4 @@ +var gettab_8F90 = +[ + [ "gettab", "gettab_8F90.html#ac9eda42ec8bf46baae0a4f34cd517813", null ] +]; \ No newline at end of file diff --git a/gettab_8F90_source.html b/gettab_8F90_source.html new file mode 100644 index 000000000..edbf0f749 --- /dev/null +++ b/gettab_8F90_source.html @@ -0,0 +1,139 @@ + + + + + + + +NCEPLIBS-bufr: gettab.F90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-bufr +  12.1.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    gettab.F90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    6 
    +
    13 program gettab
    +
    14 
    +
    15  implicit none
    +
    16 
    +
    17  character(len=255) :: file
    +
    18  integer, parameter :: lunit = 20
    +
    19  logical :: exist
    +
    20 
    +
    21 ! get the filename to open and read
    +
    22 
    +
    23  call get_command_argument(1,file); file=trim(adjustl(file))
    +
    24  if (file == '') then
    +
    25  print *,'Usage: gettab <bufrfile> will print the internal BUFR table'
    +
    26  call exit(2)
    +
    27  else
    +
    28  inquire(file=file,exist=exist)
    +
    29  if (.not.exist) then
    +
    30  print *,trim(file)//' does not exist'
    +
    31  call exit(3)
    +
    32  endif
    +
    33  endif
    +
    34 
    +
    35 ! open the file and dump the bufr table to standard outout
    +
    36 
    +
    37  open(lunit,file=file,status='old', form='unformatted')
    +
    38  call openbf(lunit, 'IN', lunit)
    +
    39  call dxdump(lunit, 6)
    +
    40  call closbf(lunit)
    +
    41  close(lunit)
    +
    42 
    +
    43  stop
    +
    44 end program gettab
    +
    45 
    +
    recursive subroutine dxdump(lunit, ldxot)
    Print a copy of the DX BUFR table associated with a specified Fortran logical unit.
    Definition: dumpdata.F90:580
    +
    program gettab
    Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout.
    Definition: gettab.F90:13
    +
    recursive subroutine closbf(lunit)
    Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
    +
    recursive subroutine openbf(lunit, io, lundx)
    Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
    +
    recursive subroutine status(lunit, lun, il, im)
    Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
    +
    +
    + + + + diff --git a/globals.html b/globals.html index f8b308b36..8d83e389d 100644 --- a/globals.html +++ b/globals.html @@ -26,7 +26,7 @@
    NCEPLIBS-bufr -  12.0.1 +  12.1.0
    @@ -86,24 +86,27 @@

    - a -

    diff --git a/globals_b.html b/globals_b.html index 1ddf7f1b3..8d8cf458b 100644 --- a/globals_b.html +++ b/globals_b.html @@ -26,7 +26,7 @@
    NCEPLIBS-bufr -  12.0.1 +  12.1.0
    @@ -86,33 +86,29 @@

    - b -

    • backbufr() -: cread.c -, bufrlib.h +: bufrlib.h +, cread.c
    • bfrini() -: bfrini.f90 +: misc.F90
    • binv() -: binv.f90 +: binv.F90
    • blocks() -: blocks.f +: blocks.F90
    • bort() -: bort.f +: borts.F90
    • bort2() -: bort2.f -
    • -
    • bort_exit() -: bort_exit.c -, bufrlib.h +: borts.F90
    • bort_f() : bufrlib.h
    • bvers() -: bvers.f +: misc.F90
    • bvers_f() : bufr_interface.h diff --git a/globals_c.html b/globals_c.html index 63c0b9375..245114ac9 100644 --- a/globals_c.html +++ b/globals_c.html @@ -26,7 +26,7 @@
      NCEPLIBS-bufr -  12.0.1 +  12.1.0
      @@ -86,57 +86,57 @@

      - c -

      • cadn30() -: cadn30.f +: fxy.F90
      • cadn30_f() : bufrlib.h
      • capit() -: capit.f +: misc.F90
      • cbbw_c -: mstabs.h +: mstabs.h
      • cbelem_c -: mstabs.h +: mstabs.h
      • cbmnem_c -: mstabs.h +: mstabs.h
      • cbscl_c -: mstabs.h +: mstabs.h
      • cbsref_c -: mstabs.h +: mstabs.h
      • cbunit_c -: mstabs.h +: mstabs.h
      • ccbfl() : bufr_interface.h , crwbmg.c
      • cdmnem_c -: mstabs.h +: mstabs.h
      • cdseq_c -: mstabs.h +: mstabs.h
      • cewind() -: bufrlib.h -, cread.c +: cread.c +, bufrlib.h
      • cfe : cfe.c
      • chekstab() -: chekstab.f +: jumplink.F90
      • cktaba() -: cktaba.f +: s013vals.F90
      • closbf() -: closbf.f +: openclosebf.F90
      • closbf_f() : bufr_interface.h @@ -145,11 +145,11 @@

        - c -

          : bufr_interface.h
        • closfb() -: cread.c -, bufrlib.h +: bufrlib.h +, cread.c
        • closmg() -: closmg.f +: readwritemg.F90
        • cmpbqm() : cmpbqm.F90 @@ -158,7 +158,7 @@

          - c -

          diff --git a/globals_e.html b/globals_e.html index 4e8387db7..5037768b6 100644 --- a/globals_e.html +++ b/globals_e.html @@ -26,7 +26,7 @@
          NCEPLIBS-bufr -  12.0.1 +  12.1.0
          @@ -86,16 +86,16 @@

          - e -

          • elemdx() -: elemdx.f +: dxtable.F90
          • elemdx_f() : bufrlib.h
          • errwrt() -: errwrt.f +: errwrt.F90
          • exitbufr() -: exitbufr.f +: arallocf.F90
          • exitbufr_f() : bufr_interface.h diff --git a/globals_f.html b/globals_f.html index c1df4c616..2f9c723fc 100644 --- a/globals_f.html +++ b/globals_f.html @@ -26,7 +26,7 @@
            NCEPLIBS-bufr -  12.0.1 +  12.1.0
            @@ -89,16 +89,16 @@

            - f -

              : debufr.F90
            • fdebufr_f() -: debufr.c +: debufr.c
            • fortran_close() -: fortran_close.F90 +: openclosebf.F90
            • fortran_open() -: fortran_open.F90 +: openclosebf.F90
            • fstag() -: fstag.f +: jumplink.F90
            • FXY_STR_LEN : bufrlib.h diff --git a/globals_func.html b/globals_func.html index 8dcc6db90..3a61aa262 100644 --- a/globals_func.html +++ b/globals_func.html @@ -26,7 +26,7 @@
              NCEPLIBS-bufr -  12.0.1 +  12.1.0
              @@ -86,24 +86,27 @@

              - a -

              diff --git a/globals_func_b.html b/globals_func_b.html index 76f37bfce..32f1a8db1 100644 --- a/globals_func_b.html +++ b/globals_func_b.html @@ -26,7 +26,7 @@
              NCEPLIBS-bufr -  12.0.1 +  12.1.0
              @@ -86,33 +86,29 @@

              - b -

              • backbufr() -: cread.c -, bufrlib.h +: bufrlib.h +, cread.c
              • bfrini() -: bfrini.f90 +: misc.F90
              • binv() -: binv.f90 +: binv.F90
              • blocks() -: blocks.f +: blocks.F90
              • bort() -: bort.f +: borts.F90
              • bort2() -: bort2.f -
              • -
              • bort_exit() -: bort_exit.c -, bufrlib.h +: borts.F90
              • bort_f() : bufrlib.h
              • bvers() -: bvers.f +: misc.F90
              • bvers_f() : bufr_interface.h diff --git a/globals_func_c.html b/globals_func_c.html index 45b15c629..e90ee4d88 100644 --- a/globals_func_c.html +++ b/globals_func_c.html @@ -26,7 +26,7 @@
                NCEPLIBS-bufr -  12.0.1 +  12.1.0
                @@ -86,30 +86,30 @@

                - c -

                • cadn30() -: cadn30.f +: fxy.F90
                • cadn30_f() : bufrlib.h
                • capit() -: capit.f +: misc.F90
                • ccbfl() : bufr_interface.h , crwbmg.c
                • cewind() -: cread.c -, bufrlib.h +: bufrlib.h +, cread.c
                • chekstab() -: chekstab.f +: jumplink.F90
                • cktaba() -: cktaba.f +: s013vals.F90
                • closbf() -: closbf.f +: openclosebf.F90
                • closbf_f() : bufr_interface.h @@ -118,11 +118,11 @@

                  - c -

                    : bufr_interface.h
                  • closfb() -: cread.c -, bufrlib.h +: bufrlib.h +, cread.c
                  • closmg() -: closmg.f +: readwritemg.F90
                  • cmpbqm() : cmpbqm.F90 @@ -131,7 +131,7 @@

                    - c -

                      : stseq.c
                    • cmpmsg() -: cmpmsg.f +: compress.F90
                    • cmpmsg_f() : bufr_interface.h @@ -143,60 +143,60 @@

                      - c -

                      diff --git a/globals_func_d.html b/globals_func_d.html index daf83a68c..ff7c62cdc 100644 --- a/globals_func_d.html +++ b/globals_func_d.html @@ -26,7 +26,7 @@
                      NCEPLIBS-bufr -  12.0.1 +  12.1.0
                      @@ -86,37 +86,34 @@

                      - d -

                      diff --git a/globals_func_e.html b/globals_func_e.html index bf8ba14ff..d7faf7856 100644 --- a/globals_func_e.html +++ b/globals_func_e.html @@ -26,7 +26,7 @@
                      NCEPLIBS-bufr -  12.0.1 +  12.1.0
                      @@ -86,16 +86,16 @@

                      - e -

                      • elemdx() -: elemdx.f +: dxtable.F90
                      • elemdx_f() : bufrlib.h
                      • errwrt() -: errwrt.f +: errwrt.F90
                      • exitbufr() -: exitbufr.f +: arallocf.F90
                      • exitbufr_f() : bufr_interface.h diff --git a/globals_func_f.html b/globals_func_f.html index 21d2c6115..92870c0fe 100644 --- a/globals_func_f.html +++ b/globals_func_f.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -89,16 +89,16 @@

                        - f -

                        diff --git a/globals_func_g.html b/globals_func_g.html index e413f32ff..36cee3324 100644 --- a/globals_func_g.html +++ b/globals_func_g.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -119,40 +119,40 @@

                        - g -

                        diff --git a/globals_func_h.html b/globals_func_h.html index 6456aeeab..0029025e0 100644 --- a/globals_func_h.html +++ b/globals_func_h.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -86,7 +86,7 @@

                        - h -

                        diff --git a/globals_func_i.html b/globals_func_i.html index ba94df6d5..80dbce038 100644 --- a/globals_func_i.html +++ b/globals_func_i.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -86,182 +86,179 @@

                        - i -

                        diff --git a/globals_func_j.html b/globals_func_j.html index 1c5a44e7c..7056a45b8 100644 --- a/globals_func_j.html +++ b/globals_func_j.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -86,7 +86,7 @@

                        - j -

                        diff --git a/globals_func_l.html b/globals_func_l.html index c9b5ab6c0..de2e5f3d1 100644 --- a/globals_func_l.html +++ b/globals_func_l.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -86,13 +86,13 @@

                        - l -

                        diff --git a/globals_func_m.html b/globals_func_m.html index b1152e6b9..9b1bd168b 100644 --- a/globals_func_m.html +++ b/globals_func_m.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -90,49 +90,49 @@

                        - m -

                        diff --git a/globals_func_n.html b/globals_func_n.html index 3e5d8f1b6..0e7535761 100644 --- a/globals_func_n.html +++ b/globals_func_n.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -86,79 +86,79 @@

                        - n -

                        diff --git a/globals_func_o.html b/globals_func_o.html index cb76a090c..6107756a7 100644 --- a/globals_func_o.html +++ b/globals_func_o.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -89,35 +89,35 @@

                        - o -

                        diff --git a/globals_func_p.html b/globals_func_p.html index 530288c52..1ef050ead 100644 --- a/globals_func_p.html +++ b/globals_func_p.html @@ -26,7 +26,7 @@
                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                        @@ -86,46 +86,46 @@

                        - p -

                        • pad() -: pad.f +: readwritesb.F90
                        • padmsg() -: padmsg.f +: readwritemg.F90
                        • parstr() -: parstr.f +: strings.F90
                        • parusr() -: parusr.f +: strings.F90
                        • parutg() -: parutg.f +: strings.F90
                        • pkb() -: pkb.f +: ciencode.F90
                        • pkb8() -: pkb8.f +: ciencode.F90
                        • pkbs1() -: pkbs1.f +: s013vals.F90
                        • pkc() -: pkc.f +: ciencode.F90
                        • pkftbv() -: pkftbv.f +: cftbvs.F90
                        • pktdd() -: pktdd.f +: dxtable.F90
                        • pktdd_f() : bufrlib.h
                        • pkvs01() -: pkvs01.f +: s013vals.F90
                        • posapx() -: posapx.f +: openclosebf.F90
                        • printx() : readbp.F90 diff --git a/globals_func_r.html b/globals_func_r.html index bcb09a40e..b54f52cc9 100644 --- a/globals_func_r.html +++ b/globals_func_r.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -89,89 +89,89 @@

                          - r -

                          diff --git a/globals_func_s.html b/globals_func_s.html index e7fa8b217..3b114844f 100644 --- a/globals_func_s.html +++ b/globals_func_s.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,95 +86,98 @@

                          - s -

                          diff --git a/globals_func_t.html b/globals_func_t.html index 1cb119410..1929b1df7 100644 --- a/globals_func_t.html +++ b/globals_func_t.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,13 +86,13 @@

                          - t -

                          diff --git a/globals_func_u.html b/globals_func_u.html index 0d84fcd72..298460f97 100644 --- a/globals_func_u.html +++ b/globals_func_u.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,127 +86,127 @@

                          - u -

                          diff --git a/globals_func_w.html b/globals_func_w.html index afbd201f3..7ccdbbf75 100644 --- a/globals_func_w.html +++ b/globals_func_w.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,41 +86,34 @@

                          - w -

                          diff --git a/globals_func_x.html b/globals_func_x.html index d5aac4b48..ad2fc04be 100644 --- a/globals_func_x.html +++ b/globals_func_x.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,10 +86,10 @@

                          - x -

                          diff --git a/globals_g.html b/globals_g.html index 5697828c2..441e9f298 100644 --- a/globals_g.html +++ b/globals_g.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -119,40 +119,40 @@

                          - g -

                          diff --git a/globals_h.html b/globals_h.html index ce1d00893..b26b48dc0 100644 --- a/globals_h.html +++ b/globals_h.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,7 +86,7 @@

                          - h -

                          diff --git a/globals_i.html b/globals_i.html index f2ed1fbdc..150502f25 100644 --- a/globals_i.html +++ b/globals_i.html @@ -26,7 +26,7 @@
                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                          @@ -86,92 +86,95 @@

                          - i -

                          • i4dy() -: i4dy.f +: s013vals.F90 +
                          • +
                          • iafpk +: mstabs.h
                          • ibfms() -: ibfms.f +: missing.F90
                          • ibfms_f() : bufr_interface.h
                          • ibfxyn_c -: mstabs.h +: mstabs.h
                          • icbfms() -: icbfms.f +: missing.F90
                          • icmpdx() -: icmpdx.f +: jumplink.F90
                          • icopysb() -: icopysb.f +: copydata.F90
                          • icvidx() -: icvidx.c -, bufrlib.h +: bufrlib.h +, icvidx.c
                          • idefxy_c -: mstabs.h +: mstabs.h
                          • idfxyn_c -: mstabs.h +: mstabs.h
                          • idn30() -: idn30.f +: fxy.F90
                          • idxmsg() -: idxmsg.f +: dxtable.F90
                          • ifbget() -: ifbget.f +: readwritemg.F90
                          • ifxy() -: ifxy.f +: fxy.F90
                          • ifxy_f() : bufrlib.h
                          • igetdate() -: igetdate.f +: s013vals.F90
                          • igetfxy() -: igetfxy.f +: fxy.F90
                          • igetmxby() -: igetmxby.f +: readwritemg.F90
                          • igetmxby_f() : bufr_interface.h
                          • igetntbi() -: igetntbi.f +: dxtable.F90
                          • igetntbi_f() : bufrlib.h
                          • igetntbl() -: igetntbl.f +: mastertable.F90
                          • igetprm() -: igetprm.f +: arallocf.F90
                          • igetprm_f() : bufr_interface.h
                          • igetrfel() -: igetrfel.f +: bitmaps.F90
                          • igetsc() -: igetsc.f +: misc.F90
                          • igettdi() -: igettdi.f +: mastertable.F90
                          • igettdi_f() : bufrlib.h
                          • imrkopr() -: imrkopr.f +: bitmaps.F90
                          • imrkopr_f() : bufrlib.h @@ -180,100 +183,97 @@

                            - i -

                            diff --git a/globals_j.html b/globals_j.html index f8fa45947..d13a32048 100644 --- a/globals_j.html +++ b/globals_j.html @@ -26,7 +26,7 @@
                            NCEPLIBS-bufr -  12.0.1 +  12.1.0
                            @@ -86,7 +86,7 @@

                            - j -

                            diff --git a/globals_l.html b/globals_l.html index fd21d0e7a..6d893d414 100644 --- a/globals_l.html +++ b/globals_l.html @@ -26,7 +26,7 @@
                            NCEPLIBS-bufr -  12.0.1 +  12.1.0
                            @@ -86,13 +86,13 @@

                            - l -

                            • lcmgdf() -: lcmgdf.f +: readwritesb.F90
                            • lmsg() -: lmsg.f +: readwritemg.F90
                            • lstjpb() -: lstjpb.f +: jumplink.F90
                            • lstpos : cread.h diff --git a/globals_m.html b/globals_m.html index 1a151a544..90258a18e 100644 --- a/globals_m.html +++ b/globals_m.html @@ -26,7 +26,7 @@
                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                              @@ -90,7 +90,7 @@

                              - m -

                                , xbfmg.c
                              • makestab() -: makestab.f +: jumplink.F90
                              • MAX_FXY_TABLEB : bufrlib.h @@ -98,23 +98,17 @@

                                - m -

                                • MAX_MEANING_LEN : cfe.c
                                • -
                                • MAXCD -: bufrlib.h -
                                • -
                                • MAXNC -: bufrlib.h -
                                • maxout() -: maxout.f +: readwritemg.F90
                                • maxout_f() : bufr_interface.h
                                • mesgbc() -: mesgbc.f +: s013vals.F90
                                • mesgbf() -: mesgbf.f +: s013vals.F90
                                • MIN_FXY_REPL : bufrlib.h @@ -123,34 +117,34 @@

                                  - m -

                                    : bufrlib.h
                                  • minimg() -: minimg.f +: s013vals.F90
                                  • mrginv() -: mrginv.f +: misc.F90
                                  • msgfull() -: msgfull.f +: readwritemg.F90
                                  • msgini() -: msgini.f +: readwritemg.F90
                                  • msgupd() -: msgupd.f +: readwritesb.F90
                                  • msgwrt() -: msgwrt.f +: readwritemg.F90
                                  • mtfnam() -: mtfnam.f +: mastertable.F90
                                  • mtinfo() -: mtinfo.f +: mastertable.F90
                                  • mtinfo_f() : bufr_interface.h
                                  • mvb() -: mvb.f +: copydata.F90
                                  • MXFNLEN : crwbmg.c @@ -158,9 +152,6 @@

                                    - m -

                                    diff --git a/globals_n.html b/globals_n.html index 02800a766..3acb3d3a8 100644 --- a/globals_n.html +++ b/globals_n.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -86,10 +86,10 @@

                                    - n -

                                    • ndelem_c -: mstabs.h +: mstabs.h
                                    • nemdefs() -: nemdefs.f +: dxtable.F90
                                    • nemdefs_f() : bufr_interface.h @@ -98,85 +98,82 @@

                                      - n -

                                      diff --git a/globals_o.html b/globals_o.html index f1056198e..5ca557263 100644 --- a/globals_o.html +++ b/globals_o.html @@ -26,7 +26,7 @@
                                      NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                      @@ -89,35 +89,35 @@

                                      - o -

                                      diff --git a/globals_p.html b/globals_p.html index a26cdf678..9ffdbbc0c 100644 --- a/globals_p.html +++ b/globals_p.html @@ -26,7 +26,7 @@
                                      NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                      @@ -86,19 +86,19 @@

                                      - p -

                                      • pad() -: pad.f +: readwritesb.F90
                                      • padmsg() -: padmsg.f +: readwritemg.F90
                                      • parstr() -: parstr.f +: strings.F90
                                      • parusr() -: parusr.f +: strings.F90
                                      • parutg() -: parutg.f +: strings.F90
                                      • pb : cread.h @@ -107,31 +107,31 @@

                                        - p -

                                          : crwbmg.c
                                        • pkb() -: pkb.f +: ciencode.F90
                                        • pkb8() -: pkb8.f +: ciencode.F90
                                        • pkbs1() -: pkbs1.f +: s013vals.F90
                                        • pkc() -: pkc.f +: ciencode.F90
                                        • pkftbv() -: pkftbv.f +: cftbvs.F90
                                        • pktdd() -: pktdd.f +: dxtable.F90
                                        • pktdd_f() : bufrlib.h
                                        • pkvs01() -: pkvs01.f +: s013vals.F90
                                        • posapx() -: posapx.f +: openclosebf.F90
                                        • printx() : readbp.F90 diff --git a/globals_r.html b/globals_r.html index e00c69a50..230bd16d0 100644 --- a/globals_r.html +++ b/globals_r.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -89,89 +89,89 @@

                                          - r -

                                          diff --git a/globals_s.html b/globals_s.html index 11583acbb..bca83d635 100644 --- a/globals_s.html +++ b/globals_s.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -86,95 +86,98 @@

                                          - s -

                                          diff --git a/globals_t.html b/globals_t.html index 187ab3389..91b26a3b9 100644 --- a/globals_t.html +++ b/globals_t.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -86,13 +86,13 @@

                                          - t -

                                          diff --git a/globals_u.html b/globals_u.html index 0eab202eb..a096d83b0 100644 --- a/globals_u.html +++ b/globals_u.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -86,130 +86,130 @@

                                          - u -

                                          diff --git a/globals_v.html b/globals_v.html index b3c0c5663..8a07449f0 100644 --- a/globals_v.html +++ b/globals_v.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -86,7 +86,7 @@

                                          - v -

                                          diff --git a/globals_vars.html b/globals_vars.html index 9dbe05a32..ec6e08ccd 100644 --- a/globals_vars.html +++ b/globals_vars.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -84,40 +84,43 @@
                                           
                                          diff --git a/globals_x.html b/globals_x.html index 508486c71..20f33b0f1 100644 --- a/globals_x.html +++ b/globals_x.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -86,10 +86,10 @@

                                          - x -

                                          diff --git a/icvidx_8c.html b/icvidx_8c.html index 814dcd476..655cc7c46 100644 --- a/icvidx_8c.html +++ b/icvidx_8c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -155,7 +155,7 @@

                                          Definition at line 22 of file icvidx.c.

                                          -

                                          Referenced by cpmstabs(), and stseq().

                                          +

                                          Referenced by cpmstabs(), and stseq().

                                          diff --git a/icvidx_8c_source.html b/icvidx_8c_source.html index e61f16804..054eb4732 100644 --- a/icvidx_8c_source.html +++ b/icvidx_8c_source.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -88,7 +88,7 @@
                                          Go to the documentation of this file.
                                          1 
                                          21 int
                                          -
                                          22 icvidx(int ii, int jj, int numjj)
                                          +
                                          22 icvidx(int ii, int jj, int numjj)
                                          23 {
                                          24  return ( numjj * ii ) + jj;
                                          25 }
                                          diff --git a/index.html b/index.html index 53ad32151..9abc3bbbe 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -86,24 +86,25 @@
                                          NCEPLIBS-bufr Documentation
                                          -

                                          +

                                          Documentation for Previous Versions of NCEPLIBS-bufr

                                          -

                                          +

                                          Documentation for the Python API for NCEPLIBS-bufr

                                          -

                                          +

                                          Introduction

                                          This library contains subroutines, functions and other utilities that can be used to read (decode) and write (encode) data in BUFR, which is a WMO standard format for the exchange of meteorological data.

                                          -

                                          +

                                          The BUFR Format

                                          The BUFR format is officially documented in WMO Manual 306, Volume I.2. The latest edition of BUFR is edition 4, although edition 3 is still in use in many parts of the world. A complete BUFR message consists of the following sections:

                                          @@ -126,22 +127,22 @@

                                          NCEPLIBS-bufr can read (decode) and write (encode) data in both edition 3 and edition 4 of BUFR. It consists of more than 300 different subroutines and functions; however, a typical application program will never directly call more than 10 to 20 of them, and the rest are lower-level routines that the library uses to accomplish various underlying tasks, and which can therefore be considered as "black box" from a user perspective.

                                          Whenever new versions of the official WMO master BUFR tables are released by WMO (as noted above), they are downloaded and reformatted as new NCEPLIBS-bufr master BUFR tables for use with the software and distributed with the next release of the library. However, users can also generate their own custom NCEPLIBS-bufr DX BUFR tables for use with the software as needed.

                                          More details are available throughout the documentation, including sample utilities which demonstrate how to use many of the various library subroutines and functions to accomplish different tasks.

                                          -

                                          +

                                          NCEPLIBS-bufr Library Subroutines and Functions

                                          It's important to understand the following hierarchy:

                                            -
                                          1. Any BUFR file can consist of one or more BUFR messages.
                                          2. -
                                          3. Any BUFR message can consist of one or more BUFR data subsets, which are akin to reports from individual observational stations at a particular time and location.
                                          4. -
                                          5. Any BUFR data subset can consist of one or more BUFR data descriptors and corresponding data values.
                                          6. +
                                          7. Any BUFR file can contain one or more BUFR messages.
                                          8. +
                                          9. Any BUFR message can contain one or more BUFR data subsets, which are akin to reports from individual observational stations at a particular time and location.
                                          10. +
                                          11. Any BUFR data subset can contain one or more BUFR data descriptors and corresponding data values.

                                          This allows many of the most commonly used library subroutines and functions to be grouped based on which level of the hierarchy they operate at, and whether for reading/decoding BUFR data or writing/encoding BUFR data. In the following table, any routine with a _f suffix wraps a Fortran routine of the same name and should only be called from C application programs. Conversely, any routine with a _c suffix wraps a C function of the same name and should only be called from Fortran application programs.

                                          - + - +
                                          For working with: BUFR files BUFR messages BUFR data subsets BUFR data values
                                          reading/decoding openbf() openbf_f() ufbmem() ufbmex() cobfl() cobfl_c() readmg() ireadmg() ireadmg_f() readerme() readns() ireadns() rdmemm() readmm() ireadmm() crbmg() crbmg_c() datelen() getlens() iupvs01() iupbs01() iupbs01_f() iupbs3() nmsub() rtrcpt() igetdate() readsb() ireadsb() ireadsb_f() readns() ireadns() rdmems() ufbmms() ufbmns() ufbpos() ufbint() ufbint_f() ufbrep() ufbrep_f() ufbseq() ufbstp() ufbrms() readlc() getvalnb() setbmiss() getbmiss() ibfms() icbfms()
                                          reading/decoding openbf() openbf_f() ufbmem() ufbmex() cobfl() cobfl_c() readmg() ireadmg() ireadmg_f() readerme() readns() ireadns() rdmemm() readmm() ireadmm() crbmg() crbmg_c() datelen() getlens() iupvs01() iupbs01() iupbs01_f() iupbs3() nmsub() rtrcpt() igetdate() readsb() ireadsb() ireadsb_f() readns() ireadns() rdmems() ufbmms() ufbmns() ufbpos() ufbint() ufbint_f() ufbrep() ufbrep_f() ufbseq() ufbstp() ufbrms() readlc() getvalnb() setbmiss() getbmiss() ibfms() icbfms()
                                          writing/encoding openbf() openbf_f() closbf() closbf_f() copybf() cobfl() cobfl_c() openmb() openmg() closmg() copymg() cpymem() cwbmg() cwbmg_c() cmpmsg() stdmsg() cnved4() strcpt() setblock() maxout() pkvs01() pkbs1() minimg() writsb() writsa() writcp() copysb() icopysb() ufbint() ufbint_f() ufbrep() ufbrep_f() ufbseq() ufbstp() writlc() setvalnb() setbmiss()
                                          writing/encoding openbf() openbf_f() closbf() closbf_f() copybf() cobfl() cobfl_c() openmb() openmg() closmg() copymg() cpymem() cwbmg() cwbmg_c() cmpmsg() stdmsg() cnved4() strcpt() setblock() maxout() pkvs01() pkbs1() minimg() writsb() writsa() writcp() copysb() icopysb() ufbint() ufbint_f() ufbrep() ufbrep_f() ufbseq() ufbstp() writlc() setvalnb() setbmiss()

                                          diff --git a/interfacebufr__interface_1_1ccbfl__c.html b/interfacebufr__interface_1_1ccbfl__c.html index cd5038849..ea71eca66 100644 --- a/interfacebufr__interface_1_1ccbfl__c.html +++ b/interfacebufr__interface_1_1ccbfl__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufr__interface_1_1cobfl__c.html b/interfacebufr__interface_1_1cobfl__c.html index a1eefefff..0cdd0419b 100644 --- a/interfacebufr__interface_1_1cobfl__c.html +++ b/interfacebufr__interface_1_1cobfl__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufr__interface_1_1crbmg__c.html b/interfacebufr__interface_1_1crbmg__c.html index e007a9e9d..16edb18f9 100644 --- a/interfacebufr__interface_1_1crbmg__c.html +++ b/interfacebufr__interface_1_1crbmg__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufr__interface_1_1cwbmg__c.html b/interfacebufr__interface_1_1cwbmg__c.html index 2d3ce2ef6..65139468e 100644 --- a/interfacebufr__interface_1_1cwbmg__c.html +++ b/interfacebufr__interface_1_1cwbmg__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufr__interface_1_1dlloctbf__c.html b/interfacebufr__interface_1_1dlloctbf__c.html index 8a340359a..6370c6ef6 100644 --- a/interfacebufr__interface_1_1dlloctbf__c.html +++ b/interfacebufr__interface_1_1dlloctbf__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1arallocc__c.html b/interfacebufrlib_1_1arallocc__c.html index 489c8446f..a418e2195 100644 --- a/interfacebufrlib_1_1arallocc__c.html +++ b/interfacebufrlib_1_1arallocc__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1ardllocc__c.html b/interfacebufrlib_1_1ardllocc__c.html index d0fcafceb..30b456e73 100644 --- a/interfacebufrlib_1_1ardllocc__c.html +++ b/interfacebufrlib_1_1ardllocc__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -112,7 +112,7 @@

                                          Free all memory allocated via arallocc_c().

                                          -

                                          Wraps ardllocc() function.

                                          +

                                          Wraps ardllocc() function.

                                          Author
                                          J. Ator
                                          Date
                                          2014-12-04
                                          diff --git a/interfacebufrlib_1_1backbufr__c.html b/interfacebufrlib_1_1backbufr__c.html index 1e309097f..57773279d 100644 --- a/interfacebufrlib_1_1backbufr__c.html +++ b/interfacebufrlib_1_1backbufr__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -116,7 +116,7 @@

                                          Backspace a BUFR file by one BUFR message.

                                          -

                                          Wraps backbufr() function.

                                          +

                                          Wraps backbufr() function.

                                          Parameters
                                          diff --git a/interfacebufrlib_1_1cewind__c.html b/interfacebufrlib_1_1cewind__c.html index f6c9a3792..3171f52b1 100644 --- a/interfacebufrlib_1_1cewind__c.html +++ b/interfacebufrlib_1_1cewind__c.html @@ -26,7 +26,7 @@ @@ -116,7 +116,7 @@

                                          Rewind a BUFR file back to its beginning.

                                          -

                                          Wraps cewind() function.

                                          +

                                          Wraps cewind() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1closfb__c.html b/interfacebufrlib_1_1closfb__c.html index 416f764f0..726918670 100644 --- a/interfacebufrlib_1_1closfb__c.html +++ b/interfacebufrlib_1_1closfb__c.html @@ -26,7 +26,7 @@ @@ -116,7 +116,7 @@

                                          Close a previously opened BUFR file.

                                          -

                                          Wraps closfb() function.

                                          +

                                          Wraps closfb() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1cpmstabs__c.html b/interfacebufrlib_1_1cpmstabs__c.html index bacd2f982..8178680e5 100644 --- a/interfacebufrlib_1_1cpmstabs__c.html +++ b/interfacebufrlib_1_1cpmstabs__c.html @@ -26,7 +26,7 @@ @@ -204,11 +204,11 @@

                                          Copy master Table B and Table D information.

                                          -

                                          Wraps cpmstabs() function.

                                          +

                                          Wraps cpmstabs() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          - + @@ -216,11 +216,11 @@

                                          cbmnem

                                          - + - +
                                          nmtb- Number of master Table B entries.
                                          ibfxyn- Bit-wise representations of master Table B FXY numbers.
                                          ibfxyn- WMO bit-wise representations of master Table B FXY numbers.
                                          cbscl- Master Table B scale factors.
                                          cbsref- Master Table B reference values.
                                          cbbw- Master Table B bit widths.
                                          - Master Table B mnemonics.
                                          cbelem- Master Table B element names.
                                          nmtd- Number of master Table D entries.
                                          idfxyn- Bit-wise representations of master Table D FXY numbers.
                                          idfxyn- WMO bit-wise representations of master Table D FXY numbers.
                                          cdseq- Master Table D sequence names.
                                          cdmnem- Master Table D mnemonics.
                                          ndelem- Number of child descriptors for master Table D sequence.
                                          idefxy- Bit-wise representations of child descriptors for master Table D sequence.
                                          idefxy- WMO bit-wise representations of child descriptors for master Table D sequence.
                                          maxcd- Maximum number of child descriptors for a master Table D sequence.
                                          diff --git a/interfacebufrlib_1_1crdbufr__c.html b/interfacebufrlib_1_1crdbufr__c.html index b340ed129..51ca71260 100644 --- a/interfacebufrlib_1_1crdbufr__c.html +++ b/interfacebufrlib_1_1crdbufr__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -132,7 +132,7 @@

                                          Read the next message from a BUFR file that was previously opened for reading.

                                          -

                                          Wraps crdbufr() function.

                                          +

                                          Wraps crdbufr() function.

                                          Parameters
                                          diff --git a/interfacebufrlib_1_1cwrbufr__c.html b/interfacebufrlib_1_1cwrbufr__c.html index 0cfc90c37..7b83a587a 100644 --- a/interfacebufrlib_1_1cwrbufr__c.html +++ b/interfacebufrlib_1_1cwrbufr__c.html @@ -26,7 +26,7 @@ @@ -132,7 +132,7 @@

                                          Write a BUFR message into a file that was previously opened for writing.

                                          -

                                          Wraps cwrbufr() function.

                                          +

                                          Wraps cwrbufr() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1icvidx__c.html b/interfacebufrlib_1_1icvidx__c.html index 4c7048f4e..8c83927d0 100644 --- a/interfacebufrlib_1_1icvidx__c.html +++ b/interfacebufrlib_1_1icvidx__c.html @@ -26,7 +26,7 @@ @@ -132,7 +132,7 @@

                                          Compute a 1-dimensional array index from 2-dimensional indices.

                                          -

                                          Wraps icvidx() function.

                                          +

                                          Wraps icvidx() function.

                                          Author
                                          J. Ator
                                          Date
                                          2022-09-01
                                          Parameters
                                          diff --git a/interfacebufrlib_1_1inittbf__c.html b/interfacebufrlib_1_1inittbf__c.html index c7c7898c1..058275ce8 100644 --- a/interfacebufrlib_1_1inittbf__c.html +++ b/interfacebufrlib_1_1inittbf__c.html @@ -26,7 +26,7 @@

                                          @@ -112,7 +112,7 @@

                                          Initialize memory for internal storage of master Code/Flag table entries.

                                          -

                                          Wraps inittbf() function.

                                          +

                                          Wraps inittbf() function.

                                          Author
                                          J. Ator
                                          Date
                                          2017-11-03
                                          diff --git a/interfacebufrlib_1_1openab__c.html b/interfacebufrlib_1_1openab__c.html index c9f018d7f..e0dfdc893 100644 --- a/interfacebufrlib_1_1openab__c.html +++ b/interfacebufrlib_1_1openab__c.html @@ -26,7 +26,7 @@

                                          @@ -126,7 +126,7 @@

                                          Open a new file for appending BUFR messages.

                                          -

                                          Wraps openab() function.

                                          +

                                          Wraps openab() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1openrb__c.html b/interfacebufrlib_1_1openrb__c.html index a0e63e92f..fd07bc438 100644 --- a/interfacebufrlib_1_1openrb__c.html +++ b/interfacebufrlib_1_1openrb__c.html @@ -26,7 +26,7 @@ @@ -126,7 +126,7 @@

                                          Open a new file for reading BUFR messages.

                                          -

                                          Wraps openrb() function.

                                          +

                                          Wraps openrb() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1openwb__c.html b/interfacebufrlib_1_1openwb__c.html index 1ff851263..16a708d10 100644 --- a/interfacebufrlib_1_1openwb__c.html +++ b/interfacebufrlib_1_1openwb__c.html @@ -26,7 +26,7 @@ @@ -126,7 +126,7 @@

                                          Open a new file for writing BUFR messages.

                                          -

                                          Wraps openwb() function.

                                          +

                                          Wraps openwb() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1restd__c.html b/interfacebufrlib_1_1restd__c.html index f1578e004..09942b898 100644 --- a/interfacebufrlib_1_1restd__c.html +++ b/interfacebufrlib_1_1restd__c.html @@ -26,7 +26,7 @@ @@ -138,7 +138,7 @@

                                          Standardize a local Table D descriptor.

                                          -

                                          Wraps restd() function.

                                          +

                                          Wraps restd() function.

                                          Parameters

                                          nfile- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/interfacebufrlib_1_1sorttbf__c.html b/interfacebufrlib_1_1sorttbf__c.html index 8d3f8455a..9e5517f20 100644 --- a/interfacebufrlib_1_1sorttbf__c.html +++ b/interfacebufrlib_1_1sorttbf__c.html @@ -26,7 +26,7 @@ @@ -112,7 +112,7 @@

                                          Sort entries within the master Code/Flag table.

                                          -

                                          Wraps sorttbf() function.

                                          +

                                          Wraps sorttbf() function.

                                          Author
                                          J. Ator
                                          Date
                                          2017-11-03
                                          diff --git a/interfacebufrlib_1_1srchtbf__c.html b/interfacebufrlib_1_1srchtbf__c.html index 64d377c4a..fc89b7b9d 100644 --- a/interfacebufrlib_1_1srchtbf__c.html +++ b/interfacebufrlib_1_1srchtbf__c.html @@ -26,7 +26,7 @@

                                          @@ -171,11 +171,11 @@

                                          srchtbf() function.

                                          Parameters

                                          lun- File ID.
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          - + @@ -186,7 +186,7 @@

                                          iret

                                          ifxyi- Bit-wise representation of FXY number to search for.
                                          ifxyi- WMO bit-wise representation of FXY number to search for.
                                          ivali- Value (code figure or bit number) associated with ifxyi.
                                          ifxyd- Dependence indicator:
                                            -
                                          • On input, ifxyd[0] is set to the bit-wise representation of the FXY number upon which ifxyi and ivali depend, or else set to (-1) if ifxyi and ivali do not depend on the value associated with any other FXY number.
                                          • -
                                          • On output, if the initial search of the master Code/Flag table was unsuccessful, and if ifxyd[0] and ivald were both set to (-1) on input, and if a second search of the table determines that the meaning of ifxyi and ivali indeed depends on one or more other FXY numbers, then the bit-wise representations of those FXY numbers are returned within the first iret elements of ifxyd.
                                          • +
                                          • On input, ifxyd[0] is set to the WMO bit-wise representation of the FXY number upon which ifxyi and ivali depend, or else set to (-1) if ifxyi and ivali do not depend on the value associated with any other FXY number.
                                          • +
                                          • On output, if the initial search of the master Code/Flag table was unsuccessful, and if ifxyd[0] and ivald were both set to (-1) on input, and if a second search of the table determines that the meaning of ifxyi and ivali indeed depends on one or more other FXY numbers, then the WMO bit-wise representations of those FXY numbers are returned within the first iret elements of ifxyd.
                                          ivald- Value (code figure or bit number) associated with the FXY number in ifxyd[0]; set to (-1) whenever ifxyd[0] is also set to (-1).
                                          - Return code:
                                          • 0 = Meaning found and stored in meaning string.
                                          • -1 = Meaning not found.
                                          • -
                                          • >0 = Meaning not found, and ifxyd[0] and ivald were both set to (-1) on input, and the meaning of ifxyi and ivali depends on the the value associated with one of the FXY numbers whose bit-wise representation is stored in the first iret elements of ifxyd.
                                          • +
                                          • >0 = Meaning not found, and ifxyd[0] and ivald were both set to (-1) on input, and the meaning of ifxyi and ivali depends on the the value associated with one of the FXY numbers whose WMO bit-wise representation is stored in the first iret elements of ifxyd.
                                          diff --git a/interfacebufrlib_1_1strtbfe__c.html b/interfacebufrlib_1_1strtbfe__c.html index 8fad77e32..bc171b8e5 100644 --- a/interfacebufrlib_1_1strtbfe__c.html +++ b/interfacebufrlib_1_1strtbfe__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -153,11 +153,11 @@

                                          strtbfe() function.

                                          Parameters
                                          - + - +
                                          ifxyn- Bit-wise representation of FXY number for which ival is a defined code or flag table entry.
                                          ifxyn- WMO bit-wise representation of FXY number for which ival is a defined code or flag table entry.
                                          ival- Code figure or bit number.
                                          meaning- Meaning associated with ifxyn and ival.
                                          lmeaning- Length (in bytes) of meaning.
                                          idfxy- Bit-wise representation of FXY number upon which ifxyn and ival depend (if any), or else set to a value of (-1).
                                          idfxy- WMO bit-wise representation of FXY number upon which ifxyn and ival depend (if any), or else set to a value of (-1).
                                          idval- Code figure or bit number associated with idfxy and upon which ifxyn and ival depend (if any), or else set to (-1) whenever idfxy is also set to (-1).
                                          diff --git a/interfacebufrlib_1_1stseq__c.html b/interfacebufrlib_1_1stseq__c.html index 08a0c887d..920794e41 100644 --- a/interfacebufrlib_1_1stseq__c.html +++ b/interfacebufrlib_1_1stseq__c.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -156,7 +156,7 @@

                                          Store information about a standard Table D descriptor.

                                          -

                                          Wraps stseq() function.

                                          +

                                          Wraps stseq() function.

                                          Parameters
                                          diff --git a/jumplink_8F90.html b/jumplink_8F90.html new file mode 100644 index 000000000..27b1e2c9b --- /dev/null +++ b/jumplink_8F90.html @@ -0,0 +1,1403 @@ + + + + + + + +NCEPLIBS-bufr: jumplink.F90 File Reference + + + + + + + + + + + + + +
                                          +
                                          +
                                          lun- File ID.
                                          + + + + + +
                                          +
                                          NCEPLIBS-bufr +  12.1.0 +
                                          +
                                          + + + + + + + + + +
                                          + +
                                          +
                                          +
                                          + +
                                          + +
                                          +
                                          + + +
                                          + +
                                          + +
                                          + +
                                          +
                                          jumplink.F90 File Reference
                                          +
                                          +
                                          + +

                                          Read or write jump/link table information. +More...

                                          + +

                                          Go to the source code of this file.

                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                          +Functions/Subroutines

                                          subroutine chekstab (lun)
                                           Check that an internal BUFR table representation is self-consistent and fully defined. More...
                                           
                                          subroutine conwin (lun, inc1, inc2)
                                           Search consecutive subset buffer segments for a conditional node. More...
                                           
                                          subroutine drstpl (inod, lun, inv1, inv2, invn)
                                           Search for a specified mnemonic within unexpanded sequences of the internal jump/link table. More...
                                           
                                          subroutine fstag (lun, utag, nutag, nin, nout, iret)
                                           Search for a specified occurrence of a specified mnemonic within a data subset definition, starting from a specified location. More...
                                           
                                          recursive subroutine gettagpr (lunit, tagch, ntagch, tagpr, iret)
                                           Get the parent for a specified occurrence of a Table B or Table D mnemonic within a data subset definition. More...
                                           
                                          subroutine getwin (node, lun, iwin, jwin)
                                           Look for a window containing a specified node within the internal jump/link table. More...
                                           
                                          integer function icmpdx (lud, lun)
                                           Check whether the full set of associated DX BUFR Table information is identical between two Fortran logical units. More...
                                           
                                          subroutine inctab (atag, atyp, node)
                                           Get the next available positional index for writing into the internal jump/link table in module moda_tables, and also use that index to store atag and atyp within, respectively, the internal jump/link table arrays tag(*) and typ(*). More...
                                           
                                          integer function invcon (nc, lun, inv1, inv2)
                                           Search a specified window for a conditional node. More...
                                           
                                          integer function invtag (node, lun, inv1, inv2)
                                           Search for a specified mnemonic within a specified portion of the current data subset. More...
                                           
                                          integer function invwin (node, lun, inv1, inv2)
                                           Search for a specified node within a specified portion of the current data subset. More...
                                           
                                          integer function ishrdx (lud, lun)
                                           Check whether the same DX BUFR Table is being shared between two Fortran logical units. More...
                                           
                                          integer function lstjpb (node, lun, jbtyp)
                                           Search backwards, beginning from a given node within the jump/link table, until finding the most recent node of type jbtyp. More...
                                           
                                          subroutine makestab
                                           Build the entire internal jump/link table within module moda_tables, using all of the internal BUFR table array information from module moda_tababd for all of the file IDs that are currently defined to the library in module moda_stbfr. More...
                                           
                                          recursive subroutine nemspecs (lunit, nemo, nnemo, nscl, nref, nbts, iret)
                                           Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic. More...
                                           
                                          subroutine newwin (lun, iwin, jwin)
                                           Compute the ending index of the window. More...
                                           
                                          integer function nvnwin (node, lun, inv1, inv2, invn, nmax)
                                           Search for all occurrences of a specified node within a specified portion of the current data subset. More...
                                           
                                          subroutine nxtwin (lun, iwin, jwin)
                                           Compute the start and end indices of the next window. More...
                                           
                                          subroutine tabent (lun, nemo, tab, itab, irep, iknt, jum0)
                                           Build and store an entry for a Table B or Table D mnemonic within the internal jump/link table. More...
                                           
                                          subroutine tabsub (lun, nemo)
                                           Build and store the entire jump/link tree (including recursively resolving all "child" mnemonics) for a Table A mnemonic within the internal jump/link table. More...
                                           
                                          +

                                          Detailed Description

                                          +

                                          Read or write jump/link table information.

                                          +
                                          Author
                                          J. Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition in file jumplink.F90.

                                          +

                                          Function/Subroutine Documentation

                                          + +

                                          ◆ chekstab()

                                          + +
                                          +
                                          + + + + + + + + +
                                          subroutine chekstab (integer, intent(in) lun)
                                          +
                                          + +

                                          Check that an internal BUFR table representation is self-consistent and fully defined.

                                          +

                                          If any errors are found, then make an appropriate call to NCEPLIBS-bufr subroutine bort().

                                          +
                                          Parameters
                                          + + +
                                          lun- File ID
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 279 of file jumplink.F90.

                                          + +

                                          References bort(), moda_nmikrp::irp, moda_nmikrp::krp, moda_nmikrp::nem, nemtab(), nemtbb(), nemtbd(), moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, and moda_tababd::taba.

                                          + +

                                          Referenced by makestab().

                                          + +
                                          +
                                          + +

                                          ◆ conwin()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine conwin (integer, intent(in) lun,
                                          integer, intent(out) inc1,
                                          integer, intent(out) inc2 
                                          )
                                          +
                                          + +

                                          Search consecutive subset buffer segments for a conditional node.

                                          +

                                          Search consecutive subset buffer segments for an element identified in the user string as a conditional node. A conditional node is an element which must meet a condition in order to be read from or written to a data subset. If a conditional element is found and it conforms to the condition, then return the internal subset buffer indices of the "window" (see below).

                                          +

                                          The four conditions which can be exercised are:

                                            +
                                          • '<' - less than
                                          • +
                                          • '>' - greater than
                                          • +
                                          • '=' - equal
                                          • +
                                          • '!' - not equal
                                          • +
                                          +

                                          Each condition in a string is applied to one element, and all conditions are 'and'ed to evaluate an outcome. For example, if the condition string is: "POB<500 TOB>30 TQM<4" then the only levels of data read or written are those with pressure less than 500 mb, temperature greater than 30 degrees, and temperature quality mark less than 4.

                                          +

                                          See the docblock in subroutine getwin() for an explanation of "windows" within the context of a BUFR data subset.

                                          +

                                          Subroutine conwin() works with function invcon() to identify subset buffer segments which conform to the set of conditions.

                                          +
                                          Parameters
                                          + + + + +
                                          lun- File ID
                                          inc1- Subset buffer start index
                                          inc2- Subset buffer ending index
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1382 of file jumplink.F90.

                                          + +

                                          References getwin(), and moda_usrint::nval.

                                          + +

                                          Referenced by ufbevn(), ufbin3(), and ufbrw().

                                          + +
                                          +
                                          + +

                                          ◆ drstpl()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine drstpl (integer, intent(in) inod,
                                          integer, intent(in) lun,
                                          integer, intent(in) inv1,
                                          integer, intent(inout) inv2,
                                          integer, intent(out) invn 
                                          )
                                          +
                                          + +

                                          Search for a specified mnemonic within unexpanded sequences of the internal jump/link table.

                                          +

                                          This subroutine is called internally by subroutine ufbrw() whenever it can't find a mnemonic it wants to write within the current subset buffer. It looks for the mnemonic within any unexpanded "DRS" (stack) or "DRB" (1-bit delayed replication) sequences inside of the portion of the subset buffer bounded by the indices inv1 and inv2. If found, it expands the applicable "DRS" or "DRB" sequence to the point where the mnemonic in question now appears in the subset buffer, and in doing so it will also return a new value for inv2.

                                          +
                                          Parameters
                                          + + + + + + +
                                          inod- Jump/link table index of mnemonic to look for
                                          lun- File ID
                                          inv1- Starting index of the portion of the subset buffer currently being processed by ufbrw()
                                          inv2- Ending index
                                            +
                                          • On input, ending index of the portion of the subset buffer currently being processed by ufbrw()
                                          • +
                                          • On output, if invn = 0 then inv2 is unchanged from its input value. Otherwise, it contains the redefined ending index of the portion of the subset buffer currently being processed by ufbrw(), since expanding a delayed replication sequence will have necessarily increased the size of this buffer.
                                          • +
                                          +
                                          invn- Location index of inod within subset buffer
                                            +
                                          • 0 = Not found
                                          • +
                                          +
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 897 of file jumplink.F90.

                                          + +

                                          References moda_tables::jmpb, newwin(), moda_tables::typ, and usrtpl().

                                          + +

                                          Referenced by ufbrw().

                                          + +
                                          +
                                          + +

                                          ◆ fstag()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine fstag (integer, intent(in) lun,
                                          character*(*), intent(in) utag,
                                          integer, intent(in) nutag,
                                          integer, intent(in) nin,
                                          integer, intent(out) nout,
                                          integer, intent(out) iret 
                                          )
                                          +
                                          + +

                                          Search for a specified occurrence of a specified mnemonic within a data subset definition, starting from a specified location.

                                          +

                                          Search for the (nutag)th occurrence of mnemonic utag within the current overall subset definition, starting from parameter #(nin) within the subset. The subroutine searches forward from nin if nutag is positive or else backward if nutag is negative.

                                          +
                                          Parameters
                                          + + + + + + + +
                                          lun- File ID
                                          utag- Mnemonic
                                          nutag- Ordinal occurrence of utag to search for within the overall subset definition, counting from parameter #(nin) within the subset. The subroutine will search in a forward direction from parameter #(nin) if nutag is positive or else in a backward direction if nutag is negative.
                                          nin- Location within the overall subset definition from which to begin searching for utag
                                          nout- Location of (nutag)th occurrence of utag
                                          iret- Return code:
                                            +
                                          • 0 = Normal return
                                          • +
                                          • -1 = Requested mnemonic could not be found, or some other error occurred
                                          • +
                                          +
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2014-10-02
                                          + +

                                          Definition at line 1064 of file jumplink.F90.

                                          + +

                                          References moda_usrint::inv, moda_usrint::nval, parstr(), and moda_tables::tag.

                                          + +

                                          Referenced by gettagpr(), gettagre(), getvalnb(), nemspecs(), setvalnb(), and ufdump().

                                          + +
                                          +
                                          + +

                                          ◆ gettagpr()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          recursive subroutine gettagpr (integer, intent(in) lunit,
                                          character*(*), intent(in) tagch,
                                          integer, intent(in) ntagch,
                                          character*(*), intent(out) tagpr,
                                          integer, intent(out) iret 
                                          )
                                          +
                                          + +

                                          Get the parent for a specified occurrence of a Table B or Table D mnemonic within a data subset definition.

                                          +
                                          Parameters
                                          + + + + + + +
                                          lunit- Fortran logical unit number for BUFR file
                                          tagch- Table B or Table D mnemonic
                                          ntagch- Ordinal occurrence of TAGCH for which the parent Table D mnemonic is to be returned, counting from the beginning of the overall subset definition
                                          tagpr- Table D mnemonic corresponding to parent sequence of (ntagch)th occurrence of tagch
                                          iret- Return code
                                            +
                                          • 0 = normal return
                                          • +
                                          • -1 = tagpr could not be found, or some other error occurred
                                          • +
                                          +
                                          +
                                          +
                                          +

                                          A data subset must already be in scope within the NCEPLIBS-bufr internal arrays for LUNIT, either via a previous call to one of the subset-reading subroutines (when reading BUFR data subsets) or via a previous call to one of the message-writing subroutines (when writing BUFR data subsets).

                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2012-09-12
                                          + +

                                          Definition at line 1125 of file jumplink.F90.

                                          + +

                                          References fstag(), moda_msgcwd::inode, moda_usrint::inv, moda_tables::jmpb, status(), moda_tables::tag, x48(), and x84().

                                          + +
                                          +
                                          + +

                                          ◆ getwin()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine getwin (integer, intent(in) node,
                                          integer, intent(in) lun,
                                          integer, intent(out) iwin,
                                          integer, intent(out) jwin 
                                          )
                                          +
                                          + +

                                          Look for a window containing a specified node within the internal jump/link table.

                                          +

                                          Given a node index within the internal jump/link table, this subroutine looks within the current subset buffer for a "window" (see below remarks) which contains this node. If found, it returns the starting and ending indices of this window within the current subset buffer. For example, if the node is found within the subset but is not part of a delayed replication sequence, then the returned indices define the start and end of the entire subset buffer. Otherwise, the returned indices define the start and end of the next available delayed replication sequence iteration which contains the node. If no further iterations of the sequence can be found, then the starting index is returned with a value of zero.

                                          +
                                          Note
                                          This is one of a number of subroutines which operate on "windows" (i.e. contiguous portions) of the internal subset buffer. The subset buffer is an array of values arranged according to the overall template definition for a subset. A window can be any contiguous portion of the subset buffer up to and including the entire subset buffer itself. For the purposes of these "window + operator" subroutines, a window essentially consists of all of the elements within a particular delayed replication group, since such groups effectively define the dimensions within a BUFR subset for subroutines such as ufbint(), ufbin3(), etc. which read/write individual data values. A BUFR subset with no delayed replication groups is considered to have only one dimension, and therefore only one "window" which spans the entire subset. On the other hand, each delayed replication sequence within a BUFR subset consists of some number of "windows", which are a de-facto second dimension of the subset and where the number of windows is the delayed descriptor replication factor (i.e. the number of iterations) of the sequence. If nested delayed replication is used, then there may be three or more dimensions within the subset.
                                          +
                                          Parameters
                                          + + + + + +
                                          node- Jump/link table index of mnemonic to look for
                                          lun- File ID
                                          iwin- Starting index of the current window iteration which contains node
                                            +
                                          • 0 = Not found or no more iterations available
                                          • +
                                          +
                                          jwin- Ending index of the current window iteration which contains node
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1313 of file jumplink.F90.

                                          + +

                                          References bort(), moda_usrint::nval, and moda_usrint::val.

                                          + +

                                          Referenced by conwin(), ufbevn(), ufbin3(), and ufbrw().

                                          + +
                                          +
                                          + +

                                          ◆ icmpdx()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + +
                                          integer function icmpdx (integer, intent(in) lud,
                                          integer, intent(in) lun 
                                          )
                                          +
                                          + +

                                          Check whether the full set of associated DX BUFR Table information is identical between two Fortran logical units.

                                          +

                                          Note that two different logical units can have identical DX BUFR Table information associated with them even if they aren't actually sharing the same DX BUFR table.

                                          +
                                          Parameters
                                          + + + +
                                          lud- File ID for first BUFR file
                                          lun- File ID for second BUFR file
                                          +
                                          +
                                          +
                                          Returns
                                          icmpdx - Flag indicating whether the BUFR file associated with lud and the BUFR file associated with lun have the same DX BUFR table information
                                            +
                                          • 0 = No
                                          • +
                                          • 1 = Yes
                                          • +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2009-06-18
                                          + +

                                          Definition at line 831 of file jumplink.F90.

                                          + +

                                          References moda_tababd::idna, moda_tababd::idnb, moda_tababd::idnd, ishrdx(), moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, moda_tababd::taba, moda_tababd::tabb, and moda_tababd::tabd.

                                          + +

                                          Referenced by iok2cpy().

                                          + +
                                          +
                                          + +

                                          ◆ inctab()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine inctab (character*(*), intent(in) atag,
                                          character*(*), intent(in) atyp,
                                          integer, intent(out) node 
                                          )
                                          +
                                          + +

                                          Get the next available positional index for writing into the internal jump/link table in module moda_tables, and also use that index to store atag and atyp within, respectively, the internal jump/link table arrays tag(*) and typ(*).

                                          +

                                          If there is no more room for additional entries within the internal jump/link table, then an appropriate call is made to subroutine bort().

                                          +
                                          Parameters
                                          + + + + +
                                          atag- Mnemonic name
                                          atyp- Mnemonic type
                                          node- Next available positional index for writing into the internal jump/link table
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 695 of file jumplink.F90.

                                          + +

                                          References bort(), moda_tables::ntab, moda_tables::tag, and moda_tables::typ.

                                          + +

                                          Referenced by tabent(), and tabsub().

                                          + +
                                          +
                                          + +

                                          ◆ invcon()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          integer function invcon (integer, intent(in) nc,
                                          integer, intent(in) lun,
                                          integer, intent(in) inv1,
                                          integer, intent(in) inv2 
                                          )
                                          +
                                          + +

                                          Search a specified window for a conditional node.

                                          +

                                          Search a "window" (see below remarks) for an element identified in the user string as a conditional node. A conditional node is an element which must meet a condition in order to be read from or written to a data subset. If a conditional element is found and it conforms to the condition, then the index of the element within the window is returned; otherwise a value of zero is returned.

                                          +

                                          See the docblock in subroutine getwin() for an explanation of "windows" within the context of a BUFR data subset.

                                          +
                                          Parameters
                                          + + + + + +
                                          nc- Condition code:
                                            +
                                          • 1 = '=' (equal)
                                          • +
                                          • 2 = '!' (not equal)
                                          • +
                                          • 3 = '<' (less than)
                                          • +
                                          • 4 = '>' (greater than)
                                          • +
                                          +
                                          lun- File ID
                                          inv1- First index of window to search
                                          inv2- Last index of window to search
                                          +
                                          +
                                          +
                                          Returns
                                          integer: index within window of conditional node conforming to specified condition.
                                            +
                                          • 0 none found.
                                          • +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1440 of file jumplink.F90.

                                          + +

                                          References errwrt(), moda_usrint::inv, moda_usrint::nval, and moda_usrint::val.

                                          + +
                                          +
                                          + +

                                          ◆ invtag()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          integer function invtag (integer, intent(in) node,
                                          integer, intent(in) lun,
                                          integer, intent(in) inv1,
                                          integer, intent(in) inv2 
                                          )
                                          +
                                          + +

                                          Search for a specified mnemonic within a specified portion of the current data subset.

                                          +

                                          This function is similar to function invwin(), except that invwin() searches based on the actual node within the internal jump/link table, rather than on the mnemonic corresponding to that node.

                                          +
                                          Parameters
                                          + + + + + +
                                          node- Jump/link table index of mnemonic to look for
                                          lun- File ID
                                          inv1- Starting index of the portion of the subset buffer in which to look
                                          inv2- Ending index of the portion of the subset buffer in which to look
                                          +
                                          +
                                          +
                                          Returns
                                          - Location index of node within specified portion of subset buffer:
                                            +
                                          • 0 = Not found
                                          • +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1190 of file jumplink.F90.

                                          + +

                                          References errwrt(), moda_usrint::inv, and moda_tables::tag.

                                          + +

                                          Referenced by ufbseq().

                                          + +
                                          +
                                          + +

                                          ◆ invwin()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          integer function invwin (integer, intent(in) node,
                                          integer, intent(in) lun,
                                          integer, intent(in) inv1,
                                          integer, intent(in) inv2 
                                          )
                                          +
                                          + +

                                          Search for a specified node within a specified portion of the current data subset.

                                          +

                                          This function is similar to function invtag(), except that invtag() searches based on the mnemonic corresponding to the node.

                                          +
                                          Parameters
                                          + + + + + +
                                          node- Jump/link table index to look for
                                          lun- File ID
                                          inv1- Starting index of the portion of the subset buffer in which to look
                                          inv2- Ending index of the portion of the subset buffer in which to look
                                          +
                                          +
                                          +
                                          Returns
                                          - Location index of node within specified portion of subset buffer:
                                            +
                                          • 0 = Not found
                                          • +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1238 of file jumplink.F90.

                                          + +

                                          References errwrt(), and moda_usrint::inv.

                                          + +

                                          Referenced by nevn(), ufbget(), and ufbseq().

                                          + +
                                          +
                                          + +

                                          ◆ ishrdx()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + +
                                          integer function ishrdx (integer, intent(in) lud,
                                          integer, intent(in) lun 
                                          )
                                          +
                                          + +

                                          Check whether the same DX BUFR Table is being shared between two Fortran logical units.

                                          +
                                          Parameters
                                          + + + +
                                          lud- File ID for first BUFR file
                                          lun- File ID for second BUFR file
                                          +
                                          +
                                          +
                                          Returns
                                          ishrdx - Flag indicating whether the same DX BUFR table is being shared between the BUFR file associated with lud and the BUFR file associated with lun
                                            +
                                          • 0 = No
                                          • +
                                          • 1 = Yes
                                          • +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2009-06-18
                                          + +

                                          Definition at line 786 of file jumplink.F90.

                                          + +

                                          References moda_tababd::mtab, and moda_tababd::ntba.

                                          + +

                                          Referenced by icmpdx().

                                          + +
                                          +
                                          + +

                                          ◆ lstjpb()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          integer function lstjpb (integer, intent(in) node,
                                          integer, intent(in) lun,
                                          character*(*), intent(in) jbtyp 
                                          )
                                          +
                                          + +

                                          Search backwards, beginning from a given node within the jump/link table, until finding the most recent node of type jbtyp.

                                          +

                                          The internal jmpb array is used to jump backwards within the jump/link table, and the function returns the table index of the found node. If the input node itself is of type jbtyp, then the function simply returns the index of that same node.

                                          +
                                          Note
                                          See module moda_tables for an explanation of the various node types present within an internal jump/link table.
                                          +
                                          Parameters
                                          + + + + +
                                          node- Jump/link table index of entry to begin searching backwards from
                                          lun- File ID
                                          jbtyp- Type of node for which to search
                                          +
                                          +
                                          +
                                          Returns
                                          - Index of first node of type jbtyp found by jumping backwards from input node
                                            +
                                          • 0 no such node found
                                          • +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 740 of file jumplink.F90.

                                          + +

                                          References bort(), moda_msgcwd::inode, moda_tables::isc, moda_tables::jmpb, and moda_tables::typ.

                                          + +

                                          Referenced by igetrfel(), and nevn().

                                          + +
                                          +
                                          + +

                                          ◆ makestab()

                                          + +
                                          +
                                          + + + + +
                                          subroutine makestab
                                          +
                                          + +

                                          Build the entire internal jump/link table within module moda_tables, using all of the internal BUFR table array information from module moda_tababd for all of the file IDs that are currently defined to the library in module moda_stbfr.

                                          +

                                          The entire jump/link table will always be completely reconstructed from scratch, even if some of the information within the internal BUFR table arrays already existed there at the time of the previous call to this subroutine, because there may have been other events that have taken place since the previous call to this subroutine and which haven't yet been reflected within the internal jump/link table. For example, a file ID may have recently been unlinked from the library via an internal call to subroutine closbf(), or the DX BUFR tables associated with a file ID may have changed.

                                          +
                                          Author
                                          J. Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 22 of file jumplink.F90.

                                          + +

                                          References bort(), chekstab(), closmg(), cpbfdx(), errwrt(), moda_tables::ibt, moda_usrint::inv, moda_stbfr::iolun, moda_stbfr::iomsg, moda_tables::irf, moda_tables::isc, moda_tables::iseq, moda_tables::itp, moda_tables::jmpb, moda_tables::jseq, moda_tables::jump, moda_tables::knt, moda_tables::knti, moda_tables::link, moda_lushr::lus, moda_tababd::mtab, moda_nrv203::nnrv, moda_tables::ntab, moda_bitmaps::ntamc, moda_tababd::ntba, moda_usrint::nval, strcln(), moda_tababd::taba, tabsub(), moda_tables::tag, moda_tables::typ, moda_tables::vali, wrdxtb(), and moda_xtab::xtab.

                                          + +

                                          Referenced by rdbfdx(), rdmemm(), rdusdx(), readdx(), readerme(), and reads3().

                                          + +
                                          +
                                          + +

                                          ◆ nemspecs()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          recursive subroutine nemspecs (integer, intent(in) lunit,
                                          character*(*), intent(in) nemo,
                                          integer, intent(in) nnemo,
                                          integer, intent(out) nscl,
                                          integer, intent(out) nref,
                                          integer, intent(out) nbts,
                                          integer, intent(out) iret 
                                          )
                                          +
                                          + +

                                          Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.

                                          +

                                          Given a Table B mnemonic defined within a data subset, this subroutine returns the scale factor, reference value and bit width of a specified occurrence of that mnemonic within the overall data subset definition, counting from the beginning of the subset.

                                          +

                                          The values returned include the application of any Table C operators (e.g. 2-01-YYY, 2-02-YYY, 2-03-YYY, 2-07-YYY, 2-08-YYY) which may be in effect for the specified occurrence of the mnemonic.

                                          +
                                          Parameters
                                          + + + + + + + + +
                                          lunit- Fortran logical unit number for BUFR file
                                          nemo- Table B mnemonic
                                          nnemo- Ordinal occurrence of nemo for which information is to be returned, counting from the beginning of the overall subset definition
                                          nscl- Scale factor in effect for (nnemo)th occurrence of nemo
                                          nref- Reference value in effect for (nnemo)th occurrence of nemo
                                          nbts- Bit width in effect for (nnemo)th occurrence of nemo
                                          iret- Return code
                                            +
                                          • 0 = normal return
                                          • +
                                          • -1 = nemo could not be found, or some other error occurred
                                          • +
                                          +
                                          +
                                          +
                                          +

                                          A data subset must already be in scope within the NCEPLIBS-bufr internal arrays for lunit, either via a previous call to one of the subset-reading subroutines (when reading BUFR data subsets) or via a previous call to one of the message-writing subroutines (when writing BUFR data subsets).

                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2014-10-02
                                          + +

                                          Definition at line 961 of file jumplink.F90.

                                          + +

                                          References fstag(), moda_tables::ibt, moda_nrv203::ienrv, moda_msgcwd::inode, moda_nrv203::inodnrv, moda_usrint::inv, moda_tables::irf, moda_tables::isc, moda_nrv203::isnrv, moda_nrv203::nnrv, moda_nrv203::nrv, status(), strsuc(), moda_nrv203::tagnrv, moda_tables::typ, x48(), and x84().

                                          + +

                                          Referenced by bufr_c2f_interface::nemspecs_c().

                                          + +
                                          +
                                          + +

                                          ◆ newwin()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine newwin (integer, intent(in) lun,
                                          integer, intent(in) iwin,
                                          integer, intent(out) jwin 
                                          )
                                          +
                                          + +

                                          Compute the ending index of the window.

                                          +

                                          Given an index within the internal jump/link table which points to the start of an "RPC" window (which is the iteration of an 8-bit or 16-bit delayed replication sequence), this subroutine computes the ending index of the window. Alternatively, if the given index points to the start of a "SUB" window (which is the first node of a subset), then the subroutine returns the index of the last node.

                                          +

                                          See the docblock in subroutine getwin() for an explanation of "windows" within the context of a BUFR data subset.

                                          +
                                          Parameters
                                          + + + + +
                                          lun- File ID
                                          iwin- Starting index of window iteration
                                          jwin- Ending index of window iteration
                                          +
                                          +
                                          +
                                          Author
                                          J. Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1490 of file jumplink.F90.

                                          + +

                                          References bort(), moda_usrint::inv, moda_usrint::nval, and moda_usrint::val.

                                          + +

                                          Referenced by drstpl(), and ufbrw().

                                          + +
                                          +
                                          + +

                                          ◆ nvnwin()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          integer function nvnwin (integer, intent(in) node,
                                          integer, intent(in) lun,
                                          integer, intent(in) inv1,
                                          integer, intent(in) inv2,
                                          integer, dimension(*), intent(out) invn,
                                          integer, intent(in) nmax 
                                          )
                                          +
                                          + +

                                          Search for all occurrences of a specified node within a specified portion of the current data subset.

                                          +

                                          Search for and return all occurrences of a specified node within the portion of the current subset buffer bounded by the indices inv1 and inv2. The resulting list is a stack of "event" indices for the requested node.

                                          +
                                          Parameters
                                          + + + + + + + +
                                          node- Jump/link table index to look for
                                          lun- File ID
                                          inv1- Starting index of the portion of the subset buffer in which to look
                                          inv2- Ending index of the portion of the subset buffer in which to look
                                          invn- Array of stack "event" indices for node
                                          nmax- Dimensioned size of invn; used by the function to ensure that it doesn't overflow the invn array
                                          +
                                          +
                                          +
                                          Returns
                                          - Number of indices within invn.
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1588 of file jumplink.F90.

                                          + +

                                          References bort(), errwrt(), and moda_usrint::inv.

                                          + +

                                          Referenced by ufbevn().

                                          + +
                                          +
                                          + +

                                          ◆ nxtwin()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine nxtwin (integer, intent(in) lun,
                                          integer, intent(inout) iwin,
                                          integer, intent(inout) jwin 
                                          )
                                          +
                                          + +

                                          Compute the start and end indices of the next window.

                                          +

                                          Given indices within the internal jump/link table which point to the start and end of an "RPC" window (which is an iteration of an 8-bit or 16-bit delayed replication sequence), this subroutine computes the start and end indices of the next sequential window.

                                          +

                                          See the docblock in subroutine getwin() for an explanation of "windows" within the context of a BUFR data subset.

                                          +
                                          Parameters
                                          + + + + +
                                          lun- File ID
                                          iwin- Starting index:
                                            +
                                          • On input, contains starting index of current window iteration.
                                          • +
                                          • On output, contains starting index of next window iteration.
                                          • +
                                          +
                                          jwin- Ending index:
                                            +
                                          • On input, contains ending index of current window iteration.
                                          • +
                                          • On output, contains ending index of next window iteration.
                                          • +
                                          +
                                          +
                                          +
                                          +
                                          Author
                                          J. Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1538 of file jumplink.F90.

                                          + +

                                          References bort(), moda_usrint::inv, moda_usrint::nval, and moda_usrint::val.

                                          + +

                                          Referenced by ufbevn(), ufbin3(), and ufbrw().

                                          + +
                                          +
                                          + +

                                          ◆ tabent()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine tabent (integer, intent(in) lun,
                                          character*8, intent(in) nemo,
                                          character, intent(in) tab,
                                          integer, intent(in) itab,
                                          integer, intent(in) irep,
                                          integer, intent(in) iknt,
                                          integer, intent(in) jum0 
                                          )
                                          +
                                          + +

                                          Build and store an entry for a Table B or Table D mnemonic within the internal jump/link table.

                                          +
                                          Parameters
                                          + + + + + + + + +
                                          lun- File ID
                                          nemo- Table B or D mnemonic to store in jump/link table
                                          tab- Internal BUFR table array ('B' or 'D') in which nemo is defined
                                          itab- Positional index of nemo within TAB
                                          irep- Positional index within internal arrays, for use when nemo is replicated:
                                            +
                                          • 0, if nemo is not replicated
                                          • +
                                          +
                                          iknt- Number of replications, for use when nemo is replicated using F=1 regular (i.e., non-delayed) replication:
                                            +
                                          • 0, if nemo is not replicated using F=1 regular (i.e., non-delayed) replication
                                          • +
                                          +
                                          jum0- Index value to be stored for nemo within internal jump/link table array jmpb(*)
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 585 of file jumplink.F90.

                                          + +

                                          References bort(), moda_tables::ibt, moda_nrv203::ibtnrv, inctab(), moda_nrv203::inodnrv, moda_nrv203::ipfnrv, moda_tables::irf, moda_tables::isc, moda_nrv203::isnrv, moda_tables::jmpb, moda_tables::jump, moda_tables::link, nemtbb(), moda_nrv203::nnrv, and moda_nrv203::tagnrv.

                                          + +

                                          Referenced by tabsub().

                                          + +
                                          +
                                          + +

                                          ◆ tabsub()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + +
                                          subroutine tabsub (integer, intent(in) lun,
                                          character*8, intent(in) nemo 
                                          )
                                          +
                                          + +

                                          Build and store the entire jump/link tree (including recursively resolving all "child" mnemonics) for a Table A mnemonic within the internal jump/link table.

                                          +
                                          Parameters
                                          + + + +
                                          lun- File ID
                                          nemo- Table A mnemonic
                                          +
                                          +
                                          +
                                          Author
                                          Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 333 of file jumplink.F90.

                                          + +

                                          References bort(), moda_bitmaps::ctco, moda_tables::ibt, moda_nrv203::ibtnrv, moda_nrv203::ienrv, inctab(), moda_bitmaps::inodtamc, moda_bitmaps::inodtco, moda_nrv203::ipfnrv, moda_tables::irf, moda_nmikrp::irp, moda_tables::isc, moda_tables::jmpb, moda_tables::jump, moda_nmikrp::krp, moda_tables::link, moda_nmikrp::nem, nemtab(), nemtbd(), moda_nrv203::nnrv, moda_tables::ntab, moda_bitmaps::ntamc, moda_bitmaps::ntco, and tabent().

                                          + +

                                          Referenced by makestab().

                                          + +
                                          +
                                          +
                                          +
                                          + + + + diff --git a/jumplink_8F90.js b/jumplink_8F90.js new file mode 100644 index 000000000..e512f9c64 --- /dev/null +++ b/jumplink_8F90.js @@ -0,0 +1,23 @@ +var jumplink_8F90 = +[ + [ "chekstab", "jumplink_8F90.html#aca151bb247903f60a7b1a76578db1ed5", null ], + [ "conwin", "jumplink_8F90.html#ac33dc42cbccbf054fa1c72b4bed5e90e", null ], + [ "drstpl", "jumplink_8F90.html#a1f74d80135fda2ac50f57d99645d2853", null ], + [ "fstag", "jumplink_8F90.html#a1587e1818caf4b04f1afc556c5c9813b", null ], + [ "gettagpr", "jumplink_8F90.html#aff303b3e9951ce71da6c66ae5e0d76bf", null ], + [ "getwin", "jumplink_8F90.html#af10a8f5f84135d80474c70f06be65b73", null ], + [ "icmpdx", "jumplink_8F90.html#aa8ae055da512a9259d4f248b3ccdb5e8", null ], + [ "inctab", "jumplink_8F90.html#a5459f5cd4813acaa5e695c650a77eeca", null ], + [ "invcon", "jumplink_8F90.html#a44e33584f368731a2373831f207a527d", null ], + [ "invtag", "jumplink_8F90.html#a77a6346a03867a7e65e984ee34de3d91", null ], + [ "invwin", "jumplink_8F90.html#ab4cc1160c451fcd8709a46f32515ca3c", null ], + [ "ishrdx", "jumplink_8F90.html#af13fb1da5f3cb8bafd2c305b6c7234db", null ], + [ "lstjpb", "jumplink_8F90.html#a46ebb8c05619d2580397218ff36f4a9b", null ], + [ "makestab", "jumplink_8F90.html#ad12d047119fdcdeb97ffbced0696b9fb", null ], + [ "nemspecs", "jumplink_8F90.html#a6ec2d1015cdc1315eb384ea92223e620", null ], + [ "newwin", "jumplink_8F90.html#ab082ab8ef32893928cb10a2876d73af0", null ], + [ "nvnwin", "jumplink_8F90.html#a32fa4aca38700d53dd9899f93b9b3636", null ], + [ "nxtwin", "jumplink_8F90.html#a8a7a4ff46107f36ae57dd76442bd2447", null ], + [ "tabent", "jumplink_8F90.html#a68d977aaaf6f7869b2048ca79723c838", null ], + [ "tabsub", "jumplink_8F90.html#af1d16fa71d84a333e3448d1081214d2f", null ] +]; \ No newline at end of file diff --git a/jumplink_8F90_source.html b/jumplink_8F90_source.html new file mode 100644 index 000000000..6dee6904d --- /dev/null +++ b/jumplink_8F90_source.html @@ -0,0 +1,1447 @@ + + + + + + + +NCEPLIBS-bufr: jumplink.F90 Source File + + + + + + + + + + + + + +
                                          +
                                          + + + + + + +
                                          +
                                          NCEPLIBS-bufr +  12.1.0 +
                                          +
                                          +
                                          + + + + + + + +
                                          +
                                          + +
                                          +
                                          +
                                          + +
                                          + +
                                          +
                                          + + +
                                          + +
                                          + +
                                          +
                                          +
                                          jumplink.F90
                                          +
                                          +
                                          +Go to the documentation of this file.
                                          1 
                                          +
                                          5 
                                          +
                                          22 subroutine makestab
                                          +
                                          23 
                                          +
                                          24  use modv_vars, only: bmiss, maxjl, nfiles
                                          +
                                          25 
                                          +
                                          26  use moda_usrint
                                          +
                                          27  use moda_stbfr
                                          +
                                          28  use moda_lushr
                                          +
                                          29  use moda_xtab
                                          +
                                          30  use moda_tababd
                                          +
                                          31  use moda_tables
                                          +
                                          32  use moda_nrv203
                                          +
                                          33  use moda_bitmaps
                                          +
                                          34 
                                          +
                                          35  implicit none
                                          +
                                          36 
                                          +
                                          37  integer iprt, lunit, lundx, lun, lum, k, n, itba, inc, newn, noda, node, inod, icmpdx, ishrdx
                                          +
                                          38 
                                          +
                                          39  character*128 bort_str, errstr
                                          +
                                          40  character*8 nemo
                                          +
                                          41 
                                          +
                                          42  logical expand
                                          +
                                          43 
                                          +
                                          44  common /quiet/ iprt
                                          +
                                          45 
                                          +
                                          46  ! Reset pointer table and string cache.
                                          +
                                          47 
                                          +
                                          48  ntab = 0
                                          +
                                          49  nnrv = 0
                                          +
                                          50  ntamc = 0
                                          +
                                          51  call strcln
                                          +
                                          52 
                                          +
                                          53  ! Figure out which units share tables.
                                          +
                                          54 
                                          +
                                          55  ! The lus array is static between calls to this subroutine, and it keeps track of which logical units share dictionary
                                          +
                                          56  ! table information:
                                          +
                                          57  ! if lus(i) = 0, then iolun(i) does not share dictionary table information with any other logical unit
                                          +
                                          58  ! if lus(i) > 0, then iolun(i) shares dictionary table information with logical unit iolun(lus(i))
                                          +
                                          59  ! if lus(i) < 0, then iolun(i) does not now, but at one point in the past, shared dictionary table information
                                          +
                                          60  ! with logical unit iolun(abs(lus(i)))
                                          +
                                          61 
                                          +
                                          62  ! The xtab array is non-static and is recomputed within the below loop during each call to this subroutine:
                                          +
                                          63  ! if xtab(i) = .true., then the dictionary table information has changed for iolun(i) since the last call to this subroutine
                                          +
                                          64  ! if xtab(i) = .false., then the dictionary table information has not changed for iolun(i) since the last call to this subroutine
                                          +
                                          65 
                                          +
                                          66  do lun=1,nfiles
                                          +
                                          67  xtab(lun) = .false.
                                          +
                                          68  if(iolun(lun)==0) then
                                          +
                                          69  ! Logical unit iolun(lun) is not defined to NCEPLIBS-bufr.
                                          +
                                          70  lus(lun) = 0
                                          +
                                          71  else if(mtab(1,lun)==0) then
                                          +
                                          72  ! New dictionary table information has been read for logical unit iolun(lun) since the last call to this subroutine.
                                          +
                                          73  xtab(lun) = .true.
                                          +
                                          74  if(lus(lun)/=0) then
                                          +
                                          75  if(iolun(abs(lus(lun)))==0) then
                                          +
                                          76  lus(lun) = 0
                                          +
                                          77  else if(lus(lun)>0) then
                                          +
                                          78  ! iolun(lun) was sharing table information with logical unit iolun(lus(lun)), so check whether the table information
                                          +
                                          79  ! has really changed. If not, then iolun(lun) just re-read a copy of the exact same table information as before,
                                          +
                                          80  ! and therefore it can continue to share with logical unit iolun(lus(lun)).
                                          +
                                          81  if(icmpdx(lus(lun),lun)==1) then
                                          +
                                          82  xtab(lun) = .false.
                                          +
                                          83  call cpbfdx(lus(lun),lun)
                                          +
                                          84  else
                                          +
                                          85  lus(lun) = (-1)*lus(lun)
                                          +
                                          86  endif
                                          +
                                          87  else if(icmpdx(abs(lus(lun)),lun)==1) then
                                          +
                                          88  ! iolun(lun) was not sharing table information with logical unit iolun(lus(lun)), but it did at one point in the past
                                          +
                                          89  ! and now once again has the same table information as that logical unit. Since the two units shared table
                                          +
                                          90  ! information at one point in the past, allow them to do so again.
                                          +
                                          91  xtab(lun) = .false.
                                          +
                                          92  lus(lun) = abs(lus(lun))
                                          +
                                          93  call cpbfdx(lus(lun),lun)
                                          +
                                          94  endif
                                          +
                                          95  endif
                                          +
                                          96  else if(lus(lun)>0) then
                                          +
                                          97  ! Logical unit iolun(lun) is sharing table information with logical unit iolun(lus(lun)), so make sure that the latter
                                          +
                                          98  ! unit is still defined to NCEPLIBS-bufr.
                                          +
                                          99  if(iolun(lus(lun))==0) then
                                          +
                                          100  lus(lun) = 0
                                          +
                                          101  else if( xtab(lus(lun)) .and. (icmpdx(lus(lun),lun)==0) ) then
                                          +
                                          102  ! The table information for logical unit iolun(lus(lun)) just changed (in midstream). If iolun(lun) is an output
                                          +
                                          103  ! file, then we will have to update it with the new table information later on in this subroutine. Otherwise,
                                          +
                                          104  ! iolun(lun) is an input file and is no longer sharing tables with iolun(lus(lun)).
                                          +
                                          105  if(iolun(lun)<0) lus(lun) = (-1)*lus(lun)
                                          +
                                          106  endif
                                          +
                                          107  else
                                          +
                                          108  ! Determine whether logical unit iolun(lun) is sharing table information with any other logical units.
                                          +
                                          109  lum = 1
                                          +
                                          110  do while ((lum<lun).and.(lus(lun)==0))
                                          +
                                          111  if(ishrdx(lum,lun)==1) then
                                          +
                                          112  lus(lun) = lum
                                          +
                                          113  else
                                          +
                                          114  lum = lum+1
                                          +
                                          115  endif
                                          +
                                          116  enddo
                                          +
                                          117  endif
                                          +
                                          118  enddo
                                          +
                                          119 
                                          +
                                          120  ! Initialize jump/link tables with subsets/sequences/elements.
                                          +
                                          121 
                                          +
                                          122  do lun=1,nfiles
                                          +
                                          123  if(iolun(lun)/=0 .and. ntba(lun)>0) then
                                          +
                                          124  ! Reset any existing inventory pointers.
                                          +
                                          125  if(iomsg(lun)/=0) then
                                          +
                                          126  if(lus(lun)<=0) then
                                          +
                                          127  inc = (ntab+1)-mtab(1,lun)
                                          +
                                          128  else
                                          +
                                          129  inc = mtab(1,lus(lun))-mtab(1,lun)
                                          +
                                          130  endif
                                          +
                                          131  do n=1,nval(lun)
                                          +
                                          132  inv(n,lun) = inv(n,lun)+inc
                                          +
                                          133  enddo
                                          +
                                          134  endif
                                          +
                                          135  if(lus(lun)<=0) then
                                          +
                                          136  ! The dictionary table information corresponding to logical unit iolun(lun) has not yet been written into the internal
                                          +
                                          137  ! jump/link table, so add it in now.
                                          +
                                          138  call chekstab(lun)
                                          +
                                          139  do itba=1,ntba(lun)
                                          +
                                          140  inod = ntab+1
                                          +
                                          141  nemo = taba(itba,lun)(4:11)
                                          +
                                          142  call tabsub(lun,nemo)
                                          +
                                          143  mtab(itba,lun) = inod
                                          +
                                          144  isc(inod) = ntab
                                          +
                                          145  enddo
                                          +
                                          146  else if( xtab(lus(lun)) .and. (icmpdx(lus(lun),lun)==0) ) then
                                          +
                                          147  ! Logical unit iolun(lun) is an output file that is sharing table information with logical unit iolun(lus(lun)) whose
                                          +
                                          148  ! table just changed (in midstream). Flush any existing data messages from iolun(lun), then update the table information
                                          +
                                          149  ! for this logical unit with the corresponding new table information from iolun(lus(lun)), then update iolun(lun) itself
                                          +
                                          150  ! with a copy of the new table information.
                                          +
                                          151  lunit = abs(iolun(lun))
                                          +
                                          152  if(iomsg(lun)/=0) call closmg(lunit)
                                          +
                                          153  call cpbfdx(lus(lun),lun)
                                          +
                                          154  lundx = abs(iolun(lus(lun)))
                                          +
                                          155  call wrdxtb(lundx,lunit)
                                          +
                                          156  endif
                                          +
                                          157  endif
                                          +
                                          158  enddo
                                          +
                                          159 
                                          +
                                          160  ! Store types and initial values and counts
                                          +
                                          161 
                                          +
                                          162  do node=1,ntab
                                          +
                                          163  if(typ(node)=='SUB') then
                                          +
                                          164  vali(node) = 0
                                          +
                                          165  knti(node) = 1
                                          +
                                          166  itp(node) = 0
                                          +
                                          167  elseif(typ(node)=='SEQ') then
                                          +
                                          168  vali(node) = 0
                                          +
                                          169  knti(node) = 1
                                          +
                                          170  itp(node) = 0
                                          +
                                          171  elseif(typ(node)=='RPC') then
                                          +
                                          172  vali(node) = 0
                                          +
                                          173  knti(node) = 0
                                          +
                                          174  itp(node) = 0
                                          +
                                          175  elseif(typ(node)=='RPS') then
                                          +
                                          176  vali(node) = 0
                                          +
                                          177  knti(node) = 0
                                          +
                                          178  itp(node) = 0
                                          +
                                          179  elseif(typ(node)=='REP') then
                                          +
                                          180  vali(node) = bmiss
                                          +
                                          181  knti(node) = irf(node)
                                          +
                                          182  itp(node) = 0
                                          +
                                          183  elseif(typ(node)=='DRS') then
                                          +
                                          184  vali(node) = 0
                                          +
                                          185  knti(node) = 1
                                          +
                                          186  itp(node) = 1
                                          +
                                          187  elseif(typ(node)=='DRP') then
                                          +
                                          188  vali(node) = 0
                                          +
                                          189  knti(node) = 1
                                          +
                                          190  itp(node) = 1
                                          +
                                          191  elseif(typ(node)=='DRB') then
                                          +
                                          192  vali(node) = 0
                                          +
                                          193  knti(node) = 0
                                          +
                                          194  itp(node) = 1
                                          +
                                          195  elseif(typ(node)=='NUM') then
                                          +
                                          196  vali(node) = bmiss
                                          +
                                          197  knti(node) = 1
                                          +
                                          198  itp(node) = 2
                                          +
                                          199  else ! typ(node)=='CHR'
                                          +
                                          200  vali(node) = bmiss
                                          +
                                          201  knti(node) = 1
                                          +
                                          202  itp(node) = 3
                                          +
                                          203  endif
                                          +
                                          204  enddo
                                          +
                                          205 
                                          +
                                          206  ! Set up expansion segments for type 'SUB', 'DRP', and 'DRS' nodes.
                                          +
                                          207 
                                          +
                                          208  newn = 0
                                          +
                                          209 
                                          +
                                          210  do n=1,ntab
                                          +
                                          211  iseq(n,1) = 0
                                          +
                                          212  iseq(n,2) = 0
                                          +
                                          213  expand = typ(n)=='SUB' .or. typ(n)=='DRP' .or. typ(n)=='DRS' .or. typ(n)=='REP' .or. typ(n)=='DRB'
                                          +
                                          214  if(expand) then
                                          +
                                          215  iseq(n,1) = newn+1
                                          +
                                          216  noda = n
                                          +
                                          217  node = n+1
                                          +
                                          218  do k=1,maxjl
                                          +
                                          219  knt(k) = 0
                                          +
                                          220  enddo
                                          +
                                          221  if(typ(noda)=='REP') then
                                          +
                                          222  knt(node) = knti(noda)
                                          +
                                          223  else
                                          +
                                          224  knt(node) = 1
                                          +
                                          225  endif
                                          +
                                          226 
                                          +
                                          227  outer: do while (.true.)
                                          +
                                          228  newn = newn+1
                                          +
                                          229  if(newn>maxjl) then
                                          +
                                          230  write(bort_str,'("BUFRLIB: MAKESTAB - NUMBER OF JSEQ ENTRIES IN JUMP/LINK TABLE EXCEEDS THE LIMIT (",I6,")")') maxjl
                                          +
                                          231  call bort(bort_str)
                                          +
                                          232  endif
                                          +
                                          233  jseq(newn) = node
                                          +
                                          234  knt(node) = max(knti(node),knt(node))
                                          +
                                          235  inner: do while (.true.)
                                          +
                                          236  if(jump(node)*knt(node)>0) then
                                          +
                                          237  node = jump(node)
                                          +
                                          238  cycle outer
                                          +
                                          239  else if(link(node)>0) then
                                          +
                                          240  node = link(node)
                                          +
                                          241  cycle outer
                                          +
                                          242  else
                                          +
                                          243  node = jmpb(node)
                                          +
                                          244  if(node==noda) exit outer
                                          +
                                          245  if(node==0) then
                                          +
                                          246  write(bort_str,'("BUFRLIB: MAKESTAB - NODE IS ZERO, FAILED TO CIRCULATE (TAG IS ",A,")")') tag(n)
                                          +
                                          247  call bort(bort_str)
                                          +
                                          248  endif
                                          +
                                          249  knt(node) = max(knt(node)-1,0)
                                          +
                                          250  endif
                                          +
                                          251  enddo inner
                                          +
                                          252  enddo outer
                                          +
                                          253  iseq(n,2) = newn
                                          +
                                          254  endif
                                          +
                                          255  enddo
                                          +
                                          256 
                                          +
                                          257  ! Print the sequence tables
                                          +
                                          258 
                                          +
                                          259  if(iprt>=2) then
                                          +
                                          260  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                          +
                                          261  do n=1,ntab
                                          +
                                          262  write ( unit=errstr, fmt='(A,I5,2X,A10,A5,6I8)' ) &
                                          +
                                          263  'BUFRLIB: MAKESTAB ', n, tag(n), typ(n), jmpb(n), jump(n), link(n), ibt(n), irf(n), isc(n)
                                          +
                                          264  call errwrt(errstr)
                                          +
                                          265  enddo
                                          +
                                          266  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                          +
                                          267  call errwrt(' ')
                                          +
                                          268  endif
                                          +
                                          269 
                                          +
                                          270  return
                                          +
                                          271 end subroutine makestab
                                          +
                                          272 
                                          +
                                          279 subroutine chekstab(lun)
                                          +
                                          280 
                                          +
                                          281  use moda_tababd
                                          +
                                          282  use moda_nmikrp
                                          +
                                          283 
                                          +
                                          284  implicit none
                                          +
                                          285 
                                          +
                                          286  integer, intent(in) :: lun
                                          +
                                          287  integer itab, idn, iret, iscl, iref, ibit, nseq
                                          +
                                          288 
                                          +
                                          289  character*128 bort_str
                                          +
                                          290  character*24 unit
                                          +
                                          291  character*8 nemo
                                          +
                                          292  character*1 tab
                                          +
                                          293 
                                          +
                                          294  ! There must be entries in Tables A, B, and D
                                          +
                                          295 
                                          +
                                          296  if(ntba(lun)==0) call bort ('BUFRLIB: CHEKSTAB - EMPTY TABLE A IN INTERNAL BUFR TABLES')
                                          +
                                          297  if(ntbb(lun)==0) call bort ('BUFRLIB: CHEKSTAB - EMPTY TABLE B IN INTERNAL BUFR TABLES')
                                          +
                                          298  if(ntbd(lun)==0) call bort ('BUFRLIB: CHEKSTAB - EMPTY TABLE D IN INTERNAL BUFR TABLES')
                                          +
                                          299 
                                          +
                                          300  ! Make sure each Table A entry is defined as a sequence
                                          +
                                          301 
                                          +
                                          302  do itab=1,ntba(lun)
                                          +
                                          303  nemo = taba(itab,lun)(4:11)
                                          +
                                          304  call nemtab(lun,nemo,idn,tab,iret)
                                          +
                                          305  if(tab/='D') then
                                          +
                                          306  write(bort_str,'("BUFRLIB: CHEKSTAB - TABLE A ENTRY: ",A," NOT DEFINED AS A SEQUENCE")') nemo
                                          +
                                          307  call bort(bort_str)
                                          +
                                          308  endif
                                          +
                                          309  enddo
                                          +
                                          310 
                                          +
                                          311  ! Check Table B contents
                                          +
                                          312 
                                          +
                                          313  do itab=1,ntbb(lun)
                                          +
                                          314  call nemtbb(lun,itab,unit,iscl,iref,ibit)
                                          +
                                          315  enddo
                                          +
                                          316 
                                          +
                                          317  ! Check Table D contents
                                          +
                                          318 
                                          +
                                          319  do itab=1,ntbd(lun)
                                          +
                                          320  call nemtbd(lun,itab,nseq,nem(1,1),irp(1,1),krp(1,1))
                                          +
                                          321  enddo
                                          +
                                          322 
                                          +
                                          323  return
                                          +
                                          324 end subroutine chekstab
                                          +
                                          325 
                                          +
                                          333 subroutine tabsub(lun,nemo)
                                          +
                                          334 
                                          +
                                          335  use modv_vars, only: mxtamc, mxtco
                                          +
                                          336 
                                          +
                                          337  use moda_tables
                                          +
                                          338  use moda_nmikrp
                                          +
                                          339  use moda_nrv203
                                          +
                                          340  use moda_bitmaps
                                          +
                                          341 
                                          +
                                          342  implicit none
                                          +
                                          343 
                                          +
                                          344  integer, intent(in) :: lun
                                          +
                                          345  integer jmp0(10), nodl(10), ntag(10,2), icdw, icsc, icrv, incw, maxlim, node, idn, itab, nseq, limb, n, jj, iyyy, &
                                          +
                                          346  irep, iknt, jum0, iokoper
                                          +
                                          347 
                                          +
                                          348  character*128 bort_str
                                          +
                                          349  character*8, intent(in) :: nemo
                                          +
                                          350  character*8 nems
                                          +
                                          351  character*1 tab
                                          +
                                          352 
                                          +
                                          353  logical drop(10), ltamc
                                          +
                                          354 
                                          +
                                          355  common /tabccc/ icdw, icsc, icrv, incw
                                          +
                                          356 
                                          +
                                          357  data maxlim /10/
                                          +
                                          358 
                                          +
                                          359  ! Check the mnemonic
                                          +
                                          360 
                                          +
                                          361  ! Note that Table A mnemonics, in addition to being stored within internal BUFR Table A array taba(*,lun), are also stored as
                                          +
                                          362  ! Table D mnemonics within internal BUFR Table D array tabd(*,lun). So the following test is valid.
                                          +
                                          363 
                                          +
                                          364  call nemtab(lun,nemo,idn,tab,itab)
                                          +
                                          365  if(tab/='D') then
                                          +
                                          366  write(bort_str,'("BUFRLIB: TABSUB - SUBSET NODE NOT IN TABLE D (TAB=",A,") FOR INPUT MNEMONIC ",A)') tab,nemo
                                          +
                                          367  call bort(bort_str)
                                          +
                                          368  endif
                                          +
                                          369 
                                          +
                                          370  ! Store a subset node and jump/link the tree
                                          +
                                          371 
                                          +
                                          372  call inctab(nemo,'SUB',node)
                                          +
                                          373  jump(node) = node+1
                                          +
                                          374  jmpb(node) = 0
                                          +
                                          375  link(node) = 0
                                          +
                                          376  ibt(node) = 0
                                          +
                                          377  irf(node) = 0
                                          +
                                          378  isc(node) = 0
                                          +
                                          379 
                                          +
                                          380  call nemtbd(lun,itab,nseq,nem(1,1),irp(1,1),krp(1,1))
                                          +
                                          381  ntag(1,1) = 1
                                          +
                                          382  ntag(1,2) = nseq
                                          +
                                          383  jmp0(1) = node
                                          +
                                          384  nodl(1) = node
                                          +
                                          385  limb = 1
                                          +
                                          386 
                                          +
                                          387  icdw = 0
                                          +
                                          388  icsc = 0
                                          +
                                          389  icrv = 1
                                          +
                                          390  incw = 0
                                          +
                                          391 
                                          +
                                          392  ibtnrv = 0
                                          +
                                          393  ipfnrv = 0
                                          +
                                          394 
                                          +
                                          395  if(ntamc+1>mxtamc) call bort('BUFRLIB: TABSUB - MXTAMC OVERFLOW')
                                          +
                                          396  inodtamc(ntamc+1) = node
                                          +
                                          397  ntco(ntamc+1) = 0
                                          +
                                          398  ltamc = .false.
                                          +
                                          399 
                                          +
                                          400  ! The following loop resolves all entities in the subset by emulating recursion via explicit goto statements.
                                          +
                                          401 
                                          +
                                          402  11 do n=ntag(limb,1),ntag(limb,2)
                                          +
                                          403 
                                          +
                                          404  ntag(limb,1) = n+1
                                          +
                                          405  drop(limb) = n==ntag(limb,2)
                                          +
                                          406 
                                          +
                                          407  call nemtab(lun,nem(n,limb),idn,tab,itab)
                                          +
                                          408  nems = nem(n,limb)
                                          +
                                          409 
                                          +
                                          410  if(tab=='C') then
                                          +
                                          411  ! Special treatment for certain operator descriptors.
                                          +
                                          412  read(nems,'(3X,I3)') iyyy
                                          +
                                          413  if(itab==1) then
                                          +
                                          414  if(iyyy/=0) then
                                          +
                                          415  if(icdw/=0) then
                                          +
                                          416  write(bort_str,'("BUFRLIB: TABSUB - THERE ARE TWO SIMULTANEOUS '// &
                                          +
                                          417  'CHANGE DATA WIDTH OPERATIONS IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          418  call bort(bort_str)
                                          +
                                          419  endif
                                          +
                                          420  icdw = iyyy-128
                                          +
                                          421  else
                                          +
                                          422  icdw = 0
                                          +
                                          423  endif
                                          +
                                          424  elseif(itab==2) then
                                          +
                                          425  if(iyyy/=0) then
                                          +
                                          426  if(icsc/=0) then
                                          +
                                          427  write(bort_str,'("BUFRLIB: TABSUB - THERE ARE TWO SIMULTANEOUS '// &
                                          +
                                          428  'CHANGE DATA SCALE OPERATIONS IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          429  call bort(bort_str)
                                          +
                                          430  endif
                                          +
                                          431  icsc = iyyy-128
                                          +
                                          432  else
                                          +
                                          433  icsc = 0
                                          +
                                          434  endif
                                          +
                                          435  elseif(itab==3) then
                                          +
                                          436  if(iyyy==0) then
                                          +
                                          437  ! Stop applying new reference values to subset nodes. Instead, revert to the use of standard Table B values.
                                          +
                                          438  if(ipfnrv==0) then
                                          +
                                          439  write(bort_str,'("BUFRLIB: TABSUB - A 2-03-000 OPERATOR WAS '// &
                                          +
                                          440  'ENCOUNTERED WITHOUT ANY PRIOR 2-03-YYY OPERATOR FOR INPUT MNEMONIC ",A)') nemo
                                          +
                                          441  call bort(bort_str)
                                          +
                                          442  endif
                                          +
                                          443  do jj=ipfnrv,nnrv
                                          +
                                          444  ienrv(jj) = ntab
                                          +
                                          445  enddo
                                          +
                                          446  ipfnrv = 0
                                          +
                                          447  elseif(iyyy==255) then
                                          +
                                          448  ! End the definition of new reference values.
                                          +
                                          449  ibtnrv = 0
                                          +
                                          450  else
                                          +
                                          451  ! Begin the definition of new reference values.
                                          +
                                          452  if(ibtnrv/=0) then
                                          +
                                          453  write(bort_str,'("BUFRLIB: TABSUB - THERE ARE TWO SIMULTANEOUS '// &
                                          +
                                          454  'CHANGE REF VALUE OPERATIONS IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          455  call bort(bort_str)
                                          +
                                          456  endif
                                          +
                                          457  ibtnrv = iyyy
                                          +
                                          458  endif
                                          +
                                          459  elseif(itab==7) then
                                          +
                                          460  if(iyyy>0) then
                                          +
                                          461  if(icdw/=0) then
                                          +
                                          462  write(bort_str,'("BUFRLIB: TABSUB - THERE ARE TWO SIMULTANEOUS '// &
                                          +
                                          463  'CHANGE DATA WIDTH OPERATIONS IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          464  call bort(bort_str)
                                          +
                                          465  endif
                                          +
                                          466  if(icsc/=0) then
                                          +
                                          467  write(bort_str,'("BUFRLIB: TABSUB - THERE ARE TWO SIMULTANEOUS '// &
                                          +
                                          468  'CHANGE DATA SCALE OPERATIONS IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          469  call bort(bort_str)
                                          +
                                          470  endif
                                          +
                                          471  icdw = ((10*iyyy)+2)/3
                                          +
                                          472  icsc = iyyy
                                          +
                                          473  icrv = 10**iyyy
                                          +
                                          474  else
                                          +
                                          475  icsc = 0
                                          +
                                          476  icdw = 0
                                          +
                                          477  icrv = 1
                                          +
                                          478  endif
                                          +
                                          479  elseif(itab==8) then
                                          +
                                          480  incw = iyyy
                                          +
                                          481  elseif((itab>=21).and.(iokoper(nems)==1)) then
                                          +
                                          482  ! Save the location of this operator within the jump/link table, for possible later use.
                                          +
                                          483  if(.not.ltamc) then
                                          +
                                          484  ltamc = .true.
                                          +
                                          485  ntamc = ntamc+1
                                          +
                                          486  end if
                                          +
                                          487  if(ntco(ntamc)+1>mxtco) call bort('BUFRLIB: TABSUB - MXTCO OVERFLOW')
                                          +
                                          488  ntco(ntamc) = ntco(ntamc)+1
                                          +
                                          489  ctco(ntamc,ntco(ntamc)) = nems(1:6)
                                          + +
                                          491  endif
                                          +
                                          492  else
                                          +
                                          493  nodl(limb) = ntab+1
                                          +
                                          494  irep = irp(n,limb)
                                          +
                                          495  iknt = krp(n,limb)
                                          +
                                          496  jum0 = jmp0(limb)
                                          +
                                          497  call tabent(lun,nems,tab,itab,irep,iknt,jum0)
                                          +
                                          498  endif
                                          +
                                          499 
                                          +
                                          500  if(tab=='D') then
                                          +
                                          501  ! Note here how a new tree "limb" is created (and is then immediately recursively resolved) whenever a Table D mnemonic
                                          +
                                          502  ! contains another Table D mnemonic as one of its children.
                                          +
                                          503  limb = limb+1
                                          +
                                          504  if(limb>maxlim) then
                                          +
                                          505  write(bort_str,'("BUFRLIB: TABSUB - THERE ARE TOO MANY NESTED '// &
                                          +
                                          506  'TABLE D SEQUENCES (TREES) WITHIN INPUT MNEMONIC ",A," - THE LIMIT IS",I4)') nemo,maxlim
                                          +
                                          507  call bort(bort_str)
                                          +
                                          508  endif
                                          +
                                          509  call nemtbd(lun,itab,nseq,nem(1,limb),irp(1,limb),krp(1,limb))
                                          +
                                          510  ntag(limb,1) = 1
                                          +
                                          511  ntag(limb,2) = nseq
                                          +
                                          512  jmp0(limb) = ntab
                                          +
                                          513  goto 11
                                          +
                                          514  elseif(drop(limb)) then
                                          +
                                          515  do while (.true.)
                                          +
                                          516  link(nodl(limb)) = 0
                                          +
                                          517  limb = limb-1
                                          +
                                          518  if(limb==0) then
                                          +
                                          519  if(icrv/=1) then
                                          +
                                          520  write(bort_str,'("BUFRLIB: TABSUB - A 2-07-YYY OPERATOR WAS '// &
                                          +
                                          521  'NOT CANCELLED IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          522  call bort(bort_str)
                                          +
                                          523  endif
                                          +
                                          524  if(icdw/=0) then
                                          +
                                          525  write(bort_str,'("BUFRLIB: TABSUB - A 2-01-YYY OPERATOR WAS '// &
                                          +
                                          526  'NOT CANCELLED IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          527  call bort(bort_str)
                                          +
                                          528  endif
                                          +
                                          529  if(icsc/=0) then
                                          +
                                          530  write(bort_str,'("BUFRLIB: TABSUB - A 2-02-YYY OPERATOR WAS '// &
                                          +
                                          531  'NOT CANCELLED IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          532  call bort(bort_str)
                                          +
                                          533  endif
                                          +
                                          534  if(incw/=0) then
                                          +
                                          535  write(bort_str,'("BUFRLIB: TABSUB - A 2-08-YYY OPERATOR WAS '// &
                                          +
                                          536  'NOT CANCELLED IN THE TREE BUILT FROM INPUT MNEMONIC ",A)') nemo
                                          +
                                          537  call bort(bort_str)
                                          +
                                          538  endif
                                          +
                                          539  if(ibtnrv/=0) then
                                          +
                                          540  write(bort_str,'("BUFRLIB: TABSUB - A 2-03-YYY OPERATOR WAS '// &
                                          +
                                          541  'APPLIED WITHOUT ANY SUBSEQUENT 2-03-255 OPERATOR FOR INPUT MNEMONIC ",A)') nemo
                                          +
                                          542  call bort(bort_str)
                                          +
                                          543  endif
                                          +
                                          544  if(ipfnrv/=0) then
                                          +
                                          545  ! One or more new reference values were defined for this subset, but there was no subsequent 2-03-000 operator,
                                          +
                                          546  ! so set all IENRV(*) values for this subset to point to the last element of the subset within the jump/link table.
                                          +
                                          547  ! Note that, if there had been a subsequent 2-03-000 operator, then these IENRV(*) values would have already been
                                          +
                                          548  ! properly set above.
                                          +
                                          549  do jj=ipfnrv,nnrv
                                          +
                                          550  ienrv(jj) = ntab
                                          +
                                          551  enddo
                                          +
                                          552  endif
                                          +
                                          553  return
                                          +
                                          554  endif
                                          +
                                          555  if(.not.drop(limb)) exit
                                          +
                                          556  enddo
                                          +
                                          557  link(nodl(limb)) = ntab+1
                                          +
                                          558  goto 11
                                          +
                                          559  elseif(tab/='C') then
                                          +
                                          560  link(nodl(limb)) = ntab+1
                                          +
                                          561  endif
                                          +
                                          562 
                                          +
                                          563  enddo
                                          +
                                          564 
                                          +
                                          565  write(bort_str,'("BUFRLIB: TABSUB - ENTITIES WERE NOT SUCCESSFULLY RESOLVED (BY EMULATING RESURSION) FOR SUBSET '// &
                                          +
                                          566  'DEFINED BY TBL A MNEM. ",A)') nemo
                                          +
                                          567  call bort(bort_str)
                                          +
                                          568 
                                          +
                                          569  return
                                          +
                                          570 end subroutine tabsub
                                          +
                                          571 
                                          +
                                          585 subroutine tabent(lun,nemo,tab,itab,irep,iknt,jum0)
                                          +
                                          586 
                                          +
                                          587  use modv_vars, only: mxnrv, typs, reps, lens
                                          +
                                          588 
                                          +
                                          589  use moda_tables
                                          +
                                          590  use moda_nrv203
                                          +
                                          591 
                                          +
                                          592  implicit none
                                          +
                                          593 
                                          +
                                          594  integer, intent(in) :: lun, itab, irep, iknt, jum0
                                          +
                                          595  integer icdw, icsc, icrv, incw, i, jm0, node, iscl, iref, ibit
                                          +
                                          596 
                                          +
                                          597  character*24 unit
                                          +
                                          598  character*10 rtag
                                          +
                                          599  character*8, intent(in) :: nemo
                                          +
                                          600  character, intent(in) :: tab
                                          +
                                          601  character*3 typt
                                          +
                                          602 
                                          +
                                          603  common /tabccc/ icdw, icsc, icrv, incw
                                          +
                                          604 
                                          +
                                          605  jm0 = jum0
                                          +
                                          606 
                                          +
                                          607  ! Make a jump/link table entry for a replicator
                                          +
                                          608 
                                          +
                                          609  if(irep/=0) then
                                          +
                                          610  rtag = reps(irep)//nemo
                                          +
                                          611  do i=1,10
                                          +
                                          612  if(rtag(i:i)==' ') then
                                          +
                                          613  rtag(i:i) = reps(irep+5)
                                          +
                                          614  call inctab(rtag,typs(irep),node)
                                          +
                                          615  jump(node) = node+1
                                          +
                                          616  jmpb(node) = jm0
                                          +
                                          617  link(node) = 0
                                          +
                                          618  ibt(node) = lens(irep)
                                          +
                                          619  irf(node) = 0
                                          +
                                          620  isc(node) = 0
                                          +
                                          621  if(irep==1) irf(node) = iknt
                                          +
                                          622  jm0 = node
                                          +
                                          623  exit
                                          +
                                          624  endif
                                          +
                                          625  enddo
                                          +
                                          626  endif
                                          +
                                          627 
                                          +
                                          628  ! Make a jump/link entry for an element or a sequence
                                          +
                                          629 
                                          +
                                          630  if(tab=='B') then
                                          +
                                          631  call nemtbb(lun,itab,unit,iscl,iref,ibit)
                                          +
                                          632  if(unit(1:5)=='CCITT') then
                                          +
                                          633  typt = 'CHR'
                                          +
                                          634  else
                                          +
                                          635  typt = 'NUM'
                                          +
                                          636  endif
                                          +
                                          637  call inctab(nemo,typt,node)
                                          +
                                          638  jump(node) = 0
                                          +
                                          639  jmpb(node) = jm0
                                          +
                                          640  link(node) = 0
                                          +
                                          641  ibt(node) = ibit
                                          +
                                          642  irf(node) = iref
                                          +
                                          643  isc(node) = iscl
                                          +
                                          644  if(unit(1:4)=='CODE') then
                                          +
                                          645  typt = 'COD'
                                          +
                                          646  elseif(unit(1:4)=='FLAG') then
                                          +
                                          647  typt = 'FLG'
                                          +
                                          648  endif
                                          +
                                          649  if( (typt=='NUM') .and. (ibtnrv/=0) ) then
                                          +
                                          650  ! This node contains a new (redefined) reference value.
                                          +
                                          651  if(nnrv+1>mxnrv) call bort('BUFRLIB: TABENT - MXNRV OVERFLOW')
                                          +
                                          652  nnrv = nnrv+1
                                          +
                                          653  tagnrv(nnrv) = nemo
                                          +
                                          654  inodnrv(nnrv) = node
                                          +
                                          655  isnrv(nnrv) = node+1
                                          +
                                          656  ibt(node) = ibtnrv
                                          +
                                          657  if(ipfnrv==0) ipfnrv = nnrv
                                          +
                                          658  elseif( (typt=='NUM') .and. (nemo(1:3)/='204') ) then
                                          +
                                          659  ibt(node) = ibt(node) + icdw
                                          +
                                          660  isc(node) = isc(node) + icsc
                                          +
                                          661  irf(node) = irf(node) * icrv
                                          +
                                          662  elseif( (typt=='CHR') .and. (incw>0) ) then
                                          +
                                          663  ibt(node) = incw * 8
                                          +
                                          664  endif
                                          +
                                          665  else ! tab=='D'
                                          +
                                          666  if(irep==0) then
                                          +
                                          667  typt = 'SEQ'
                                          +
                                          668  else
                                          +
                                          669  typt = typs(irep+5)
                                          +
                                          670  endif
                                          +
                                          671  call inctab(nemo,typt,node)
                                          +
                                          672  jump(node) = node+1
                                          +
                                          673  jmpb(node) = jm0
                                          +
                                          674  link(node) = 0
                                          +
                                          675  ibt(node) = 0
                                          +
                                          676  irf(node) = 0
                                          +
                                          677  isc(node) = 0
                                          +
                                          678  endif
                                          +
                                          679 
                                          +
                                          680  return
                                          +
                                          681 end subroutine tabent
                                          +
                                          682 
                                          +
                                          695 subroutine inctab(atag,atyp,node)
                                          +
                                          696 
                                          +
                                          697  use modv_vars, only: maxjl
                                          +
                                          698 
                                          +
                                          699  use moda_tables
                                          +
                                          700 
                                          +
                                          701  implicit none
                                          +
                                          702 
                                          +
                                          703  integer, intent(out) :: node
                                          +
                                          704 
                                          +
                                          705  character*(*), intent(in) :: atag, atyp
                                          +
                                          706  character*128 bort_str
                                          +
                                          707 
                                          +
                                          708  ntab = ntab+1
                                          +
                                          709  if(ntab>maxjl) then
                                          +
                                          710  write(bort_str,'("BUFRLIB: INCTAB - THE NUMBER OF JUMP/LINK TABLE ENTRIES EXCEEDS THE LIMIT, MAXJL (",I7,")")') maxjl
                                          +
                                          711  call bort(bort_str)
                                          +
                                          712  endif
                                          +
                                          713  tag(ntab) = atag
                                          +
                                          714  typ(ntab) = atyp
                                          +
                                          715  node = ntab
                                          +
                                          716 
                                          +
                                          717  return
                                          +
                                          718 end subroutine inctab
                                          +
                                          719 
                                          +
                                          740 integer function lstjpb(node,lun,jbtyp) result(iret)
                                          +
                                          741 
                                          +
                                          742  use moda_msgcwd
                                          +
                                          743  use moda_tables
                                          +
                                          744 
                                          +
                                          745  implicit none
                                          +
                                          746 
                                          +
                                          747  integer, intent(in) :: node, lun
                                          +
                                          748  integer nod
                                          +
                                          749 
                                          +
                                          750  character*(*), intent(in) :: jbtyp
                                          +
                                          751  character*128 bort_str
                                          +
                                          752 
                                          +
                                          753  if(node<inode(lun)) then
                                          +
                                          754  write(bort_str,'("BUFRLIB: LSTJPB - TABLE NODE (",I7,") IS OUT OF BOUNDS, < LOWER BOUNDS (",I7,")")') node,inode(lun)
                                          +
                                          755  call bort(bort_str)
                                          +
                                          756  endif
                                          +
                                          757  if(node>isc(inode(lun))) then
                                          +
                                          758  write(bort_str,'("BUFRLIB: LSTJPB - TABLE NODE (",I7,") IS OUT OF BOUNDS, > UPPER BOUNDS (",I7,")")') node,isc(inode(lun))
                                          +
                                          759  call bort(bort_str)
                                          +
                                          760  endif
                                          +
                                          761 
                                          +
                                          762  nod = node
                                          +
                                          763 
                                          +
                                          764  ! Find this or the previous node of type jbtyp
                                          +
                                          765 
                                          +
                                          766  do while (nod/=0)
                                          +
                                          767  if(typ(nod)==jbtyp) exit
                                          +
                                          768  nod = jmpb(nod)
                                          +
                                          769  enddo
                                          +
                                          770 
                                          +
                                          771  iret = nod
                                          +
                                          772 
                                          +
                                          773  return
                                          +
                                          774 end function lstjpb
                                          +
                                          775 
                                          +
                                          786 integer function ishrdx(lud,lun) result(iret)
                                          +
                                          787 
                                          +
                                          788  use moda_tababd
                                          +
                                          789 
                                          +
                                          790  implicit none
                                          +
                                          791 
                                          +
                                          792  integer, intent(in) :: lud, lun
                                          +
                                          793  integer ii
                                          +
                                          794 
                                          +
                                          795  ! Note that, for any file ID luX, the mtab(*,luX) array contains pointer indices into the internal jump/link table
                                          +
                                          796  ! for each of the Table A mnemonics that is currently defined for that luX value. Thus, if all of these indices are
                                          +
                                          797  ! identical for two different luX values, then the associated logical units are sharing table information.
                                          +
                                          798 
                                          +
                                          799  if ( ( ntba(lud) >= 1 ) .and. ( ntba(lud) == ntba(lun) ) ) then
                                          +
                                          800  ii = 1
                                          +
                                          801  iret = 1
                                          +
                                          802  do while ( ( ii <= ntba(lud) ) .and. ( iret == 1 ) )
                                          +
                                          803  if ( ( mtab(ii,lud) /= 0 ) .and. ( mtab(ii,lud) == mtab(ii,lun) ) ) then
                                          +
                                          804  ii = ii + 1
                                          +
                                          805  else
                                          +
                                          806  iret = 0
                                          +
                                          807  endif
                                          +
                                          808  enddo
                                          +
                                          809  else
                                          +
                                          810  iret = 0
                                          +
                                          811  endif
                                          +
                                          812 
                                          +
                                          813  return
                                          +
                                          814 end function ishrdx
                                          +
                                          815 
                                          +
                                          831 integer function icmpdx(lud,lun) result(iret)
                                          +
                                          832 
                                          +
                                          833  use moda_tababd
                                          +
                                          834 
                                          +
                                          835  implicit none
                                          +
                                          836 
                                          +
                                          837  integer, intent(in) :: lud, lun
                                          +
                                          838  integer ishrdx, i
                                          +
                                          839 
                                          +
                                          840  ! First, check whether the two units are actually sharing tables.
                                          +
                                          841  ! If so, then they obviously have the same table information.
                                          +
                                          842 
                                          +
                                          843  iret = ishrdx(lud,lun)
                                          +
                                          844  if ( iret == 1 ) return
                                          +
                                          845 
                                          +
                                          846  ! Otherwise, check whether the internal Table A, B and D entries are all identical between the two units.
                                          +
                                          847 
                                          +
                                          848  if ( ( ntba(lud) == 0 ) .or. ( ntba(lun) /= ntba(lud) ) ) return
                                          +
                                          849  do i = 1, ntba(lud)
                                          +
                                          850  if ( idna(i,lun,1) /= idna(i,lud,1) ) return
                                          +
                                          851  if ( idna(i,lun,2) /= idna(i,lud,2) ) return
                                          +
                                          852  if ( taba(i,lun) /= taba(i,lud) ) return
                                          +
                                          853  enddo
                                          +
                                          854 
                                          +
                                          855  if ( ( ntbb(lud) == 0 ) .or. ( ntbb(lun) /= ntbb(lud) ) ) return
                                          +
                                          856  do i = 1, ntbb(lud)
                                          +
                                          857  if ( idnb(i,lun) /= idnb(i,lud) ) return
                                          +
                                          858  if ( tabb(i,lun) /= tabb(i,lud) ) return
                                          +
                                          859  enddo
                                          +
                                          860 
                                          +
                                          861  if ( ( ntbd(lud) == 0 ) .or. ( ntbd(lun) /= ntbd(lud) ) ) return
                                          +
                                          862  do i = 1, ntbd(lud)
                                          +
                                          863  if ( idnd(i,lun) /= idnd(i,lud) ) return
                                          +
                                          864  if ( tabd(i,lun) /= tabd(i,lud) ) return
                                          +
                                          865  enddo
                                          +
                                          866 
                                          +
                                          867  iret = 1
                                          +
                                          868 
                                          +
                                          869  return
                                          +
                                          870 end function icmpdx
                                          +
                                          871 
                                          +
                                          897 subroutine drstpl(inod,lun,inv1,inv2,invn)
                                          +
                                          898 
                                          +
                                          899  use moda_tables
                                          +
                                          900 
                                          +
                                          901  implicit none
                                          +
                                          902 
                                          +
                                          903  integer, intent(in) :: inod, lun, inv1
                                          +
                                          904  integer, intent(inout) :: inv2
                                          +
                                          905  integer, intent(out) :: invn
                                          +
                                          906  integer node, invwin
                                          +
                                          907 
                                          +
                                          908  do while (.true.)
                                          +
                                          909  node = inod
                                          +
                                          910  do while (.true.)
                                          +
                                          911  node = jmpb(node)
                                          +
                                          912  if(node==0) return
                                          +
                                          913  if(typ(node)=='DRS' .or. typ(node)=='DRB') then
                                          +
                                          914  invn = invwin(node,lun,inv1,inv2)
                                          +
                                          915  if(invn>0) then
                                          +
                                          916  call usrtpl(lun,invn,1)
                                          +
                                          917  call newwin(lun,inv1,inv2)
                                          +
                                          918  invn = invwin(inod,lun,invn,inv2)
                                          +
                                          919  if(invn>0) return
                                          +
                                          920  exit
                                          +
                                          921  endif
                                          +
                                          922  endif
                                          +
                                          923  enddo
                                          +
                                          924  enddo
                                          +
                                          925 
                                          +
                                          926  return
                                          +
                                          927 end subroutine drstpl
                                          +
                                          928 
                                          +
                                          961 recursive subroutine nemspecs ( lunit, nemo, nnemo, nscl, nref, nbts, iret )
                                          +
                                          962 
                                          +
                                          963  use modv_vars, only: im8b
                                          +
                                          964 
                                          +
                                          965  use moda_usrint
                                          +
                                          966  use moda_msgcwd
                                          +
                                          967  use moda_tables
                                          +
                                          968  use moda_nrv203
                                          +
                                          969 
                                          +
                                          970  implicit none
                                          +
                                          971 
                                          +
                                          972  integer, intent(in) :: lunit, nnemo
                                          +
                                          973  integer, intent(out) :: nscl, nref, nbts, iret
                                          +
                                          974  integer my_lunit, my_nnemo, lun, il, im, nidx, ierfst, node, ltn, jj
                                          +
                                          975 
                                          +
                                          976  character*(*), intent(in) :: nemo
                                          +
                                          977  character*10 tagn
                                          +
                                          978 
                                          +
                                          979  ! Check for I8 integers.
                                          +
                                          980 
                                          +
                                          981  if(im8b) then
                                          +
                                          982  im8b=.false.
                                          +
                                          983 
                                          +
                                          984  call x84(lunit,my_lunit,1)
                                          +
                                          985  call x84(nnemo,my_nnemo,1)
                                          +
                                          986  call nemspecs(my_lunit,nemo,my_nnemo,nscl,nref,nbts,iret)
                                          +
                                          987  call x48(nscl,nscl,1)
                                          +
                                          988  call x48(nref,nref,1)
                                          +
                                          989  call x48(nbts,nbts,1)
                                          +
                                          990  call x48(iret,iret,1)
                                          +
                                          991 
                                          +
                                          992  im8b=.true.
                                          +
                                          993  return
                                          +
                                          994  endif
                                          +
                                          995 
                                          +
                                          996  iret = -1
                                          +
                                          997 
                                          +
                                          998  ! Get lun from lunit.
                                          +
                                          999 
                                          +
                                          1000  call status( lunit, lun, il, im )
                                          +
                                          1001  if ( il == 0 ) return
                                          +
                                          1002  if ( inode(lun) /= inv(1,lun) ) return
                                          +
                                          1003 
                                          +
                                          1004  ! Starting from the beginning of the subset, locate the (nnemo)th occurrence of nemo.
                                          +
                                          1005 
                                          +
                                          1006  call fstag( lun, nemo, nnemo, 1, nidx, ierfst )
                                          +
                                          1007  if ( ierfst /= 0 ) return
                                          +
                                          1008 
                                          +
                                          1009  ! Confirm that nemo is a Table B mnemonic.
                                          +
                                          1010 
                                          +
                                          1011  node = inv(nidx,lun)
                                          +
                                          1012  if ( ( typ(node) /= 'NUM' ) .and. ( typ(node) /= 'CHR' ) ) return
                                          +
                                          1013 
                                          +
                                          1014  ! Get the scale factor, reference value and bit width, including accounting for any Table C operators which may be in
                                          +
                                          1015  ! scope for this particular occurrence of nemo.
                                          +
                                          1016 
                                          +
                                          1017  iret = 0
                                          +
                                          1018 
                                          +
                                          1019  nscl = isc(node)
                                          +
                                          1020  nbts = ibt(node)
                                          +
                                          1021  nref = irf(node)
                                          +
                                          1022 
                                          +
                                          1023  if ( nnrv > 0 ) then
                                          +
                                          1024 
                                          +
                                          1025  ! There are nodes containing redefined reference values (from one or more 2-03-YYY operators) in the jump/link table,
                                          +
                                          1026  ! so we need to check if this node is one of them.
                                          +
                                          1027 
                                          +
                                          1028  tagn = ' '
                                          +
                                          1029  call strsuc( nemo, tagn, ltn )
                                          +
                                          1030  if ( ( ltn <= 0 ) .or. ( ltn > 8 ) ) return
                                          +
                                          1031 
                                          +
                                          1032  do jj = 1, nnrv
                                          +
                                          1033  if ( ( node /= inodnrv(jj) ) .and. ( tagn(1:8) == tagnrv(jj) ) .and. &
                                          +
                                          1034  ( node >= isnrv(jj) ) .and. ( node <= ienrv(jj) ) ) then
                                          +
                                          1035  nref = int(nrv(jj))
                                          +
                                          1036  return
                                          +
                                          1037  end if
                                          +
                                          1038  end do
                                          +
                                          1039 
                                          +
                                          1040  end if
                                          +
                                          1041 
                                          +
                                          1042  return
                                          +
                                          1043 end subroutine nemspecs
                                          +
                                          1044 
                                          +
                                          1064 subroutine fstag ( lun, utag, nutag, nin, nout, iret )
                                          +
                                          1065 
                                          +
                                          1066  use moda_usrint
                                          +
                                          1067  use moda_tables
                                          +
                                          1068 
                                          +
                                          1069  implicit none
                                          +
                                          1070 
                                          +
                                          1071  integer, intent(in) :: lun, nutag, nin
                                          +
                                          1072  integer, intent(out) :: nout, iret
                                          +
                                          1073  integer, parameter :: maxtg = 15
                                          +
                                          1074  integer ntg, istep, itagct
                                          +
                                          1075 
                                          +
                                          1076  character*(*), intent(in) :: utag
                                          +
                                          1077  character*10 tgs(maxtg)
                                          +
                                          1078 
                                          +
                                          1079  iret = -1
                                          +
                                          1080 
                                          +
                                          1081  ! Confirm that there's only one mnemonic in the input string.
                                          +
                                          1082 
                                          +
                                          1083  call parstr( utag, tgs, maxtg, ntg, ' ', .true. )
                                          +
                                          1084  if ( ntg /= 1 ) return
                                          +
                                          1085 
                                          +
                                          1086  ! Starting from nin, search either forward or backward for the (nutag)th occurrence of utag.
                                          +
                                          1087 
                                          +
                                          1088  if ( nutag == 0 ) return
                                          +
                                          1089  istep = isign( 1, nutag )
                                          +
                                          1090  itagct = 0
                                          +
                                          1091  nout = nin + istep
                                          +
                                          1092  do while ( ( nout >= 1 ) .and. ( nout <= nval(lun) ) )
                                          +
                                          1093  if ( tgs(1) == tag(inv(nout,lun)) ) then
                                          +
                                          1094  itagct = itagct + 1
                                          +
                                          1095  if ( itagct == iabs(nutag) ) then
                                          +
                                          1096  iret = 0
                                          +
                                          1097  return
                                          +
                                          1098  endif
                                          +
                                          1099  endif
                                          +
                                          1100  nout = nout + istep
                                          +
                                          1101  enddo
                                          +
                                          1102 
                                          +
                                          1103  return
                                          +
                                          1104 end subroutine fstag
                                          +
                                          1105 
                                          +
                                          1125 recursive subroutine gettagpr ( lunit, tagch, ntagch, tagpr, iret )
                                          +
                                          1126 
                                          +
                                          1127  use modv_vars, only: im8b
                                          +
                                          1128 
                                          +
                                          1129  use moda_usrint
                                          +
                                          1130  use moda_msgcwd
                                          +
                                          1131  use moda_tables
                                          +
                                          1132 
                                          +
                                          1133  implicit none
                                          +
                                          1134 
                                          +
                                          1135  integer, intent(in) :: lunit, ntagch
                                          +
                                          1136  integer, intent(out) :: iret
                                          +
                                          1137  integer my_lunit, my_ntagch, lun, il, im, nch
                                          +
                                          1138 
                                          +
                                          1139  character*(*), intent(in) :: tagch
                                          +
                                          1140  character*(*), intent(out) :: tagpr
                                          +
                                          1141 
                                          +
                                          1142  ! Check for I8 integers.
                                          +
                                          1143 
                                          +
                                          1144  if(im8b) then
                                          +
                                          1145  im8b=.false.
                                          +
                                          1146 
                                          +
                                          1147  call x84 ( lunit, my_lunit, 1 )
                                          +
                                          1148  call x84 ( ntagch, my_ntagch, 1 )
                                          +
                                          1149  call gettagpr ( my_lunit, tagch, my_ntagch, tagpr, iret )
                                          +
                                          1150  call x48 ( iret, iret, 1 )
                                          +
                                          1151 
                                          +
                                          1152  im8b=.true.
                                          +
                                          1153  return
                                          +
                                          1154  endif
                                          +
                                          1155 
                                          +
                                          1156  iret = -1
                                          +
                                          1157 
                                          +
                                          1158  ! Get lun from lunit.
                                          +
                                          1159 
                                          +
                                          1160  call status( lunit, lun, il, im )
                                          +
                                          1161  if ( il == 0 ) return
                                          +
                                          1162  if ( inode(lun) /= inv(1,lun) ) return
                                          +
                                          1163 
                                          +
                                          1164  ! Get tagpr from the (ntagch)th occurrence of tagch.
                                          +
                                          1165 
                                          +
                                          1166  call fstag( lun, tagch, ntagch, 1, nch, iret )
                                          +
                                          1167  if ( iret /= 0 ) return
                                          +
                                          1168 
                                          +
                                          1169  tagpr = tag(jmpb(inv(nch,lun)))
                                          +
                                          1170 
                                          +
                                          1171  return
                                          +
                                          1172 end subroutine gettagpr
                                          +
                                          1173 
                                          +
                                          1190 integer function invtag(node,lun,inv1,inv2) result(iret)
                                          +
                                          1191 
                                          +
                                          1192  use moda_usrint
                                          +
                                          1193  use moda_tables
                                          +
                                          1194 
                                          +
                                          1195  implicit none
                                          +
                                          1196 
                                          +
                                          1197  integer, intent(in) :: node, lun, inv1, inv2
                                          +
                                          1198  integer iprt
                                          +
                                          1199 
                                          +
                                          1200  character*10 tagn
                                          +
                                          1201 
                                          +
                                          1202  common /quiet/ iprt
                                          +
                                          1203 
                                          +
                                          1204  if(node/=0) then
                                          +
                                          1205  tagn = tag(node)
                                          +
                                          1206  ! Search between inv1 and inv2
                                          +
                                          1207  do iret=inv1,inv2
                                          +
                                          1208  if(tag(inv(iret,lun))==tagn) return
                                          +
                                          1209  enddo
                                          +
                                          1210  endif
                                          +
                                          1211 
                                          +
                                          1212  iret = 0
                                          +
                                          1213 
                                          +
                                          1214  if(iprt>=2) then
                                          +
                                          1215  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                          +
                                          1216  call errwrt('BUFRLIB: INVTAG - RETURNING WITH A VALUE OF 0')
                                          +
                                          1217  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                          +
                                          1218  call errwrt(' ')
                                          +
                                          1219  endif
                                          +
                                          1220 
                                          +
                                          1221  return
                                          +
                                          1222 end function invtag
                                          +
                                          1223 
                                          +
                                          1238 integer function invwin(node,lun,inv1,inv2) result(iret)
                                          +
                                          1239 
                                          +
                                          1240  use moda_usrint
                                          +
                                          1241 
                                          +
                                          1242  implicit none
                                          +
                                          1243 
                                          +
                                          1244  integer, intent(in) :: node, lun, inv1, inv2
                                          +
                                          1245  integer iprt, idx
                                          +
                                          1246 
                                          +
                                          1247  character*80 errstr
                                          +
                                          1248 
                                          +
                                          1249  common /quiet/ iprt
                                          +
                                          1250 
                                          +
                                          1251  iret = 0
                                          +
                                          1252  if(node/=0) then
                                          +
                                          1253  ! Search between inv1 and inv2
                                          +
                                          1254  do idx=inv1,inv2
                                          +
                                          1255  if(inv(idx,lun)==node) then
                                          +
                                          1256  iret = idx
                                          +
                                          1257  exit
                                          +
                                          1258  endif
                                          +
                                          1259  enddo
                                          +
                                          1260  endif
                                          +
                                          1261 
                                          +
                                          1262  if(iprt>=3) then
                                          +
                                          1263  write(errstr,'(a,3i8)') 'invwin i1,i2,in ', inv1, inv2, iret
                                          +
                                          1264  call errwrt(errstr)
                                          +
                                          1265  endif
                                          +
                                          1266 
                                          +
                                          1267  return
                                          +
                                          1268 end function invwin
                                          +
                                          1269 
                                          +
                                          1313 subroutine getwin(node,lun,iwin,jwin)
                                          +
                                          1314 
                                          +
                                          1315  use moda_usrint
                                          +
                                          1316 
                                          +
                                          1317  implicit none
                                          +
                                          1318 
                                          +
                                          1319  integer, intent(in) :: node, lun
                                          +
                                          1320  integer, intent(out) :: iwin, jwin
                                          +
                                          1321  integer irpc, lstjpb, invwin
                                          +
                                          1322 
                                          +
                                          1323  character*128 bort_str
                                          +
                                          1324 
                                          +
                                          1325  irpc = lstjpb(node,lun,'RPC')
                                          +
                                          1326 
                                          +
                                          1327  if(irpc==0) then
                                          +
                                          1328  iwin = invwin(node,lun,jwin,nval(lun))
                                          +
                                          1329  if(iwin==0 .and. jwin>1) return
                                          +
                                          1330  iwin = 1
                                          +
                                          1331  jwin = nval(lun)
                                          +
                                          1332  return
                                          +
                                          1333  else
                                          +
                                          1334  iwin = invwin(irpc,lun,jwin,nval(lun))
                                          +
                                          1335  if(iwin==0) return
                                          +
                                          1336  if(val(iwin,lun)==0.) then
                                          +
                                          1337  iwin = 0
                                          +
                                          1338  return
                                          +
                                          1339  endif
                                          +
                                          1340  endif
                                          +
                                          1341 
                                          +
                                          1342  jwin = invwin(irpc,lun,iwin+1,nval(lun))
                                          +
                                          1343  if(jwin==0) then
                                          +
                                          1344  write(bort_str,'("BUFRLIB: GETWIN - SEARCHED BETWEEN",I5," AND",I5,", MISSING BRACKET")') iwin+1, nval(lun)
                                          +
                                          1345  call bort(bort_str)
                                          +
                                          1346  endif
                                          +
                                          1347 
                                          +
                                          1348  return
                                          +
                                          1349 end subroutine getwin
                                          +
                                          1350 
                                          +
                                          1382 subroutine conwin(lun,inc1,inc2)
                                          +
                                          1383 
                                          +
                                          1384  use moda_usrint
                                          +
                                          1385 
                                          +
                                          1386  implicit none
                                          +
                                          1387 
                                          +
                                          1388  integer, intent(in) :: lun
                                          +
                                          1389  integer, intent(out) :: inc1, inc2
                                          +
                                          1390  integer nnod, ncon, nods, nodc, ivls, kons, nc, invcon
                                          +
                                          1391 
                                          +
                                          1392  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                          +
                                          1393 
                                          +
                                          1394  if(ncon==0) then
                                          +
                                          1395  ! There are no condition nodes in the string
                                          +
                                          1396  inc1 = 1
                                          +
                                          1397  inc2 = nval(lun)
                                          +
                                          1398  return
                                          +
                                          1399  endif
                                          +
                                          1400 
                                          +
                                          1401  outer: do while (.true.)
                                          +
                                          1402  call getwin(nodc(1),lun,inc1,inc2)
                                          +
                                          1403  if(inc1>0) then
                                          +
                                          1404  do nc=1,ncon
                                          +
                                          1405  if(invcon(nc,lun,inc1,inc2)==0) cycle outer
                                          +
                                          1406  enddo
                                          +
                                          1407  endif
                                          +
                                          1408  exit
                                          +
                                          1409  enddo outer
                                          +
                                          1410 
                                          +
                                          1411  return
                                          +
                                          1412 end subroutine conwin
                                          +
                                          1413 
                                          +
                                          1440 integer function invcon(nc,lun,inv1,inv2) result(iret)
                                          +
                                          1441 
                                          +
                                          1442  use moda_usrint
                                          +
                                          1443 
                                          +
                                          1444  implicit none
                                          +
                                          1445 
                                          +
                                          1446  integer, intent(in) :: nc, lun, inv1, inv2
                                          +
                                          1447  integer nnod, ncon, nods, nodc, ivls, kons, iprt
                                          +
                                          1448 
                                          +
                                          1449  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                          +
                                          1450  common /quiet/ iprt
                                          +
                                          1451 
                                          +
                                          1452  if(inv1>0 .and. inv1<=nval(lun) .and. inv2>0 .and. inv2<=nval(lun)) then
                                          +
                                          1453  do iret=inv1,inv2
                                          +
                                          1454  if(inv(iret,lun)==nodc(nc)) then
                                          +
                                          1455  if(kons(nc)==1 .and. val(iret,lun)==ivls(nc)) return
                                          +
                                          1456  if(kons(nc)==2 .and. val(iret,lun)/=ivls(nc)) return
                                          +
                                          1457  if(kons(nc)==3 .and. val(iret,lun)<ivls(nc)) return
                                          +
                                          1458  if(kons(nc)==4 .and. val(iret,lun)>ivls(nc)) return
                                          +
                                          1459  endif
                                          +
                                          1460  enddo
                                          +
                                          1461  endif
                                          +
                                          1462 
                                          +
                                          1463  iret = 0
                                          +
                                          1464  if(iprt>=2) then
                                          +
                                          1465  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                          +
                                          1466  call errwrt('BUFRLIB: INVCON - RETURNING WITH A VALUE OF 0')
                                          +
                                          1467  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                          +
                                          1468  call errwrt(' ')
                                          +
                                          1469  endif
                                          +
                                          1470 
                                          +
                                          1471  return
                                          +
                                          1472 end function invcon
                                          +
                                          1473 
                                          +
                                          1490 subroutine newwin(lun,iwin,jwin)
                                          +
                                          1491 
                                          +
                                          1492  use moda_usrint
                                          +
                                          1493 
                                          +
                                          1494  implicit none
                                          +
                                          1495 
                                          +
                                          1496  integer, intent(in) :: lun, iwin
                                          +
                                          1497  integer, intent(out) :: jwin
                                          +
                                          1498  integer node, lstjpb
                                          +
                                          1499 
                                          +
                                          1500  character*128 bort_str
                                          +
                                          1501 
                                          +
                                          1502  if(iwin==1) then
                                          +
                                          1503  ! This is a "SUB" (subset) node, so return jwin as pointing to the last value of the entire subset.
                                          +
                                          1504  jwin = nval(lun)
                                          +
                                          1505  return
                                          +
                                          1506  endif
                                          +
                                          1507 
                                          +
                                          1508  ! Confirm that iwin points to an "RPC" node and then compute jwin.
                                          +
                                          1509  node = inv(iwin,lun)
                                          +
                                          1510  if(lstjpb(node,lun,'RPC')/=node) then
                                          +
                                          1511  write(bort_str,'("BUFRLIB: NEWWIN - LSTJPB FOR NODE",I6,'// &
                                          +
                                          1512  '" (LSTJPB=",I5,") DOES NOT EQUAL VALUE OF NODE, NOT RPC (IWIN =",I8,")")') node, lstjpb(node,lun,'RPC'), iwin
                                          +
                                          1513  call bort(bort_str)
                                          +
                                          1514  endif
                                          +
                                          1515  jwin = iwin+nint(val(iwin,lun))
                                          +
                                          1516 
                                          +
                                          1517  return
                                          +
                                          1518 end subroutine newwin
                                          +
                                          1519 
                                          +
                                          1538 subroutine nxtwin(lun,iwin,jwin)
                                          +
                                          1539 
                                          +
                                          1540  use moda_usrint
                                          +
                                          1541 
                                          +
                                          1542  implicit none
                                          +
                                          1543 
                                          +
                                          1544  integer, intent(in) :: lun
                                          +
                                          1545  integer, intent(inout) :: iwin, jwin
                                          +
                                          1546  integer node, lstjpb
                                          +
                                          1547 
                                          +
                                          1548  character*128 bort_str
                                          +
                                          1549 
                                          +
                                          1550  if(jwin==nval(lun)) then
                                          +
                                          1551  iwin = 0
                                          +
                                          1552  return
                                          +
                                          1553  endif
                                          +
                                          1554 
                                          +
                                          1555  node = inv(iwin,lun)
                                          +
                                          1556  if(lstjpb(node,lun,'RPC')/=node) then
                                          +
                                          1557  write(bort_str,'("BUFRLIB: NXTWIN - LSTJPB FOR NODE",I6," '// &
                                          +
                                          1558  '(LSTJPB=",I5,") DOES NOT EQUAL VALUE OF NODE, NOT RPC (IWIN =",I8,")")') node, lstjpb(node,lun,'RPC'), iwin
                                          +
                                          1559  call bort(bort_str)
                                          +
                                          1560  endif
                                          +
                                          1561  if(val(jwin,lun)==0) then
                                          +
                                          1562  iwin = 0
                                          +
                                          1563  else
                                          +
                                          1564  iwin = jwin
                                          +
                                          1565  jwin = iwin+nint(val(iwin,lun))
                                          +
                                          1566  endif
                                          +
                                          1567 
                                          +
                                          1568  return
                                          +
                                          1569 end subroutine nxtwin
                                          +
                                          1570 
                                          +
                                          1588 integer function nvnwin(node,lun,inv1,inv2,invn,nmax) result(iret)
                                          +
                                          1589 
                                          +
                                          1590  use moda_usrint
                                          +
                                          1591 
                                          +
                                          1592  implicit none
                                          +
                                          1593 
                                          +
                                          1594  integer, intent(in) :: node, lun, inv1, inv2, nmax
                                          +
                                          1595  integer, intent(out) :: invn(*)
                                          +
                                          1596  integer iprt, i, n
                                          +
                                          1597 
                                          +
                                          1598  character*128 bort_str
                                          +
                                          1599 
                                          +
                                          1600  common /quiet/ iprt
                                          +
                                          1601 
                                          +
                                          1602  iret = 0
                                          +
                                          1603 
                                          +
                                          1604  if(node==0) then
                                          +
                                          1605  if(iprt>=1) then
                                          +
                                          1606  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                          +
                                          1607  call errwrt('BUFRLIB: NVNWIN - NODE=0, IMMEDIATE RETURN')
                                          +
                                          1608  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                          +
                                          1609  call errwrt(' ')
                                          +
                                          1610  endif
                                          +
                                          1611  return
                                          +
                                          1612  endif
                                          +
                                          1613 
                                          +
                                          1614  do i=1,nmax
                                          +
                                          1615  invn(i) = 1e9
                                          +
                                          1616  enddo
                                          +
                                          1617 
                                          +
                                          1618  ! Search between inv1 and inv2
                                          +
                                          1619 
                                          +
                                          1620  do n=inv1,inv2
                                          +
                                          1621  if(inv(n,lun)==node) then
                                          +
                                          1622  if(iret+1>nmax) then
                                          +
                                          1623  write(bort_str,'("BUFRLIB: NVNWIN - THE NUMBER OF EVENTS EXCEEDS THE LIMIT NMAX (",I5,")")') nmax
                                          +
                                          1624  call bort(bort_str)
                                          +
                                          1625  endif
                                          +
                                          1626  iret = iret+1
                                          +
                                          1627  invn(iret) = n
                                          +
                                          1628  endif
                                          +
                                          1629  enddo
                                          +
                                          1630 
                                          +
                                          1631  return
                                          +
                                          1632 end function nvnwin
                                          +
                                          subroutine bort(str)
                                          Log an error message, then abort the application program.
                                          Definition: borts.F90:15
                                          +
                                          subroutine cpbfdx(lud, lun)
                                          Copy all of the DX BUFR table information from one unit to another within internal memory.
                                          Definition: copydata.F90:678
                                          +
                                          subroutine nemtbb(lun, itab, unit, iscl, iref, ibit)
                                          Get information about a Table B descriptor from the internal DX BUFR tables.
                                          Definition: dxtable.F90:1278
                                          +
                                          recursive subroutine wrdxtb(lundx, lunot)
                                          Generate one or more BUFR messages from the DX BUFR tables information associated with a given BUFR f...
                                          Definition: dxtable.F90:850
                                          +
                                          subroutine nemtbd(lun, itab, nseq, nems, irps, knts)
                                          Get information about a Table D descriptor from the internal DX BUFR tables.
                                          Definition: dxtable.F90:1346
                                          +
                                          subroutine errwrt(str)
                                          Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                          Definition: errwrt.F90:32
                                          +
                                          subroutine nemtab(lun, nemo, idn, tab, iret)
                                          Get information about a descriptor, based on a mnemonic.
                                          Definition: fxy.F90:432
                                          + + + + + + + + + + + + + + + + + + + + +
                                          subroutine strsuc(str1, str2, lens)
                                          Remove leading and trailing blanks from a character string.
                                          Definition: misc.F90:220
                                          +
                                          Declare arrays and variables used to store bitmaps internally within a data subset definition.
                                          +
                                          integer, dimension(:,:), allocatable inodtco
                                          Entries within jump/link table which contain Table C operators.
                                          +
                                          integer ntamc
                                          Number of Table A mnemonics in jump/link table (up to a maximum of mxtamc) which contain at least one...
                                          +
                                          integer, dimension(:), allocatable inodtamc
                                          Entries within jump/link table which contain Table A mnemonics.
                                          +
                                          character *6, dimension(:,:), allocatable ctco
                                          Table C operators corresponding to inodtco.
                                          +
                                          integer, dimension(:), allocatable ntco
                                          Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of ...
                                          +
                                          Declare an array used by subroutine makestab() to keep track of which logical units share DX BUFR tab...
                                          +
                                          integer, dimension(:), allocatable lus
                                          Tracking index for each file ID.
                                          +
                                          Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                          +
                                          integer, dimension(:), allocatable inode
                                          Table A mnemonic for type of BUFR message.
                                          +
                                          Declare arrays used by various subroutines to hold information about Table D sequences.
                                          +
                                          integer, dimension(:,:), allocatable krp
                                          Replication counts corresponding to nem:
                                          +
                                          integer, dimension(:,:), allocatable irp
                                          Replication indicators corresponding to nem:
                                          +
                                          character *8, dimension(:,:), allocatable nem
                                          Child mnemonics within Table D sequences.
                                          +
                                          Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
                                          +
                                          integer, dimension(:), allocatable ienrv
                                          End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
                                          +
                                          character *8, dimension(:), allocatable tagnrv
                                          Table B mnemonic to which the corresponding new reference value in nrv applies.
                                          +
                                          integer, dimension(:), allocatable isnrv
                                          Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
                                          +
                                          integer nnrv
                                          Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv...
                                          +
                                          integer *8, dimension(:), allocatable nrv
                                          New reference values corresponding to inodnrv.
                                          +
                                          integer ipfnrv
                                          A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the c...
                                          +
                                          integer, dimension(:), allocatable inodnrv
                                          Entries within jump/link table which contain new reference values.
                                          +
                                          integer ibtnrv
                                          Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in...
                                          +
                                          Declare arrays used to store file and message status indicators for all logical units that have been ...
                                          +
                                          integer, dimension(:), allocatable iolun
                                          File status indicators.
                                          +
                                          integer, dimension(:), allocatable iomsg
                                          Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
                                          +
                                          Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
                                          +
                                          integer, dimension(:), allocatable ntba
                                          Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
                                          +
                                          character *600, dimension(:,:), allocatable tabd
                                          Table D entries for each file ID.
                                          +
                                          character *128, dimension(:,:), allocatable taba
                                          Table A entries for each file ID.
                                          +
                                          integer, dimension(:,:), allocatable mtab
                                          Entries within jump/link table corresponding to taba.
                                          +
                                          integer, dimension(:,:,:), allocatable idna
                                          Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
                                          +
                                          integer, dimension(:), allocatable ntbd
                                          Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
                                          +
                                          integer, dimension(:), allocatable ntbb
                                          Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
                                          +
                                          integer, dimension(:,:), allocatable idnd
                                          WMO bit-wise representations of the FXY values corresponding to tabd.
                                          +
                                          integer, dimension(:,:), allocatable idnb
                                          WMO bit-wise representations of the FXY values corresponding to tabb.
                                          +
                                          character *128, dimension(:,:), allocatable tabb
                                          Table B entries for each file ID.
                                          +
                                          Declare arrays and variables used to store the internal jump/link table.
                                          +
                                          integer, dimension(:), allocatable jseq
                                          Temporary storage used in expanding sequences.
                                          +
                                          integer, dimension(:), allocatable irf
                                          Reference values corresponding to tag and typ:
                                          +
                                          integer, dimension(:,:), allocatable iseq
                                          Temporary storage used in expanding sequences.
                                          +
                                          integer, dimension(:), allocatable isc
                                          Scale factors corresponding to tag and typ:
                                          +
                                          integer, dimension(:), allocatable ibt
                                          Bit widths corresponding to tag and typ:
                                          +
                                          integer, dimension(:), allocatable knt
                                          Temporary storage used in calculating delayed replication counts.
                                          +
                                          real *8, dimension(:), allocatable vali
                                          Initialized data values corresponding to typ:
                                          +
                                          character *3, dimension(:), allocatable typ
                                          Type indicators corresponding to tag:
                                          +
                                          integer, dimension(:), allocatable jmpb
                                          Jump backward indices corresponding to tag and typ:
                                          +
                                          character *10, dimension(:), allocatable tag
                                          Mnemonics in the jump/link table.
                                          +
                                          integer ntab
                                          Number of entries in the jump/link table.
                                          +
                                          integer, dimension(:), allocatable jump
                                          Jump forward indices corresponding to tag and typ:
                                          +
                                          integer, dimension(:), allocatable itp
                                          Integer type values corresponding to typ:
                                          +
                                          integer, dimension(:), allocatable link
                                          Link indices corresponding to tag, typ and jmpb:
                                          +
                                          integer, dimension(:), allocatable knti
                                          Initialized replication counts corresponding to typ and jump:
                                          +
                                          Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                          +
                                          integer, dimension(:), allocatable nval
                                          Number of data values in BUFR data subset.
                                          +
                                          real *8, dimension(:,:), allocatable, target val
                                          Data values.
                                          +
                                          integer, dimension(:,:), allocatable, target inv
                                          Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                          +
                                          Declare an array used to track, for each file ID, whether the DX BUFR table associated with the corre...
                                          +
                                          logical, dimension(:), allocatable xtab
                                          Tracking index for each file ID.
                                          +
                                          recursive subroutine status(lunit, lun, il, im)
                                          Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                          +
                                          recursive subroutine closmg(lunin)
                                          Close the BUFR message that is currently open for writing within internal arrays associated with logi...
                                          +
                                          subroutine usrtpl(lun, invn, nbmp)
                                          Expand a subset template within internal arrays.
                                          +
                                          subroutine strcln
                                          Reset the internal mnemonic string cache.
                                          Definition: strings.F90:116
                                          +
                                          subroutine parstr(str, tags, mtag, ntag, sep, limit80)
                                          Parse a string containing one or more substrings into an array of substrings.
                                          Definition: strings.F90:473
                                          +
                                          subroutine x48(iin4, iout8, nval)
                                          Encode one or more 4-byte integer values as 8-byte integer values.
                                          Definition: x4884.F90:18
                                          +
                                          subroutine x84(iin8, iout4, nval)
                                          Encode one or more 8-byte integer values as 4-byte integer values.
                                          Definition: x4884.F90:65
                                          +
                                          +
                                          + + + + diff --git a/mastertable_8F90.html b/mastertable_8F90.html new file mode 100644 index 000000000..953f561bd --- /dev/null +++ b/mastertable_8F90.html @@ -0,0 +1,1365 @@ + + + + + + + +NCEPLIBS-bufr: mastertable.F90 File Reference + + + + + + + + + + + + + +
                                          +
                                          + + + + + + +
                                          +
                                          NCEPLIBS-bufr +  12.1.0 +
                                          +
                                          +
                                          + + + + + + + +
                                          +
                                          + +
                                          +
                                          +
                                          + +
                                          + +
                                          +
                                          + + +
                                          + +
                                          + +
                                          + +
                                          +
                                          mastertable.F90 File Reference
                                          +
                                          +
                                          + +

                                          Read or write master table information. +More...

                                          + +

                                          Go to the source code of this file.

                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                          +Functions/Subroutines

                                          subroutine codflg (cf)
                                           Specify whether or not code and flag table information should be included during all future reads of master BUFR tables. More...
                                           
                                          subroutine getntbe (lunt, ifxyn, line, iret)
                                           Read the first line of the next entry from the specified ASCII master table B, table D or table F (Code/Flag) file. More...
                                           
                                          subroutine gettbh (luns, lunl, tab, imt, imtv, iogce, iltv)
                                           Read the header lines from two separate ASCII files (one standard and one local) containing master table B, table D, or Code/Flag table information. More...
                                           
                                          integer function igetntbl (lunt, line)
                                           Read the next line from an ASCII master table B, table D or Code/Flag table file, ignoring any blank lines or comment lines in the process. More...
                                           
                                          integer function igettdi (iflag)
                                           Depending on the value of the input flag, either return the next usable scratch Table D index for the current master table, or else reset the index back to its minimum value. More...
                                           
                                          integer function ireadmt (lun)
                                           Check the most recent BUFR message that was read via a call to one of the message-reading subroutines and determine whether the appropriate corresponding BUFR master tables have already been read into internal memory. More...
                                           
                                          subroutine mtfnam (imt, imtv, iogce, imtvl, tbltyp, stdfil, locfil)
                                           Based on the input arguments, determine the names of the corresponding standard and local master table files. More...
                                           
                                          recursive subroutine mtinfo (cmtdir, lunmt1, lunmt2)
                                           Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR tables on the local file system. More...
                                           
                                          integer function nemock (nemo)
                                           Check a mnemonic for validity. More...
                                           
                                          subroutine rdmtbb (lunstb, lunltb, mxmtbb, imt, imtv, iogce, iltv, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem)
                                           Read master Table B information from two separate ASCII files (one standard and one local) and then merge the output into a single set of arrays. More...
                                           
                                          subroutine rdmtbd (lunstd, lunltd, mxmtbd, mxelem, imt, imtv, iogce, iltv, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem)
                                           Read master Table D information from two separate ASCII files (one standard and one local) and then merge the output into a single set of arrays. More...
                                           
                                          subroutine rdmtbf (lunstf, lunltf)
                                           Read master Code/Flag table information from two separate ASCII files (one standard and one local) and then merge the output into a single set of arrays. More...
                                           
                                          subroutine sntbbe (ifxyn, line, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem)
                                           Store an entry that was previously read from an ASCII master Table B file into a set of merged Fortran arrays. More...
                                           
                                          subroutine sntbde (lunt, ifxyn, line, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem)
                                           Store the first line of an entry that was previously read from an ASCII master Table D file into a set of merged Fortran arrays, then read and store all remaining lines of that same entry into the same merged Fortran arrays. More...
                                           
                                          subroutine sntbestr (hestr, ifxyn, estr)
                                           Generate an error-reporting string containing an FXY number. More...
                                           
                                          subroutine sntbfe (lunt, ifxyn)
                                           Read an entire entry from a previously-opened ASCII master Code/Flag table file, then store the information into an internal memory structure. More...
                                           
                                          +

                                          Detailed Description

                                          +

                                          Read or write master table information.

                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2009-03-23
                                          + +

                                          Definition in file mastertable.F90.

                                          +

                                          Function/Subroutine Documentation

                                          + +

                                          ◆ codflg()

                                          + +
                                          +
                                          + + + + + + + + +
                                          subroutine codflg (character, intent(in) cf)
                                          +
                                          + +

                                          Specify whether or not code and flag table information should be included during all future reads of master BUFR tables.

                                          +
                                          Parameters
                                          + + +
                                          cf- Flag indicating whether or not to include code and flag table information during all future reads of master BUFR tables:
                                            +
                                          • 'N' = No (the default)
                                          • +
                                          • 'Y' = Yes
                                          • +
                                          +
                                          +
                                          +
                                          +

                                          See Master BUFR Tables for more information about master BUFR tables. In particlar, note that Table B and Table D files are always read whenever master BUFR tables are being used, but the reading of Code/Flag table files is optional and should only be included if the user intends to make one or more future calls to subroutine getcfmng(); otherwise, the reading of Code/Flag table files will result in the unnecessary use of memory and other system resources.

                                          +

                                          If Code/Flag tables are to be read and used, they must reside in the same directory as the master Table B and Table D files on the local filesystem, as specified within a separate call to subroutine mtinfo().

                                          +

                                          The specified value for cf will remain in effect for all future reads of master BUFR tables, unless a subsequent call is made to this subroutine to reset the value of cf again. If this subroutine is never called, a default value of 'N' is used for cf.

                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2017-10-13
                                          + +

                                          Definition at line 1208 of file mastertable.F90.

                                          + +

                                          References bort(), capit(), and moda_tablef::cdmf.

                                          + +

                                          Referenced by fdebufr_c(), and sinv().

                                          + +
                                          +
                                          + +

                                          ◆ getntbe()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine getntbe (integer, intent(in) lunt,
                                          integer, intent(out) ifxyn,
                                          character*(*), intent(out) line,
                                          integer, intent(out) iret 
                                          )
                                          +
                                          + +

                                          Read the first line of the next entry from the specified ASCII master table B, table D or table F (Code/Flag) file.

                                          +

                                          This line contains, among other things, the FXY number corresponding to this entry.

                                          +
                                          Parameters
                                          + + + + + +
                                          lunt- Fortran logical unit number of master table B, table D or Code/Flag table file
                                          ifxyn- WMO bit-wise representation of FXY number for next table entry
                                          line- First line of next table entry
                                          iret- Return code
                                            +
                                          • 0 = normal return
                                          • +
                                          • -1 = end-of-file encountered while reading from lunt
                                          • +
                                          +
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 1147 of file mastertable.F90.

                                          + +

                                          References bort2(), and parstr().

                                          + +

                                          Referenced by rdmtbb(), rdmtbd(), and rdmtbf().

                                          + +
                                          +
                                          + +

                                          ◆ gettbh()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine gettbh (integer, intent(in) luns,
                                          integer, intent(in) lunl,
                                          character, intent(in) tab,
                                          integer, intent(out) imt,
                                          integer, intent(out) imtv,
                                          integer, intent(out) iogce,
                                          integer, intent(out) iltv 
                                          )
                                          +
                                          + +

                                          Read the header lines from two separate ASCII files (one standard and one local) containing master table B, table D, or Code/Flag table information.

                                          +
                                          Parameters
                                          + + + + + + + + +
                                          luns- Fortran logical unit number for ASCII file containing standard table information
                                          lunl- Fortran logical unit number for ASCII file containing local table information
                                          tab- Type of table:
                                            +
                                          • 'B' = Table B
                                          • +
                                          • 'D' = Table D
                                          • +
                                          • 'F' = Code/Flag table
                                          • +
                                          +
                                          imt- Master table
                                            +
                                          • This value is read from both ASCII files and must be identical between them
                                          • +
                                          +
                                          imtv- Version number of master table
                                            +
                                          • This value is read from the standard ASCII file
                                          • +
                                          +
                                          iogce- Originating center
                                            +
                                          • This value is read from the local ASCII file
                                          • +
                                          +
                                          iltv- Version number of local table
                                            +
                                          • This value is read from the local ASCII file
                                          • +
                                          +
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 1071 of file mastertable.F90.

                                          + +

                                          References bort(), parstr(), and strnum().

                                          + +

                                          Referenced by rdmtbb(), rdmtbd(), and rdmtbf().

                                          + +
                                          +
                                          + +

                                          ◆ igetntbl()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + +
                                          integer function igetntbl (integer, intent(in) lunt,
                                          character*(*), intent(out) line 
                                          )
                                          +
                                          + +

                                          Read the next line from an ASCII master table B, table D or Code/Flag table file, ignoring any blank lines or comment lines in the process.

                                          +
                                          Parameters
                                          + + + +
                                          lunt- Fortran logical unit number for ASCII file containing table information
                                          line- Next non-blank, non-comment line that was read from lunt
                                          +
                                          +
                                          +
                                          Returns
                                          igetntbl:
                                            +
                                          • 0 = normal return
                                          • +
                                          • -1 = end-of-file encountered while reading from lunt
                                          • +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 992 of file mastertable.F90.

                                          + +
                                          +
                                          + +

                                          ◆ igettdi()

                                          + +
                                          +
                                          + + + + + + + + +
                                          integer function igettdi (integer, intent(in) iflag)
                                          +
                                          + +

                                          Depending on the value of the input flag, either return the next usable scratch Table D index for the current master table, or else reset the index back to its minimum value.

                                          +
                                          Parameters
                                          + + +
                                          iflag- Flag:
                                            +
                                          • if set to 0, then the function will reset the scratch Table D index back to its minimum value
                                          • +
                                          • otherwise, the function will return the next usable scratch Table D index for the current master table
                                          • +
                                          +
                                          +
                                          +
                                          +
                                          Returns
                                          - igettdi:
                                            +
                                          • -1 if function was called with iflag = 0
                                          • +
                                          • otherwise, the next usable scratch Table D index for the current master table
                                          • +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2009-03-23
                                          + +

                                          Definition at line 1027 of file mastertable.F90.

                                          + +

                                          References bort().

                                          + +

                                          Referenced by bufr_c2f_interface::igettdi_c().

                                          + +
                                          +
                                          + +

                                          ◆ ireadmt()

                                          + +
                                          +
                                          + + + + + + + + +
                                          integer function ireadmt (integer, intent(in) lun)
                                          +
                                          + +

                                          Check the most recent BUFR message that was read via a call to one of the message-reading subroutines and determine whether the appropriate corresponding BUFR master tables have already been read into internal memory.

                                          +

                                          If not, then open the appropriate master BUFR tables on the local file system and read the contents into internal memory, clearing any previous master BUFR table information that may have previously been stored there.

                                          +
                                          Parameters
                                          + + +
                                          lun- File ID
                                          +
                                          +
                                          +
                                          Returns
                                          ireadmt - Flag indicating whether new master BUFR tables needed to be read into internal memory:
                                            +
                                          • 0 = No
                                          • +
                                          • 1 = Yes
                                          • +
                                          +
                                          +

                                          Information about the location of master BUFR tables on the local file system is obtained from the most recent call to subroutine mtinfo(), or else from subroutine bfrini() if subroutine mtinfo() was never called, and in which case Fortran logical unit numbers 98 and 99 will be used by this function for opening and reading master BUFR table files.

                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2009-03-23
                                          + +

                                          Definition at line 177 of file mastertable.F90.

                                          + +

                                          References bort2(), moda_mstabs::cbbw, moda_mstabs::cbelem, moda_mstabs::cbmnem, moda_mstabs::cbscl, moda_mstabs::cbsref, moda_mstabs::cbunit, moda_tablef::cdmf, moda_mstabs::cdmnem, moda_s3list::cds3, moda_mstabs::cdseq, moda_rdmtb::ceelem, moda_rdmtb::cmdscb, moda_rdmtb::cmdscd, errwrt(), moda_mstabs::ibfxyn, moda_mstabs::idefxy, moda_mstabs::idfxyn, moda_rdmtb::iefxyn, ifxy(), moda_sc3bfr::isc3, istdesc(), iupbs01(), moda_bitbuf::mbay, mtfnam(), moda_mstabs::ndelem, moda_mstabs::nmtb, moda_mstabs::nmtd, rdmtbb(), rdmtbd(), rdmtbf(), and upds3().

                                          + +

                                          Referenced by getcfmng(), and ufdump().

                                          + +
                                          +
                                          + +

                                          ◆ mtfnam()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine mtfnam (integer, intent(in) imt,
                                          integer, intent(in) imtv,
                                          integer, intent(in) iogce,
                                          integer, intent(in) imtvl,
                                          character*(*), intent(in) tbltyp,
                                          character*(*), intent(out) stdfil,
                                          character*(*), intent(out) locfil 
                                          )
                                          +
                                          + +

                                          Based on the input arguments, determine the names of the corresponding standard and local master table files.

                                          +

                                          After determining the corresponding file names, this subroutine then confirms the existence of those files on the filesystem, using additional information obtained from the most recent call to subroutine mtinfo(), or else as defined within subroutine bfrini() if subroutine mtinfo() was never called.

                                          +
                                          Parameters
                                          + + + + + + + + +
                                          imt- Master table number
                                          imtv- Master table version number
                                          iogce- Originating center
                                          imtvl- Local table version number
                                          tbltyp- Table type:
                                            +
                                          • 'TableB' = Table B
                                          • +
                                          • 'TableD' = Table D
                                          • +
                                          • 'CodeFlag' = Code and Flag Tables
                                          • +
                                          +
                                          stdfil- Standard master table path/filename
                                          locfil- Local master table path/filename
                                          +
                                          +
                                          +
                                          Author
                                          Ator
                                          +
                                          Date
                                          2017-10-16
                                          + +

                                          Definition at line 86 of file mastertable.F90.

                                          + +

                                          References bort2(), errwrt(), and strsuc().

                                          + +

                                          Referenced by ireadmt().

                                          + +
                                          +
                                          + +

                                          ◆ mtinfo()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          recursive subroutine mtinfo (character*(*), intent(in) cmtdir,
                                          integer, intent(in) lunmt1,
                                          integer, intent(in) lunmt2 
                                          )
                                          +
                                          + +

                                          Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR tables on the local file system.

                                          +
                                          Parameters
                                          + + + + +
                                          cmtdir- Directory location of master BUFR tables on local file system (up to 240 characters)
                                          lunmt1- First Fortran logical unit number to use when reading master BUFR tables on local file system
                                          lunmt2- Second Fortran logical unit number to use when reading master BUFR tables on local file system
                                          +
                                          +
                                          +

                                          See Master BUFR Tables for more information about master BUFR tables. In particular, note that this subroutine is normally only ever called after a prior call has been made to subroutine openbf() with io = 'SEC3'. But in such cases, any call to this subroutine must be made prior to any subsequent calls to any of the BUFR message-reading subroutines for the associated BUFR file; otherwise, default values for cmtdir, lunmt1 and lunmt2 will be used as defined within subroutine bfrini().

                                          +

                                          For cmtdir, any full or relative directory pathname that is legal on the local filesystem is permissible, up to a total maximum length of 240 characters. The library will then automatically search within this directory for any necessary master table files and open and read them as needed.

                                          +

                                          The logical unit numbers lunmt1 and lunmt2 should be distinct from each other but should not already be assigned to any files on the local system.

                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2009-03-23
                                          + +

                                          Definition at line 34 of file mastertable.F90.

                                          + +

                                          References strsuc(), and x84().

                                          + +

                                          Referenced by bfrini(), fdebufr_c(), bufr_c2f_interface::mtinfo_c(), and sinv().

                                          + +
                                          +
                                          + +

                                          ◆ nemock()

                                          + +
                                          +
                                          + + + + + + + + +
                                          integer function nemock (character*(*), intent(in) nemo)
                                          +
                                          + +

                                          Check a mnemonic for validity.

                                          +

                                          For a mnemonic to be valid, it must have a length of between 1 and 8 characters, and it must only contain characters from the allowable character set.

                                          +
                                          Parameters
                                          + + +
                                          nemo- Mnemonic
                                          +
                                          +
                                          +
                                          Returns
                                          nemock - Indicator as to whether nemo is valid:
                                            +
                                          • 0 = Yes
                                          • +
                                          • -1 = No, the length is not between 1 and 8 characters
                                          • +
                                          • -2 = No, it contains characters from outside of the allowable character set
                                          • +
                                          +
                                          +
                                          Author
                                          J. Woollen
                                          +
                                          Date
                                          1994-01-06
                                          + +

                                          Definition at line 1240 of file mastertable.F90.

                                          + +
                                          +
                                          + +

                                          ◆ rdmtbb()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine rdmtbb (integer, intent(in) lunstb,
                                          integer, intent(in) lunltb,
                                          integer, intent(in) mxmtbb,
                                          integer, intent(out) imt,
                                          integer, intent(out) imtv,
                                          integer, intent(out) iogce,
                                          integer, intent(out) iltv,
                                          integer, intent(out) nmtbb,
                                          integer, dimension(*), intent(out) imfxyn,
                                          character, dimension(4,*), intent(out) cmscl,
                                          character, dimension(12,*), intent(out) cmsref,
                                          character, dimension(4,*), intent(out) cmbw,
                                          character, dimension(24,*), intent(out) cmunit,
                                          character, dimension(8,*), intent(out) cmmnem,
                                          character, dimension(*), intent(out) cmdsc,
                                          character, dimension(120,*), intent(out) cmelem 
                                          )
                                          +
                                          + +

                                          Read master Table B information from two separate ASCII files (one standard and one local) and then merge the output into a single set of arrays.

                                          +

                                          Each of the two ASCII files must already be individually sorted in ascending order with respect to the FXY numbers.

                                          +
                                          Parameters
                                          + + + + + + + + + + + + + + + + + +
                                          lunstb- Fortran logical unit number for ASCII file containing standard Table B information
                                          lunltb- Fortran logical unit number for ASCII file containing local Table B information
                                          mxmtbb- Dimensioned size (in integers) of merged output arrays; used by the subroutine to ensure that it doesn't overflow these arrays
                                          imt- Master table
                                            +
                                          • This value is read from both ASCII files and must be identical between them
                                          • +
                                          +
                                          imtv- Version number of master table
                                            +
                                          • This value is read from the standard ASCII file
                                          • +
                                          +
                                          iogce- Originating center
                                            +
                                          • This value is read from the local ASCII file
                                          • +
                                          +
                                          iltv- Version number of local table
                                            +
                                          • This value is read from the local ASCII file
                                          • +
                                          +
                                          nmtbb- Number of entries in merged output arrays
                                          imfxyn- Merged array containing WMO bit-wise representations of FXY numbers
                                          cmscl- Merged array containing scale factors
                                          cmsref- Merged array containing reference values
                                          cmbw- Merged array containing bit widths
                                          cmunit- Merged array containing units
                                          cmmnem- Merged array containing mnemonics
                                          cmdsc- Merged array containing descriptor codes
                                          cmelem- Merged array containing element names
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 370 of file mastertable.F90.

                                          + +

                                          References bort(), getntbe(), gettbh(), and sntbbe().

                                          + +

                                          Referenced by ireadmt().

                                          + +
                                          +
                                          + +

                                          ◆ rdmtbd()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine rdmtbd (integer, intent(in) lunstd,
                                          integer, intent(in) lunltd,
                                          integer, intent(in) mxmtbd,
                                          integer, intent(in) mxelem,
                                          integer, intent(out) imt,
                                          integer, intent(out) imtv,
                                          integer, intent(out) iogce,
                                          integer, intent(out) iltv,
                                          integer, intent(out) nmtbd,
                                          integer, dimension(*), intent(out) imfxyn,
                                          character, dimension(8,*), intent(out) cmmnem,
                                          character, dimension(*), intent(out) cmdsc,
                                          character, dimension(120,*), intent(out) cmseq,
                                          integer, dimension(*), intent(out) nmelem,
                                          integer, dimension(mxmtbd,mxelem), intent(out) iefxyn,
                                          character, dimension(mxmtbd,mxelem), intent(out) ceelem 
                                          )
                                          +
                                          + +

                                          Read master Table D information from two separate ASCII files (one standard and one local) and then merge the output into a single set of arrays.

                                          +

                                          Each of the two ASCII files must already be individually sorted in ascending order with respect to the FXY numbers.

                                          +
                                          Parameters
                                          + + + + + + + + + + + + + + + + + +
                                          lunstd- Fortran logical unit number for ASCII file containing standard Table D information
                                          lunltd- Fortran logical unit number for ASCII file containing local Table D information
                                          mxmtbd- Dimensioned size (in integers) of merged output arrays; used by the subroutine to ensure that it doesn't overflow these arrays
                                          mxelem- Maximum number of elements to be stored per Table D sequence within merged output arrays; used by the subroutine to ensure that it doesn't overflow these arrays
                                          imt- Master table
                                            +
                                          • This value is read from both ASCII files and must be identical between them
                                          • +
                                          +
                                          imtv- Version number of master table
                                            +
                                          • This value is read from the standard ASCII file
                                          • +
                                          +
                                          iogce- Originating center
                                            +
                                          • This value is read from the local ASCII file
                                          • +
                                          +
                                          iltv- Version number of local table
                                            +
                                          • This value is read from the local ASCII file
                                          • +
                                          +
                                          nmtbd- Number of entries in merged output arrays
                                          imfxyn- Merged array containing WMO bit-wise representations of FXY numbers
                                          cmmnem- Merged array containing mnemonics
                                          cmdsc- Merged array containing descriptor codes
                                          cmseq- Merged array containing sequence names
                                          nmelem- Merged array containing number of elements stored for each sequence
                                          iefxyn- Merged array containing WMO bit-wise representations of element FXY numbers
                                          ceelem- Merged array containing element names
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 448 of file mastertable.F90.

                                          + +

                                          References bort(), getntbe(), gettbh(), and sntbde().

                                          + +

                                          Referenced by ireadmt().

                                          + +
                                          +
                                          + +

                                          ◆ rdmtbf()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + +
                                          subroutine rdmtbf (integer, intent(in) lunstf,
                                          integer, intent(in) lunltf 
                                          )
                                          +
                                          + +

                                          Read master Code/Flag table information from two separate ASCII files (one standard and one local) and then merge the output into a single set of arrays.

                                          +

                                          Each of the two ASCII files must already be individually sorted in ascending order with respect to the FXY numbers.

                                          +
                                          Parameters
                                          + + + +
                                          lunstf- Fortran logical unit number for ASCII file containing standard Code/Flag table information
                                          lunltf- Fortran logical unit number for ASCII file containing local Code/Flag table information
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2017-10-17
                                          + +

                                          Definition at line 507 of file mastertable.F90.

                                          + +

                                          References bort(), getntbe(), gettbh(), and sntbfe().

                                          + +

                                          Referenced by ireadmt().

                                          + +
                                          +
                                          + +

                                          ◆ sntbbe()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine sntbbe (integer, intent(in) ifxyn,
                                          character*(*), intent(in) line,
                                          integer, intent(in) mxmtbb,
                                          integer, intent(out) nmtbb,
                                          integer, dimension(*), intent(out) imfxyn,
                                          character, dimension(4,*), intent(out) cmscl,
                                          character, dimension(12,*), intent(out) cmsref,
                                          character, dimension(4,*), intent(out) cmbw,
                                          character, dimension(24,*), intent(out) cmunit,
                                          character, dimension(8,*), intent(out) cmmnem,
                                          character, dimension(*), intent(out) cmdsc,
                                          character, dimension(120,*), intent(out) cmelem 
                                          )
                                          +
                                          + +

                                          Store an entry that was previously read from an ASCII master Table B file into a set of merged Fortran arrays.

                                          +
                                          Parameters
                                          + + + + + + + + + + + + + +
                                          ifxyn- WMO bit-wise representation of FXY number
                                          line- Table B entry
                                          mxmtbb- Dimensioned size (in integers) of merged output arrays; used by the subroutine to ensure that it doesn't overflow these arrays
                                          nmtbb- Number of entries in merged output arrays
                                          imfxyn- Merged array containing WMO bit-wise representations of FXY numbers
                                          cmscl- Merged array containing scale factors
                                          cmsref- Merged array containing reference values
                                          cmbw- Merged array containing bit widths
                                          cmunit- Merged array containing units
                                          cmmnem- Merged array containing mnemonics
                                          cmdsc- Merged array containing descriptor codes
                                          cmelem- Merged array containing element names
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 579 of file mastertable.F90.

                                          + +

                                          References bort(), bort2(), parstr(), and sntbestr().

                                          + +

                                          Referenced by rdmtbb().

                                          + +
                                          +
                                          + +

                                          ◆ sntbde()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine sntbde (integer, intent(in) lunt,
                                          integer, intent(in) ifxyn,
                                          character*(*), intent(in) line,
                                          integer, intent(in) mxmtbd,
                                          integer, intent(in) mxelem,
                                          integer, intent(out) nmtbd,
                                          integer, dimension(*), intent(out) imfxyn,
                                          character, dimension(8,*), intent(out) cmmnem,
                                          character, dimension(*), intent(out) cmdsc,
                                          character, dimension(120,*), intent(out) cmseq,
                                          integer, dimension(*), intent(out) nmelem,
                                          integer, dimension(mxmtbd,mxelem), intent(out) iefxyn,
                                          character, dimension(mxmtbd,mxelem), intent(out) ceelem 
                                          )
                                          +
                                          + +

                                          Store the first line of an entry that was previously read from an ASCII master Table D file into a set of merged Fortran arrays, then read and store all remaining lines of that same entry into the same merged Fortran arrays.

                                          +
                                          Parameters
                                          + + + + + + + + + + + + + + +
                                          lunt- Fortran logical unit number for ASCII file containing Table D information
                                          ifxyn- WMO bit-wise representation of FXY number
                                          line- First line of Table D entry
                                          mxmtbd- Dimensioned size (in integers) of merged output arrays; used by the subroutine to ensure that it doesn't overflow these arrays
                                          mxelem- Maximum number of elements to be stored per Table D sequence within merged output arrays; used by the subroutine to ensure that it doesn't overflow these arrays
                                          nmtbd- Number of entries in merged output arrays
                                          imfxyn- Merged array containing WMO bit-wise representations of FXY numbers
                                          cmmnem- Merged array containing mnemonics
                                          cmdsc- Merged array containing descriptor codes
                                          cmseq- Merged array containing sequence names
                                          nmelem- Merged array containing number of elements stored for each sequence
                                          iefxyn- Merged array containing WMO bit-wise representations of element FXY numbers
                                          ceelem- Merged array containing element names
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2007-01-19
                                          + +

                                          Definition at line 723 of file mastertable.F90.

                                          + +

                                          References bort(), bort2(), parstr(), and sntbestr().

                                          + +

                                          Referenced by rdmtbd().

                                          + +
                                          +
                                          + +

                                          ◆ sntbestr()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + +
                                          subroutine sntbestr (character*(*), intent(in) hestr,
                                          integer, intent(in) ifxyn,
                                          character*(*), intent(out) estr 
                                          )
                                          +
                                          + +

                                          Generate an error-reporting string containing an FXY number.

                                          +
                                          Parameters
                                          + + + + +
                                          hestr- Head portion of error-reporting string
                                          ifxyn- WMO bit-wise representation of FXY number
                                          estr- Error-reporting string
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2024-04-15
                                          + +

                                          Definition at line 966 of file mastertable.F90.

                                          + +

                                          Referenced by sntbbe(), sntbde(), and sntbfe().

                                          + +
                                          +
                                          + +

                                          ◆ sntbfe()

                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + +
                                          subroutine sntbfe (integer, intent(in) lunt,
                                          integer, intent(in) ifxyn 
                                          )
                                          +
                                          + +

                                          Read an entire entry from a previously-opened ASCII master Code/Flag table file, then store the information into an internal memory structure.

                                          +
                                          Parameters
                                          + + + +
                                          lunt- Fortran logical unit number for ASCII file containing Code/Flag table information
                                          ifxyn- WMO bit-wise representation of FXY number
                                          +
                                          +
                                          +
                                          Author
                                          J. Ator
                                          +
                                          Date
                                          2017-11-02
                                          + +

                                          Definition at line 835 of file mastertable.F90.

                                          + +

                                          References bort2(), parstr(), sntbestr(), and strnum().

                                          + +

                                          Referenced by rdmtbf().

                                          + +
                                          +
                                          +
                                          +
                                          + + + + diff --git a/mastertable_8F90.js b/mastertable_8F90.js new file mode 100644 index 000000000..6a9a482fc --- /dev/null +++ b/mastertable_8F90.js @@ -0,0 +1,19 @@ +var mastertable_8F90 = +[ + [ "codflg", "mastertable_8F90.html#a4721c745ebeb6be54c825cd1f53ec107", null ], + [ "getntbe", "mastertable_8F90.html#a57b7efae38f8e79ba76fe5c8fff18f2a", null ], + [ "gettbh", "mastertable_8F90.html#ab8f682eb706037e99550eeedb3e8c963", null ], + [ "igetntbl", "mastertable_8F90.html#a8d9fae4a86fb1a4db715788bd73071cf", null ], + [ "igettdi", "mastertable_8F90.html#a5ef341975ece8b54885d7518d30d7a99", null ], + [ "ireadmt", "mastertable_8F90.html#adde6acff18af3673cd9ef45b7ec12833", null ], + [ "mtfnam", "mastertable_8F90.html#a3c167cbcb11e3c1ec0a9abc584e27a57", null ], + [ "mtinfo", "mastertable_8F90.html#abf69490965212318f1dfee9b0bc4890c", null ], + [ "nemock", "mastertable_8F90.html#a4bb75d7258bc23294546f956cfbe2d36", null ], + [ "rdmtbb", "mastertable_8F90.html#a62d8d7c9946282d7797030e67c737543", null ], + [ "rdmtbd", "mastertable_8F90.html#a2def0dba3a44cc77e6dd716ad8aa238f", null ], + [ "rdmtbf", "mastertable_8F90.html#acc76006ba6b47ca59a5343caacb12af9", null ], + [ "sntbbe", "mastertable_8F90.html#a4bc18eda6239cb2cd797dc63e12060d6", null ], + [ "sntbde", "mastertable_8F90.html#a07132e14b98ae1942199d2f9f89f1dfd", null ], + [ "sntbestr", "mastertable_8F90.html#a1a035df49f8cbaee159153af0d3fb818", null ], + [ "sntbfe", "mastertable_8F90.html#a13fd8c1d3695fab378b46cd2a6c23d4c", null ] +]; \ No newline at end of file diff --git a/mastertable_8F90_source.html b/mastertable_8F90_source.html new file mode 100644 index 000000000..97fca5002 --- /dev/null +++ b/mastertable_8F90_source.html @@ -0,0 +1,1151 @@ + + + + + + + +NCEPLIBS-bufr: mastertable.F90 Source File + + + + + + + + + + + + + +
                                          +
                                          + + + + + + +
                                          +
                                          NCEPLIBS-bufr +  12.1.0 +
                                          +
                                          +
                                          + + + + + + + +
                                          +
                                          + +
                                          +
                                          +
                                          + +
                                          + +
                                          +
                                          + + +
                                          + +
                                          + +
                                          +
                                          +
                                          mastertable.F90
                                          +
                                          +
                                          +Go to the documentation of this file.
                                          1 
                                          +
                                          5 
                                          +
                                          34 recursive subroutine mtinfo ( cmtdir, lunmt1, lunmt2 )
                                          +
                                          35 
                                          +
                                          36  use modv_vars, only: im8b
                                          +
                                          37 
                                          +
                                          38  implicit none
                                          +
                                          39 
                                          +
                                          40  integer, intent(in) :: lunmt1, lunmt2
                                          +
                                          41  integer my_lunmt1, my_lunmt2, lun1, lun2, lmtd
                                          +
                                          42 
                                          +
                                          43  character*(*), intent(in) :: cmtdir
                                          +
                                          44  character*240 mtdir
                                          +
                                          45 
                                          +
                                          46  common /mstinf/ lun1, lun2, lmtd, mtdir
                                          +
                                          47 
                                          +
                                          48  ! Check for I8 integers
                                          +
                                          49  if(im8b) then
                                          +
                                          50  im8b=.false.
                                          +
                                          51 
                                          +
                                          52  call x84 ( lunmt1, my_lunmt1, 1 )
                                          +
                                          53  call x84 ( lunmt2, my_lunmt2, 1 )
                                          +
                                          54  call mtinfo ( cmtdir, my_lunmt1, my_lunmt2 )
                                          +
                                          55 
                                          +
                                          56  im8b=.true.
                                          +
                                          57  return
                                          +
                                          58  endif
                                          +
                                          59 
                                          +
                                          60  call strsuc ( cmtdir, mtdir, lmtd )
                                          +
                                          61 
                                          +
                                          62  lun1 = lunmt1
                                          +
                                          63  lun2 = lunmt2
                                          +
                                          64 
                                          +
                                          65  return
                                          +
                                          66 end subroutine mtinfo
                                          +
                                          67 
                                          +
                                          86 subroutine mtfnam ( imt, imtv, iogce, imtvl, tbltyp, stdfil, locfil )
                                          +
                                          87 
                                          +
                                          88  implicit none
                                          +
                                          89 
                                          +
                                          90  integer, intent(in) :: imt, imtv, iogce, imtvl
                                          +
                                          91  integer iprt, lun1, lun2, lmtd, ltbt, isize
                                          +
                                          92 
                                          +
                                          93  character*(*), intent(in) :: tbltyp
                                          +
                                          94  character*(*), intent(out) :: stdfil, locfil
                                          +
                                          95 
                                          +
                                          96  character*16 tbltyp2
                                          +
                                          97  character*20 fmtf
                                          +
                                          98  character*240 mtdir
                                          +
                                          99  character*128 bort_str
                                          +
                                          100 
                                          +
                                          101  logical found
                                          +
                                          102 
                                          +
                                          103  common /quiet/ iprt
                                          +
                                          104  common /mstinf/ lun1, lun2, lmtd, mtdir
                                          +
                                          105 
                                          +
                                          106  call strsuc ( tbltyp, tbltyp2, ltbt )
                                          +
                                          107 
                                          +
                                          108  ! Determine the standard master table path/filename.
                                          +
                                          109 
                                          +
                                          110  if ( ( imt == 0 ) .and. ( imtv <= 13 ) ) then
                                          +
                                          111  ! For master table 0, version 13 is a superset of all earlier versions.
                                          +
                                          112  stdfil = mtdir(1:lmtd) // '/bufrtab.' // tbltyp2(1:ltbt) // '_STD_0_13'
                                          +
                                          113  else
                                          +
                                          114  write ( fmtf, '(A,I1,A,I1,A)' ) '(4A,I', isize(imt), ',A,I', isize(imtv), ')'
                                          +
                                          115  write ( stdfil, fmtf ) mtdir(1:lmtd), '/bufrtab.', tbltyp2(1:ltbt), '_STD_', imt, '_', imtv
                                          +
                                          116  endif
                                          +
                                          117  if ( iprt >= 2 ) then
                                          +
                                          118  call errwrt('Standard ' // tbltyp2(1:ltbt) // ':')
                                          +
                                          119  call errwrt(stdfil)
                                          +
                                          120  endif
                                          +
                                          121  inquire ( file = stdfil, exist = found )
                                          +
                                          122  if ( .not. found ) then
                                          +
                                          123  bort_str = 'BUFRLIB: MTFNAM - COULD NOT FIND STANDARD FILE:'
                                          +
                                          124  call bort2(bort_str, stdfil)
                                          +
                                          125  endif
                                          +
                                          126 
                                          +
                                          127  ! Now determine the local master table path/filename.
                                          +
                                          128 
                                          +
                                          129  ! Use the local table corresponding to the originating center and local table version number, if such a table exists.
                                          +
                                          130  ! Otherwise use the local table from NCEP.
                                          +
                                          131 
                                          +
                                          132  write ( fmtf, '(A,I1,A,I1,A,I1,A)' ) '(4A,I', isize(imt), ',A,I', isize(iogce), ',A,I', isize(imtvl), ')'
                                          +
                                          133  write ( locfil, fmtf ) mtdir(1:lmtd), '/bufrtab.', tbltyp2(1:ltbt), '_LOC_', imt, '_', iogce, '_', imtvl
                                          +
                                          134  if ( iprt >= 2 ) then
                                          +
                                          135  call errwrt('Local ' // tbltyp2(1:ltbt) // ':')
                                          +
                                          136  call errwrt(locfil)
                                          +
                                          137  endif
                                          +
                                          138  inquire ( file = locfil, exist = found )
                                          +
                                          139  if ( .not. found ) then
                                          +
                                          140  ! Use the local table from NCEP.
                                          +
                                          141  locfil = mtdir(1:lmtd) // '/bufrtab.' // tbltyp2(1:ltbt) // '_LOC_0_7_1'
                                          +
                                          142  if ( iprt >= 2 ) then
                                          +
                                          143  call errwrt('Local ' // tbltyp2(1:ltbt) // ' not found, so using:')
                                          +
                                          144  call errwrt(locfil)
                                          +
                                          145  endif
                                          +
                                          146  inquire ( file = locfil, exist = found )
                                          +
                                          147  if ( .not. found ) then
                                          +
                                          148  bort_str = 'BUFRLIB: MTFNAM - COULD NOT FIND LOCAL FILE:'
                                          +
                                          149  call bort2(bort_str, locfil)
                                          +
                                          150  endif
                                          +
                                          151  endif
                                          +
                                          152 
                                          +
                                          153  return
                                          +
                                          154 end subroutine mtfnam
                                          +
                                          155 
                                          +
                                          177 integer function ireadmt ( lun ) result ( iret )
                                          +
                                          178 
                                          +
                                          179  use bufrlib
                                          +
                                          180 
                                          +
                                          181  use modv_vars, only: maxnc, maxcd, mxmtbb, mxmtbd
                                          +
                                          182 
                                          +
                                          183  use moda_mstabs
                                          +
                                          184  use moda_bitbuf
                                          +
                                          185  use moda_rdmtb
                                          +
                                          186  use moda_sc3bfr
                                          +
                                          187  use moda_s3list
                                          +
                                          188  use moda_tablef
                                          +
                                          189 
                                          +
                                          190  implicit none
                                          +
                                          191 
                                          +
                                          192  integer, intent(in) :: lun
                                          +
                                          193  integer iprt, lun1, lun2, lmtd, lmt, lmtv, logce, lmtvl, imt, imtv, iogce, imtvl, ii, jj, idx, ncds3, ier, &
                                          +
                                          194  ibmt, ibmtv, ibogce, ibltv, idmt, idmtv, idogce, idltv, iupbs01, ifxy, istdesc
                                          +
                                          195 
                                          +
                                          196  character*(*), parameter :: bort_str1 = 'BUFRLIB: IREADMT - COULD NOT OPEN STANDARD FILE:'
                                          +
                                          197  character*(*), parameter :: bort_str2 = 'BUFRLIB: IREADMT - COULD NOT OPEN LOCAL FILE:'
                                          +
                                          198  character*275 stdfil,locfil
                                          +
                                          199  character*240 mtdir
                                          +
                                          200 
                                          +
                                          201  logical allstd
                                          +
                                          202 
                                          +
                                          203  common /quiet/ iprt
                                          +
                                          204  common /mstinf/ lun1, lun2, lmtd, mtdir
                                          +
                                          205 
                                          +
                                          206  ! Initializing the following value ensures that new master tables are read during the first call to this subroutine.
                                          +
                                          207 
                                          +
                                          208  data lmt /-99/
                                          +
                                          209 
                                          +
                                          210  save lmt, lmtv, logce, lmtvl
                                          +
                                          211 
                                          +
                                          212  iret = 0
                                          +
                                          213 
                                          +
                                          214  ! Unpack some Section 1 information from the message that was most recently read.
                                          +
                                          215 
                                          +
                                          216  imt = iupbs01( mbay(1,lun), 'BMT' )
                                          +
                                          217  imtv = iupbs01( mbay(1,lun), 'MTV' )
                                          +
                                          218  iogce = iupbs01( mbay(1,lun), 'OGCE' )
                                          +
                                          219  imtvl = iupbs01( mbay(1,lun), 'MTVL' )
                                          +
                                          220 
                                          +
                                          221  ! Compare the master table and master table version numbers from this message to those from the message that was
                                          +
                                          222  ! processed during the previous call to this subroutine.
                                          +
                                          223 
                                          +
                                          224  if ( ( imt /= lmt ) .or. ( ( imt /= 0 ) .and. ( imtv /= lmtv ) ) .or. &
                                          +
                                          225  ( ( imt == 0 ) .and. ( imtv /= lmtv ) .and. ( ( imtv > 13 ) .or. ( lmtv > 13 ) ) ) ) then
                                          +
                                          226  ! Either the master table number has changed
                                          +
                                          227  ! OR
                                          +
                                          228  ! The master table number hasn't changed, but it isn't 0, and the table version number has changed
                                          +
                                          229  ! OR
                                          +
                                          230  ! The master table number hasn't changed and is 0, but the table version number has changed, and at least one of the
                                          +
                                          231  ! table version numbers (i.e. the current or the previous) is greater than 13 (which is the last version that was a
                                          +
                                          232  ! superset of all earlier versions of master table 0!)
                                          +
                                          233 
                                          +
                                          234  ! In any of these cases, we need to read in new tables!
                                          +
                                          235  iret = 1
                                          +
                                          236 
                                          +
                                          237  else
                                          +
                                          238 
                                          +
                                          239  ! Unpack the list of Section 3 descriptors from the message and determine if any of them are local descriptors.
                                          +
                                          240  call upds3 ( mbay(1,lun), maxnc, cds3, ncds3 )
                                          +
                                          241  ii = 1
                                          +
                                          242  allstd = .true.
                                          +
                                          243  do while ( (allstd) .and. (ii<=ncds3) )
                                          +
                                          244  if ( istdesc(ifxy(cds3(ii))) == 0 ) then
                                          +
                                          245  allstd = .false.
                                          +
                                          246  else
                                          +
                                          247  ii = ii + 1
                                          +
                                          248  endif
                                          +
                                          249  enddo
                                          +
                                          250 
                                          +
                                          251  ! If there was at least one local (i.e. non-standard) descriptor, and if either the originating center or local table
                                          +
                                          252  ! version number are different than those from the message that was processed during the previous call to this subroutine,
                                          +
                                          253  ! then we need to read in new tables.
                                          +
                                          254  if ( ( .not. allstd ) .and. ( ( iogce /= logce ) .or. ( imtvl /= lmtvl ) ) ) iret = 1
                                          +
                                          255 
                                          +
                                          256  endif
                                          +
                                          257 
                                          +
                                          258  if ( iret == 0 ) return
                                          +
                                          259 
                                          +
                                          260  lmt = imt
                                          +
                                          261  lmtv = imtv
                                          +
                                          262  logce = iogce
                                          +
                                          263  lmtvl = imtvl
                                          +
                                          264 
                                          +
                                          265  if ( iprt >= 2 ) then
                                          +
                                          266  call errwrt(' ')
                                          +
                                          267  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                          +
                                          268  call errwrt('BUFRLIB: IREADMT - OPENING/READING MASTER TABLES')
                                          +
                                          269  endif
                                          +
                                          270 
                                          +
                                          271  if ( isc3(lun) /= 0 ) then
                                          +
                                          272 
                                          +
                                          273  ! Locate and open the master Table B files. There should be one file of standard descriptors and one file of local
                                          +
                                          274  ! descriptors.
                                          +
                                          275  call mtfnam ( imt, imtv, iogce, imtvl, 'TableB', stdfil, locfil )
                                          +
                                          276  open ( unit = lun1, file = stdfil, iostat = ier )
                                          +
                                          277  if ( ier /= 0 ) call bort2(bort_str1, stdfil)
                                          +
                                          278  open ( unit = lun2, file = locfil, iostat = ier )
                                          +
                                          279  if ( ier /= 0 ) call bort2(bort_str2, locfil)
                                          +
                                          280 
                                          +
                                          281  ! Read the master Table B files.
                                          +
                                          282  call rdmtbb ( lun1, lun2, mxmtbb, ibmt, ibmtv, ibogce, ibltv, nmtb, ibfxyn, cbscl, cbsref, cbbw, &
                                          + +
                                          284 
                                          +
                                          285  ! Close the master Table B files.
                                          +
                                          286  close ( unit = lun1 )
                                          +
                                          287  close ( unit = lun2 )
                                          +
                                          288 
                                          +
                                          289  ! Locate and open the master Table D files. There should be one file of standard descriptors and one file of local
                                          +
                                          290  ! descriptors.
                                          +
                                          291  call mtfnam ( imt, imtv, iogce, imtvl, 'TableD', stdfil, locfil )
                                          +
                                          292  open ( unit = lun1, file = stdfil, iostat = ier )
                                          +
                                          293  if ( ier /= 0 ) call bort2(bort_str1, stdfil)
                                          +
                                          294  open ( unit = lun2, file = locfil, iostat = ier )
                                          +
                                          295  if ( ier /= 0 ) call bort2(bort_str2, locfil)
                                          +
                                          296 
                                          +
                                          297  ! Read the master Table D files.
                                          +
                                          298  call rdmtbd ( lun1, lun2, mxmtbd, maxcd, idmt, idmtv, idogce, idltv, nmtd, idfxyn, cdmnem, cmdscd, cdseq, &
                                          +
                                          299  ndelem, iefxyn, ceelem )
                                          +
                                          300  do ii = 1, nmtd
                                          +
                                          301  do jj = 1, ndelem(ii)
                                          +
                                          302  idx = icvidx_c( ii-1, jj-1, maxcd ) + 1
                                          +
                                          303  idefxy(idx) = iefxyn(ii,jj)
                                          +
                                          304  enddo
                                          +
                                          305  enddo
                                          +
                                          306 
                                          +
                                          307  ! Close the master Table D files.
                                          +
                                          308  close ( unit = lun1 )
                                          +
                                          309  close ( unit = lun2 )
                                          +
                                          310 
                                          +
                                          311  ! Copy master table B and D information into internal C arrays.
                                          + +
                                          313  ndelem, idefxy, maxcd )
                                          +
                                          314  endif
                                          +
                                          315 
                                          +
                                          316  if ( cdmf == 'Y' ) then
                                          +
                                          317 
                                          +
                                          318  ! Locate and open the master code and flag table files. There should be one file corresponding to the standard Table B
                                          +
                                          319  ! descriptors, and one file corresponding to the local Table B descriptors.
                                          +
                                          320  call mtfnam ( imt, imtv, iogce, imtvl, 'CodeFlag', stdfil, locfil )
                                          +
                                          321  open ( unit = lun1, file = stdfil, iostat = ier )
                                          +
                                          322  if ( ier /= 0 ) call bort2(bort_str1, stdfil)
                                          +
                                          323  open ( unit = lun2, file = locfil, iostat = ier )
                                          +
                                          324  if ( ier /= 0 ) call bort2(bort_str2, locfil)
                                          +
                                          325 
                                          +
                                          326  ! Read the master code and flag table files.
                                          +
                                          327  call rdmtbf ( lun1, lun2 )
                                          +
                                          328 
                                          +
                                          329  ! Close the master code and flag table files.
                                          +
                                          330  close ( unit = lun1 )
                                          +
                                          331  close ( unit = lun2 )
                                          +
                                          332  endif
                                          +
                                          333 
                                          +
                                          334  if ( iprt >= 2 ) then
                                          +
                                          335  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                          +
                                          336  call errwrt(' ')
                                          +
                                          337  endif
                                          +
                                          338 
                                          +
                                          339  return
                                          +
                                          340 end function ireadmt
                                          +
                                          341 
                                          +
                                          370 subroutine rdmtbb ( lunstb, lunltb, mxmtbb, imt, imtv, iogce, iltv, nmtbb, imfxyn, cmscl, cmsref, cmbw, &
                                          +
                                          371  cmunit, cmmnem, cmdsc, cmelem )
                                          +
                                          372 
                                          +
                                          373  implicit none
                                          +
                                          374 
                                          +
                                          375  integer, intent(in) :: lunstb, lunltb, mxmtbb
                                          +
                                          376  integer, intent(out) :: imt, imtv, iogce, iltv, nmtbb, imfxyn(*)
                                          +
                                          377  integer isfxyn, ilfxyn, iers, ierl
                                          +
                                          378 
                                          +
                                          379  character, intent(out) :: cmelem(120,*), cmunit(24,*), cmsref(12,*), cmmnem(8,*), cmscl(4,*), cmbw(4,*), cmdsc(*)*4
                                          +
                                          380  character*200 stline, ltline
                                          +
                                          381  character*128 bort_str
                                          +
                                          382  character*6 cmatch, adn30
                                          +
                                          383 
                                          +
                                          384  ! Read and parse the header lines of both files.
                                          +
                                          385 
                                          +
                                          386  call gettbh ( lunstb, lunltb, 'B', imt, imtv, iogce, iltv )
                                          +
                                          387 
                                          +
                                          388  ! Read through the remainder of both files, merging the contents into a unified set of master Table B arrays.
                                          +
                                          389 
                                          +
                                          390  nmtbb = 0
                                          +
                                          391  call getntbe ( lunstb, isfxyn, stline, iers )
                                          +
                                          392  call getntbe ( lunltb, ilfxyn, ltline, ierl )
                                          +
                                          393  do while ( ( iers == 0 ) .or. ( ierl == 0 ) )
                                          +
                                          394  if ( ( iers == 0 ) .and. ( ierl == 0 ) ) then
                                          +
                                          395  if ( isfxyn == ilfxyn ) then
                                          +
                                          396  cmatch = adn30( isfxyn, 6 )
                                          +
                                          397  write(bort_str,'("BUFRLIB: RDMTBB - STANDARD AND LOCAL '// &
                                          +
                                          398  'TABLE B FILES BOTH CONTAIN SAME FXY NUMBER: ",5A)') cmatch(1:1), '-', cmatch(2:3), '-', cmatch(4:6)
                                          +
                                          399  call bort(bort_str)
                                          +
                                          400  else if ( isfxyn < ilfxyn ) then
                                          +
                                          401  call sntbbe ( isfxyn, stline, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem )
                                          +
                                          402  call getntbe ( lunstb, isfxyn, stline, iers )
                                          +
                                          403  else
                                          +
                                          404  call sntbbe ( ilfxyn, ltline, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem )
                                          +
                                          405  call getntbe ( lunltb, ilfxyn, ltline, ierl )
                                          +
                                          406  endif
                                          +
                                          407  else if ( iers == 0 ) then
                                          +
                                          408  call sntbbe ( isfxyn, stline, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem )
                                          +
                                          409  call getntbe ( lunstb, isfxyn, stline, iers )
                                          +
                                          410  else
                                          +
                                          411  call sntbbe ( ilfxyn, ltline, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem )
                                          +
                                          412  call getntbe ( lunltb, ilfxyn, ltline, ierl )
                                          +
                                          413  endif
                                          +
                                          414  enddo
                                          +
                                          415 
                                          +
                                          416  return
                                          +
                                          417 end subroutine rdmtbb
                                          +
                                          418 
                                          +
                                          448 subroutine rdmtbd ( lunstd, lunltd, mxmtbd, mxelem, imt, imtv, iogce, iltv, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, &
                                          +
                                          449  nmelem, iefxyn, ceelem )
                                          +
                                          450 
                                          +
                                          451  implicit none
                                          +
                                          452 
                                          +
                                          453  integer, intent(in) :: lunstd, lunltd, mxmtbd, mxelem
                                          +
                                          454  integer, intent(out) :: imt, imtv, iogce, iltv, nmtbd, imfxyn(*), nmelem(*), iefxyn(mxmtbd,mxelem)
                                          +
                                          455  integer isfxyn, ilfxyn, iers, ierl
                                          +
                                          456 
                                          +
                                          457  character, intent(out) :: cmseq(120,*), cmmnem(8,*), cmdsc(*)*4, ceelem(mxmtbd,mxelem)*120
                                          +
                                          458 
                                          +
                                          459  character*200 stline, ltline
                                          +
                                          460  character*128 bort_str
                                          +
                                          461  character*6 cmatch, adn30
                                          +
                                          462 
                                          +
                                          463  ! Read and parse the header lines of both files.
                                          +
                                          464 
                                          +
                                          465  call gettbh ( lunstd, lunltd, 'D', imt, imtv, iogce, iltv )
                                          +
                                          466 
                                          +
                                          467  ! Read through the remainder of both files, merging the contents into a unified set of master Table D arrays.
                                          +
                                          468 
                                          +
                                          469  nmtbd = 0
                                          +
                                          470  call getntbe ( lunstd, isfxyn, stline, iers )
                                          +
                                          471  call getntbe ( lunltd, ilfxyn, ltline, ierl )
                                          +
                                          472  do while ( ( iers == 0 ) .or. ( ierl == 0 ) )
                                          +
                                          473  if ( ( iers == 0 ) .and. ( ierl == 0 ) ) then
                                          +
                                          474  if ( isfxyn == ilfxyn ) then
                                          +
                                          475  cmatch = adn30( isfxyn, 6 )
                                          +
                                          476  write(bort_str,'("BUFRLIB: RDMTBD - STANDARD AND LOCAL '// &
                                          +
                                          477  'TABLE D FILES BOTH CONTAIN SAME FXY NUMBER: ",5A)') cmatch(1:1), '-', cmatch(2:3), '-', cmatch(4:6)
                                          +
                                          478  call bort(bort_str)
                                          +
                                          479  else if ( isfxyn < ilfxyn ) then
                                          +
                                          480  call sntbde ( lunstd, isfxyn, stline, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem )
                                          +
                                          481  call getntbe ( lunstd, isfxyn, stline, iers )
                                          +
                                          482  else
                                          +
                                          483  call sntbde ( lunltd, ilfxyn, ltline, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem )
                                          +
                                          484  call getntbe ( lunltd, ilfxyn, ltline, ierl )
                                          +
                                          485  endif
                                          +
                                          486  else if ( iers == 0 ) then
                                          +
                                          487  call sntbde ( lunstd, isfxyn, stline, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem )
                                          +
                                          488  call getntbe ( lunstd, isfxyn, stline, iers )
                                          +
                                          489  else
                                          +
                                          490  call sntbde ( lunltd, ilfxyn, ltline, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem )
                                          +
                                          491  call getntbe ( lunltd, ilfxyn, ltline, ierl )
                                          +
                                          492  endif
                                          +
                                          493  enddo
                                          +
                                          494 
                                          +
                                          495  return
                                          +
                                          496 end subroutine rdmtbd
                                          +
                                          497 
                                          +
                                          507 subroutine rdmtbf ( lunstf, lunltf )
                                          +
                                          508 
                                          +
                                          509  use bufrlib
                                          +
                                          510 
                                          +
                                          511  implicit none
                                          +
                                          512 
                                          +
                                          513  integer, intent(in) :: lunstf, lunltf
                                          +
                                          514  integer imt, imtv, iogce, iltv, isfxyn, ilfxyn, iers, ierl
                                          +
                                          515 
                                          +
                                          516  character*160 stline, ltline
                                          +
                                          517  character*128 bort_str
                                          +
                                          518  character*6 cmatch, adn30
                                          +
                                          519 
                                          +
                                          520  ! Initialize the internal memory structure, including allocating space for it in case this hasn't already been done.
                                          +
                                          521 
                                          +
                                          522  call inittbf_c
                                          +
                                          523 
                                          +
                                          524  ! Read and parse the header lines of both files.
                                          +
                                          525 
                                          +
                                          526  call gettbh ( lunstf, lunltf, 'F', imt, imtv, iogce, iltv )
                                          +
                                          527 
                                          +
                                          528  ! Read through the remainder of both files, merging the contents into a unified internal memory structure.
                                          +
                                          529 
                                          +
                                          530  call getntbe ( lunstf, isfxyn, stline, iers )
                                          +
                                          531  call getntbe ( lunltf, ilfxyn, ltline, ierl )
                                          +
                                          532  do while ( ( iers == 0 ) .or. ( ierl == 0 ) )
                                          +
                                          533  if ( ( iers == 0 ) .and. ( ierl == 0 ) ) then
                                          +
                                          534  if ( isfxyn == ilfxyn ) then
                                          +
                                          535  cmatch = adn30( isfxyn, 6 )
                                          +
                                          536  write(bort_str,'("BUFRLIB: RDMTBF - STANDARD AND LOCAL '// &
                                          +
                                          537  'CODE/FLAG TABLE FILES BOTH CONTAIN SAME FXY NUMBER: ",5A)') cmatch(1:1), '-', cmatch(2:3), '-', cmatch(4:6)
                                          +
                                          538  call bort(bort_str)
                                          +
                                          539  else if ( isfxyn < ilfxyn ) then
                                          +
                                          540  call sntbfe ( lunstf, isfxyn )
                                          +
                                          541  call getntbe ( lunstf, isfxyn, stline, iers )
                                          +
                                          542  else
                                          +
                                          543  call sntbfe ( lunltf, ilfxyn )
                                          +
                                          544  call getntbe ( lunltf, ilfxyn, ltline, ierl )
                                          +
                                          545  endif
                                          +
                                          546  else if ( iers == 0 ) then
                                          +
                                          547  call sntbfe ( lunstf, isfxyn )
                                          +
                                          548  call getntbe ( lunstf, isfxyn, stline, iers )
                                          +
                                          549  else
                                          +
                                          550  call sntbfe ( lunltf, ilfxyn )
                                          +
                                          551  call getntbe ( lunltf, ilfxyn, ltline, ierl )
                                          +
                                          552  endif
                                          +
                                          553  enddo
                                          +
                                          554 
                                          +
                                          555  ! Sort the contents of the internal memory structure.
                                          +
                                          556 
                                          +
                                          557  call sorttbf_c
                                          +
                                          558 
                                          +
                                          559  return
                                          +
                                          560 end subroutine rdmtbf
                                          +
                                          561 
                                          +
                                          579 subroutine sntbbe ( ifxyn, line, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem )
                                          +
                                          580 
                                          +
                                          581  implicit none
                                          +
                                          582 
                                          +
                                          583  integer, intent(in) :: ifxyn, mxmtbb
                                          +
                                          584  integer, intent(out) :: nmtbb, imfxyn(*)
                                          +
                                          585  integer ntag, ii, nemock
                                          +
                                          586 
                                          +
                                          587  character, intent(out) :: cmelem(120,*), cmunit(24,*), cmsref(12,*), cmmnem(8,*), cmscl(4,*), cmbw(4,*), cmdsc(*)*4
                                          +
                                          588  character*(*), intent(in) :: line
                                          +
                                          589  character*(*), parameter :: bort_str1_head = 'BUFRLIB: SNTBBE - TABLE B ENTRY FOR ELEMENT DESCRIPTOR: '
                                          +
                                          590  character*200 tags(10), wktag
                                          +
                                          591  character*128 bort_str1, bort_str2
                                          +
                                          592 
                                          +
                                          593  if ( nmtbb >= mxmtbb ) call bort('BUFRLIB: SNTBBE - OVERFLOW OF MERGED ARRAYS')
                                          +
                                          594  nmtbb = nmtbb + 1
                                          +
                                          595 
                                          +
                                          596  ! Store the FXY number. This is the element descriptor.
                                          +
                                          597 
                                          +
                                          598  imfxyn( nmtbb ) = ifxyn
                                          +
                                          599 
                                          +
                                          600  ! Parse the table entry.
                                          +
                                          601 
                                          +
                                          602  call parstr ( line, tags, 10, ntag, '|', .false. )
                                          +
                                          603  if ( ntag < 4 ) then
                                          +
                                          604  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          605  bort_str2 = ' HAS TOO FEW FIELDS'
                                          +
                                          606  call bort2(bort_str1, bort_str2)
                                          +
                                          607  endif
                                          +
                                          608 
                                          +
                                          609  ! Scale factor.
                                          +
                                          610 
                                          +
                                          611  tags(2) = adjustl( tags(2) )
                                          +
                                          612  if ( tags(2) == ' ' ) then
                                          +
                                          613  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          614  bort_str2 = ' HAS MISSING SCALE FACTOR'
                                          +
                                          615  call bort2(bort_str1, bort_str2)
                                          +
                                          616  endif
                                          +
                                          617  tags(2)(1:4) = adjustr( tags(2)(1:4) )
                                          +
                                          618  do ii = 1, 4
                                          +
                                          619  cmscl( ii, nmtbb ) = tags(2)(ii:ii)
                                          +
                                          620  enddo
                                          +
                                          621 
                                          +
                                          622  ! Reference value.
                                          +
                                          623 
                                          +
                                          624  tags(3) = adjustl( tags(3) )
                                          +
                                          625  if ( tags(3) == ' ' ) then
                                          +
                                          626  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          627  bort_str2 = ' HAS MISSING REFERENCE VALUE'
                                          +
                                          628  call bort2(bort_str1, bort_str2)
                                          +
                                          629  endif
                                          +
                                          630  tags(3)(1:12) = adjustr( tags(3)(1:12) )
                                          +
                                          631  do ii = 1, 12
                                          +
                                          632  cmsref( ii, nmtbb ) = tags(3)(ii:ii)
                                          +
                                          633  enddo
                                          +
                                          634 
                                          +
                                          635  ! Bit width.
                                          +
                                          636 
                                          +
                                          637  tags(4) = adjustl( tags(4) )
                                          +
                                          638  if ( tags(4) == ' ' ) then
                                          +
                                          639  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          640  bort_str2 = ' HAS MISSING BIT WIDTH'
                                          +
                                          641  call bort2(bort_str1, bort_str2)
                                          +
                                          642  endif
                                          +
                                          643  tags(4)(1:4) = adjustr( tags(4)(1:4) )
                                          +
                                          644  do ii = 1, 4
                                          +
                                          645  cmbw( ii, nmtbb ) = tags(4)(ii:ii)
                                          +
                                          646  end do
                                          +
                                          647 
                                          +
                                          648  ! Units. Note that this field is allowed to be blank.
                                          +
                                          649 
                                          +
                                          650  if ( ntag > 4 ) then
                                          +
                                          651  tags(5) = adjustl( tags(5) )
                                          +
                                          652  do ii = 1, 24
                                          +
                                          653  cmunit( ii, nmtbb ) = tags(5)(ii:ii)
                                          +
                                          654  enddo
                                          +
                                          655  else
                                          +
                                          656  do ii = 1, 24
                                          +
                                          657  cmunit( ii, nmtbb ) = ' '
                                          +
                                          658  enddo
                                          +
                                          659  endif
                                          +
                                          660 
                                          +
                                          661  ! Comment (additional) fields. Any of these fields may be blank.
                                          +
                                          662 
                                          +
                                          663  cmdsc( nmtbb ) = ' '
                                          +
                                          664  do ii = 1, 8
                                          +
                                          665  cmmnem( ii, nmtbb ) = ' '
                                          +
                                          666  enddo
                                          +
                                          667  do ii = 1, 120
                                          +
                                          668  cmelem( ii, nmtbb ) = ' '
                                          +
                                          669  enddo
                                          +
                                          670  if ( ntag > 5 ) then
                                          +
                                          671  wktag = tags(6)
                                          +
                                          672  call parstr ( wktag, tags, 10, ntag, ';', .false. )
                                          +
                                          673  if ( ntag > 0 ) then
                                          +
                                          674  ! The first additional field contains the mnemonic.
                                          +
                                          675  tags(1) = adjustl( tags(1) )
                                          +
                                          676  ! If there is a mnemonic, then make sure it's legal.
                                          +
                                          677  if ( ( tags(1) /= ' ' ) .and. ( nemock( tags(1) ) /= 0 ) ) then
                                          +
                                          678  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          679  bort_str2 = ' HAS ILLEGAL MNEMONIC'
                                          +
                                          680  call bort2(bort_str1, bort_str2)
                                          +
                                          681  endif
                                          +
                                          682  do ii = 1, 8
                                          +
                                          683  cmmnem( ii, nmtbb ) = tags(1)(ii:ii)
                                          +
                                          684  enddo
                                          +
                                          685  endif
                                          +
                                          686  if ( ntag > 1 ) then
                                          +
                                          687  ! The second additional field contains descriptor codes.
                                          +
                                          688  tags(2) = adjustl( tags(2) )
                                          +
                                          689  cmdsc( nmtbb ) = tags(2)(1:4)
                                          +
                                          690  endif
                                          +
                                          691  if ( ntag > 2 ) then
                                          +
                                          692  ! The third additional field contains the element name.
                                          +
                                          693  tags(3) = adjustl( tags(3) )
                                          +
                                          694  do ii = 1, 120
                                          +
                                          695  cmelem( ii, nmtbb ) = tags(3)(ii:ii)
                                          +
                                          696  enddo
                                          +
                                          697  endif
                                          +
                                          698  endif
                                          +
                                          699 
                                          +
                                          700  return
                                          +
                                          701 end subroutine sntbbe
                                          +
                                          702 
                                          +
                                          723 subroutine sntbde ( lunt, ifxyn, line, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem )
                                          +
                                          724 
                                          +
                                          725  implicit none
                                          +
                                          726 
                                          +
                                          727  integer, intent(in) :: lunt, ifxyn, mxmtbd, mxelem
                                          +
                                          728  integer, intent(out) :: nmtbd, imfxyn(*), nmelem(*), iefxyn(mxmtbd,mxelem)
                                          +
                                          729  integer ii, ipt, ntag, nelem, nemock, ifxy, igetfxy, igetntbl
                                          +
                                          730 
                                          +
                                          731  character*(*), intent(in) :: line
                                          +
                                          732  character*(*), parameter :: bort_str1_head = 'BUFRLIB: SNTBDE - TABLE D ENTRY FOR SEQUENCE DESCRIPTOR: '
                                          +
                                          733  character, intent(out) :: cmseq(120,*), cmmnem(8,*), cmdsc(*)*4, ceelem(mxmtbd,mxelem)*120
                                          +
                                          734  character*200 tags(10), cline
                                          +
                                          735  character*128 bort_str1, bort_str2
                                          +
                                          736  character*6 adsc
                                          +
                                          737 
                                          +
                                          738  logical done
                                          +
                                          739 
                                          +
                                          740  if ( nmtbd >= mxmtbd ) call bort('BUFRLIB: SNTBDE - OVERFLOW OF MERGED ARRAYS')
                                          +
                                          741  nmtbd = nmtbd + 1
                                          +
                                          742 
                                          +
                                          743  ! Store the FXY number. This is the sequence descriptor.
                                          +
                                          744 
                                          +
                                          745  imfxyn( nmtbd ) = ifxyn
                                          +
                                          746 
                                          +
                                          747  ! Is there any other information within the first line of the table entry? If so, it follows a "|" separator.
                                          +
                                          748 
                                          +
                                          749  do ii = 1, 8
                                          +
                                          750  cmmnem( ii, nmtbd ) = ' '
                                          +
                                          751  enddo
                                          +
                                          752  cmdsc( nmtbd ) = ' '
                                          +
                                          753  do ii = 1, 120
                                          +
                                          754  cmseq( ii, nmtbd ) = ' '
                                          +
                                          755  enddo
                                          +
                                          756  ipt = index( line, '|' )
                                          +
                                          757  if ( ipt /= 0 ) then
                                          +
                                          758  ! Parse the rest of the line. Any of the fields may be blank.
                                          +
                                          759  call parstr ( line(ipt+1:), tags, 10, ntag, ';', .false. )
                                          +
                                          760  if ( ntag > 0 ) then
                                          +
                                          761  ! The first additional field contains the mnemonic.
                                          +
                                          762  tags(1) = adjustl( tags(1) )
                                          +
                                          763  ! If there is a mnemonic, then make sure it's legal.
                                          +
                                          764  if ( ( tags(1) /= ' ' ) .and. ( nemock( tags(1) ) /= 0 ) ) then
                                          +
                                          765  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          766  bort_str2 = ' HAS ILLEGAL MNEMONIC'
                                          +
                                          767  call bort2(bort_str1, bort_str2)
                                          +
                                          768  endif
                                          +
                                          769  do ii = 1, 8
                                          +
                                          770  cmmnem( ii, nmtbd ) = tags(1)(ii:ii)
                                          +
                                          771  enddo
                                          +
                                          772  endif
                                          +
                                          773  if ( ntag > 1 ) then
                                          +
                                          774  ! The second additional field contains descriptor codes.
                                          +
                                          775  tags(2) = adjustl( tags(2) )
                                          +
                                          776  cmdsc( nmtbd ) = tags(2)(1:4)
                                          +
                                          777  endif
                                          +
                                          778  if ( ntag > 2 ) then
                                          +
                                          779  ! The third additional field contains the sequence name.
                                          +
                                          780  tags(3) = adjustl( tags(3) )
                                          +
                                          781  do ii = 1, 120
                                          +
                                          782  cmseq( ii, nmtbd ) = tags(3)(ii:ii)
                                          +
                                          783  enddO
                                          +
                                          784  endif
                                          +
                                          785  endif
                                          +
                                          786 
                                          +
                                          787  ! Now, read and parse all remaining lines from this table entry. Each line should contain an element descriptor for
                                          +
                                          788  ! the sequence represented by the current sequence descriptor.
                                          +
                                          789 
                                          +
                                          790  nelem = 0
                                          +
                                          791  done = .false.
                                          +
                                          792  do while ( .not. done )
                                          +
                                          793  if ( igetntbl( lunt, cline ) /= 0 ) then
                                          +
                                          794  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          795  bort_str2 = ' IS INCOMPLETE'
                                          +
                                          796  call bort2(bort_str1, bort_str2)
                                          +
                                          797  endif
                                          +
                                          798  call parstr ( cline, tags, 10, ntag, '|', .false. )
                                          +
                                          799  if ( ntag < 2 ) then
                                          +
                                          800  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          801  bort_str2 = ' HAS BAD ELEMENT CARD'
                                          +
                                          802  call bort2(bort_str1, bort_str2)
                                          +
                                          803  endif
                                          +
                                          804  ! The second field contains the FXY number for this element.
                                          +
                                          805  if ( igetfxy( tags(2), adsc ) /= 0 ) then
                                          +
                                          806  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          807  bort_str2 = ' HAS BAD OR MISSING ELEMENT FXY NUMBER'
                                          +
                                          808  call bort2(bort_str1, bort_str2)
                                          +
                                          809  endif
                                          +
                                          810  if ( nelem >= mxelem ) CALL bort('BUFRLIB: SNTBDE - OVERFLOW OF MERGED ARRAYS')
                                          +
                                          811  nelem = nelem + 1
                                          +
                                          812  iefxyn( nmtbd, nelem ) = ifxy( adsc )
                                          +
                                          813  ! The third field (if it exists) contains the element name.
                                          +
                                          814  if ( ntag > 2 ) then
                                          +
                                          815  tags(3) = adjustl( tags(3) )
                                          +
                                          816  ceelem( nmtbd, nelem ) = tags(3)(1:120)
                                          +
                                          817  else
                                          +
                                          818  ceelem( nmtbd, nelem ) = ' '
                                          +
                                          819  endif
                                          +
                                          820  ! Is this the last line for this table entry?
                                          +
                                          821  if ( index( tags(2), ' >' ) == 0 ) done = .true.
                                          +
                                          822  enddo
                                          +
                                          823  nmelem( nmtbd ) = nelem
                                          +
                                          824 
                                          +
                                          825  return
                                          +
                                          826 end subroutine sntbde
                                          +
                                          827 
                                          +
                                          835 subroutine sntbfe ( lunt, ifxyn )
                                          +
                                          836 
                                          +
                                          837  use bufrlib
                                          +
                                          838 
                                          +
                                          839  implicit none
                                          +
                                          840 
                                          +
                                          841  integer, intent(in) :: lunt, ifxyn
                                          +
                                          842  integer idfxy(10), idval(25), nidfxy, nidval, ntag, ii, jj, ival, ier, ipt, lt3, ifxy, igetfxy, igetntbl
                                          +
                                          843 
                                          +
                                          844  character*160 cline, tags(4), cdstr(2), adsc(10), cval(25)
                                          +
                                          845  character*(*), parameter :: bort_str1_head = 'BUFRLIB: SNTBFE - TABLE F ENTRY FOR ELEMENT DESCRIPTOR: '
                                          +
                                          846  character*128 bort_str1, bort_str2
                                          +
                                          847  character*6 cdsc
                                          +
                                          848 
                                          +
                                          849  logical done, lstnblk
                                          +
                                          850 
                                          +
                                          851  ! We already have the FXY number. Now we need to read and parse all of the remaining lines from the table entry for this
                                          +
                                          852  ! FXY number. The information for each individual code figure or bit number will then be stored as a separate entry within
                                          +
                                          853  ! the internal memory structure.
                                          +
                                          854 
                                          +
                                          855  done = .false.
                                          +
                                          856  nidfxy = 0
                                          +
                                          857  nidval = 0
                                          +
                                          858 
                                          +
                                          859  do while ( .not. done )
                                          +
                                          860 
                                          +
                                          861  if ( igetntbl( lunt, cline ) /= 0 ) then
                                          +
                                          862  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          863  bort_str2 = ' IS INCOMPLETE'
                                          +
                                          864  call bort2(bort_str1, bort_str2)
                                          +
                                          865  endif
                                          +
                                          866 
                                          +
                                          867  call parstr ( cline, tags, 4, ntag, '|', .false. )
                                          +
                                          868  if ( ( ntag < 2 ) .or. ( ntag > 3 ) ) then
                                          +
                                          869  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          870  bort_str2 = ' HAS BAD CARD'
                                          +
                                          871  call bort2(bort_str1, bort_str2)
                                          +
                                          872  endif
                                          +
                                          873 
                                          +
                                          874  if ( ntag == 2 ) then
                                          +
                                          875 
                                          +
                                          876  ! This line contains a list of dependencies.
                                          +
                                          877 
                                          +
                                          878  call parstr ( tags(2), cdstr, 2, ntag, '=', .false. )
                                          +
                                          879  if ( ntag /= 2 ) then
                                          +
                                          880  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          881  bort_str2 = ' HAS BAD DEPENDENCY CARD'
                                          +
                                          882  call bort2(bort_str1, bort_str2)
                                          +
                                          883  endif
                                          +
                                          884  ! Parse the list of FXY numbers.
                                          +
                                          885  call parstr ( cdstr(1), adsc, 10, nidfxy, ',', .false. )
                                          +
                                          886  if ( ( nidfxy == 0 ) .or. ( ( nidfxy == 1 ) .and. ( adsc(1) == ' ' ) ) ) then
                                          +
                                          887  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          888  bort_str2 = ' HAS BAD DEPENDENCY LIST (FXY)'
                                          +
                                          889  call bort2(bort_str1, bort_str2)
                                          +
                                          890  endif
                                          +
                                          891  do ii = 1, nidfxy
                                          +
                                          892  if ( igetfxy( adsc(ii), cdsc ) /= 0 ) then
                                          +
                                          893  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          894  bort_str2 = ' HAS BAD DEPENDENCY (FXY)'
                                          +
                                          895  call bort2(bort_str1, bort_str2)
                                          +
                                          896  endif
                                          +
                                          897  idfxy(ii) = ifxy( cdsc )
                                          +
                                          898  enddo
                                          +
                                          899  ! Parse the list of values.
                                          +
                                          900  call parstr ( cdstr(2), cval, 25, nidval, ',', .false. )
                                          +
                                          901  if ( ( nidval == 0 ) .or. ( ( nidval == 1 ) .and. ( cval(1) == ' ' ) ) ) then
                                          +
                                          902  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          903  bort_str2 = ' HAS BAD DEPENDENCY LIST (VAL)'
                                          +
                                          904  call bort2(bort_str1, bort_str2)
                                          +
                                          905  endif
                                          +
                                          906  do ii = 1, nidval
                                          +
                                          907  cval(ii) = adjustl( cval(ii) )
                                          +
                                          908  call strnum ( cval(ii), ival, ier )
                                          +
                                          909  if ( ier /= 0 ) then
                                          +
                                          910  call sntbestr(bort_str1_head, ifxyn, bort_str1)
                                          +
                                          911  bort_str2 = ' HAS BAD DEPENDENCY (VAL)'
                                          +
                                          912  call bort2(bort_str1, bort_str2)
                                          +
                                          913  endif
                                          +
                                          914  idval(ii) = ival
                                          +
                                          915  enddo
                                          +
                                          916 
                                          +
                                          917  else
                                          +
                                          918 
                                          +
                                          919  ! This line contains a value (code figure or bit number) and corresponding meaning.
                                          +
                                          920 
                                          +
                                          921  ipt = index( tags(2), ' >' )
                                          +
                                          922  if ( ipt == 0 ) then
                                          +
                                          923  ! This is the last line for this table entry.
                                          +
                                          924  done = .true.
                                          +
                                          925  else
                                          +
                                          926  tags(2)(ipt+1:ipt+1) = ' '
                                          +
                                          927  endif
                                          +
                                          928  tags(2) = adjustl( tags(2) )
                                          +
                                          929  call strnum ( tags(2), ival, ier )
                                          +
                                          930  ! Find the last non-blank character in the meaning string.
                                          +
                                          931  tags(3) = adjustl( tags(3) )
                                          +
                                          932  lt3 = len(tags(3))
                                          +
                                          933  lstnblk = .false.
                                          +
                                          934  do while ( ( lt3 > 0 ) .and. ( .not. lstnblk ) )
                                          +
                                          935  if ( tags(3)(lt3:lt3) /= ' ' ) then
                                          +
                                          936  lstnblk = .true.
                                          +
                                          937  else
                                          +
                                          938  lt3 = lt3 - 1
                                          +
                                          939  endif
                                          +
                                          940  enddo
                                          +
                                          941  ! Store the information for this value within the internal memory structure.
                                          +
                                          942  if ( ( nidfxy == 0 ) .and. ( nidval == 0 ) ) then
                                          +
                                          943  call strtbfe_c ( ifxyn, ival, tags(3), lt3, -1, -1 )
                                          +
                                          944  else
                                          +
                                          945  do ii = 1, nidfxy
                                          +
                                          946  do jj = 1, nidval
                                          +
                                          947  call strtbfe_c ( ifxyn, ival, tags(3), lt3, idfxy(ii), idval(jj) )
                                          +
                                          948  enddo
                                          +
                                          949  enddo
                                          +
                                          950  endif
                                          +
                                          951 
                                          +
                                          952  endif
                                          +
                                          953 
                                          +
                                          954  enddo
                                          +
                                          955 
                                          +
                                          956  return
                                          +
                                          957 end subroutine sntbfe
                                          +
                                          958 
                                          +
                                          966 subroutine sntbestr ( hestr, ifxyn, estr )
                                          +
                                          967 
                                          +
                                          968  implicit none
                                          +
                                          969 
                                          +
                                          970  character*(*), intent(in) :: hestr
                                          +
                                          971  character*(*), intent(out) :: estr
                                          +
                                          972  character*6 adn30, clemon
                                          +
                                          973 
                                          +
                                          974  integer, intent(in) :: ifxyn
                                          +
                                          975 
                                          +
                                          976  clemon = adn30( ifxyn, 6 )
                                          +
                                          977  estr = hestr // clemon(1:1) // '-' // clemon(2:3) // '-' // clemon(4:6)
                                          +
                                          978 
                                          +
                                          979  return
                                          +
                                          980 end subroutine sntbestr
                                          +
                                          981 
                                          +
                                          992 integer function igetntbl ( lunt, line ) result ( iret )
                                          +
                                          993 
                                          +
                                          994  implicit none
                                          +
                                          995 
                                          +
                                          996  integer, intent(in) :: lunt
                                          +
                                          997  integer ier
                                          +
                                          998 
                                          +
                                          999  character*(*), intent(out) :: line
                                          +
                                          1000 
                                          +
                                          1001  do while (.true.)
                                          +
                                          1002  read ( lunt, '(A)', iostat = ier ) line
                                          +
                                          1003  if ( ( ier /= 0 ) .or. ( line(1:3) == 'END' ) ) then
                                          +
                                          1004  iret = -1
                                          +
                                          1005  return
                                          +
                                          1006  endif
                                          +
                                          1007  if ( ( line /= ' ' ) .and. ( line(1:1) /= '#' ) ) then
                                          +
                                          1008  iret = 0
                                          +
                                          1009  return
                                          +
                                          1010  endif
                                          +
                                          1011  enddo
                                          +
                                          1012 
                                          +
                                          1013 end function igetntbl
                                          +
                                          1014 
                                          +
                                          1027 integer function igettdi ( iflag ) result ( iret )
                                          +
                                          1028 
                                          +
                                          1029  implicit none
                                          +
                                          1030 
                                          +
                                          1031  integer, intent(in) :: iflag
                                          +
                                          1032  integer, parameter :: idxmin = 62976 ! = ifxy('354000')
                                          +
                                          1033  integer, parameter :: idxmax = 63231 ! = ifxy('354255')
                                          +
                                          1034  integer idx
                                          +
                                          1035 
                                          +
                                          1036  save idx
                                          +
                                          1037 
                                          +
                                          1038  if ( iflag == 0 ) then
                                          +
                                          1039  ! Initialize the index to one less than the actual minimum value. That way, the next normal call will return the
                                          +
                                          1040  ! minimum value.
                                          +
                                          1041  idx = idxmin - 1
                                          +
                                          1042  iret = -1
                                          +
                                          1043  else
                                          +
                                          1044  idx = idx + 1
                                          +
                                          1045  if ( idx > idxmax ) call bort('BUFRLIB: IGETTDI - IDXMAX OVERFLOW')
                                          +
                                          1046  iret = idx
                                          +
                                          1047  endif
                                          +
                                          1048 
                                          +
                                          1049  return
                                          +
                                          1050 end function igettdi
                                          +
                                          1051 
                                          +
                                          1071 subroutine gettbh ( luns, lunl, tab, imt, imtv, iogce, iltv )
                                          +
                                          1072 
                                          +
                                          1073  implicit none
                                          +
                                          1074 
                                          +
                                          1075  integer, intent(in) :: luns, lunl
                                          +
                                          1076  integer, intent(out) :: imt, imtv, iogce, iltv
                                          +
                                          1077  integer ntag, imt2, iersn, igetntbl
                                          +
                                          1078 
                                          +
                                          1079  character, intent(in) :: tab
                                          +
                                          1080 
                                          +
                                          1081  character*128 bort_str
                                          +
                                          1082  character*(*), parameter :: bort_str_head = 'BUFRLIB: GETTBH - BAD OR MISSING HEADER WITHIN '
                                          +
                                          1083  character*40 header
                                          +
                                          1084  character*30 tags(5), label
                                          +
                                          1085  character*3 cftyp
                                          +
                                          1086  character*2 cttyp
                                          +
                                          1087 
                                          +
                                          1088  logical badlabel
                                          +
                                          1089 
                                          +
                                          1090  ! Statement function to check for bad header line label
                                          +
                                          1091  badlabel( label ) = ( ( index( label, cttyp ) == 0 ) .or. ( index( label, cftyp ) == 0 ) )
                                          +
                                          1092 
                                          +
                                          1093  cttyp = tab // ' '
                                          +
                                          1094 
                                          +
                                          1095  ! Read and parse the header line of the standard file.
                                          +
                                          1096 
                                          +
                                          1097  cftyp = 'STD'
                                          +
                                          1098  if ( igetntbl( luns, header ) /= 0 ) then
                                          +
                                          1099  bort_str = bort_str_head // cftyp // ' TABLE ' // tab
                                          +
                                          1100  call bort(bort_str)
                                          +
                                          1101  endif
                                          +
                                          1102  call parstr ( header, tags, 5, ntag, '|', .false. )
                                          +
                                          1103  if ( ( ntag < 3 ) .or. ( badlabel( tags(1) ) ) ) then
                                          +
                                          1104  bort_str = bort_str_head // cftyp // ' TABLE ' // tab
                                          +
                                          1105  call bort(bort_str)
                                          +
                                          1106  endif
                                          +
                                          1107  call strnum ( tags(2), imt, iersn )
                                          +
                                          1108  call strnum ( tags(3), imtv, iersn )
                                          +
                                          1109 
                                          +
                                          1110  ! Read and parse the header line of the local file.
                                          +
                                          1111 
                                          +
                                          1112  cftyp = 'LOC'
                                          +
                                          1113  if ( igetntbl( lunl, header ) /= 0 ) then
                                          +
                                          1114  bort_str = bort_str_head // cftyp // ' TABLE ' // tab
                                          +
                                          1115  call bort(bort_str)
                                          +
                                          1116  endif
                                          +
                                          1117  call parstr ( header, tags, 5, ntag, '|', .false. )
                                          +
                                          1118  if ( ( ntag < 4 ) .or. ( badlabel( tags(1) ) ) ) then
                                          +
                                          1119  bort_str = bort_str_head // cftyp // ' TABLE ' // tab
                                          +
                                          1120  call bort(bort_str)
                                          +
                                          1121  endif
                                          +
                                          1122  call strnum ( tags(2), imt2, iersn )
                                          +
                                          1123  call strnum ( tags(3), iogce, iersn )
                                          +
                                          1124  call strnum ( tags(4), iltv, iersn )
                                          +
                                          1125 
                                          +
                                          1126  ! Verify that both files are for the same master table.
                                          +
                                          1127 
                                          +
                                          1128  if ( imt /= imt2 ) then
                                          +
                                          1129  write(bort_str,'("BUFRLIB: GETTBH - MASTER TABLE NUMBER MISMATCH BETWEEN STD AND LOC TABLE ",A)') tab
                                          +
                                          1130  call bort(bort_str)
                                          +
                                          1131  endif
                                          +
                                          1132 
                                          +
                                          1133  return
                                          +
                                          1134 end subroutine gettbh
                                          +
                                          1135 
                                          +
                                          1147 subroutine getntbe ( lunt, ifxyn, line, iret )
                                          +
                                          1148 
                                          +
                                          1149  implicit none
                                          +
                                          1150 
                                          +
                                          1151  integer, intent(in) :: lunt
                                          +
                                          1152  integer, intent(out) :: ifxyn, iret
                                          +
                                          1153  integer ntag, igetfxy, ifxy, igetntbl
                                          +
                                          1154 
                                          +
                                          1155  character*(*), intent(out) :: line
                                          +
                                          1156  character*128 bort_str1, bort_str2
                                          +
                                          1157  character*20 tags(4)
                                          +
                                          1158  character*6 adsc
                                          +
                                          1159 
                                          +
                                          1160  ! Get the first line of the next entry in the file.
                                          +
                                          1161 
                                          +
                                          1162  iret = igetntbl( lunt, line )
                                          +
                                          1163  if ( iret == 0 ) then
                                          +
                                          1164  ! The first field within this line should contain the FXY number.
                                          +
                                          1165  call parstr ( line(1:20), tags, 4, ntag, '|', .false. )
                                          +
                                          1166  if ( igetfxy( tags(1), adsc ) /= 0 ) then
                                          +
                                          1167  bort_str1 = 'BUFRLIB: GETNTBE - CARD BEGINNING WITH: ' // line(1:20)
                                          +
                                          1168  bort_str2 = ' HAS BAD OR MISSING FXY NUMBER'
                                          +
                                          1169  call bort2(bort_str1, bort_str2)
                                          +
                                          1170  endif
                                          +
                                          1171  ! Store the WMO bit-wise representation of the FXY number.
                                          +
                                          1172  ifxyn = ifxy( adsc )
                                          +
                                          1173  endif
                                          +
                                          1174 
                                          +
                                          1175  return
                                          +
                                          1176 end subroutine getntbe
                                          +
                                          1177 
                                          +
                                          1208 subroutine codflg(cf)
                                          +
                                          1209 
                                          +
                                          1210  use moda_tablef
                                          +
                                          1211 
                                          +
                                          1212  implicit none
                                          +
                                          1213 
                                          +
                                          1214  character, intent(in) :: cf
                                          +
                                          1215 
                                          +
                                          1216  character*128 bort_str
                                          +
                                          1217 
                                          +
                                          1218  call capit(cf)
                                          +
                                          1219  if(cf/='Y'.and. cf/='N') then
                                          +
                                          1220  write(bort_str,'("BUFRLIB: CODFLG - INPUT ARGUMENT IS ",A1,", IT MUST BE EITHER Y OR N")') cf
                                          +
                                          1221  call bort(bort_str)
                                          +
                                          1222  endif
                                          +
                                          1223  cdmf = cf
                                          +
                                          1224 
                                          +
                                          1225  return
                                          +
                                          1226 end subroutine codflg
                                          +
                                          1227 
                                          +
                                          1240 integer function nemock(nemo) result(iret)
                                          +
                                          1241 
                                          +
                                          1242  implicit none
                                          +
                                          1243 
                                          +
                                          1244  integer i, lnemo
                                          +
                                          1245 
                                          +
                                          1246  character*(*), intent(in) :: nemo
                                          +
                                          1247 
                                          +
                                          1248  ! Get the length of nemo
                                          +
                                          1249 
                                          +
                                          1250  lnemo = 0
                                          +
                                          1251  do i=len(nemo),1,-1
                                          +
                                          1252  if(nemo(i:i)/=' ') then
                                          +
                                          1253  lnemo = i
                                          +
                                          1254  exit
                                          +
                                          1255  endif
                                          +
                                          1256  enddo
                                          +
                                          1257  if(lnemo<1 .or. lnemo>8) then
                                          +
                                          1258  iret = -1
                                          +
                                          1259  return
                                          +
                                          1260  endif
                                          +
                                          1261 
                                          +
                                          1262  ! Scan nemo for allowable characters
                                          +
                                          1263 
                                          +
                                          1264  if ( verify(nemo(1:lnemo),'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.') == 0 ) then
                                          +
                                          1265  iret = 0
                                          +
                                          1266  else
                                          +
                                          1267  iret = -2
                                          +
                                          1268  endif
                                          +
                                          1269 
                                          +
                                          1270  return
                                          +
                                          1271 end function nemock
                                          +
                                          subroutine bort(str)
                                          Log an error message, then abort the application program.
                                          Definition: borts.F90:15
                                          +
                                          subroutine bort2(str1, str2)
                                          Log two error messages, then abort the application program.
                                          Definition: borts.F90:39
                                          +
                                          subroutine errwrt(str)
                                          Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                          Definition: errwrt.F90:32
                                          +
                                          integer function ifxy(adsc)
                                          Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                          Definition: fxy.F90:152
                                          + + + + + +
                                          subroutine sntbde(lunt, ifxyn, line, mxmtbd, mxelem, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem)
                                          Store the first line of an entry that was previously read from an ASCII master Table D file into a se...
                                          +
                                          subroutine sntbfe(lunt, ifxyn)
                                          Read an entire entry from a previously-opened ASCII master Code/Flag table file, then store the infor...
                                          +
                                          subroutine sntbestr(hestr, ifxyn, estr)
                                          Generate an error-reporting string containing an FXY number.
                                          +
                                          subroutine rdmtbd(lunstd, lunltd, mxmtbd, mxelem, imt, imtv, iogce, iltv, nmtbd, imfxyn, cmmnem, cmdsc, cmseq, nmelem, iefxyn, ceelem)
                                          Read master Table D information from two separate ASCII files (one standard and one local) and then m...
                                          +
                                          subroutine mtfnam(imt, imtv, iogce, imtvl, tbltyp, stdfil, locfil)
                                          Based on the input arguments, determine the names of the corresponding standard and local master tabl...
                                          Definition: mastertable.F90:87
                                          +
                                          subroutine codflg(cf)
                                          Specify whether or not code and flag table information should be included during all future reads of ...
                                          +
                                          integer function nemock(nemo)
                                          Check a mnemonic for validity.
                                          +
                                          subroutine sntbbe(ifxyn, line, mxmtbb, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem)
                                          Store an entry that was previously read from an ASCII master Table B file into a set of merged Fortra...
                                          +
                                          subroutine getntbe(lunt, ifxyn, line, iret)
                                          Read the first line of the next entry from the specified ASCII master table B, table D or table F (Co...
                                          +
                                          integer function igettdi(iflag)
                                          Depending on the value of the input flag, either return the next usable scratch Table D index for the...
                                          +
                                          subroutine rdmtbb(lunstb, lunltb, mxmtbb, imt, imtv, iogce, iltv, nmtbb, imfxyn, cmscl, cmsref, cmbw, cmunit, cmmnem, cmdsc, cmelem)
                                          Read master Table B information from two separate ASCII files (one standard and one local) and then m...
                                          +
                                          integer function igetntbl(lunt, line)
                                          Read the next line from an ASCII master table B, table D or Code/Flag table file, ignoring any blank ...
                                          +
                                          subroutine gettbh(luns, lunl, tab, imt, imtv, iogce, iltv)
                                          Read the header lines from two separate ASCII files (one standard and one local) containing master ta...
                                          +
                                          recursive subroutine mtinfo(cmtdir, lunmt1, lunmt2)
                                          Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
                                          Definition: mastertable.F90:35
                                          +
                                          subroutine rdmtbf(lunstf, lunltf)
                                          Read master Code/Flag table information from two separate ASCII files (one standard and one local) an...
                                          +
                                          integer function ireadmt(lun)
                                          Check the most recent BUFR message that was read via a call to one of the message-reading subroutines...
                                          +
                                          recursive subroutine strnum(str, num, iret)
                                          Decode an integer from a character string.
                                          Definition: misc.F90:177
                                          +
                                          subroutine strsuc(str1, str2, lens)
                                          Remove leading and trailing blanks from a character string.
                                          Definition: misc.F90:220
                                          +
                                          subroutine capit(str)
                                          Capitalize all of the alphabetic characters in a string.
                                          Definition: misc.F90:355
                                          +
                                          Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                          Definition: bufrlib.F90:11
                                          +
                                          Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                          +
                                          integer, dimension(:,:), allocatable mbay
                                          Current BUFR message for each file ID.
                                          +
                                          Declare arrays and variables used to store master Table B and Table D entries within internal memory.
                                          +
                                          integer, dimension(:), allocatable idfxyn
                                          WMO bit-wise representations of FXY numbers for master Table D.
                                          +
                                          character, dimension(:,:), allocatable cbunit
                                          Units corresponding to ibfxyn.
                                          +
                                          integer nmtb
                                          Number of master Table B entries (up to a maximum of mxmtbb).
                                          +
                                          character, dimension(:,:), allocatable cbbw
                                          Bit widths corresponding to ibfxyn.
                                          +
                                          character, dimension(:,:), allocatable cdseq
                                          Sequence names corresponding to idfxyn.
                                          +
                                          character, dimension(:,:), allocatable cbmnem
                                          Mnemonics corresponding to ibfxyn.
                                          +
                                          integer, dimension(:), allocatable ndelem
                                          Numbers of child descriptors corresponding to idfxyn.
                                          +
                                          character, dimension(:,:), allocatable cbelem
                                          Element names corresponding to ibfxyn.
                                          +
                                          character, dimension(:,:), allocatable cbscl
                                          Scale factors corresponding to ibfxyn.
                                          +
                                          character, dimension(:,:), allocatable cdmnem
                                          Mnemonics corresponding to idfxyn.
                                          +
                                          character, dimension(:,:), allocatable cbsref
                                          Reference values corresponding to ibfxyn.
                                          +
                                          integer nmtd
                                          Number of master Table D entries (up to a maximum of mxmtbd).
                                          +
                                          integer, dimension(:), allocatable idefxy
                                          WMO bit-wise representations of child descriptors corresponding to idfxyn.
                                          +
                                          integer, dimension(:), allocatable ibfxyn
                                          WMO bit-wise representations of FXY numbers for master Table B.
                                          +
                                          Declare arrays and variables used to store master Table B and Table D entries within internal memory.
                                          +
                                          character *120, dimension(:,:), allocatable ceelem
                                          Element names corresponding to iefxyn.
                                          +
                                          character *4, dimension(:), allocatable cmdscb
                                          Descriptor codes for Table B elements.
                                          +
                                          integer, dimension(:,:), allocatable iefxyn
                                          WMO bit-wise representations of child descriptors of Table D sequences.
                                          +
                                          character *4, dimension(:), allocatable cmdscd
                                          Descriptor codes for Table D sequences.
                                          +
                                          Declare arrays used by various subroutines and functions to hold a temporary working copy of a Sectio...
                                          +
                                          character *6, dimension(:), allocatable cds3
                                          Temporary working copy of Section 3 descriptor list in character form.
                                          +
                                          Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from ...
                                          +
                                          integer, dimension(:), allocatable isc3
                                          Section 3 switch for each file ID:
                                          +
                                          Declare a variable used to indicate whether master code and flag tables should be read.
                                          +
                                          character cdmf
                                          Flag indicating whether to include code and flag table information during reads of master BUFR tables...
                                          +
                                          recursive integer function iupbs01(mbay, s01mnem)
                                          Read a specified value from within Section 0 or Section 1 of a BUFR message.
                                          Definition: s013vals.F90:247
                                          +
                                          recursive subroutine upds3(mbay, lcds3, cds3, nds3)
                                          Read the sequence of data descriptors contained within Section 3 of a BUFR message.
                                          Definition: s013vals.F90:829
                                          +
                                          integer function istdesc(idn)
                                          Given the WMO bit-wise representation of an FXY value for a descriptor, check whether the descriptor ...
                                          Definition: standard.F90:298
                                          +
                                          subroutine parstr(str, tags, mtag, ntag, sep, limit80)
                                          Parse a string containing one or more substrings into an array of substrings.
                                          Definition: strings.F90:473
                                          +
                                          subroutine x84(iin8, iout4, nval)
                                          Encode one or more 8-byte integer values as 4-byte integer values.
                                          Definition: x4884.F90:65
                                          +
                                          +
                                          + + + + diff --git a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html index a0e40e331..545c154d3 100644 --- a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html +++ b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -88,237 +88,250 @@

                                          Detailed description of changes included within each new release.

                                          +Version 12.1.0 - July 10, 2024

                                          +
                                            +
                                          • Added support for IntelLLVM (OneAPI) compilers. [Issue #538]
                                          • +
                                          • Added logic to optimize decoding for the majority of data values which are encoded in 32 bits or less. [Issue #534] [Issue #543]
                                          • +
                                          • Increased length limits for master table directory and filenames. [Issue #533]
                                          • +
                                          • Fixed some build issues related to Python interoperability. [Issue #524] [Issue #537]
                                          • +
                                          • Fixed a bug to ensure that any user input data values of NaN are encoded as "missing" in BUFR. [Issue #550]
                                          • +
                                          • Modified the ufdump() subroutine to print subset data values to their true scale precision, so that values with a non-positive scale factor will now display as integers, including when printed via the debufr utility. [Issue #513]
                                          • +
                                          • Added a new print verbosity level of 3 which can be activated when calling subroutine openbf() with IO='QUIET'. [Issue #567]
                                          • +
                                          • Added apxdx to project as new utility. [Issue #585]
                                          • +
                                          • Fixed a bug in subroutine rewnbf() to ensure that it points to the correct subset in a BUFR message after a restore call. [Issue #599]
                                          • +
                                          +

                                          Version 12.0.1 - September 15, 2023

                                          • An extension was added to support the query interface for C++ IODA converters. [Issue #519]
                                          -

                                          +

                                          Version 12.0.0 - June 8, 2023

                                            -
                                          • The library has been consolidated into a single build using 4-byte integers. It can still be linked to Fortran application codes which are compiled using 8-byte integers; however, such codes must now include a call to new subroutine setim8b() with a value of .true. before making any calls to any other library routines. Furthermore, since all library functions which return integer values (e.g. iupbs01(), isetprm(), ibfms()) will now return 4-byte integer values, Fortran application codes which are compiled using 8-byte integers must now also explicitly declare such functions as 4-byte integers before calling them. [Issue #78]
                                          • +
                                          • The library has been consolidated into a single build using 4-byte integers. It can still be linked to Fortran application codes which are compiled using 8-byte integers; however, such codes must now include a call to new subroutine setim8b() with a value of .true. before making any calls to any other library routines. Furthermore, since all library functions which return integer values (e.g. iupbs01(), isetprm(), ibfms()) will now return 4-byte integer values, Fortran application codes which are compiled using 8-byte integers must now also explicitly declare such functions as 4-byte integers before calling them. [Issue #78]
                                          • The interface between the C and Fortran components of the library has been modernized. Accordingly, Fortran application codes must now contain a 'use bufr_interface' statement to directly call any C functions within the library, and C application codes must now contain an 'include "bufr_interface.h"' preprocessor statement to directly call any Fortran or C functions within the library. [Issue #79]
                                          • -
                                          • Subroutines ufbqcd() and ufbqcp() have been modified to pass call arguments containing event program codes as integers, rather than continuing to pass them as real numbers. [Issue #78]
                                          • +
                                          • Subroutines ufbqcd() and ufbqcp() have been modified to pass call arguments containing event program codes as integers, rather than continuing to pass them as real numbers. [Issue #78]
                                          • An extension was added to support the query interface for C++ IODA converters. [Issue #451]
                                          • Support for legacy EBCDIC platforms has been removed. [Issue #266]
                                          • -
                                          • The library has been patched to exit gracefully from subroutine readsb() if an erroneous delayed replication factor is read within subroutine usrtpl(). [Issue #495]
                                          • +
                                          • The library has been patched to exit gracefully from subroutine readsb() if an erroneous delayed replication factor is read within subroutine usrtpl(). [Issue #495]
                                          • The library has been cleaned up to eliminate a number of compiler warnings. [Issue #300]
                                          • Documentation has been improved throughout the library, including the use of Doxygen-style docblocks for all program files. [Issue #246]
                                          -

                                          +

                                          Version 11.7.1 - August 26, 2022

                                          • More extensions were added to support the query interface for C++ IODA converters. [Issue #225]
                                          • Several internal routines were modified to allow the encoding and decoding of values larger than 32 bits. [Issue #195]
                                          -

                                          +

                                          Version 11.7.0 - May 19, 2022

                                          • Extensions were added to support a new query interface for C++ IODA converters. [Issue #198]
                                          • Updates and bug fixes were made to several utility programs within the library package. [Issue #141]
                                          • A fix was made to prevent a line truncation error which occurs with certain compilers when the value of the MASTER_TABLE_DIR macro exceeds a certain length. [Issue #182]
                                          -

                                          +

                                          Version 11.6.0 - November 10, 2021

                                          • All of the library builds now use dynamic allocation, so the "_DA" suffix has now been correspondingly removed from the names of the library builds. [Issue #77]
                                          • -
                                          • The default BUFR master table version number for output BUFR messages was changed from 29 to 36 within subroutines cmsgini(), dxmini() and msgini(). [Issue #142]
                                          • +
                                          • The default BUFR master table version number for output BUFR messages was changed from 29 to 36 within subroutines cmsgini(), dxmini() and msgini(). [Issue #142]
                                          • The maximum length of a [path/]filename that can be passed into function cobfl() was increased to 200 characters. [Issue #174]
                                          • -
                                          • Subroutine ufbpos() was modified to allow it to work for all types of BUFR messages, including compressed messages. [Issue #170]
                                          • +
                                          • Subroutine ufbpos() was modified to allow it to work for all types of BUFR messages, including compressed messages. [Issue #170]
                                          • The library was modified to read up to 24 characters from the units field of BUFR master Table B files. Furthermore, in accordance with updated guidance from WMO, all fields within all BUFR master table files are now restricted to the CCITTIA5 character set. [Issue #140]
                                          • Subroutine jstchr and function rjust have been removed from the library, and their usage has been replaced with the Fortran intrinsic functions adjustl and adjustr. [Issue #165]
                                          • Several prototypes were added to the bufrlib.h header file to enable further interoperability with C application programs. In addition, several existing prototypes were modified to use size_t when passing string lengths between Fortran and C. [Issue #164]
                                          -

                                          +

                                          Version 11.5.0 - April 26, 2021

                                            -
                                          • Subroutine ufbseq() was modified for cases where the number of available levels exceeds the amount of user-provided array space when reading from an input file. Previously, the software would abort in such cases without returning any data whatsoever, but with the change it will now print a diagnostic and return with the number of levels equal to the amount of array space that was provided. [Issue #52]
                                          • -
                                          • Subroutine ufdump() was modified to improve the logic for sequence tracking, and to increase the format width for integer code figure and bit number values when printing associated meaning strings. [Issue #55]
                                          • -
                                          • Subroutine ufbdmp() was modified to fix a bug when checking for the "missing" value in long character strings (i.e. longer than 8 bytes) and to enable printing of up to 120 characters for such strings. [Issue #55]
                                          • -
                                          • Subroutine readlc() was modified to return a "missing" character string if the requested mnemonic isn't found in the subset. Previously, the subroutine would return a string of all blank characters in such cases. [Issue #53]
                                          • -
                                          • Subroutine writlc() was modified to print a warning message if the requested mnemonic isn't found in the subset definition. The library would previously abort in such cases. [Issue #53]
                                          • -
                                          • The default directory location of the BUFR master tables in subroutine bfrini() was changed from a fixed WCOSS-specific path. It is now set to the defined value of the MASTER_TABLE_DIR macro when the library was built. [Issue #123]
                                          • -
                                          • Subroutine writsa() was modified to allow the return of up to two BUFR messages during the same call to the subroutine, in the rare instances where more than one BUFR message could become available during such a call. [Issue #54]
                                          • +
                                          • Subroutine ufbseq() was modified for cases where the number of available levels exceeds the amount of user-provided array space when reading from an input file. Previously, the software would abort in such cases without returning any data whatsoever, but with the change it will now print a diagnostic and return with the number of levels equal to the amount of array space that was provided. [Issue #52]
                                          • +
                                          • Subroutine ufdump() was modified to improve the logic for sequence tracking, and to increase the format width for integer code figure and bit number values when printing associated meaning strings. [Issue #55]
                                          • +
                                          • Subroutine ufbdmp() was modified to fix a bug when checking for the "missing" value in long character strings (i.e. longer than 8 bytes) and to enable printing of up to 120 characters for such strings. [Issue #55]
                                          • +
                                          • Subroutine readlc() was modified to return a "missing" character string if the requested mnemonic isn't found in the subset. Previously, the subroutine would return a string of all blank characters in such cases. [Issue #53]
                                          • +
                                          • Subroutine writlc() was modified to print a warning message if the requested mnemonic isn't found in the subset definition. The library would previously abort in such cases. [Issue #53]
                                          • +
                                          • The default directory location of the BUFR master tables in subroutine bfrini() was changed from a fixed WCOSS-specific path. It is now set to the defined value of the MASTER_TABLE_DIR macro when the library was built. [Issue #123]
                                          • +
                                          • Subroutine writsa() was modified to allow the return of up to two BUFR messages during the same call to the subroutine, in the rare instances where more than one BUFR message could become available during such a call. [Issue #54]
                                          • Several internal Fortran variable declarations were modified for compatibility with GNU v10+ compilers. [Issue #81]
                                          • Subroutines pkx and chrtrn are no longer used within the library and were never intended to be called from application codes, so they have now been removed from the library. [Issue #107]
                                          -

                                          +

                                          Version 11.4.0 - November 20, 2020

                                          • A Python API was added to the library, for use with Python applications. [Issue #61]
                                          -

                                          +

                                          Version 11.3.2 - July 16, 2020

                                            -
                                          • A user-friendly sanity check was added to subroutine closbf(), in case an application program is using a dynamic-allocation build of the library and calls this subroutine prior to calling subroutine openbf(). The library would previously abort in such cases, but it will now just print a warning message. [Issue #9]
                                          • +
                                          • A user-friendly sanity check was added to subroutine closbf(), in case an application program is using a dynamic-allocation build of the library and calls this subroutine prior to calling subroutine openbf(). The library would previously abort in such cases, but it will now just print a warning message. [Issue #9]
                                          -

                                          +

                                          Version 11.3.1 - March 3, 2020

                                            -
                                          • Subroutine stndrd() was patched to fix an internal calculation for messages containing only one subset. [Issue #51]
                                          • +
                                          • Subroutine stndrd() was patched to fix an internal calculation for messages containing only one subset. [Issue #51]
                                          -

                                          +

                                          Version 11.3.0 - May 21, 2019

                                            -
                                          • A bug was fixed in the bitmap processing, so that each Table A mnemonic in the jump/link table now tracks its own individual set of underlying Table C operators. This involved changes to function igetrfel() and subroutines tabsub() and makestab().
                                          • +
                                          • A bug was fixed in the bitmap processing, so that each Table A mnemonic in the jump/link table now tracks its own individual set of underlying Table C operators. This involved changes to function igetrfel() and subroutines tabsub() and makestab().
                                          • The build script makebufrlib.sh was modified to remove calls to cpp (the C preprocessor) for all *.F Fortran files. Preprocessing for these files is now done by fpp (the Fortran preprocessor), which is automatically called by the Fortran compiler for all *.F files.
                                          • Global variable MXRST (the maximum number of long character strings that can be read from a subset of a compressed BUFR message) has now been added to the list of array size limits that can be configured using dynamic allocation.
                                          • -
                                          • The build script makebufrlib.sh was modified to stop generating the s_64 ("supersize") build. Such builds are now obsolete, since users can use the dynamic allocation builds to flexibly define whatever size limits they need for large BUFR datasets. If users need to recreate the exact specifications that were present in the previous s_64 build, they can do so using a dynamic allocation build and separate calls to subroutine isetprm() to set MXLCC=12, MAXMEM=75000000, MXCDV=50000, MAXJL=128000, MAXSS=150000, MXMSGL=2500000 and MXRST=500 within their application program.
                                          • -
                                          • A new capability was added to read and process master code and flag tables. This feature is activated via an initial call to new subroutine codflg() at any time after the first call to subroutine openbf(). Once that is done, then for any BUFR message read into the library via subroutine readmg(), readerme() or equivalent, and for any mnemonic contained within that message which is defined as a code or flag table, the user may call new subroutine getcfmng() with that mnemonic and an associated value (code figure or bit number) as input, and the subroutine will return the meaning (as a character string) corresponding to that mnemonic and associated value.
                                          • -
                                          • The default BUFR master table version number was changed from "13" to "29" within subroutines cmsgini(), dxmini() and msgini().
                                          • -
                                          • The maximum number of delayed replication factors that can be passed in as input to subroutine drfini() was increased from 200 to 2000.
                                          • -
                                          • Subroutines msgupd() and cpyupd() were modified so that the IPRT verbosity must be greater than or equal to 1 in order for diagnostic alerts to be printed whenever BUFR subsets greater than 65535 bytes are written to their own output messages.
                                          • -
                                          • Function i4dy() was modified to change the window for converting 2-digit years to 4-digit years. The old window was 1921-2020, i.e. add 1900 to any 2-digit year greater than 20; otherwise add 2000. The new window will be 1941-2040, i.e. add 1900 to any 2-digit year greater than 40; otherwise add 2000.
                                          • +
                                          • The build script makebufrlib.sh was modified to stop generating the s_64 ("supersize") build. Such builds are now obsolete, since users can use the dynamic allocation builds to flexibly define whatever size limits they need for large BUFR datasets. If users need to recreate the exact specifications that were present in the previous s_64 build, they can do so using a dynamic allocation build and separate calls to subroutine isetprm() to set MXLCC=12, MAXMEM=75000000, MXCDV=50000, MAXJL=128000, MAXSS=150000, MXMSGL=2500000 and MXRST=500 within their application program.
                                          • +
                                          • A new capability was added to read and process master code and flag tables. This feature is activated via an initial call to new subroutine codflg() at any time after the first call to subroutine openbf(). Once that is done, then for any BUFR message read into the library via subroutine readmg(), readerme() or equivalent, and for any mnemonic contained within that message which is defined as a code or flag table, the user may call new subroutine getcfmng() with that mnemonic and an associated value (code figure or bit number) as input, and the subroutine will return the meaning (as a character string) corresponding to that mnemonic and associated value.
                                          • +
                                          • The default BUFR master table version number was changed from "13" to "29" within subroutines cmsgini(), dxmini() and msgini().
                                          • +
                                          • The maximum number of delayed replication factors that can be passed in as input to subroutine drfini() was increased from 200 to 2000.
                                          • +
                                          • Subroutines msgupd() and cpyupd() were modified so that the IPRT verbosity must be greater than or equal to 1 in order for diagnostic alerts to be printed whenever BUFR subsets greater than 65535 bytes are written to their own output messages.
                                          • +
                                          • Function i4dy() was modified to change the window for converting 2-digit years to 4-digit years. The old window was 1921-2020, i.e. add 1900 to any 2-digit year greater than 20; otherwise add 2000. The new window will be 1941-2040, i.e. add 1900 to any 2-digit year greater than 40; otherwise add 2000.
                                          -

                                          +

                                          Version 11.2.0 - April 11, 2017

                                          • Support was added for the processing of 2-2X-255, 2-3X-255 and 2-4X-255 marker operators when reading BUFR messages, including when such operators are included in sequences within a BUFR DX table.
                                          • -
                                          • A new subroutine gettagre() was added which, given an element within a subset open for reading, determines if the element references another element within the same subset via an internal bitmap, and if so returns the referenced element along with its location in the subset.
                                          • -
                                          • A new function igetmxby() was added which returns the maximum size of a BUFR message that can be written to any output stream by the BUFRLIB software. This value can then be modified via a subsequent call to subroutine maxout().
                                          • -
                                          • Subroutine nemtbd() was modified to allow the last mnemonic in a sequence to be a "following value" mnemonic, for cases such as when it is being used as a coordinate descriptor and set to a value of "missing" to cancel a previous instance of the same descriptor.
                                          • -
                                          • A new subroutine setvalnb() was added which searches for a specified mnemonic in a subset definition, then searches forward or backward from that point for a different mnemonic and sets the associated value as specified by the user. It can be useful in certain application codes which write BUFR output.
                                          • -
                                          • Subroutines rdtree() and rcstpl() were modified to automatically identify certain cases where a decoded subset is corrupt and return this information to the application program via readsb() or ireadsb(), rather than continuing to try to decode the message which could in turn lead to a segmentation fault.
                                          • +
                                          • A new subroutine gettagre() was added which, given an element within a subset open for reading, determines if the element references another element within the same subset via an internal bitmap, and if so returns the referenced element along with its location in the subset.
                                          • +
                                          • A new function igetmxby() was added which returns the maximum size of a BUFR message that can be written to any output stream by the BUFRLIB software. This value can then be modified via a subsequent call to subroutine maxout().
                                          • +
                                          • Subroutine nemtbd() was modified to allow the last mnemonic in a sequence to be a "following value" mnemonic, for cases such as when it is being used as a coordinate descriptor and set to a value of "missing" to cancel a previous instance of the same descriptor.
                                          • +
                                          • A new subroutine setvalnb() was added which searches for a specified mnemonic in a subset definition, then searches forward or backward from that point for a different mnemonic and sets the associated value as specified by the user. It can be useful in certain application codes which write BUFR output.
                                          • +
                                          • Subroutines rdtree() and rcstpl() were modified to automatically identify certain cases where a decoded subset is corrupt and return this information to the application program via readsb() or ireadsb(), rather than continuing to try to decode the message which could in turn lead to a segmentation fault.
                                          • The build script makebufrlib.sh was updated to add a missing compiler option needed for compatibility with the Cray programming environment on the s_64 ("supersize") build.
                                          • -
                                          • A bug was fixed in subroutine ufbtab() which could occasionally lead to array maximums being exceeded and corrupted output when reading BUFR files.
                                          • +
                                          • A bug was fixed in subroutine ufbtab() which could occasionally lead to array maximums being exceeded and corrupted output when reading BUFR files.
                                          -

                                          +

                                          Version 11.1.0 - April 27, 2016

                                            -
                                          • Subroutine wrcmps() was modified to fix a bug involving the encoding of long character strings (via subroutine writlc()) into compressed messages which also contain delayed replication sequences.
                                          • -
                                          • Subroutine msgupd() was modified to always call subroutine usrtpl(), even for overlarge subsets which don''t get written to the output stream. This ensures that such subsets are properly flushed from internal arrays.
                                          • +
                                          • Subroutine wrcmps() was modified to fix a bug involving the encoding of long character strings (via subroutine writlc()) into compressed messages which also contain delayed replication sequences.
                                          • +
                                          • Subroutine msgupd() was modified to always call subroutine usrtpl(), even for overlarge subsets which don''t get written to the output stream. This ensures that such subsets are properly flushed from internal arrays.
                                          -

                                          +

                                          Version 11.0.2

                                            -
                                          • The build script makebufrlib.sh was updated for compatibility with the Cray programming environment, along with module MODA_MSTABS and functions icbfms() and isize(). All changes remain compatible with other supported environments.
                                          • +
                                          • The build script makebufrlib.sh was updated for compatibility with the Cray programming environment, along with module MODA_MSTABS and functions icbfms() and isize(). All changes remain compatible with other supported environments.
                                          -

                                          +

                                          Version 11.0.1

                                            -
                                          • Subroutines cpyupd(), ufbmem(), ufbmex() and ufbovr() were patched to include the proper declaration for IPRT, which is a global variable controlling the verbosity of diagnostic output.
                                          • -
                                          • Subroutine ufdump() was modified to include level identifiers for event stacks in the print output.
                                          • -
                                          • Subroutine wrcmps() was modified to fix a bug involving a variable that was not being saved between successive calls to this subroutine and which in rare cases could result in the loss of output subsets.
                                          • +
                                          • Subroutines cpyupd(), ufbmem(), ufbmex() and ufbovr() were patched to include the proper declaration for IPRT, which is a global variable controlling the verbosity of diagnostic output.
                                          • +
                                          • Subroutine ufdump() was modified to include level identifiers for event stacks in the print output.
                                          • +
                                          • Subroutine wrcmps() was modified to fix a bug involving a variable that was not being saved between successive calls to this subroutine and which in rare cases could result in the loss of output subsets.
                                          -

                                          +

                                          Version 11.0.0 - April 27, 2015

                                            -
                                          • A new subroutine rtrcptb() was added which works just like subroutine rtrcpt(), except that it operates on a BUFR message passed directly to it by a call argument, rather than on the last BUFR message that was indirectly read during the previous call to subroutine readmg(), readmm(), readerme() or equivalent. Subroutine rtrcpt() was correspondingly modified to now directly call rtrcptb(), to avoid maintaining the same program logic within two different subroutines.
                                          • -
                                          • The maximum number of delayed replication factors that can be passed in as input to subroutine drfini() was increased from 100 to 200.
                                          • -
                                          • Subroutine ufbseq() was modified to fix a bug involving nesting of delayed replication sequences. The subroutine would fail to store data properly in cases where the inner-nested sequence was not present (i.e. zero replications) within the first replication of the outer sequence.
                                          • -
                                          • The makebufrlib.sh build script was modified to automatically extract the version number for the current build from the source of subroutine bvers(). Previously this information had been hardcoded in multiple lines of the script.
                                          • -
                                          • The default directory location of the BUFR master tables in subroutine bfrini() was changed from "/nwprod/fix" to "/nwprod/decoders/decod_shared/fix".
                                          • -
                                          • A new subroutine nemspecs() was added which returns the scale factor, reference value and bit width corresponding to a specified occurrence of a given mnemonic within a subset definition, including accounting for any Table C operators such as 2-01-YYY, 2-02-YYY, 2-03-YYY, 2-07-YYY, 2-08-YYY, etc. which may be in effect for that particular occurrence of the mnemonic.
                                          • -
                                          • A new subroutine nemdefs() was added which returns the element definition and units associated with a given mnemonic.
                                          • -
                                          • Global parameter MXIMB was removed from the BUFRLIB, and the corresponding logic within subroutine mvb() was simplified to mitigate the need for it.
                                          • -
                                          • Subroutines msgupd(), cpyupd() and copysb() were modified to ensure that any subset larger than 65530 bytes is written to its own message in the output stream. This ensures that the subset byte count indicator, which is an NCEP local descriptor packed into 16 bits prior to each subset in a message, will not need to be relied upon in order to locate any subsequent subsets within the same message.
                                          • +
                                          • A new subroutine rtrcptb() was added which works just like subroutine rtrcpt(), except that it operates on a BUFR message passed directly to it by a call argument, rather than on the last BUFR message that was indirectly read during the previous call to subroutine readmg(), readmm(), readerme() or equivalent. Subroutine rtrcpt() was correspondingly modified to now directly call rtrcptb(), to avoid maintaining the same program logic within two different subroutines.
                                          • +
                                          • The maximum number of delayed replication factors that can be passed in as input to subroutine drfini() was increased from 100 to 200.
                                          • +
                                          • Subroutine ufbseq() was modified to fix a bug involving nesting of delayed replication sequences. The subroutine would fail to store data properly in cases where the inner-nested sequence was not present (i.e. zero replications) within the first replication of the outer sequence.
                                          • +
                                          • The makebufrlib.sh build script was modified to automatically extract the version number for the current build from the source of subroutine bvers(). Previously this information had been hardcoded in multiple lines of the script.
                                          • +
                                          • The default directory location of the BUFR master tables in subroutine bfrini() was changed from "/nwprod/fix" to "/nwprod/decoders/decod_shared/fix".
                                          • +
                                          • A new subroutine nemspecs() was added which returns the scale factor, reference value and bit width corresponding to a specified occurrence of a given mnemonic within a subset definition, including accounting for any Table C operators such as 2-01-YYY, 2-02-YYY, 2-03-YYY, 2-07-YYY, 2-08-YYY, etc. which may be in effect for that particular occurrence of the mnemonic.
                                          • +
                                          • A new subroutine nemdefs() was added which returns the element definition and units associated with a given mnemonic.
                                          • +
                                          • Global parameter MXIMB was removed from the BUFRLIB, and the corresponding logic within subroutine mvb() was simplified to mitigate the need for it.
                                          • +
                                          • Subroutines msgupd(), cpyupd() and copysb() were modified to ensure that any subset larger than 65530 bytes is written to its own message in the output stream. This ensures that the subset byte count indicator, which is an NCEP local descriptor packed into 16 bits prior to each subset in a message, will not need to be relied upon in order to locate any subsequent subsets within the same message.
                                          • Global parameter MAXSS (the maximum number of data values that can be read from or written into a subset by the BUFRLIB software) was increased from 80000 to 120000.
                                          • Subroutine RDMSGB, which was rendered obsolete with the addition of the embedded C-language I/O upgrade in version 10.2.0, has been removed.
                                          • -
                                          • A logical call argument was added to subroutine upc() to let the calling subprogram specify whether null characters should be converted to blanks. Previously, all null characters were converted to blanks by default.
                                          • -
                                          • New versions of all of the normal builds of BUFRLIB have been added which allow certain array sizes to be specified by the user at run time, with the corresponding arrays dynamically allocated at run time rather than statically allocated at compile time. The new builds contain the suffix "_DA" and can be used by application programs which need flexibility in defining size limits for certain outlier BUFR datasets. The size limits that can be modified are defined within new subroutine isetprm(), which must itself be called prior to the first call to subroutine openbf() for each new size limit that is to be modified from its default value. The corresponding arrays are then dynamically allocated during the subsequent first call to openbf(). As part of this enhancement, numerous subprograms within BUFRLIB have been rewritten to share memory using FORTRAN modules rather than common blocks, and new conditional compilation flags have been incorporated into these subprograms as well as to the makebufrlib.sh build script. This allows the same source code and build script to be used for both dynamic allocation and static allocation builds. Note that application programs which don't have a need to redefine any default array size limits may continue to use the existing static allocation builds for maximum runtime efficiency.
                                          • -
                                          • A new subroutine pkx() was added which works just like subroutine pkb(), except that it properly handles cases where the input value NBITS is greater than the number of bits in a machine word.
                                          • +
                                          • A logical call argument was added to subroutine upc() to let the calling subprogram specify whether null characters should be converted to blanks. Previously, all null characters were converted to blanks by default.
                                          • +
                                          • New versions of all of the normal builds of BUFRLIB have been added which allow certain array sizes to be specified by the user at run time, with the corresponding arrays dynamically allocated at run time rather than statically allocated at compile time. The new builds contain the suffix "_DA" and can be used by application programs which need flexibility in defining size limits for certain outlier BUFR datasets. The size limits that can be modified are defined within new subroutine isetprm(), which must itself be called prior to the first call to subroutine openbf() for each new size limit that is to be modified from its default value. The corresponding arrays are then dynamically allocated during the subsequent first call to openbf(). As part of this enhancement, numerous subprograms within BUFRLIB have been rewritten to share memory using FORTRAN modules rather than common blocks, and new conditional compilation flags have been incorporated into these subprograms as well as to the makebufrlib.sh build script. This allows the same source code and build script to be used for both dynamic allocation and static allocation builds. Note that application programs which don't have a need to redefine any default array size limits may continue to use the existing static allocation builds for maximum runtime efficiency.
                                          • +
                                          • A new subroutine pkx() was added which works just like subroutine pkb(), except that it properly handles cases where the input value NBITS is greater than the number of bits in a machine word.
                                          • Support was added for the processing of 2-2X, 2-3X and 2-4X non-marker operators when reading or writing BUFR messages, including when these operators are included in sequences within a BUFR DX table.
                                          • -
                                          • Subroutine stseq() was modified to fix a bug involving the application of associated fields to Table D sequence descriptors.
                                          • -
                                          • Function icbfms() was modified to improve the logic for identifying "missing" strings encoded as REAL*8 10E10 values prior to version 10.2.0 of the library.
                                          • +
                                          • Subroutine stseq() was modified to fix a bug involving the application of associated fields to Table D sequence descriptors.
                                          • +
                                          • Function icbfms() was modified to improve the logic for identifying "missing" strings encoded as REAL*8 10E10 values prior to version 10.2.0 of the library.
                                          -

                                          +

                                          Version 10.2.5

                                            -
                                          • Subroutine mesgbf() was modified to ensure that the input BUFR file is always closed before exiting the subroutine.
                                          • +
                                          • Subroutine mesgbf() was modified to ensure that the input BUFR file is always closed before exiting the subroutine.
                                          • Function cobfl() was modified to allow up to 500 characters in the path of the filename being opened.
                                          • -
                                          • A declaration typo was fixed in subroutine blocks().
                                          • +
                                          • A declaration typo was fixed in subroutine blocks().
                                          • Global parameter MAXNC (the maximum number of FXY descriptors that can be written into Section 3 of a BUFR message) was increased from 300 to 600.
                                          -

                                          +

                                          Version 10.2.4

                                          • Configuration files bufrlib.PRM and makebufrlib.sh were updated to generate a 4_32 build (4-byte REAL, 4-byte INT, 32-bit compilation) on the IBM CCS for version 10.2.3 of the BUFRLIB.
                                          -

                                          +

                                          Version 10.2.3 - June 21, 2013

                                            -
                                          • Subroutine rdusdx() was modified to prevent a segfault when trying to read DX dictionary information from an empty file.
                                          • +
                                          • Subroutine rdusdx() was modified to prevent a segfault when trying to read DX dictionary information from an empty file.
                                          -

                                          +

                                          Version 10.2.2

                                            -
                                          • Subroutine openbf() was modified to fix a bug which caused a segfault in certain cases when appending to a BUFR file using the embedded C-language I/O.
                                          • -
                                          • Subroutines readlc() and writlc() were modified to allow the input mnemonic string to be up to 14 characters when it contains a '#' condition code.
                                          • +
                                          • Subroutine openbf() was modified to fix a bug which caused a segfault in certain cases when appending to a BUFR file using the embedded C-language I/O.
                                          • +
                                          • Subroutines readlc() and writlc() were modified to allow the input mnemonic string to be up to 14 characters when it contains a '#' condition code.
                                          -

                                          +

                                          Version 10.2.1

                                          • A bug was fixed in the embedded C-language I/O to account for the difference in index numbering between Fortran and C arrays.
                                          -

                                          +

                                          Version 10.2.0 - October 19, 2012

                                          • The makebufrlib.sh script was modified to streamline the endianness check and make it more portable.
                                          • -
                                          • Subroutine wrtree() was modified to ensure that "missing" character strings are properly encoded with all bits set to 1.
                                          • -
                                          • A new function icbfms() was added which tests whether decoded character strings are "missing" by checking if all of the equivalent bits are set to 1. This was done because, on certain platforms, the BUFRLIB REAL*8 "missing" value BMISS is not always equivalent to all bits set to 1 when viewed as a character string, and thus the existing BUFRLIB function ibfms() did not always work properly in such cases. However, users can continue to use the existing IBFMS function in application programs, because the new icbfms() function has now been incorporated internally within the logic of many BUFRLIB subroutines, in addition to also being available for direct calling by application programs.
                                          • -
                                          • Subroutines readmg() and readerme() were modified to prevent the BUFRLIB from internally adjusting to DX (dictionary) table messages when Section 3 decoding is being used. Otherwise, contention can occur between the table information in the DX messages and the table information specified within the Section 3 descriptors. From now on, whenever Section 3 decoding is used (as specified by setting IO="SEC3" when opening a file via openbf()), the BUFRLIB will now treat any DX (dictionary) table message the same as any other message and decode the actual data (i.e. table) values according to Section 3.
                                          • -
                                          • Subroutine openbf() was modified to allow a new option for input call argument IO. If this argument is set to 'INUL', then the BUFRLIB will behave the same as when IO='IN', except that it will never try to actually read anything from the file attached to input call argument LUNIT. This can be useful for some special cases, such as when the user plans to pass input messages to the BUFRLIB using subsequent calls to subroutine readerme().
                                          • -
                                          • A new subroutine gettagpr() was added which returns the mnemonic corresponding to a parent sequence in a subset definition, given the mnemonic corresponding to a child descriptor within that sequence. This can be useful in certain application codes, especially when Section 3 decoding is being used.
                                          • -
                                          • A new function getvalnb() was added which searches for a specified mnemonic in a subset definition, then searches forward or backward from that point for a different mnemonic and returns the associated value. This can be useful in certain application codes, especially when Section 3 decoding is being used.
                                          • -
                                          • Functionality was added to improve the portability of reading and writing BUFR messages across different platforms. All calls to existing FORTRAN subroutines which read or write BUFR messages from disk (e.g. readmg(), ufbmem(), ufbtab(), writsb(), wrcmps(), copymg(), etc.) now use embedded C-language I/O to perform these tasks. Among other things, this means that any BUFR file can now be read regardless of whether it has been pre-blocked with FORTRAN control words using the cwordsh utility. For writing BUFR files, a new subroutine setblock() was added which allows users to specify whether output BUFR messages are to be unblocked (which is the new default), big-endian blocked, or little-endian blocked.
                                          • -
                                          • A new subroutine setbmiss() was added which allows users to specify a custom "missing" value for writing to and reading from BUFR files, rather than using the BUFRLIB default "missing" value of 10E10. A corresponding function getbmiss() was also added which returns the current "missing" value in use.
                                          • +
                                          • Subroutine wrtree() was modified to ensure that "missing" character strings are properly encoded with all bits set to 1.
                                          • +
                                          • A new function icbfms() was added which tests whether decoded character strings are "missing" by checking if all of the equivalent bits are set to 1. This was done because, on certain platforms, the BUFRLIB REAL*8 "missing" value BMISS is not always equivalent to all bits set to 1 when viewed as a character string, and thus the existing BUFRLIB function ibfms() did not always work properly in such cases. However, users can continue to use the existing IBFMS function in application programs, because the new icbfms() function has now been incorporated internally within the logic of many BUFRLIB subroutines, in addition to also being available for direct calling by application programs.
                                          • +
                                          • Subroutines readmg() and readerme() were modified to prevent the BUFRLIB from internally adjusting to DX (dictionary) table messages when Section 3 decoding is being used. Otherwise, contention can occur between the table information in the DX messages and the table information specified within the Section 3 descriptors. From now on, whenever Section 3 decoding is used (as specified by setting IO="SEC3" when opening a file via openbf()), the BUFRLIB will now treat any DX (dictionary) table message the same as any other message and decode the actual data (i.e. table) values according to Section 3.
                                          • +
                                          • Subroutine openbf() was modified to allow a new option for input call argument IO. If this argument is set to 'INUL', then the BUFRLIB will behave the same as when IO='IN', except that it will never try to actually read anything from the file attached to input call argument LUNIT. This can be useful for some special cases, such as when the user plans to pass input messages to the BUFRLIB using subsequent calls to subroutine readerme().
                                          • +
                                          • A new subroutine gettagpr() was added which returns the mnemonic corresponding to a parent sequence in a subset definition, given the mnemonic corresponding to a child descriptor within that sequence. This can be useful in certain application codes, especially when Section 3 decoding is being used.
                                          • +
                                          • A new function getvalnb() was added which searches for a specified mnemonic in a subset definition, then searches forward or backward from that point for a different mnemonic and returns the associated value. This can be useful in certain application codes, especially when Section 3 decoding is being used.
                                          • +
                                          • Functionality was added to improve the portability of reading and writing BUFR messages across different platforms. All calls to existing FORTRAN subroutines which read or write BUFR messages from disk (e.g. readmg(), ufbmem(), ufbtab(), writsb(), wrcmps(), copymg(), etc.) now use embedded C-language I/O to perform these tasks. Among other things, this means that any BUFR file can now be read regardless of whether it has been pre-blocked with FORTRAN control words using the cwordsh utility. For writing BUFR files, a new subroutine setblock() was added which allows users to specify whether output BUFR messages are to be unblocked (which is the new default), big-endian blocked, or little-endian blocked.
                                          • +
                                          • A new subroutine setbmiss() was added which allows users to specify a custom "missing" value for writing to and reading from BUFR files, rather than using the BUFRLIB default "missing" value of 10E10. A corresponding function getbmiss() was also added which returns the current "missing" value in use.
                                          -

                                          +

                                          Version 10.1.0 - June 11, 2012

                                            -
                                          • Subroutine ufdump() was modified to fix a bug when checking for the "missing" value in long character strings (i.e. longer than 8 bytes).
                                          • -
                                          • A new subroutine ufbmex() was added for use with certain application programs. ufbmex() functions similarly to ufbmem(), but has an additional return argument containing an array of message types corresponding to the array of messages that were read into internal memory.
                                          • +
                                          • Subroutine ufdump() was modified to fix a bug when checking for the "missing" value in long character strings (i.e. longer than 8 bytes).
                                          • +
                                          • A new subroutine ufbmex() was added for use with certain application programs. ufbmex() functions similarly to ufbmem(), but has an additional return argument containing an array of message types corresponding to the array of messages that were read into internal memory.
                                          • Subroutines ADDATE, IUPBS1, IUPVS1, LJUST, LSTRPC, LSTRPS, SUBUPD, POSAPN and PARSEQ, which had been marked as obsolete within a previous version of BUFRLIB, have now been deleted.
                                          • Several global parameters were increased in "bufrlib.PRM". Specifically, MAXTBA (the maximum number of Table A entries for a BUFR file) was increased from 120 to 150, and MXDXTS (the maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory) was increased from 10 to 200.
                                          • -
                                          • Subroutine conwin() was modified to fix a bug and remove an obsolete call argument.
                                          • -
                                          • Subroutine wrcmps() was modified to fix a bug involving embedded tables within a file of compressed BUFR messages.
                                          • +
                                          • Subroutine conwin() was modified to fix a bug and remove an obsolete call argument.
                                          • +
                                          • Subroutine wrcmps() was modified to fix a bug involving embedded tables within a file of compressed BUFR messages.
                                          • Documentation was improved in many subroutines throughout the library.
                                          • Support has been added for the 2-03-YYY "change reference values" operator.
                                          • -
                                          • Subroutine usrtpl() was modified to fix a bug that was incorrectly using parameter MAXJL instead of parameter MAXSS when checking for overflow of an internal template array.
                                          • -
                                          • Subroutine wrdxtb() was modified to prevent it from trying to store more than 255 Table A, Table B or Table D descriptors in a single DX dictionary message. The maximum value was set to 255 since regular 8-bit delayed replication is used to store descriptor information in these messages.
                                          • -
                                          • Subroutine tabsub() was modified to correctly generate the jump/link table for subsets where a Table C operator immediately follows a Table D sequence.
                                          • +
                                          • Subroutine usrtpl() was modified to fix a bug that was incorrectly using parameter MAXJL instead of parameter MAXSS when checking for overflow of an internal template array.
                                          • +
                                          • Subroutine wrdxtb() was modified to prevent it from trying to store more than 255 Table A, Table B or Table D descriptors in a single DX dictionary message. The maximum value was set to 255 since regular 8-bit delayed replication is used to store descriptor information in these messages.
                                          • +
                                          • Subroutine tabsub() was modified to correctly generate the jump/link table for subsets where a Table C operator immediately follows a Table D sequence.
                                          -

                                          +

                                          Version 10.0.1

                                            -
                                          • Subroutine rewnbf() was modified to fix a bug which skipped the first data message after a file rewind.
                                          • +
                                          • Subroutine rewnbf() was modified to fix a bug which skipped the first data message after a file rewind.
                                          -

                                          +

                                          Version 10.0.0 - August 12, 2010

                                          • Subroutines PKVS1, OVRBS1, NMBYT, READIBM, IREADIBM, READFT, IREADFT and MOVA2I, which had been marked as obsolete within a previous version of BUFRLIB, have now been deleted.
                                          • A new global parameter MAXSS was defined for use as the maximum number of data values that can be read from or written into a single data subset by the BUFRLIB software. Previously, the separate global parameter MAXJL was used to define this limit. MAXJL will now be used solely to define the maximum number of internal jump/link table entries.
                                          • -
                                          • The size of a string declaration was increased within subroutine rdusdx().
                                          • -
                                          • Subroutine readlc() was modified to enable the extraction of "long" (i.e. greater than 8 bytes) character strings from compressed messages. In addition, it is now possible to access all occurrences of such a string from within a given data subset, via the use of the new mnemonic condition character '#'. Previously, readlc() could only ever access the first occurrence of any "long" character string from within a data subset.
                                          • -
                                          • Subroutine writlc() was modified to allow the writing of "long" (i.e. greater than 8 bytes) character strings within compressed messages. In addition, it is now possible to write all occurrences of such a string into a given data subset, via the use of the new mnemonic condition character '#'. Previously, writlc() could only ever locate and write the first occurrence of any "long" character string within a data subset.
                                          • -
                                          • Subroutine ufdump() was modified to label each output level for sequences where the replication count is greater than 1. In addition, it will now output all occurrences of "long" (i.e. greater than 8 bytes) character strings from within a given data subset.
                                          • -
                                          • Subroutine rdcmps() was modified to fix a bug which could cause the overflow of internal arrays when working with long character strings (i.e. longer than 8 bytes).
                                          • -
                                          • Subroutine nvnwin() was modified to fix a bug which could cause the overflow of an internal array during initialization on certain operating systems.
                                          • -
                                          • A new subroutine bvers() was added as a resource for managing and reporting library version numbers.
                                          • -
                                          • The fuzziness threshold in function ibfms() was increased for improved accuracy when testing for the BUFRLIB "missing" value.
                                          • -
                                          • A new subroutine iupbs3() was added which unpacks specified values from Section 3, including subset counts and compression indicators. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                          • -
                                          • Subroutines readerme(), rdmsgw() and RDMSGB were modified to prevent the overflow of an internal array for extremely large BUFR messages.
                                          • -
                                          • Subroutine upds3() was modified to pass in a new input argument containing the dimensioned size of the output array, in order to prevent the subroutine from possibly overflowing the array.
                                          • -
                                          • Subroutine writsa() was modified to pass in a new input argument containing the dimensioned size of the output array, in order to prevent the subroutine from possibly overflowing the array.
                                          • -
                                          • A new capability was added to BUFRLIB to enable the decoding of a BUFR message according to its data description section (Section 3). This is activated by setting IO="SEC3" when opening the file via subroutine openbf(). Master tables containing all possible BUFR descriptors are also required, and these may be specified via a call to new subroutine mtinfo() or by using default values specified within subroutine bfrini(). If the default values are used, then FORTRAN logical unit numbers 98 and 99 will be allocated by the BUFRLIB for opening and reading the master tables. This new capability allows BUFR messages to be decoded without pre-defined DX dictionary files.
                                          • -
                                          • Subroutine readmm() was re-written to directly call subroutine rdmemm() instead of duplicating all of the code logic in rdmemm().
                                          • -
                                          • Subroutine upb() was re-written to directly call subroutine upbb() instead of duplicating all of the code logic in upbb().
                                          • -
                                          • Subroutine POSAPN has been marked as obsolete (for future removal from BUFRLIB). The same functionality can now be obtained via the use of subroutine posapx().
                                          • -
                                          • Subroutine wrcmps() was modified to fix a bug involving the writing of compressed subsets which contain delayed replication. In certain situations, the values of two internal variables were not being properly saved between successive calls to the subroutine.
                                          • -
                                          • Changes were made so that the BUFRLIB will automatically read and adjust to any DX table (dictionary) messages internal to a file. Previously, the software would only ever process such messages at the beginning of a file, so that all subsequent data messages in that file were required to conform to these initial dictionary messages, and any subsequent dictionary messages in the file were simply ignored. Now, any subsequent dictionary messages will cause the BUFRLIB to adjust its internal processing tables and treat all subsequent data messages as conforming to these new dictionary messages, up through the end of the file or until yet another set of dictionary messages is encountered. These changes affect all BUFRLIB subroutines which read BUFR messages from a file, including readmg(), ireadmg(), readmm(), ireadmm(), rdmemm(), readns() and ireadns().
                                          • +
                                          • The size of a string declaration was increased within subroutine rdusdx().
                                          • +
                                          • Subroutine readlc() was modified to enable the extraction of "long" (i.e. greater than 8 bytes) character strings from compressed messages. In addition, it is now possible to access all occurrences of such a string from within a given data subset, via the use of the new mnemonic condition character '#'. Previously, readlc() could only ever access the first occurrence of any "long" character string from within a data subset.
                                          • +
                                          • Subroutine writlc() was modified to allow the writing of "long" (i.e. greater than 8 bytes) character strings within compressed messages. In addition, it is now possible to write all occurrences of such a string into a given data subset, via the use of the new mnemonic condition character '#'. Previously, writlc() could only ever locate and write the first occurrence of any "long" character string within a data subset.
                                          • +
                                          • Subroutine ufdump() was modified to label each output level for sequences where the replication count is greater than 1. In addition, it will now output all occurrences of "long" (i.e. greater than 8 bytes) character strings from within a given data subset.
                                          • +
                                          • Subroutine rdcmps() was modified to fix a bug which could cause the overflow of internal arrays when working with long character strings (i.e. longer than 8 bytes).
                                          • +
                                          • Subroutine nvnwin() was modified to fix a bug which could cause the overflow of an internal array during initialization on certain operating systems.
                                          • +
                                          • A new subroutine bvers() was added as a resource for managing and reporting library version numbers.
                                          • +
                                          • The fuzziness threshold in function ibfms() was increased for improved accuracy when testing for the BUFRLIB "missing" value.
                                          • +
                                          • A new subroutine iupbs3() was added which unpacks specified values from Section 3, including subset counts and compression indicators. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                          • +
                                          • Subroutines readerme(), rdmsgw() and RDMSGB were modified to prevent the overflow of an internal array for extremely large BUFR messages.
                                          • +
                                          • Subroutine upds3() was modified to pass in a new input argument containing the dimensioned size of the output array, in order to prevent the subroutine from possibly overflowing the array.
                                          • +
                                          • Subroutine writsa() was modified to pass in a new input argument containing the dimensioned size of the output array, in order to prevent the subroutine from possibly overflowing the array.
                                          • +
                                          • A new capability was added to BUFRLIB to enable the decoding of a BUFR message according to its data description section (Section 3). This is activated by setting IO="SEC3" when opening the file via subroutine openbf(). Master tables containing all possible BUFR descriptors are also required, and these may be specified via a call to new subroutine mtinfo() or by using default values specified within subroutine bfrini(). If the default values are used, then FORTRAN logical unit numbers 98 and 99 will be allocated by the BUFRLIB for opening and reading the master tables. This new capability allows BUFR messages to be decoded without pre-defined DX dictionary files.
                                          • +
                                          • Subroutine readmm() was re-written to directly call subroutine rdmemm() instead of duplicating all of the code logic in rdmemm().
                                          • +
                                          • Subroutine upb() was re-written to directly call subroutine upbb() instead of duplicating all of the code logic in upbb().
                                          • +
                                          • Subroutine POSAPN has been marked as obsolete (for future removal from BUFRLIB). The same functionality can now be obtained via the use of subroutine posapx().
                                          • +
                                          • Subroutine wrcmps() was modified to fix a bug involving the writing of compressed subsets which contain delayed replication. In certain situations, the values of two internal variables were not being properly saved between successive calls to the subroutine.
                                          • +
                                          • Changes were made so that the BUFRLIB will automatically read and adjust to any DX table (dictionary) messages internal to a file. Previously, the software would only ever process such messages at the beginning of a file, so that all subsequent data messages in that file were required to conform to these initial dictionary messages, and any subsequent dictionary messages in the file were simply ignored. Now, any subsequent dictionary messages will cause the BUFRLIB to adjust its internal processing tables and treat all subsequent data messages as conforming to these new dictionary messages, up through the end of the file or until yet another set of dictionary messages is encountered. These changes affect all BUFRLIB subroutines which read BUFR messages from a file, including readmg(), ireadmg(), readmm(), ireadmm(), rdmemm(), readns() and ireadns().
                                          • Subroutine ADDATE has been marked as obsolete (for future removal from BUFRLIB) since it is no longer called by any BUFRLIB routines. The same functionality can now be obtained via the use of subroutine W3MOVDAT in the NCEP W3 library.
                                          • -
                                          • Subroutine SUBUPD has been marked as obsolete (for future removal from BUFRLIB) since it is no longer called by any BUFRLIB routines and is almost an exact replica of subroutine msgupd(). The same functionality can now be obtained via the use of subroutine msgupd().
                                          • -
                                          • A new logical function msgfull() was added which determines whether there is enough room to store the current data subset within the current BUFR message for output. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                          • -
                                          • A new capability was added to BUFRLIB to allow it to append a tank receipt time to Section 1 within all future BUFR messages written to output by subroutines writsb(), copymg() or equivalent. The tank receipt time is a local extension to Section 1; however, its inclusion in a message is still fully compliant with the WMO BUFR regulations. This new capability is activated via an initial call to new subroutine strcpt(), specifying the time to be appended to Section 1 within all future BUFR messages written to output. This same information can then be read back from an input BUFR message via a call to new subroutine rtrcpt().
                                          • -
                                          • Subroutine numtab() was re-written to directly call subroutine numtbd() instead of duplicating all of the code logic in numtbd().
                                          • -
                                          • Subroutine nemtba() was re-written to directly call subroutine nemtbax() instead of duplicating all of the code logic in nemtbax().
                                          • +
                                          • Subroutine SUBUPD has been marked as obsolete (for future removal from BUFRLIB) since it is no longer called by any BUFRLIB routines and is almost an exact replica of subroutine msgupd(). The same functionality can now be obtained via the use of subroutine msgupd().
                                          • +
                                          • A new logical function msgfull() was added which determines whether there is enough room to store the current data subset within the current BUFR message for output. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                          • +
                                          • A new capability was added to BUFRLIB to allow it to append a tank receipt time to Section 1 within all future BUFR messages written to output by subroutines writsb(), copymg() or equivalent. The tank receipt time is a local extension to Section 1; however, its inclusion in a message is still fully compliant with the WMO BUFR regulations. This new capability is activated via an initial call to new subroutine strcpt(), specifying the time to be appended to Section 1 within all future BUFR messages written to output. This same information can then be read back from an input BUFR message via a call to new subroutine rtrcpt().
                                          • +
                                          • Subroutine numtab() was re-written to directly call subroutine numtbd() instead of duplicating all of the code logic in numtbd().
                                          • +
                                          • Subroutine nemtba() was re-written to directly call subroutine nemtbax() instead of duplicating all of the code logic in nemtbax().
                                          • Documentation was improved within numerous subroutines throughout BUFRLIB, including the addition of docblocks where none previously existed.
                                          • -
                                          • The default BUFR master table version number was changed from "12" to "13" within subroutines cmsgini(), dxmini() and msgini().
                                          • -
                                          • A new capability was added to allow BUFRLIB print diagnostics and other runtime messages to be redirected somewhere other than the default FORTRAN logical unit 6 (i.e. standard output). This is enabled within an application program by supplying an in-line version of subroutine errwrt() to override the new default version of this subroutine provided within the BUFRLIB. The default version will continue to write to standard output when included within a compilation.
                                          • -
                                          • Subroutines cmsgini(), stndrd() and msgwrt() were modified to remove a logical error which assumed that any message whose data section (Section 4) was compressed was also fully standard. In reality, the use of compression only implies that the data section is fully standard and does not necessarily imply that the data description section (Section 3) is also fully standard. BUFRLIB will now address the standardization of Section 3 solely within subroutine stndrd(), independent of whether or not the data in Section 4 are compressed.
                                          • -
                                          • Functions LSTRPC and LSTRPS have been marked as obsolete (for future removal from BUFRLIB). The same functionality can now be obtained via the use of function lstjpb().
                                          • -
                                          • Subroutine ufbtab() was modified to fix a bug involving the unpacking of character strings which are identical within each subset of a single compressed BUFR message.
                                          • +
                                          • The default BUFR master table version number was changed from "12" to "13" within subroutines cmsgini(), dxmini() and msgini().
                                          • +
                                          • A new capability was added to allow BUFRLIB print diagnostics and other runtime messages to be redirected somewhere other than the default FORTRAN logical unit 6 (i.e. standard output). This is enabled within an application program by supplying an in-line version of subroutine errwrt() to override the new default version of this subroutine provided within the BUFRLIB. The default version will continue to write to standard output when included within a compilation.
                                          • +
                                          • Subroutines cmsgini(), stndrd() and msgwrt() were modified to remove a logical error which assumed that any message whose data section (Section 4) was compressed was also fully standard. In reality, the use of compression only implies that the data section is fully standard and does not necessarily imply that the data description section (Section 3) is also fully standard. BUFRLIB will now address the standardization of Section 3 solely within subroutine stndrd(), independent of whether or not the data in Section 4 are compressed.
                                          • +
                                          • Functions LSTRPC and LSTRPS have been marked as obsolete (for future removal from BUFRLIB). The same functionality can now be obtained via the use of function lstjpb().
                                          • +
                                          • Subroutine ufbtab() was modified to fix a bug involving the unpacking of character strings which are identical within each subset of a single compressed BUFR message.
                                          -

                                          +

                                          May 28, 2008

                                          • Subroutine BORT_EXIT was modified to fix a faulty ANSI-C declaration. This had been silently ignored by the IBM CCS compiler but was a portability issue for other compilers.
                                          • @@ -332,7 +345,7 @@

                                          • Subroutine DXDUMP was modified to correct a bug which caused the truncation of output reference values longer than 8 digits.
                                          • Several global parameters were increased in "bufrlib.PRM". Specifically, MXCDV (the maximum number of data values per subset in a compressed BUFR message) was increased from 2000 to 3000, and MAXMEM (the maximum number of bytes that can be used to store BUFR messages within internal memory) was increased from 50Mb to 75Mb within the "supersized" BUFRLIB.
                                          -

                                          +

                                          February 6, 2007

                                          • Several global parameters were increased in "bufrlib.PRM". Specifically, MAXTBA, MAXTBB and MAXTBD (the maximum numbers of internal Table A, B and D entries, respectively) were increased from 60, 250 and 250 to 120, 500 and 500, respectively, and MAXJL (the maximum number of internal jump/link table entries) was increased from 16000 to 20000.
                                          • @@ -345,7 +358,7 @@

                                          • Subroutine UFBTAB was modified to add a required declaration for a local character variable. This had been silently ignored by the IBM CCS compiler but was a portability issue for other compilers.
                                          • Subroutine RDUSDX was modified to abort if it encounters a user-defined BUFR message whose message type is set to 11. This value is reserved for internal dictionary messages.
                                          -

                                          +

                                          January 31, 2006

                                          • Documentation was improved and/or clarified within many existing routines throughout BUFRLIB.
                                          • @@ -375,7 +388,7 @@

                                          • Subroutine UFBTAB was modified to work for compressed BUFR messages. An option to return only the subset count (when the input unit number is less than zero) was also added.
                                          • Subroutine COPYSB was modified to now write out a compressed subset/message if the input subset/message is compressed (before this subroutine could only write out an uncompressed subset/message regardless of the compression status of the input subset/message).
                                          -

                                          +

                                          December 21, 2004

                                          • New subroutines ISTDESC, RESTD, WRDESC, CADN30, STDMSG and STNDRD have been added to provide the capability to expand Section 3 of output BUFR messages until they are completely "standard" according to the WMO FM-94 regulations. The logic is activated via an initial call to STDMSG.
                                          • @@ -404,7 +417,7 @@

                                          • New subroutine DXDUMP was added which outputs an ASCII-formatted copy of the information embedded within the DX dictionary messages of a BUFR file. It is especially useful for learning the contents of archived BUFR files, and the output is in a format suitable for subsequent input to OPENBF as a user-defined dictionary tables file.
                                          • Subroutines DATELEN, DATEBF and DUMPBF were all modified to call subroutine WRDLEN to initialize local machine information (in case it has not already been called). These routines do not require this information but they may now or someday call other routines that do require it.
                                          -

                                          +

                                          November 4, 2003

                                          This is the first "unified" BUFR Archive Library including components from the regular NCEP production machine version (whose implementation history is documented to this point), the decoder version (previously on a workstation but now on the IBM Frost and Snow machines), and a checkout NCEP/EMC grid-to-obs verification version. This version is portable to all platforms (as necessary for WRF), contains docblocks for each routine with a complete program history log, and outputs more complete diagnostic information when routines terminate abnormally, unusual things happen or for informational purposes.

                                          The following libraries are now generated on the NCEP IBM Frost and Snow machines:

                                          @@ -466,7 +479,7 @@

                                        • Subroutines CKTABA, CMSGINI, NUMTAB, PARUSR, PARUTG, RCSTPL, USRTPL, WRDLEN, WRTREE and XMSGINI modified to correct some minor bugs (uninitialized variables, etc.) (see subroutine DOCBLOCKS for more information). (See also 29 for PARUTG, RCSTPL, USRTPL, WRTREE and 32 for RCSTPL.)
                                        • Subroutine UFBDMP modified to add "fuzziness" about 10E10 in test for a missing value (rather than true equality as before) because some missing values (e.g., character strings < 8 characters) were not getting stamped out as "MISSING". Also added option to print values using format edit descriptor "F15.6" if input argument LUNIN is < zero. If LUNIN is > zero edit descriptor expanded from "G10.3" to "G15.6". (See also 29 for UFBDMP.)
                                        -

                                        +

                                        May 19, 2003

                                        The following changes have been made in the BUFR Archive Library:

                                          @@ -483,7 +496,7 @@

                                        • libbufr_8.a – 8-byte reals, 8-byte integers, 64-bit executable compilation
                                        • libbufr_d.a – 8-byte reals, 4-byte integers, 64-bit executable compilation
                                        -

                                        +

                                        May 14, 2002

                                        A number of routines in the BUFR Archive Library have been modified. These changes include:

                                          @@ -503,13 +516,13 @@

                                        • Removed subroutine JSTIFY because it was a dummy subroutine with two entry points for left justifying two different types of character strings. Part of conversion of entry points to separate subroutines or functions. See number 1 above.
                                        • Removed subroutine NENUCK because it was a dummy subroutine with two entry points for checking the BUFR mnemonic table. Part of conversion of entry points to separate subroutines or functions. See number 1 above.
                                        -

                                        +

                                        August 15, 2001

                                        • Parameter MAXMEM (the maximum number of bytes required to store all messages internally) was increased from 8 MBYTES TO 16 MBYTES in the following subroutines: CPYMEM, RDMEMM, RDMEMS, READMM, UFBMEM, UFBMMS, UFBMNS, UFBRMS and UFBTAM.
                                        • Subroutine UFBTAM modified to not abort when there are too many subsets coming in (i.e., .gt. array limit passed in), but rather to just process the limiting number of reports and print a diagnostic.
                                        -

                                        +

                                        September 19, 2000

                                        A number of routines in the BUFR Archive Library have been modified. These changes include:

                                          @@ -524,7 +537,7 @@

                                        The BUFR Archive Library is now compiled using both optimization level 3 (-O3) and optimization level 4 (-O4). The previous BUFR Archive Library had used only -O4. The -O3 compilation here generates the same archive library names as before. Thus, any code that is recompiled from an unchanged makefile will now link in the appropriate -O3 library, rather than the -O4 library as before. The new -O4 libraries all have the string "_O4" appended to the end of the filename.

                                        Any program that must link to the -O4 BUFR Archive Library when compiled will have to modify its makefile.

                                        -

                                        +

                                        July 13, 1999

                                        • A number of routines in the BUFR Archive Library have been modified to increase the number of BUFR files which can be opened at one time from 10 to 32. This is necessary in order to process multiple BUFR files under the MPI. The following routines were modified: BFRINI, CHEKSTAB, CLOSMG, CONWIN, COPYMG, COPYSB, CPBFDX, CPYMEM, CPYUPD, DXINIT, ELEMDX, GETWIN, IFBGET, INVCON, INVMRG, INVTAG, INVWIN, LSTJPD, LSTRPC, LSTRPS, MAKESTAB, MSGINI, MSGUPD, NEMTAB, NEMTBA, NEMTBD, NENUCK, NEWWIN, NMSUB, NUMTAB, NVNWIN, NWORDS, NXTWIN, OPENBF, OPENMB, OPENMG, PARUTG, PKTDD, RCSTPL, RDBFDX, RDMEMM, RDMEMS, RDTREE, RDTRER, RDUSDX, READERM, READERME, READERS, READFT, READMG, READNS, READSB, READTJ, STATUS, STRING, TRYBUMP, UFBCNT, UFBCPY, UFBCUP, UFBDMP, UFBEVN, UFBGET, UFBINT, UFBOVR, UFBREP, UFBRP, UFBRW, UFBTAB, UFBTAM, UNCMPS, UPTDD, USRTPL, WRITDX, WRTREE, WTSTAT.
                                        • @@ -538,30 +551,30 @@

                                        • The function formerly called VAL$ has been renamed to VALX to remove the possibility of the "$" symbol causing problems on other platforms. In turn subroutine NEMTBB has been modified to call function VALX rather than VAL$.
                                        • New subroutines UFBSTP and UFBSP added (UFBSP is called by UFBSTP).
                                        -

                                        +

                                        December 14, 1998

                                        • Subroutine MSGUPD was updated to bybass the processing of reports that are longer than the length of a BUFR message. Prior to this change, the BUFR Archive Library would issue an abort in the event of this rare, but possible occurrence which occurred at 12Z on 4 December in the RGL suite.
                                        • In addition, function I4DY was modified to use 20 as the 2-digit year for windowing to a 4-digit year (00-20 ==> add 2000; 21-99 ==> add 1900). This windowing technique was inadvertently changed to 10 in the previous implementation of the BUFR Archive Library.
                                        -

                                        +

                                        November 24, 1998

                                        • Function I4DY and subroutine MSGWRT were changed as a result of final Y2K testing of the decoder/ingest system.
                                        • I4DY was changed to conform to the NCEP 2-digit year time-window of 1921-2020.
                                        • MSGWRT was changed to zero out the padding bytes written at the end of Section 4.
                                        -

                                        +

                                        October 27, 1998

                                        • The BUFR Archive Library is being modified to correct problems caused by in-lining code with fpp directives. The following subroutines are being changed: DATEBF, MVB, RCSTPL, RDMEMS, RDTREE, RDTRER, UFBGET, UFBRW, UFBTAB, UFBTAM and UPBB.
                                        -

                                        +

                                        August 31, 1998

                                        • BUFR Archive Library subroutine DATEBF, which returns the center date-time for a BUFR data dump file, is being modified to correct an error which lead to the year being returned in the second argument as 2-digit year when a 4-digit year was requested via a prior call to subroutine DATELEN. The center date returned in the sixth argument, in the form YYYYMMDDHH, was correct in the previous version of this subroutine.
                                        -

                                        +

                                        July 8, 1998

                                        The new version of the BUFR Archive Library is Y2K compliant, with additional changes to support expanded machine independence of the code, and to refine, correct, or improve some of the routines within. Although nearly every one of library routines has some change made (mainly because of the introduction of a more general error exit subroutine), the changes largely fall into the first two categories. Three new routines were also added to the BUFR Archive Library for micellaneous puposes.

                                        Y2K Compliance

                                        @@ -574,25 +587,25 @@

                                        Many of the BUFR Archive Library routines perform internal testing during operation in order to prevent certain situation from generating mysterious aborts, or, even worse, giving the wrong answers. The original library utilized the Cray library routine ABORT to terminate a program when such a situation was found. The new library uses a new inernal subroutine, BORT, to accomplish this. The list of routines changed for this purpose is as follows: ADN30, CHEKSTAB, CLOSMG, COPYBF, COPYMG, COPYSB, CPYMEM, CPYUPD, DATEBF, DRSTPL, DUMPBF, DXMINI, ELEMDX, GETWIN, IDN30, IFBGET, INCTAB, INVMRG, IPKM, IUPM, JSTIFY, LSTJPB, LSTRPC, LSTRPS, MAKESTAB, MSGINI, MSGUPD, MSGWRT, MVB, NEMTBA, NEMTBB, NEMTBD, NENUCK, NEWWIN, NMSUB, NVNWIN, NXTWIN, OPENMB, OPENMG, OPENBF, PAD, PARSEQ, PARUSR, PARUTG, PKC, POSAPN, POSAPX, RCSTPL, RDBFDX, RDMEMM, RDMEMS, RDUSDX, READDX, READERM, READERME, READERS, READFT, READMG, READNS, READSB, READTJ, SEQSDX, STANDARD, STATUS, STRING, TABENT, TABSUB, UFBCNT, UFBCPY, UFBCUP, UFBDMP, UFBEVN, UFBGET, UFBINT, UFBMEM, UFBMMS, UFBMNS, UFBOVR, UFBQCD, UFBQCP, UFBREP, UFBRMS, UFBTAM, UPTDD, USRTPL, VAL$, WRDLEN, WRITDX, WRITSA, WRITSB, WTSTAT

                                        New Code Added

                                        I4DY the two/four digit year conversion function LJUST a character left justify function OPENBT A dummy entry point which is relevant to users of the READTJ subroutine

                                        -

                                        +

                                        April 2, 1998

                                        • BUFR Archive Library subroutine STRCLN, which initializes the mnemonic string cache in the BUFR interface, is being modified to enlarge the cache from 50 elements to 1000, maximum.
                                        • BUFR Archive Library subroutine STRING manages the mnemonic string cache in the BUFR interface. The mnemonic string cache is a performance enhancing device which saves time when the same mnemonic strings are encountered in a user program, over and over again (the typical scenario). It is being modified to operate a bigger cache, and some optimization of the cache search algorithm is being made in support of a bigger cache.
                                        -

                                        +

                                        September 3, 1997

                                        • Changes are being made to the BUFR Archive Library to recompile all routines without the -ez compiler option. The removal of this debugging option should speed up the execution of all modules which are linked with BUFR Archive Library routines.
                                        • In addition, a new subroutine, STANDARD, is being added to the library. This subroutine "standardizes" NCEP BUFR messages for transmission. It was requested to process hurricane location data.
                                        -

                                        +

                                        July 29, 1997

                                        • Three BUFR Archive Library subroutines were modified to update the current BUFR version information written into Section 0 of each message: DXMINI, MSGINI and MSGWRT. Version 3 replaces version 2.
                                        • Three additional subroutines were modified to enable them to process GOES soundings from NESDIS: IRDERM, RDTRER and READERME.
                                        -

                                        +

                                        December 17, 1996

                                        The BUFR Archive Library was modified to make the following changes:

                                          @@ -601,7 +614,7 @@

                                        • RDBFDX - Fixed for some MVS compiler's treatment of internal reads.
                                        • UFBINT - Modified to always initialize "USR" array to missing (10E10) when BUFR file is being read.
                                        -

                                        +

                                        December 11, 1996

                                        The following subroutines were modified in the BUFR Archive Library:

                                          @@ -613,22 +626,22 @@

                                        • MSGINI - Modified to allow inclusion of minutes in writing the message date into a BUFR message.
                                        • READTJ - Specific database ingest message reader added to the library which can attach different BUFR tables if the message type is not recognized in the current ones. Works with a user subroutine called OPENBT which specifies the location(s) of different tables.
                                        -

                                        +

                                        November 25, 1996

                                        Several routines in the BUFR Archive Library are being modified to provide more machine independence. The data merging routine is being modified for radiosonde call signs, a return code is being added to UFBINT when mnemonics are not found, and READMG is being modified to exit gracefully when the file is positioned after an end of file

                                        -

                                        +

                                        October 9, 1996

                                        The BUFR Archive Library was modified to include 9 additional routines to process ERS scatterometer data (IREADERS, RDTRER, READERS, UNCMPS), perform fault tolerant reading (IREADFT, READFT), and support report part merging (INVMRG, MRGINV, NWORDS).

                                        -

                                        +

                                        September 9, 1996

                                        The BUFR Archive Library was separated into 121 BUFR interface routines, which include upgrades and devices for operating the BUFR database.

                                        -

                                        +

                                        June 28, 1995

                                        The BUFR Archive Library was modified to increase the size of internal arrays in order to handle bigger files. Coding was also added in order to process ERS scatterometer data which is input from compressed BUFR messages (new subroutine READERME).

                                        -

                                        +

                                        January 10, 1995

                                        The BUFR Archive Library was modified slightly to allow for changes in the AVN and FNL PREPBUFR and Q.C. Processing codes (PREPDATA, CQCBUFR, OIQCBUFR, SSIANL).

                                        -

                                        +

                                        Original Implementation of BUFR Archive Library - January 6, 1994

                                        Implemented on Cray-YMP as a single monolithic source bufr.f. Only the AVN and FNL PREPBUFR processing and q.c. codes used the BUFR Archive Library initially. These were: PREPDATA, SYNDATA, CQCBUFR, OIQCBUFR, and SSIANL. These had actually been implemented with a non-production version of the library in Jack Woollen's directory September 21, 1993.

                                        diff --git a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html index b5f72376f..008f932b1 100644 --- a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html +++ b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html @@ -26,7 +26,7 @@
                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                        @@ -86,9 +86,7 @@
                                        DX BUFR Tables
                                        -

                                        Description and format of DX BUFR tables for use with the library. Every BUFR file must have DX BUFR tables associated with it, unless the 'SEC3' decoding option is specified during the call to openbf(). For all other cases, DX table information must be pre-defined and made available to the software via call argument LUNDX during the call to openbf(). The DX tables information may be embedded within the first few BUFR messages of the file itself. Otherwise, a separate ASCII text file containing the necessary DX tables information must be supplied, such as the example shown below. Such files must be syntactically correct and also complete, in the sense that all necessary mnemonics must exist and be fully-defined.

                                        -


                                        -

                                        +

                                        Description and format of DX BUFR tables for use with the library. Every BUFR file must have DX BUFR tables associated with it, unless the 'SEC3' decoding option is specified during the call to openbf(). For all other cases, DX table information must be pre-defined and made available to the software via call argument LUNDX during the call to openbf(). The DX tables information may be embedded within the first few BUFR messages of the file itself. Otherwise, a separate ASCII text file containing the necessary DX tables information must be supplied, such as the example shown below. Such files must be syntactically correct and also complete, in the sense that all necessary mnemonics must exist and be fully-defined.

                                        Mnemonics

                                        A mnemonic is a descriptive, alphanumeric name for a data value.

                                          @@ -96,14 +94,7 @@

                                        • "Table B mnemonics", refer directly to basic data values,
                                        • "Table D mnemonics" are sequences composed of one or more Table B (or other Table D) mnemonics and which are themselves normally direct constituents of a particular Table A mnemonic.
                                        -


                                        -

                                        At the highest level, we have a Table A mnemonic which completely describes a type of data subset (e.g. rawinsonde, wind profiler, etc.). This Table A mnemonic is defined as a sequence of one or more Table B or Table D mnemonics, where each Table D mnemonic is likewise itself defined as a sequence of one or more Table B or Table D mnemonics, and so on until the entire data subset can be equivalently described as a sequence of one or more Table B mnemonics which correspond to basic data values (e.g. pressure, temperature, humidity, etc.).

                                        -


                                        -

                                        -

                                        The entire sequence of data values that constitute a particular type of data subset is fully and unambiguously defined.

                                        -


                                        -

                                        Mnemonics never themselves appear within actual BUFR messages. Their only purpose is to make it easier for users to interact with the software by providing descriptive names to represent individual data values. They are more intuitive than FXY numbers (described below), which are the prescribed method within actual BUFR messages.

                                        DX BUFR Tables File

                                        @@ -113,8 +104,6 @@

                                      • In the second section, all previously-declared Table A and Table D mnemonics are actually defined as a sequence of one or more Table B (or other Table D) mnemonics.
                                      • In the third section, all previously-declared Table B mnemonics are defined in terms of their scale factor, reference value, bit width, and units.
                                      • -


                                        -

                                        Section 1

                                        The first section of a BUFR tables file is where all Table A, B and D mnemonics are initially declared, assigned a unique FXY number, and given a short free-form text description. Mnemonics may contain any combination of uppercase letters and numbers (or, in certain special cases, a "." character), up to a maximum of 8 characters in length. A mnemonic may be declared only once, and each one must correspond to a unique FXY number, which itself consists of 6 characters, and where the first character (i.e. the "F" component) is an "A" if the mnemonic is being declared as a Table A mnemonic, "3" if the mnemonic is being declared as a Table D mnemonic, and "0" if the mnemonic is being declared as a Table B mnemonic. Otherwise, the remainder of the FXY number must be all digits, with the next 2 characters (i.e. the "X" component) as a number between 00 and 63, and the final 3 characters (i.e. the "Y" component) as a number between 001 and 255. Readers who are more familiar with BUFR will immediately recognize these F, X, and Y values as those that are defined within the official documentation of the BUFR code form.

                                        @@ -174,7 +163,7 @@

                                        An example of this is the UAWSH (i.e. "RADIOSONDE WIND SHEAR DATA") sequence, whose constituent data values are only ever present in a rawinsonde report when a level of maximum wind is being reported (and, even then, not always!). In this case, enclosing the entire sequence within a < > indicator allows the lack of such data within a report level to be noted by the use of a single bit set to "0" (i.e. 0 replications), rather than having to otherwise store the appropriate "missing" value for every constituent data value. Over the course of many data levels within many data subsets within a single BUFR message, this can add up to significant encoding efficiency, and, in turn, the use of less required storage space per BUFR message. So, in summary, the judicious use of replication can even lead to more efficient data storage for certain types of data.

                                        Looking back again at the sample DX BUFR tables file, notice how several of the Table D mnemonics such as RCPTIM and BID are used within both the NC001003 and NC002001 data subset types. This brings up a good point; namely, that by logically grouping certain Table B mnemonics together within carefully-constructed Table D sequence mnemonics, such mnemonics can be easily and efficiently re-used within different Table A mnemonic definitions within the same BUFR tables file. In fact, this would be a good time to also point out that, when using the BUFRLIB software, Table D sequence mnemonics are the only types of mnemonics upon which any type of replication may be directly performed. Thus, in particular, if we wish to effect the replication of a single, particular Table B mnemonic, then we must do so by defining a Table D sequence mnemonic whose only constituent is that one particular Table B mnemonic and then replicating the sequence mnemonic. For a specific example of such a situation, take a look at the definition of RAWRPT within the sample file.

                                        Before we end our discussion on the second section of our sample BUFR tables file, there are a few other special situations that we need to explain in further detail:

                                        -
                                        First, notice how a 201YYY indicator precedes each occurrence of ACAV within the definition of the Table D sequence mnemonic OBSEQ as well as each occurrence of HINC within the definition of the Table A mnemonic NC002007. This indicator is called an operator, and readers more familiar with the details of BUFR will no doubt recognize it from Table C of the [official WMO master BUFR tables](wmomstab).

                                        +
                                        First, notice how a 201YYY indicator precedes each occurrence of ACAV within the definition of the Table D sequence mnemonic OBSEQ as well as each occurrence of HINC within the definition of the Table A mnemonic NC002007. This indicator is called an operator, and readers more familiar with the details of BUFR will no doubt recognize it from Table C of the official WMO master BUFR tables.

                                        In short, the effect of this operator is that, for each Table B mnemonic which follows it within the current sequence, and continuing up until the point in the sequence where a corresponding 201000 operator is reached (and which turns off the effect), ( YYY - 128 ) bits should be added to the bit width that is otherwise defined for that Table B mnemonic within the third section of the DX BUFR tables file, so that the net effect is to change the number of bits occupied by the data value corresponding to that mnemonic within the overall data subset. Thus, for example, the sequence:

                                        201132 HINC 201000

                                        indicates that ( 132 - 128 ) = 4 bits should be added to the data width that was defined for mnemonic HINC within the third section of the DX BUFR tables file, and, therefore, that for this occurrence of that mnemonic within the overall data subset, the corresponding data value will occupy ( 12 + 4 ) = 16 bits.

                                        @@ -193,11 +182,11 @@

                                        | TBLAEX4 | PRLC UACLD TMDB GEOP HOVI TMDP |

                                        Furthermore, let's presume we wanted to read all of the occurrences of the Table B mnemonics PRLC, GEOP, TMDB and TMDP from data subsets encoded according to each of these different subset definitions. In the first three cases, these mnemonics are all contained within the Table D sequence PRGPTMDP as follows:
                                         | PRGPTMDP | PRLC  GEOP  TMDB  TMDP                                            |
                                        -
                                        However, due to some subtle differences in how the sequence is replicated in each case, different BUFRLIB subroutines need to be used to retrieve all of the respective PRLC, GEOP, TMDB and TMDP values in each case. For example, within the first subset definition TBLAEX1, we have delayed replication using the notation {PRGPTMDP}, so we could use subroutine ufbint() with STR='PRLC GEOP TMDB TMDP' to retrieve all of the replications of these mnemonics into our output USR array, where each row of USR would contain corresponding values for PRLC, GEOP, TMDB and TMDP in the first four columns, and where the return value IRET would tell us how many rows of USR were actually filled with such values (i.e. the total number of replications that were read).

                                        -
                                        Alternatively, we could use subroutine ufbseq() with STR='PRGPTMDP', which would accomplish the exact same thing. Or, if we only wanted to know the total number of replications without actually reading out all of the respective PRLC, GEOP, TMDB and TMDP values, we could also call subroutine ufbint() with STR='{PRGPTMDP}', and the corresponding array location in USR would contain the same value that would have been returned in IRET during our earlier call to ufbint() with STR='PRLC GEOP TMDB TMDP', or during our earlier call to ufbseq() with STR='PRGPTMDP'.

                                        -
                                        The second subset definition TBLAEX2 is different, because here instead of delayed replication we have fixed replication using the notation "PRGPTMDP"100, so in this case we must instead use subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' in order to read all of the respective PRLC, GEOP, TMDB and TMDP values into the first four columns of our USR array. However, since in this case the number of replications is fixed at 100, then the return value IRET would always be set to 100, and if there were less than 100 actual rows of available data values, then the remaining rows of USR up through row 100 would be filled out with "missing" values by the BUFRLIB software.

                                        -
                                        The third subset definition TBLAEX3 is a bit more interesting, because we once again have delayed replication using the notation {PRGPTMDP} just like in TBLAEX1; however, in this case there are additional subsequent occurrences of Table B mnemonic PRLC which appear outside of the delayed replication sequence. So in this case we again have to use subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' in order to read all of the occurrences of PRLC from within the data subset, and the return value IRET will now be 2 larger than in our earlier example for the TBLAEX1 subset definition, because now we have 2 extra rows in USR which contain additional PRLC values in the first column. If we had instead tried to use subroutine ufbint() with the same STR value for this TBLAEX3 subset definition, then we wouldn't have been able to read those last 2 extra rows, and our USR output array instead would have looked exactly as it did in our earlier TBLAEX1 example.

                                        -
                                        The fourth and final subset definition TBLAEX4 is even more interesting, not to mention a bit more contrived. Here we have exactly 4 replications of the Table B mnemonics PRLC, GEOP, TMDB and TMDP, but the replication is done via explicitly listing all of the occurrences of these mnemonics within the subset definition, and where the mnemonics appear in slightly different order within each replication. Again, this is a contrived example, but it will serve to better explain how subroutine ufbrep() actually works, and also how it behaves slightly differently from ufbint() and ufbseq() as well as from yet another subroutine ufbstp(). First of all, in the case of subroutine ufbrep(), the first listed mnemonic in STR is always treated as a "pivot", meaning that the second dimension of USR (i.e. the number of rows) is always defined by subsequent occurrences of this pivot mnemonic within the overall subset definition, and where any remaining mnemonics within STR are always independently searched for between each successive occurrence of the pivot mnemonic. So in the case of subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' for TBLAEX4, there will be 4 rows of values in the returned USR array as follows, since there were 4 total occurrences of the pivot mnemonic PRLC:
                                        +
                                        However, due to some subtle differences in how the sequence is replicated in each case, different BUFRLIB subroutines need to be used to retrieve all of the respective PRLC, GEOP, TMDB and TMDP values in each case. For example, within the first subset definition TBLAEX1, we have delayed replication using the notation {PRGPTMDP}, so we could use subroutine ufbint() with STR='PRLC GEOP TMDB TMDP' to retrieve all of the replications of these mnemonics into our output USR array, where each row of USR would contain corresponding values for PRLC, GEOP, TMDB and TMDP in the first four columns, and where the return value IRET would tell us how many rows of USR were actually filled with such values (i.e. the total number of replications that were read).

                                        +
                                        Alternatively, we could use subroutine ufbseq() with STR='PRGPTMDP', which would accomplish the exact same thing. Or, if we only wanted to know the total number of replications without actually reading out all of the respective PRLC, GEOP, TMDB and TMDP values, we could also call subroutine ufbint() with STR='{PRGPTMDP}', and the corresponding array location in USR would contain the same value that would have been returned in IRET during our earlier call to ufbint() with STR='PRLC GEOP TMDB TMDP', or during our earlier call to ufbseq() with STR='PRGPTMDP'.

                                        +
                                        The second subset definition TBLAEX2 is different, because here instead of delayed replication we have fixed replication using the notation "PRGPTMDP"100, so in this case we must instead use subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' in order to read all of the respective PRLC, GEOP, TMDB and TMDP values into the first four columns of our USR array. However, since in this case the number of replications is fixed at 100, then the return value IRET would always be set to 100, and if there were less than 100 actual rows of available data values, then the remaining rows of USR up through row 100 would be filled out with "missing" values by the BUFRLIB software.

                                        +
                                        The third subset definition TBLAEX3 is a bit more interesting, because we once again have delayed replication using the notation {PRGPTMDP} just like in TBLAEX1; however, in this case there are additional subsequent occurrences of Table B mnemonic PRLC which appear outside of the delayed replication sequence. So in this case we again have to use subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' in order to read all of the occurrences of PRLC from within the data subset, and the return value IRET will now be 2 larger than in our earlier example for the TBLAEX1 subset definition, because now we have 2 extra rows in USR which contain additional PRLC values in the first column. If we had instead tried to use subroutine ufbint() with the same STR value for this TBLAEX3 subset definition, then we wouldn't have been able to read those last 2 extra rows, and our USR output array instead would have looked exactly as it did in our earlier TBLAEX1 example.

                                        +
                                        The fourth and final subset definition TBLAEX4 is even more interesting, not to mention a bit more contrived. Here we have exactly 4 replications of the Table B mnemonics PRLC, GEOP, TMDB and TMDP, but the replication is done via explicitly listing all of the occurrences of these mnemonics within the subset definition, and where the mnemonics appear in slightly different order within each replication. Again, this is a contrived example, but it will serve to better explain how subroutine ufbrep() actually works, and also how it behaves slightly differently from ufbint() and ufbseq() as well as from yet another subroutine ufbstp(). First of all, in the case of subroutine ufbrep(), the first listed mnemonic in STR is always treated as a "pivot", meaning that the second dimension of USR (i.e. the number of rows) is always defined by subsequent occurrences of this pivot mnemonic within the overall subset definition, and where any remaining mnemonics within STR are always independently searched for between each successive occurrence of the pivot mnemonic. So in the case of subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' for TBLAEX4, there will be 4 rows of values in the returned USR array as follows, since there were 4 total occurrences of the pivot mnemonic PRLC:
                                        @@ -209,7 +198,7 @@

                                        USR(I,J) J=1 J=2 J=3 J=4
                                        I=4 4th PRLC value 4th GEOP value 4th TMDB value 4th TMDP value
                                        -
                                        In other words, ufbrep() searched independently for each of the mnemonics GEOP, TMDB and TMDP between each occurrence of the pivot mnemonic PRLC, so the varying order of those mnemonics between each successive occurrence of PRLC was immaterial, and all of the requested values were found and returned. However, contrast that with what the first 4 rows of USR would look like if we called subroutine ufbstp() with the same STR='PRLC GEOP TMDB TMDP':
                                        +
                                        In other words, ufbrep() searched independently for each of the mnemonics GEOP, TMDB and TMDP between each occurrence of the pivot mnemonic PRLC, so the varying order of those mnemonics between each successive occurrence of PRLC was immaterial, and all of the requested values were found and returned. However, contrast that with what the first 4 rows of USR would look like if we called subroutine ufbstp() with the same STR='PRLC GEOP TMDB TMDP':
                                        @@ -221,12 +210,12 @@

                                        USR(I,J) J=1 J=2 J=3 J=4
                                        I=4 4th PRLC value 4th GEOP value "missing" value "missing" value
                                        -
                                        As shown here, the order of the non-pivot mnemonics between each occurrence of the pivot mnemonic PRLC is now very important when using subroutine ufbstp(). Specifically, ufbstp() only ever moves forward from each occurrence of the pivot mnemonic, and for only one non-pivot mnemonic at a time in the same exact order in which they appear in STR. So in this case, in the second row of the output USR array, it searched forward from PRLC for the first occurrence of GEOP, and then only after it found that did it search for the next mnemonic in the string (i.e. TMDB), but only searching forward from GEOP rather than going all the way back to the previous occurrence of the pivot mnemonic PRLC and searching from there. And since it couldn't find any occurrence of TMDB between the location of GEOP within the second replication and the third occurrence of the pivot mnemonic PRLC which signaled the start of the third repliation, then TMDB and TMDP both ended up as "missing" in the second row of the returned USR array.

                                        +
                                        As shown here, the order of the non-pivot mnemonics between each occurrence of the pivot mnemonic PRLC is now very important when using subroutine ufbstp(). Specifically, ufbstp() only ever moves forward from each occurrence of the pivot mnemonic, and for only one non-pivot mnemonic at a time in the same exact order in which they appear in STR. So in this case, in the second row of the output USR array, it searched forward from PRLC for the first occurrence of GEOP, and then only after it found that did it search for the next mnemonic in the string (i.e. TMDB), but only searching forward from GEOP rather than going all the way back to the previous occurrence of the pivot mnemonic PRLC and searching from there. And since it couldn't find any occurrence of TMDB between the location of GEOP within the second replication and the third occurrence of the pivot mnemonic PRLC which signaled the start of the third repliation, then TMDB and TMDP both ended up as "missing" in the second row of the returned USR array.

                                        Similarly for the third replication, and starting from the third occurrence of the pivot mnemonic PRLC, it finds GEOP and then begins searching from there for TMDB, which it eventually finds, but not until after it has already stepped past TMDP. And since it can only move forward from the point where it found TMDB, then it never finds TMDP for the third replication before it encounters the fourth and final occurrence of the pivot mnemonic PRLC, which in turn is why TMDP is "missing" in the third row of the returned USR array. Finally, for the fourth replication, and starting from the fourth occurrence of the pivot mnemonic PRLC, it finds GEOP and then begins searching from there for TMDB, but by that point it has already stepped past TMDB, so it never finds that nor the subsequent TMDP mnemonic, and therefore both of those values are "missing" in the fourth row of USR as well.

                                        Next, take a look at the definitions of the Table D sequence mnemonics TMPSQ3, WNDSQ2, and PCPSQ3; in particular, notice that, within these definitions, there are references to several mnemonics such as .DTHMITM and .DTHMXGS which were not previously-declared within the first section of the table. At first glance, this seems to contradict everything that we previously said about the need to initially declare all mnemonics within the first section; however, upon closer inspection, the reader will notice that there do exist, within the first section, declarations for mnemonics .DTH.... and .DTH..... So, what exactly is going on here? The answer is that each of these is a special mnemonic known as a following-value mnemonic, meaning that, when it is used within a sequence definition, it implies a special relationship with the mnemonic that immediately follows it within the sequence. In fact, this relationship is so special that, when a following-value mnemonic is used within a sequence definition, the .... portion of the mnemonic is replaced with the mnemonic that immediately follows it! For example, when .DTH.... is used within the definition of the Table D sequence mnemonic TMPSQ3, it appears as .DTHMXTM and .DTHMITM because it appears immediately before, respectively, the mnemonics MXTM and MITM. However, when it appears within the definition of PCPSQ3, it appears as .DTHTOPC since it immediately precedes TOPC within that sequence. To be precise, a following-value mnemonic is declared with a "." as the first character, followed by no more than 3 alphanumeric characters as an identifier, followed by 4 more "." characters which must then be replaced with the mnemonic that immediately follows it whenever and wherever it is used within a sequence definition. This is important, because the BUFRLIB software will actually check that the immediately-following mnemonic matches the last 4 characters of the following-value mnemonic and will diagnose an error if it does not.

                                        -
                                        In general, the "following-value" attribute is useful because it allows the same mnemonic to be used repeatedly within the same overall Table A data subset definition in a very intuitive fashion and yet, since each occurrence retains its own unique identification (e.g. .DTHMXTM, .DTHTOPC, etc.), then each one can still be individually accessed independent of the others via subroutine ufbint(). An alternative would be to declare a regular mnemonic such as DTHRFV instead of .DTH.... within the first section of the tables file and then use that mnemonic in all of the same places within the same Table A data subset definition, but then we'd have to use subroutine ufbrep() to access all such values simultaneously, even if we weren't interested in all of them. And we'd also lose the intuitiveness provided by having available, within the mnemonic itself, the name of the mnemonic to which the corresponding value applies.

                                        +

                                        In general, the "following-value" attribute is useful because it allows the same mnemonic to be used repeatedly within the same overall Table A data subset definition in a very intuitive fashion and yet, since each occurrence retains its own unique identification (e.g. .DTHMXTM, .DTHTOPC, etc.), then each one can still be individually accessed independent of the others via subroutine ufbint(). An alternative would be to declare a regular mnemonic such as DTHRFV instead of .DTH.... within the first section of the tables file and then use that mnemonic in all of the same places within the same Table A data subset definition, but then we'd have to use subroutine ufbrep() to access all such values simultaneously, even if we weren't interested in all of them. And we'd also lose the intuitiveness provided by having available, within the mnemonic itself, the name of the mnemonic to which the corresponding value applies.

                                        Section 3

                                        -
                                        The third section of a DX BUFR tables file is used to define the scale factor, reference value, data width, and units for all of the Table B mnemonics that were previously declared in the first section. The units definition for each Table B mnemonic determines how data values corresponding to that mnemonic are read/written from/to the REAL*8 array USR within BUFRLIB subroutines such as ufbint(), ufbrep() and ufbseq().

                                        +
                                        The third section of a DX BUFR tables file is used to define the scale factor, reference value, data width, and units for all of the Table B mnemonics that were previously declared in the first section. The units definition for each Table B mnemonic determines how data values corresponding to that mnemonic are read/written from/to the REAL*8 array USR within BUFRLIB subroutines such as ufbint(), ufbrep() and ufbseq().

                                        In looking again at our sample DX BUFR tables file, we see that the format for the third section of such a file is the usual "|" delimiter in columns 1, 12, 19, 33, 39, 66, and 80 of each line. These delimiters form the columns for the mnemonic (listed exactly as it was previously within the first section), the scale factor (right-justified from column 17), the reference value (right-justified from column 31), the bit width (right-justified from column 37), and the units (left-justified from column 41).

                                        As with the previous two sections, blank separator lines may be employed in order to improve human-readability. It's recommended to list the mnemonics in the same order in which they were declared within the first section. Any mnemonic whose corresponding data values are to be treated as character data must have its units listed as "CCITT IA5", which is just a formal synonym for ASCII.

                                        Sample DX BUFR tables file

                                        diff --git a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html index 033440add..a00fff1d6 100644 --- a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html +++ b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html @@ -26,7 +26,7 @@
                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                        @@ -88,10 +88,8 @@

                                        Description and format of master BUFR tables for use with the library.

                                        -

                                        This document describes the format and concept of master BUFR tables. These are required by the NCEPLIBS-bufr software whenever the IO='SEC3' option is specified during a call to subroutine openbf() for the reading/decoding of a file of BUFR messages. Otherwise, if a different value of IO is specified, then only a DX BUFR tables file is normally required, and master BUFR tables are not needed.

                                        -


                                        -

                                        -

                                        Whenever master BUFR tables are used, they are read in by the BUFRLIB software as a corresponding set of four system files, from a directory on the local filesystem as specified within a separate preceding call to subroutine mtinfo() :

                                        +

                                        This document describes the format and concept of master BUFR tables. These are required by the NCEPLIBS-bufr software whenever the IO='SEC3' option is specified during a call to subroutine openbf() for the reading/decoding of a file of BUFR messages. Otherwise, if a different value of IO is specified, then only a DX BUFR tables file is normally required, and master BUFR tables are not needed.

                                        +

                                        Whenever master BUFR tables are used, they are read in by the BUFRLIB software as a corresponding set of four system files, from a directory on the local filesystem as specified within a separate preceding call to subroutine mtinfo() :

                                        • Standard Table B - an ordered listing of all descriptors corresponding to an official release (i.e. version number) of the standard, international BUFR Table B
                                        • Local Table B - an ordered listing of all local Table B descriptors supplementing the standard BUFR Table B, as defined for use within a particular local originating center
                                        • @@ -108,13 +106,11 @@ V = Version number of Master Table used C = Originating Center number ('7' for NCEP, etc.) L = Version number of local tables used -

                                          Whenever any of the message-reading subroutines are used to read a new BUFR message from a Fortran logical unit that was previously opened using subroutine openbf() with IO='SEC3', the identification section (Section 1) of the message is automatically scanned to determine the above values for that message. The BUFRLIB software then automatically generates the four necessary filenames using those values and attempts to open and read each of those files from within the directory that was specified as CMTDIR during the previous call to subroutine mtinfo(). This table information is then retained and re-used in memory until a subsequent message is read which has a different value for any one of the above values, and at which point a new set of tables is then read in from the same directory in order to be applied to the new message. With this approach, the user can have multiple master table files stored within the same directory, and the BUFRLIB software will always locate and read the appropriate files depending on the corresponding values stored within Section 1 of each new message to be decoded. For more details about the above values, see the discussion on Section 1 within the official WMO Manual 306, Volume I.2.

                                          -


                                          -

                                          +

                                          Whenever any of the message-reading subroutines are used to read a new BUFR message from a Fortran logical unit that was previously opened using subroutine openbf() with IO='SEC3', the identification section (Section 1) of the message is automatically scanned to determine the above values for that message. The BUFRLIB software then automatically generates the four necessary filenames using those values and attempts to open and read each of those files from within the directory that was specified as CMTDIR during the previous call to subroutine mtinfo(). This table information is then retained and re-used in memory until a subsequent message is read which has a different value for any one of the above values, and at which point a new set of tables is then read in from the same directory in order to be applied to the new message. With this approach, the user can have multiple master table files stored within the same directory, and the BUFRLIB software will always locate and read the appropriate files depending on the corresponding values stored within Section 1 of each new message to be decoded. For more details about the above values, see the discussion on Section 1 within the official WMO Manual 306, Volume I.2.

                                          Now that we've discussed the content and naming conventions for master BUFR table files, let's turn our attention to the actual format of these files:

                                          Table B

                                          -
                                          As described above, two master Table B files (one standard and one local) are required for each BUFR message that is to be read and decoded. The BUFRLIB software will scan the identification section (Section 1) of each new message and then open and read the appropriate Table B files from within the directory specified by CMTDIR during the previous call to subroutine mtinfo(). In particular, a standard Table B file must be available corresponding to the version number of each BUFR message to be decoded, and the filename must follow the naming convention described above. In addition, if there are any local descriptors contained within the messages, then a local Table B file must also be available corresponding to the originating center and local version numbers encoded within Section 1 of those messages. Otherwise, if the messages to be decoded contain only standard descriptors (which is normally the case for data exchanged between operational centers), then the default local Table B file from NCEP (originating center 7) can be used as a placeholder since the software will not need to actually read any information from this table. In this way, users are relieved from having to provide a local Table B file for every originating center whose messages they wish to decode, and such a table only becomes necessary when the messages themselves actually contain one or more local descriptors defined by that particular originating center.

                                          +
                                          As described above, two master Table B files (one standard and one local) are required for each BUFR message that is to be read and decoded. The BUFRLIB software will scan the identification section (Section 1) of each new message and then open and read the appropriate Table B files from within the directory specified by CMTDIR during the previous call to subroutine mtinfo(). In particular, a standard Table B file must be available corresponding to the version number of each BUFR message to be decoded, and the filename must follow the naming convention described above. In addition, if there are any local descriptors contained within the messages, then a local Table B file must also be available corresponding to the originating center and local version numbers encoded within Section 1 of those messages. Otherwise, if the messages to be decoded contain only standard descriptors (which is normally the case for data exchanged between operational centers), then the default local Table B file from NCEP (originating center 7) can be used as a placeholder since the software will not need to actually read any information from this table. In this way, users are relieved from having to provide a local Table B file for every originating center whose messages they wish to decode, and such a table only becomes necessary when the messages themselves actually contain one or more local descriptors defined by that particular originating center.

                                          Here now is the format for each master Table B:

                                          The first line of the file is as follows, where the symbols correspond to those used in the file naming convention described above. In this way, the software can perform internal consistency checks where needed. Note that the separator for each field is a "|" character, but otherwise the free use of white space is allowed within each field:

                                        Table D

                                        -
                                        As was the case for Table B, two master Table D files (one standard and one local) are also required for each BUFR message that is to be read and decoded, and these files must also exist within the same directory specified by CMTDIR during the previous call to subroutine mtinfo(). The BUFRLIB software will then scan the identification section (Section 1) of each BUFR message as it is read, in order to determine the exact master table files to open and read for that message, and a local Table D file is necessary whenever local descriptors from the originating center in question are included within a message; otherwise, the default local Table D file from NCEP (originating center 7) can be used as a placeholder.

                                        +
                                        As was the case for Table B, two master Table D files (one standard and one local) are also required for each BUFR message that is to be read and decoded, and these files must also exist within the same directory specified by CMTDIR during the previous call to subroutine mtinfo(). The BUFRLIB software will then scan the identification section (Section 1) of each BUFR message as it is read, in order to determine the exact master table files to open and read for that message, and a local Table D file is necessary whenever local descriptors from the originating center in question are included within a message; otherwise, the default local Table D file from NCEP (originating center 7) can be used as a placeholder.

                                        The format of the first line of each master Table D file is the same as for Table B:

                                      Code/Flag Tables

                                      -
                                      Unlike for Table B and Table D, master Code/Flag tables are optional when the IO='SEC3' option is specified during a call to subroutine openbf() for the reading/decoding of BUFR messages. Instead, they are only required if the user intends to make one or more calls to subroutine getcfmng(), and in which case a prior call to subroutine codflg() is also required with the value of CF set to 'Y'.

                                      -
                                      Whenever master Code/Flag tables are used, they must exist within the same local filesystem directory specified by CMTDIR during the most recent call to subroutine mtinfo(). And just like for Table B and Table D, they must exist as a set of two separate tables files, one containing all of the standard entries and one containing all of the local entries, and where the default local Code/Flag tables file from NCEP (originating center 7) can be used as a placeholder for the local file whenever the BUFR messages to be decoded contain only standard descriptors.

                                      +
                                      Unlike for Table B and Table D, master Code/Flag tables are optional when the IO='SEC3' option is specified during a call to subroutine openbf() for the reading/decoding of BUFR messages. Instead, they are only required if the user intends to make one or more calls to subroutine getcfmng(), and in which case a prior call to subroutine codflg() is also required with the value of CF set to 'Y'.

                                      +
                                      Whenever master Code/Flag tables are used, they must exist within the same local filesystem directory specified by CMTDIR during the most recent call to subroutine mtinfo(). And just like for Table B and Table D, they must exist as a set of two separate tables files, one containing all of the standard entries and one containing all of the local entries, and where the default local Code/Flag tables file from NCEP (originating center 7) can be used as a placeholder for the local file whenever the BUFR messages to be decoded contain only standard descriptors.

                                      The format of the first line of each master Code/Flag table file is the same as for Tables B and D:
                                       Standard table:     Table F STD | M | V
                                       Local table:        Table F LOC | M | C | L
                                      @@ -269,7 +269,7 @@
                                                 | F-XX-YYY=BIT
                                                   | BIT > | MEANING
                                                   | BIT   | MEANING
                                      -
                                      for flag tables. As shown, the first line of each entry contains the FXY number and mnemonic of the associated Table B descriptor, along with the identifier "CODE" or "FLAG" depending on the table type. Successive lines contain individual entries within the associated table, grouped by dependency where applicable. For example, for mnemonic GSES (originating sub-center), whose meanings depend on that of the associated originating center as noted in the discussion for subroutine getcfmng(), the entry would look something like the following, and where 0-01-031, 0-01-033 and 0-01-035 are the respective FXY numbers for mnemonics GCLONG, OGCE and ORIGC:
                                      +
                                      for flag tables. As shown, the first line of each entry contains the FXY number and mnemonic of the associated Table B descriptor, along with the identifier "CODE" or "FLAG" depending on the table type. Successive lines contain individual entries within the associated table, grouped by dependency where applicable. For example, for mnemonic GSES (originating sub-center), whose meanings depend on that of the associated originating center as noted in the discussion for subroutine getcfmng(), the entry would look something like the following, and where 0-01-031, 0-01-033 and 0-01-035 are the respective FXY numbers for mnemonics GCLONG, OGCE and ORIGC:
                                    diff --git a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html index 2d83faca8..7434f0caa 100644 --- a/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html +++ b/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -108,12 +108,14 @@ split_by_subset Split a BUFR file into separate BUFR files for each subset type -xbfmg Split a BUFR file into separate BUFR files for each message +xbfmg Split a BUFR file into separate BUFR files for each message + +apxdx Append a DX BUFR table to a BUFR file



                                    -

                                    +

                                    debufr

                                    This program decodes a BUFR file and writes a verbose listing of the contents to the file specified via the -o option. If a DX BUFR Tables file is specified (using the -f option) or if the specified BUFR file contains an embedded DX BUFR tables message as the first message in the file, then this information is used to decode the data messages in the file. Otherwise, or whenever the -m option is specified, master BUFR tables are read and used to decode the data messages in the file.
                                     Usage:
                                    @@ -165,13 +167,13 @@
                                                      NCEPLIBS-bufr software, overriding the default value that
                                                      would otherwise be used.  A complete list of parameters
                                                      that can be dynamically sized is included within the
                                    -                 documentation for NCEPLIBS-bufr function isetprm().
                                    +                 documentation for NCEPLIBS-bufr function isetprm().
                                     
                                            bufrfile  [path/]name of BUFR file to be decoded
                                    -
                                    See the source code at debufr.c and debufr.f


                                    +

                                    See the source code at debufr.c and debufr.F90



                                    -

                                    +

                                    readbp

                                    A utility to read prepbufr files which prints each report one at a time, or jumps to a report with characteristics defined by various keys such as report type, subset type, xy locagtion, station id, etc. Keys can be entered as arguments to the program or entered while the program is running. Basic operation is to print one report at a time with the default being starting at the beginning and continuing until the end or the user enters 'q'. The following summary is printed if the program is run without arguments.
                                      Usage: readbp <-s> <-w> <-m> <-k> <-r> <-d> <-n> <-h>  prep bufrfile
                                    @@ -192,7 +194,7 @@
                                      Optional arguments can also be applied in the pause between reports output without using  a dash
                                     
                                      Optional arguments will be applied in concert in most cases
                                    -
                                    See the source code at readbp.f90
                                    Sample output for: ‘readbp gdas.20200812/00/gdas.t00z.prepbufr’`
                                    MESSAGE: ADPUPA 1 2 20081200
                                    +
                                    See the source code at readbp.F90
                                    Sample output for: ‘readbp gdas.20200812/00/gdas.t00z.prepbufr’`
                                    MESSAGE: ADPUPA 1 2 20081200
                                    STATION: 89642 140.02 -66.67
                                    TIME: 20081200 0.00
                                    ELV: 43.00
                                    @@ -222,9 +224,9 @@



                                    -

                                    +

                                    readmp

                                    -
                                    A utility to read any BUFR file with embedded DX tables, and print the contents of each subset one at a time.
                                    See the source code at readmp.f90
                                    Sample output for: readmp gdas.20200812/00/gdas.t00z.sfcshp.tm00.bufr_d
                                    MESSAGE TYPE NC001001
                                    +
                                    A utility to read any BUFR file with embedded DX tables, and print the contents of each subset one at a time.
                                    See the source code at readmp.F90
                                    Sample output for: readmp gdas.20200812/00/gdas.t00z.sfcshp.tm00.bufr_d
                                    MESSAGE TYPE NC001001
                                    004001 YEAR 2020.0 YEAR YEAR
                                    004002 MNTH 8.0 MONTH MONTH
                                    @@ -298,9 +300,9 @@



                                    -

                                    +

                                    binv

                                    -
                                    A utility to print a BUFR file inventory by message type.
                                    See the source code at binv.f90
                                    Sample output for: binv gdas.20200812/00/gdas.t00z.prepbufr
                                    type messages subsets bytes
                                    +
                                    A utility to print a BUFR file inventory by message type.
                                    See the source code at binv.F90
                                    Sample output for: binv gdas.20200812/00/gdas.t00z.prepbufr
                                    type messages subsets bytes
                                    ADPUPA 363 1427 3091984 3.93
                                    AIRCAR 1817 169107 18052250 93.07
                                    @@ -318,9 +320,9 @@



                                    -

                                    +

                                    sinv

                                    -
                                    Utility to print an inventory of satellite data by platform and instrument type.
                                    See the source code at sinv.f90
                                    Sample output for: sinv gdas.20200812/00/gdas.t00z.satwnd.tm00.bufr_d
                                    003 METOP-1 7220
                                    +
                                    Utility to print an inventory of satellite data by platform and instrument type.
                                    See the source code at sinv.F90
                                    Sample output for: sinv gdas.20200812/00/gdas.t00z.satwnd.tm00.bufr_d
                                    003 METOP-1 7220
                                    004 METOP-2 8911
                                    055 METEOSAT-8 172430
                                    070 METEOSAT-1 176712
                                    @@ -337,7 +339,7 @@



                                    -

                                    +

                                    cmpbqm

                                    An inventory of prepbufr observations by variable, report type, and quality mark made from a prepbufr file. The ob type,total count,and quality marks are listed by column. The cka and ckb columns are counts of observed values with missing qm, or qms with missing observations. The cka and ckb should be zero but sometimes they're not. The qm values are found in bufr code tables, but below a quick summary. The GSI qms are added by a program run by the fit2obs system which copies that information from the convstat files. The sample output prepbufr was after prep but pre-analysis. @@ -373,7 +375,7 @@
                                    ckb a missing value with a non-missing quality mark
                                    -
                                    See the source code at cmpbqm.f90
                                    Sample output for: cmpbqm gdas.20200811/00/gdas.t00z.prepbufr
                                    DATA VALID AT 2020081100
                                    +
                                    See the source code at cmpbqm.F90
                                    Sample output for: cmpbqm gdas.20200811/00/gdas.t00z.prepbufr
                                    DATA VALID AT 2020081100
                                    PRESSURE
                                    @@ -509,9 +511,9 @@



                                    -

                                    +

                                    gettab

                                    -
                                    A utility to read any BUFR file with embedded DX tables, and print the table.
                                    See the source code at gettab.f90
                                    Sample output for: gettab gdas.20200812/00/gdas.t00z.adpsfc.tm00.bufr_d
                                    .------------------------------------------------------------------------------.
                                    +
                                    A utility to read any BUFR file with embedded DX tables, and print the table.
                                    See the source code at gettab.F90
                                    Sample output for: gettab gdas.20200812/00/gdas.t00z.adpsfc.tm00.bufr_d
                                    .------------------------------------------------------------------------------.
                                    | ------------ USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D -------------- |
                                    |------------------------------------------------------------------------------|
                                    | MNEMONIC | NUMBER | DESCRIPTION |
                                    @@ -556,12 +558,12 @@



                                    -

                                    +

                                    split_by_subset

                                    -
                                    A utility to read any BUFR file and split it into separate BUFR files based on message subset type. To preview which files will be produced (one for each m/s type) use binv (documented above).
                                    See the source code at split_by_subset.f90
                                    Usage: split_by_subset gdas.20200812/00/gdas.t00z.satwnd.tm00.bufr_d


                                    +

                                    A utility to read any BUFR file and split it into separate BUFR files based on message subset type. To preview which files will be produced (one for each m/s type) use binv (documented above).
                                    See the source code at split_by_subset.F90
                                    Usage: split_by_subset gdas.20200812/00/gdas.t00z.satwnd.tm00.bufr_d



                                    -

                                    +

                                    xbfmg

                                    This program splits a single file containing one or more BUFR messages into one or more BUFR files each containing a single BUFR message. The output BUFR files are written to the current working directory, according to a pre-defined naming convention as described below.
                                     Usage:
                                    @@ -595,8 +597,22 @@
                                     
                                            (last#) = total number of BUFR messages in bufrfile
                                     
                                    See the source code at xbfmg.c


                                    -

                                    -
                                    +

                                    +
                                    +

                                    +apxdx

                                    +
                                    This program generates BUFR messages corresponding to a given DX BUFR table and appends them to a given BUFR file.
                                    +Usage:
                                    +
                                    +   apxdx BUFRfile DXtable
                                    +
                                    +     where:
                                    +
                                    +       BUFRfile  [path/]name of BUFR file, to which BUFR messages corresponding to DXtable are
                                    +                 to be appended
                                    +
                                    +       DXtable   [path/]name of DX BUFR table
                                    +
                                    See the source code at apxdx.F90
                                    diff --git a/memmsgs_8F90.html b/memmsgs_8F90.html new file mode 100644 index 000000000..25587053d --- /dev/null +++ b/memmsgs_8F90.html @@ -0,0 +1,832 @@ + + + + + + + +NCEPLIBS-bufr: memmsgs.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    memmsgs.F90 File Reference
                                    +
                                    +
                                    + +

                                    Read and process BUFR messages within internal memory arrays. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    subroutine cpdxmm (lunit)
                                     Read an entire DX BUFR table from a specified file into internal memory arrays. More...
                                     
                                    recursive integer function ireadmm (imsg, subset, idate)
                                     Call subroutine readmm() and pass back its return code as the function value. More...
                                     
                                    recursive subroutine rdmemm (imsg, subset, jdate, iret)
                                     Read a specified BUFR message from internal arrays in memory, so that it is now in scope for processing via a subsequent call to subroutine rdmems(). More...
                                     
                                    recursive subroutine rdmems (isub, iret)
                                     Read a specified data subset from the BUFR message that was most recently read via a call to subroutine rdmemm() or readmm(). More...
                                     
                                    recursive subroutine readmm (imsg, subset, jdate, iret)
                                     Read a specified BUFR message from internal arrays in memory, so that it is now in scope for processing via a subsequent call to subroutine rdmems(). More...
                                     
                                    recursive subroutine ufbmem (lunit, inew, iret, iunit)
                                     Connect a new file to the NCEPLIBS-bufr software for input operations, then read the entire file contents into internal arrays so that any of the individual BUFR messages can later be accessed from memory, instead of having to read them one at a time sequentially from the file. More...
                                     
                                    recursive subroutine ufbmex (lunit, lundx, inew, iret, mesg)
                                     Connect a new file to the NCEPLIBS-bufr software for input operations, then read the entire file contents into internal arrays so that any of the individual BUFR messages can later be accessed from memory, instead of having to read them one at a time sequentially from the file. More...
                                     
                                    recursive subroutine ufbmms (imsg, isub, subset, jdate)
                                     Read a specified data subset from internal arrays. More...
                                     
                                    recursive subroutine ufbmns (irep, subset, idate)
                                     Read a specified data subset from internal arrays in memory, so that it is now in scope for processing via calls to any of the values-reading subroutines using the Fortran logical unit number iunit that was returned from the most recent call to subroutine ufbmem(). More...
                                     
                                    recursive subroutine ufbrms (imsg, isub, usr, i1, i2, iret, str)
                                     Read one or more data values from a data subset in internal arrays. More...
                                     
                                    recursive subroutine ufbtam (tab, i1, i2, iret, str)
                                     Read through every data subset in internal arrays and return one or more specified data values from each subset. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Read and process BUFR messages within internal memory arrays.

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition in file memmsgs.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ cpdxmm()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine cpdxmm (integer, intent(in) lunit)
                                    +
                                    + +

                                    Read an entire DX BUFR table from a specified file into internal memory arrays.

                                    +
                                    Parameters
                                    + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 729 of file memmsgs.F90.

                                    + +

                                    References bort(), errwrt(), moda_msgmem::icdxts, moda_msgmem::ifdxts, moda_msgmem::ipdxm, moda_msgmem::ipmsgs, moda_msgmem::ldxm, moda_msgmem::mdx, moda_mgwa::mgwa, moda_msgmem::msgp, moda_msgmem::mxdxm, moda_msgmem::mxdxw, moda_msgmem::ndxm, moda_msgmem::ndxts, rdmsgw(), and status().

                                    + +

                                    Referenced by ufbmem().

                                    + +
                                    +
                                    + +

                                    ◆ ireadmm()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive integer function ireadmm (integer, intent(inout) imsg,
                                    character*8, intent(out) subset,
                                    integer, intent(out) idate 
                                    )
                                    +
                                    + +

                                    Call subroutine readmm() and pass back its return code as the function value.

                                    +

                                    The use of this function allows the return code from readmm() to be used as the target variable within an iterative program loop.

                                    +
                                    Parameters
                                    + + + + +
                                    imsg- Message pointer within internal arrays:
                                      +
                                    • On input, imsg is the number of the BUFR message to be read into scope for further processing, counting from the beginning of the internal arrays in memory
                                        +
                                      • On output, imsg is incremented by one from its input value
                                      • +
                                      +
                                    • +
                                    +
                                    subset- Table A mnemonic for type of BUFR message that was read into scope (see DX BUFR Tables for further information about Table A mnemonics)
                                    idate- Date-time stored within Section 1 of BUFR message that was read into scope, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                    +
                                    +
                                    +
                                    Returns
                                    ireadmm - return code:
                                      +
                                    • 0 new BUFR message was successfully read into scope
                                    • +
                                    • -1 requested message number could not be found in internal arrays
                                    • +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1999-11-18
                                    + +

                                    Definition at line 433 of file memmsgs.F90.

                                    + +

                                    References readmm(), x48(), and x84().

                                    + +

                                    Referenced by ufbmns().

                                    + +
                                    +
                                    + +

                                    ◆ rdmemm()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine rdmemm (integer, intent(in) imsg,
                                    character*8, intent(out) subset,
                                    integer, intent(out) jdate,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Read a specified BUFR message from internal arrays in memory, so that it is now in scope for processing via a subsequent call to subroutine rdmems().

                                    +

                                    BUFR messages should already be stored within internal arrays in memory via one or more previous calls to subroutine ufbmem().

                                    +

                                    This subroutine is similar to subroutine readmm(), except that readmm() also increments the value of imsg prior to returning to the calling program, which in turn allows it to be easily called within an iterative program loop.

                                    +
                                    Parameters
                                    + + + + + +
                                    imsg- Number of BUFR message to be read into scope for further processing, counting from the beginning of the internal arrays in memory
                                    subset- Table A mnemonic for type of BUFR message that was read into scope (see DX BUFR Tables for further information about Table A mnemonics)
                                    jdate- Date-time stored within Section 1 of BUFR message that was read into scope, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                    iret- return code:
                                      +
                                    • 0 = requested message was successfully read into scope
                                    • +
                                    • -1 = requested message number could not be found in internal arrays
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 486 of file memmsgs.F90.

                                    + +

                                    References bort(), cktaba(), dxinit(), errwrt(), moda_msgmem::icdxts, moda_msgmem::ifdxts, moda_msgmem::ipdxm, moda_msgmem::ipmsgs, moda_msgmem::ldxm, moda_msgmem::ldxts, makestab(), moda_bitbuf::mbay, moda_msgmem::mdx, moda_mgwa::mgwa, moda_msgmem::mlast, moda_msgmem::msgp, moda_msgmem::msgs, moda_msgmem::munit, moda_msgmem::ndxm, moda_msgmem::ndxts, moda_msgcwd::nmsg, status(), stbfdx(), wtstat(), x48(), and x84().

                                    + +

                                    Referenced by readmm(), ufbmms(), ufbrms(), and ufbtam().

                                    + +
                                    +
                                    + +

                                    ◆ rdmems()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine rdmems (integer, intent(in) isub,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Read a specified data subset from the BUFR message that was most recently read via a call to subroutine rdmemm() or readmm().

                                    +

                                    Whenever this subroutine returns with iret = 0, this indicates that a new BUFR data subset (i.e. report) was successfully read into internal arrays within the NCEPLIBS-bufr software, and from where it can now be easily manipulated or further parsed via calls to any of the values-reading subroutines using the Fortran logical unit number IUNIT that was returned from the most recent call to subroutine ufbmem().

                                    +
                                    Parameters
                                    + + + +
                                    isub- Number of data subset to be read from BUFR message, counting from the beginning of the message
                                    iret- return code:
                                      +
                                    • 0 = requested data subset was successfully read
                                    • +
                                    • -1 = requested subset number could not be found in the message
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 634 of file memmsgs.F90.

                                    + +

                                    References bort(), errwrt(), iupb(), moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_unptyp::msgunp, moda_msgcwd::msub, moda_msgmem::munit, moda_msgcwd::nsub, readsb(), status(), x48(), and x84().

                                    + +

                                    Referenced by ufbmms(), ufbmns(), and ufbrms().

                                    + +
                                    +
                                    + +

                                    ◆ readmm()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine readmm (integer, intent(inout) imsg,
                                    character*8, intent(out) subset,
                                    integer, intent(out) jdate,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Read a specified BUFR message from internal arrays in memory, so that it is now in scope for processing via a subsequent call to subroutine rdmems().

                                    +

                                    BUFR messages should already be stored within internal arrays in memory via one or more previous calls to subroutine ufbmem().

                                    +

                                    This subroutine is similar to subroutine rdmemm(), except that this subroutine increments the value of imsg prior to returning to the calling program, which in turn allows it to be easily called within an iterative program loop.

                                    +
                                    Parameters
                                    + + + + + +
                                    imsg- Message pointer within internal arrays:
                                      +
                                    • On input, imsg is the number of the BUFR message to be read into scope for further processing, counting from the beginning of the internal arrays in memory
                                    • +
                                    • On output, imsg is incremented by one from its input value
                                    • +
                                    +
                                    subset- Table A mnemonic for type of BUFR message that was read into scope (see DX BUFR Tables for further information about Table A mnemonics)
                                    jdate- Date-time stored within Section 1 of BUFR message that was read into scope, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                    iret- return code:
                                      +
                                    • 0 = requested message was successfully read into scope
                                    • +
                                    • -1 = requested message number could not be found in internal arrays
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1999-11-18
                                    + +

                                    Definition at line 381 of file memmsgs.F90.

                                    + +

                                    References rdmemm(), x48(), and x84().

                                    + +

                                    Referenced by ireadmm().

                                    + +
                                    +
                                    + +

                                    ◆ ufbmem()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine ufbmem (integer, intent(in) lunit,
                                    integer, intent(in) inew,
                                    integer, intent(out) iret,
                                    integer, intent(out) iunit 
                                    )
                                    +
                                    + +

                                    Connect a new file to the NCEPLIBS-bufr software for input operations, then read the entire file contents into internal arrays so that any of the individual BUFR messages can later be accessed from memory, instead of having to read them one at a time sequentially from the file.

                                    +

                                    Any embedded DX BUFR tables contained within the file are also read and processed into separate internal arrays for later use.

                                    +

                                    Logical unit number lunit must already be associated with an actual filename on the local system, typically via a Fortran "OPEN" statement.

                                    +

                                    When inew = 0, the output value iunit will be set equal to the input value lunit. Otherwise, the output value iunit will be set to the value of lunit that was input when this subroutine was previously called with inew = 0, and the system file connected to lunit will be closed via an internal call to subroutine closbf() before exiting this subroutine. In either case, iunit can now be used to access all BUFR messages that were read and stored by all previous calls to this subroutine.

                                    +
                                    Parameters
                                    + + + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    inew- Processing option:
                                      +
                                    • 0 = Initialize the internal arrays, then read all BUFR messages from lunit into internal arrays
                                    • +
                                    • Otherwise, read all BUFR messages from lunit and append them to the existing messages within the internal arrays
                                    • +
                                    +
                                    iret- Number of BUFR messages that were read from lunit and stored into internal arrays
                                    iunit- File status:
                                      +
                                    • 0 = lunit was empty, so no messages were read
                                    • +
                                    • Otherwise, the Fortran logical unit number to use for later access to any of the messages from the internal arrays
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 38 of file memmsgs.F90.

                                    + +

                                    References bort(), closbf(), cpdxmm(), errwrt(), idxmsg(), moda_msgmem::ldxm, moda_msgmem::ldxts, moda_mgwa::mgwa, moda_msgmem::mlast, moda_msgmem::msgp, moda_msgmem::msgs, moda_msgmem::munit, moda_msgmem::ndxm, moda_msgmem::ndxts, nmwrd(), openbf(), rdmsgw(), status(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ ufbmex()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine ufbmex (integer, dimension(*), intent(in) lunit,
                                    integer, dimension(*), intent(in) lundx,
                                    integer, dimension(*), intent(in) inew,
                                    integer, dimension(*), intent(out) iret,
                                    integer, dimension(*), intent(out) mesg 
                                    )
                                    +
                                    + +

                                    Connect a new file to the NCEPLIBS-bufr software for input operations, then read the entire file contents into internal arrays so that any of the individual BUFR messages can later be accessed from memory, instead of having to read them one at a time sequentially from the file.

                                    +

                                    This subroutine is similar to subroutine ufbmem(), except that instead of a file status it returns an array of message types that were read in. Furthermore, this subroutine doesn't process any embedded DX BUFR tables contained within the file; instead, it provides an additional call argument lundx to allow for specification of the necessary DX BUFR table information associated with the messages in the file.

                                    +

                                    Logical unit numbers lunit and lundx must already be associated with actual filenames on the local system, typically via a Fortran "OPEN" statement.

                                    +
                                    Parameters
                                    + + + + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    lundx- Fortran logical unit number containing DX BUFR table information associated with BUFR messages in lunit
                                    inew- Processing option:
                                      +
                                    • 0 = Initialize the internal arrays, then read all BUFR messages from lunit into internal arrays
                                    • +
                                    • Otherwise, read all BUFR messages from lunit and append them to the existing messages within the internal arrays
                                    • +
                                    +
                                    iret- Number of BUFR messages that were read from lunit and stored into internal arrays
                                    mesg- Types of BUFR messages that were read from lunit and stored into internal arrays
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2012-01-26
                                    + +

                                    Definition at line 216 of file memmsgs.F90.

                                    + +

                                    References bort(), closbf(), errwrt(), moda_msgmem::ipmsgs, iupbs01(), moda_msgmem::ldxm, moda_msgmem::ldxts, moda_mgwa::mgwa, moda_msgmem::mlast, moda_msgmem::msgp, moda_msgmem::msgs, moda_msgmem::munit, moda_msgmem::ndxm, moda_msgmem::ndxts, nmwrd(), openbf(), rdmsgw(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ ufbmms()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine ufbmms (integer, intent(in) imsg,
                                    integer, intent(in) isub,
                                    character*8, intent(out) subset,
                                    integer, intent(out) jdate 
                                    )
                                    +
                                    + +

                                    Read a specified data subset from internal arrays.

                                    +

                                    This subroutine provides a handy way to combine the functionality of subroutines rdmemm() and rdmems() within a single subroutine call.

                                    +

                                    Whenever this subroutine returns successfully, the requested data subset can now be easily manipulated or further parsed via calls to any of the values-reading subroutines using the Fortran logical unit number iunit that was returned from the most recent call to subroutine ufbmem().

                                    +
                                    Parameters
                                    + + + + + +
                                    imsg- Number of BUFR message to be read into scope for further processing, counting from the beginning of the internal arrays in memory
                                    isub- Number of data subset to be read from the (imsg)th BUFR message, counting from the beginning of the message
                                    subset- Table A mnemonic for type of (imsg)th BUFR message (see DX BUFR Tables for further information about Table A mnemonics)
                                    jdate- Date-time stored within Section 1 of (imsg)th BUFR message, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 839 of file memmsgs.F90.

                                    + +

                                    References bort(), moda_msgmem::msgp, moda_msgcwd::msub, moda_msgmem::munit, rdmemm(), rdmems(), status(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ ufbmns()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine ufbmns (integer, intent(in) irep,
                                    character*8, intent(out) subset,
                                    integer, intent(out) idate 
                                    )
                                    +
                                    + +

                                    Read a specified data subset from internal arrays in memory, so that it is now in scope for processing via calls to any of the values-reading subroutines using the Fortran logical unit number iunit that was returned from the most recent call to subroutine ufbmem().

                                    +

                                    This subroutine does not return any information about which BUFR message within the internal arrays contained the specified data subset.

                                    +
                                    Parameters
                                    + + + + +
                                    irep- Number of data subset to be read into scope for further processing, counting from the beginning of the internal arrays in memory
                                    subset- Table A mnemonic for type of BUFR message that was read into scope (see DX BUFR Tables for further information about Table A mnemonics)
                                    idate- Date-time stored within Section 1 of BUFR message that was read into scope, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 910 of file memmsgs.F90.

                                    + +

                                    References bort(), ireadmm(), moda_msgmem::munit, nmsub(), rdmems(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ ufbrms()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine ufbrms (integer, intent(in) imsg,
                                    integer, intent(in) isub,
                                    real*8, dimension(i1,i2), intent(out) usr,
                                    integer, intent(in) i1,
                                    integer, intent(in) i2,
                                    integer, intent(out) iret,
                                    character*(*), intent(in) str 
                                    )
                                    +
                                    + +

                                    Read one or more data values from a data subset in internal arrays.

                                    +

                                    This subroutine provides a handy way to combine the functionality of subroutines rdmemm(), rdmems() and ufbint() within a single subroutine call.

                                    +
                                    Parameters
                                    + + + + + + + + +
                                    imsg- Number of BUFR message to be read into scope for further processing, counting from the beginning of the internal arrays in memory
                                    isub- Number of data subset to be read from the (imsg)th BUFR message, counting from the beginning of the message
                                    usr- Data values
                                    i1- First dimension of usr as allocated within the calling program
                                    i2- Second dimension of usr as allocated within the calling program
                                    iret- Number of replications of str that were read from the data subset
                                    str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read from the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 976 of file memmsgs.F90.

                                    + +

                                    References bort(), errwrt(), moda_msgmem::msgp, moda_msgcwd::msub, moda_msgmem::munit, rdmemm(), rdmems(), status(), ufbint(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ ufbtam()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine ufbtam (real*8, dimension(i1,i2), intent(out) tab,
                                    integer, intent(in) i1,
                                    integer, intent(in) i2,
                                    integer, intent(out) iret,
                                    character*(*), intent(in) str 
                                    )
                                    +
                                    + +

                                    Read through every data subset in internal arrays and return one or more specified data values from each subset.

                                    +

                                    This provides a useful way to scan the ranges of one or more specified data values across all of the data subsets in the internal arrays. It is similar to subroutine ufbtab(), except that ufbtab() works on data subsets in a BUFR file.

                                    +

                                    It is the user's responsibility to ensure that TAB is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from the internal arrays. Specifically, each row of TAB will contain the data values read from a different data subset, so the value I2 must be at least as large as the total number of data subsets in the internal arrays.

                                    +

                                    The internal arrays must have already been populated via a previous call to subroutine ufbmem().

                                    +

                                    There are a few additional special mnemonics that can be included within str when calling this subroutine, and which in turn will result in special information being returned within the corresponding location in tab:

                                      +
                                    • IREC - returns the number of the BUFR message within the internal arrays (counting from the beginning of the internal arrays) in which the current data subset resides.
                                    • +
                                    • ISUB - returns the number of the current data subset within the BUFR message pointed to by IREC, counting from the beginning of the message.
                                    • +
                                    • ITBL - returns the number of the DX BUFR table that is in scope for the current data subset.
                                    • +
                                    +

                                    This subroutine will not work on compressed data subsets.

                                    +
                                    Parameters
                                    + + + + + + +
                                    tab- Data values
                                    i1- First dimension of tab as allocated within the calling program
                                    i2- Second dimension of tab as allocated within the calling program
                                    iret- Number of data subsets in internal arrays
                                    str- String of blank-separated Table B mnemonics, in one-to-one correspondence with the number of data values that will be read from each data subset within the first dimension of tab (see DX BUFR Tables for further information about Table B mnemonics)
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 1102 of file memmsgs.F90.

                                    + +

                                    References bort(), errwrt(), moda_bitbuf::ibit, moda_tables::ibt, moda_usrint::inv, moda_tables::itp, moda_msgmem::ldxts, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_msgmem::msgp, moda_msgcwd::msub, moda_msgmem::munit, moda_msgcwd::nmsg, nmsub(), moda_msgcwd::nsub, moda_usrint::nval, parstr(), rdmemm(), status(), string(), upb(), upb8(), upc(), ups(), usrtpl(), x48(), and x84().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/memmsgs_8F90.js b/memmsgs_8F90.js new file mode 100644 index 000000000..0ec340338 --- /dev/null +++ b/memmsgs_8F90.js @@ -0,0 +1,14 @@ +var memmsgs_8F90 = +[ + [ "cpdxmm", "memmsgs_8F90.html#a28854648f33f49aaeb3b2209e00c0ae7", null ], + [ "ireadmm", "memmsgs_8F90.html#afa09c66c60b22359e9642fa6eee8fcbb", null ], + [ "rdmemm", "memmsgs_8F90.html#a379c2ad518735b00eecff6ddcf32b278", null ], + [ "rdmems", "memmsgs_8F90.html#a2687d7372647fc32c4713c7e9eb6d268", null ], + [ "readmm", "memmsgs_8F90.html#a6bbcaf22a939d766b7de35ff855531c5", null ], + [ "ufbmem", "memmsgs_8F90.html#a4959c5f16b679cf4f90b2d5dcfe74247", null ], + [ "ufbmex", "memmsgs_8F90.html#a9072ba79bf636849068780fa6467282c", null ], + [ "ufbmms", "memmsgs_8F90.html#af0432ae9b24903a84c35bcdbbab9b0f6", null ], + [ "ufbmns", "memmsgs_8F90.html#ab44b6a9dd950697675861504ccb24a83", null ], + [ "ufbrms", "memmsgs_8F90.html#ae3e462b1a3f2d5af01807bdcded6a745", null ], + [ "ufbtam", "memmsgs_8F90.html#aef5cd104e2b7ce86e852e4878c8efc9d", null ] +]; \ No newline at end of file diff --git a/memmsgs_8F90_source.html b/memmsgs_8F90_source.html new file mode 100644 index 000000000..be46fa38c --- /dev/null +++ b/memmsgs_8F90_source.html @@ -0,0 +1,1203 @@ + + + + + + + +NCEPLIBS-bufr: memmsgs.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    memmsgs.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    38 recursive subroutine ufbmem(lunit,inew,iret,iunit)
                                    +
                                    39 
                                    +
                                    40  use bufrlib
                                    +
                                    41 
                                    +
                                    42  use modv_vars, only: im8b, maxmem, maxmsg
                                    +
                                    43 
                                    +
                                    44  use moda_mgwa
                                    +
                                    45  use moda_msgmem
                                    +
                                    46 
                                    +
                                    47  implicit none
                                    +
                                    48 
                                    +
                                    49  integer, intent(in) :: lunit, inew
                                    +
                                    50  integer, intent(out) :: iret, iunit
                                    +
                                    51  integer iprt, my_lunit, my_inew, iflg, itim, lun, il, im, itemp, ier, nmsg, lmem, i, mlast0, idxmsg, nmwrd
                                    +
                                    52 
                                    +
                                    53  character*128 bort_str, errstr
                                    +
                                    54 
                                    +
                                    55  common /quiet/ iprt
                                    +
                                    56 
                                    +
                                    57  ! Check for I8 integers
                                    +
                                    58 
                                    +
                                    59  if(im8b) then
                                    +
                                    60  im8b=.false.
                                    +
                                    61 
                                    +
                                    62  call x84(lunit,my_lunit,1)
                                    +
                                    63  call x84(inew,my_inew,1)
                                    +
                                    64  call ufbmem(my_lunit,my_inew,iret,iunit)
                                    +
                                    65  call x48(iret,iret,1)
                                    +
                                    66  call x48(iunit,iunit,1)
                                    +
                                    67 
                                    +
                                    68  im8b=.true.
                                    +
                                    69  return
                                    +
                                    70  endif
                                    +
                                    71 
                                    +
                                    72  ! Try to open BUFR file and set to initialize or concatenate
                                    +
                                    73 
                                    +
                                    74  call openbf(lunit,'IN',lunit)
                                    +
                                    75 
                                    +
                                    76  if(inew==0) then
                                    +
                                    77  msgp(0) = 0
                                    +
                                    78  munit = 0
                                    +
                                    79  mlast = 0
                                    +
                                    80  ndxts = 0
                                    +
                                    81  ldxts = 0
                                    +
                                    82  ndxm = 0
                                    +
                                    83  ldxm = 0
                                    +
                                    84  endif
                                    +
                                    85 
                                    +
                                    86  nmsg = msgp(0)
                                    +
                                    87  iret = 0
                                    +
                                    88  iflg = 0
                                    +
                                    89  itim = 0
                                    +
                                    90 
                                    +
                                    91  ! Copy any BUFR dictionary table messages from the beginning of lunit into @ref moda_msgmem for possible later use.
                                    +
                                    92  ! Note that such a table (if one exists) is already now in scope due to the prior call to subroutine openbf(), which
                                    +
                                    93  ! in turn would have automatically called subroutines readdx(), rdbfdx() and makestab() for this table.
                                    +
                                    94 
                                    +
                                    95  itemp = ndxts
                                    +
                                    96  call status(lunit,lun,il,im)
                                    +
                                    97  call cewind_c(lun)
                                    +
                                    98  call cpdxmm(lunit)
                                    +
                                    99 
                                    +
                                    100  ! If a table was indeed present at the beginning of the file, then set the flag to indicate that this table is now in scope.
                                    +
                                    101 
                                    +
                                    102  if ((itemp+1)==ndxts) ldxts = ndxts
                                    +
                                    103 
                                    +
                                    104  ! Transfer messages from file to memory and set message pointers
                                    +
                                    105 
                                    +
                                    106  do while (.true.)
                                    +
                                    107  call rdmsgw(lunit,mgwa,ier)
                                    +
                                    108  if(ier==-1) exit
                                    +
                                    109  if(ier==-2) then
                                    +
                                    110  write(bort_str,'("BUFRLIB: UFBMEM - ERROR READING MESSAGE NUMBER",I5," INTO MEMORY FROM UNIT",I3)') nmsg+1,lunit
                                    +
                                    111  call bort(bort_str)
                                    +
                                    112  endif
                                    +
                                    113 
                                    +
                                    114  if(idxmsg(mgwa)==1) then
                                    +
                                    115  ! New "embedded" BUFR dictionary table messages have been found in this file. Copy them into @ref moda_msgmem
                                    +
                                    116  ! for later use.
                                    +
                                    117  call backbufr_c(lun) ! Backspace lunit
                                    +
                                    118  call cpdxmm(lunit)
                                    +
                                    119  cycle
                                    +
                                    120  endif
                                    +
                                    121 
                                    +
                                    122  nmsg = nmsg+1
                                    +
                                    123  if(nmsg>maxmsg) iflg = 1
                                    +
                                    124  lmem = nmwrd(mgwa)
                                    +
                                    125  if(lmem+mlast>maxmem) iflg = 2
                                    +
                                    126 
                                    +
                                    127  if(iflg==0) then
                                    +
                                    128  iret = iret+1
                                    +
                                    129  do i=1,lmem
                                    +
                                    130  msgs(mlast+i) = mgwa(i)
                                    +
                                    131  enddo
                                    +
                                    132  msgp(0) = nmsg
                                    +
                                    133  msgp(nmsg) = mlast+1
                                    +
                                    134  else
                                    +
                                    135  if(itim==0) then
                                    +
                                    136  mlast0 = mlast
                                    +
                                    137  itim=1
                                    +
                                    138  endif
                                    +
                                    139  endif
                                    +
                                    140  mlast = mlast+lmem
                                    +
                                    141  enddo
                                    +
                                    142 
                                    +
                                    143  if(iflg==1) then
                                    +
                                    144  ! Emergency room treatment for maxmsg array overflow
                                    +
                                    145  if(iprt>=0) then
                                    +
                                    146  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    147  write ( unit=errstr, fmt='(A,A,I8,A)' ) 'BUFRLIB: UFBMEM - THE NO. OF MESSAGES REQUIRED TO STORE ', &
                                    +
                                    148  'ALL MESSAGES INTERNALLY EXCEEDS MAXIMUM (', maxmsg, ') - INCOMPLETE READ'
                                    +
                                    149  call errwrt(errstr)
                                    +
                                    150  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEM STORED ', msgp(0), ' MESSAGES OUT OF ', nmsg, '<<<'
                                    +
                                    151  call errwrt(errstr)
                                    +
                                    152  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEM STORED ', mlast0, ' BYTES OUT OF ', mlast, '<<<'
                                    +
                                    153  call errwrt(errstr)
                                    +
                                    154  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    155  call errwrt(' ')
                                    +
                                    156  endif
                                    +
                                    157  mlast=mlast0
                                    +
                                    158  endif
                                    +
                                    159 
                                    +
                                    160  if(iflg==2) then
                                    +
                                    161  ! Emergency room treatment for maxmem array overflow
                                    +
                                    162  if(iprt>=0) then
                                    +
                                    163  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    164  write ( unit=errstr, fmt='(A,A,I8,A)' ) 'BUFRLIB: UFBMEM - THE NO. OF BYTES REQUIRED TO STORE ', &
                                    +
                                    165  'ALL MESSAGES INTERNALLY EXCEEDS MAXIMUM (', maxmem, ') - INCOMPLETE READ'
                                    +
                                    166  call errwrt(errstr)
                                    +
                                    167  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEM STORED ', mlast0, ' BYTES OUT OF ', mlast, '<<<'
                                    +
                                    168  call errwrt(errstr)
                                    +
                                    169  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEM STORED ', msgp(0), ' MESSAGES OUT OF ', nmsg, '<<<'
                                    +
                                    170  call errwrt(errstr)
                                    +
                                    171  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    172  call errwrt(' ')
                                    +
                                    173  endif
                                    +
                                    174  mlast=mlast0
                                    +
                                    175  endif
                                    +
                                    176 
                                    +
                                    177  if(iret==0) then
                                    +
                                    178  call closbf(lunit)
                                    +
                                    179  else
                                    +
                                    180  if(munit/=0) call closbf(lunit)
                                    +
                                    181  if(munit==0) munit = lunit
                                    +
                                    182  endif
                                    +
                                    183  iunit = munit
                                    +
                                    184 
                                    +
                                    185  return
                                    +
                                    186 end subroutine ufbmem
                                    +
                                    187 
                                    +
                                    216 recursive subroutine ufbmex(lunit,lundx,inew,iret,mesg)
                                    +
                                    217 
                                    +
                                    218  use modv_vars, only: im8b, maxmem, maxmsg
                                    +
                                    219 
                                    +
                                    220  use moda_mgwa
                                    +
                                    221  use moda_msgmem
                                    +
                                    222 
                                    +
                                    223  implicit none
                                    +
                                    224 
                                    +
                                    225  character*128 bort_str, errstr
                                    +
                                    226 
                                    +
                                    227  integer, intent(in) :: lunit(*), lundx(*), inew(*)
                                    +
                                    228  integer, intent(out) :: mesg(*), iret(*)
                                    +
                                    229  integer iprt, my_lunit(1), my_lundx(1), my_inew(1), nmesg, iflg, itim, ier, nmsg, lmem, i, mlast0, iupbs01, nmwrd
                                    +
                                    230 
                                    +
                                    231  common /quiet/ iprt
                                    +
                                    232 
                                    +
                                    233  ! Check for I8 integers
                                    +
                                    234 
                                    +
                                    235  if(im8b) then
                                    +
                                    236  im8b=.false.
                                    +
                                    237 
                                    +
                                    238  call x84(lunit(1),my_lunit(1),1)
                                    +
                                    239  call x84(lundx(1),my_lundx(1),1)
                                    +
                                    240  call x84(inew(1),my_inew(1),1)
                                    +
                                    241  if (my_inew(1)==0) then
                                    +
                                    242  nmesg = 0
                                    +
                                    243  else
                                    +
                                    244  nmesg = msgp(0)
                                    +
                                    245  call x84(mesg(1),mesg(1),nmesg)
                                    +
                                    246  endif
                                    +
                                    247  call ufbmex(my_lunit(1),my_lundx(1),my_inew(1),iret(1),mesg(1))
                                    +
                                    248  call x48(mesg(1),mesg(1),nmesg+iret(1))
                                    +
                                    249  call x48(iret(1),iret(1),1)
                                    +
                                    250 
                                    +
                                    251  im8b=.true.
                                    +
                                    252  return
                                    +
                                    253  endif
                                    +
                                    254 
                                    +
                                    255  ! Try to open BUFR file and set to initialize or concatenate
                                    +
                                    256 
                                    +
                                    257  call openbf(lunit(1),'IN',lundx(1))
                                    +
                                    258 
                                    +
                                    259  if(inew(1)==0) then
                                    +
                                    260  msgp(0) = 0
                                    +
                                    261  munit = 0
                                    +
                                    262  mlast = 0
                                    +
                                    263  ndxts = 0
                                    +
                                    264  ldxts = 0
                                    +
                                    265  ndxm = 0
                                    +
                                    266  ldxm = 0
                                    +
                                    267  endif
                                    +
                                    268 
                                    +
                                    269  nmsg = msgp(0)
                                    +
                                    270  iret(1) = 0
                                    +
                                    271  iflg = 0
                                    +
                                    272  itim = 0
                                    +
                                    273 
                                    +
                                    274  ! Set some flags so that subsequent calls to the message reading routines will know there is a BUFR table in scope.
                                    +
                                    275 
                                    +
                                    276  ndxts = 1
                                    +
                                    277  ldxts = 1
                                    +
                                    278  ipmsgs(1) = 1
                                    +
                                    279 
                                    +
                                    280  ! Transfer messages from file to memory and set message pointers.
                                    +
                                    281 
                                    +
                                    282  do while (.true.)
                                    +
                                    283  call rdmsgw(lunit(1),mgwa,ier)
                                    +
                                    284  if(ier==-1) exit
                                    +
                                    285  if(ier==-2) then
                                    +
                                    286  write(bort_str,'("BUFRLIB: UFBMEX - ERROR READING MESSAGE NUMBER",I5," INTO MEMORY FROM UNIT",I3)') nmsg+1,lunit(1)
                                    +
                                    287  call bort(bort_str)
                                    +
                                    288  endif
                                    +
                                    289 
                                    +
                                    290  nmsg = nmsg+1
                                    +
                                    291  mesg(nmsg) = iupbs01(mgwa,'MTYP')
                                    +
                                    292  if(nmsg>maxmsg) iflg = 1
                                    +
                                    293  lmem = nmwrd(mgwa)
                                    +
                                    294  if(lmem+mlast>maxmem) iflg = 2
                                    +
                                    295 
                                    +
                                    296  if(iflg==0) then
                                    +
                                    297  iret(1) = iret(1)+1
                                    +
                                    298  do i=1,lmem
                                    +
                                    299  msgs(mlast+i) = mgwa(i)
                                    +
                                    300  enddo
                                    +
                                    301  msgp(0) = nmsg
                                    +
                                    302  msgp(nmsg) = mlast+1
                                    +
                                    303  else
                                    +
                                    304  if(itim==0) then
                                    +
                                    305  mlast0 = mlast
                                    +
                                    306  itim=1
                                    +
                                    307  endif
                                    +
                                    308  endif
                                    +
                                    309  mlast = mlast+lmem
                                    +
                                    310  enddo
                                    +
                                    311 
                                    +
                                    312  if(iflg==1) then
                                    +
                                    313  ! Emergency room treatment for maxmsg array overflow
                                    +
                                    314  if(iprt>=0) then
                                    +
                                    315  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    316  write ( unit=errstr, fmt='(A,A,I8,A)' ) 'BUFRLIB: UFBMEX - THE NO. OF MESSAGES REQUIRED TO STORE ', &
                                    +
                                    317  'ALL MESSAGES INTERNALLY EXCEEDS MAXIMUM (', maxmsg, ') - INCOMPLETE READ'
                                    +
                                    318  call errwrt(errstr)
                                    +
                                    319  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEX STORED ', msgp(0), ' MESSAGES OUT OF ', nmsg, '<<<'
                                    +
                                    320  call errwrt(errstr)
                                    +
                                    321  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEX STORED ', mlast0, ' BYTES OUT OF ', mlast, '<<<'
                                    +
                                    322  call errwrt(errstr)
                                    +
                                    323  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    324  call errwrt(' ')
                                    +
                                    325  endif
                                    +
                                    326  mlast=mlast0
                                    +
                                    327  endif
                                    +
                                    328 
                                    +
                                    329  if(iflg==2) then
                                    +
                                    330  ! Emergency room treatment for maxmem array overflow
                                    +
                                    331  if(iprt>=0) then
                                    +
                                    332  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    333  write ( unit=errstr, fmt='(A,A,I8,A)' ) 'BUFRLIB: UFBMEX - THE NO. OF BYTES REQUIRED TO STORE ', &
                                    +
                                    334  'ALL MESSAGES INTERNALLY EXCEEDS MAXIMUM (', maxmem, ') - INCOMPLETE READ'
                                    +
                                    335  call errwrt(errstr)
                                    +
                                    336  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEX STORED ', mlast0, ' BYTES OUT OF ', mlast, '<<<'
                                    +
                                    337  call errwrt(errstr)
                                    +
                                    338  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBMEX STORED ', msgp(0), ' MESSAGES OUT OF ', nmsg, '<<<'
                                    +
                                    339  call errwrt(errstr)
                                    +
                                    340  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    341  call errwrt(' ')
                                    +
                                    342  endif
                                    +
                                    343  mlast=mlast0
                                    +
                                    344  endif
                                    +
                                    345 
                                    +
                                    346  if(iret(1)==0) then
                                    +
                                    347  call closbf(lunit(1))
                                    +
                                    348  else
                                    +
                                    349  if(munit/=0) call closbf(lunit(1))
                                    +
                                    350  if(munit==0) munit = lunit(1)
                                    +
                                    351  endif
                                    +
                                    352 
                                    +
                                    353  return
                                    +
                                    354 end subroutine ufbmex
                                    +
                                    355 
                                    +
                                    381 recursive subroutine readmm(imsg,subset,jdate,iret)
                                    +
                                    382 
                                    +
                                    383  use modv_vars, only: im8b
                                    +
                                    384 
                                    +
                                    385  implicit none
                                    +
                                    386 
                                    +
                                    387  integer, intent(inout) :: imsg
                                    +
                                    388  integer, intent(out) :: jdate, iret
                                    +
                                    389 
                                    +
                                    390  character*8, intent(out) :: subset
                                    +
                                    391 
                                    +
                                    392  ! Check for I8 integers.
                                    +
                                    393 
                                    +
                                    394  if(im8b) then
                                    +
                                    395  im8b=.false.
                                    +
                                    396 
                                    +
                                    397  call x84(imsg,imsg,1)
                                    +
                                    398  call readmm(imsg,subset,jdate,iret)
                                    +
                                    399  call x48(imsg,imsg,1)
                                    +
                                    400  call x48(jdate,jdate,1)
                                    +
                                    401  call x48(iret,iret,1)
                                    +
                                    402 
                                    +
                                    403  im8b=.true.
                                    +
                                    404  return
                                    +
                                    405  endif
                                    +
                                    406 
                                    +
                                    407  call rdmemm(imsg,subset,jdate,iret)
                                    +
                                    408 
                                    +
                                    409  imsg = imsg+1
                                    +
                                    410 
                                    +
                                    411  return
                                    +
                                    412 end subroutine readmm
                                    +
                                    413 
                                    +
                                    433 recursive integer function ireadmm(imsg,subset,idate) result(iret)
                                    +
                                    434 
                                    +
                                    435  use modv_vars, only: im8b
                                    +
                                    436 
                                    +
                                    437  implicit none
                                    +
                                    438 
                                    +
                                    439  integer, intent(inout) :: imsg
                                    +
                                    440  integer, intent(out) :: idate
                                    +
                                    441 
                                    +
                                    442  character*8, intent(out) :: subset
                                    +
                                    443 
                                    +
                                    444  ! Check for I8 integers.
                                    +
                                    445 
                                    +
                                    446  if(im8b) then
                                    +
                                    447  im8b=.false.
                                    +
                                    448 
                                    +
                                    449  call x84(imsg,imsg,1)
                                    +
                                    450  iret=ireadmm(imsg,subset,idate)
                                    +
                                    451  call x48(imsg,imsg,1)
                                    +
                                    452  call x48(idate,idate,1)
                                    +
                                    453 
                                    +
                                    454  im8b=.true.
                                    +
                                    455  return
                                    +
                                    456  endif
                                    +
                                    457 
                                    +
                                    458  call readmm(imsg,subset,idate,iret)
                                    +
                                    459 
                                    +
                                    460  return
                                    +
                                    461 end function ireadmm
                                    +
                                    462 
                                    +
                                    486 recursive subroutine rdmemm(imsg,subset,jdate,iret)
                                    +
                                    487 
                                    +
                                    488  use modv_vars, only: im8b
                                    +
                                    489 
                                    +
                                    490  use moda_msgcwd
                                    +
                                    491  use moda_bitbuf
                                    +
                                    492  use moda_mgwa
                                    +
                                    493  use moda_msgmem
                                    +
                                    494 
                                    +
                                    495  implicit none
                                    +
                                    496 
                                    +
                                    497  integer, intent(in) :: imsg
                                    +
                                    498  integer, intent(out) :: jdate, iret
                                    +
                                    499  integer iprt, my_imsg, lun, il, im, ii, jj, kk, nwrd, iptr, lptr, ier
                                    +
                                    500 
                                    +
                                    501  character*128 bort_str, errstr
                                    +
                                    502  character*8, intent(out) :: subset
                                    +
                                    503 
                                    +
                                    504  logical known
                                    +
                                    505 
                                    +
                                    506  common /quiet/ iprt
                                    +
                                    507 
                                    +
                                    508  ! Check for I8 integers
                                    +
                                    509 
                                    +
                                    510  if(im8b) then
                                    +
                                    511  im8b=.false.
                                    +
                                    512 
                                    +
                                    513  call x84(imsg,my_imsg,1)
                                    +
                                    514  call rdmemm(my_imsg,subset,jdate,iret)
                                    +
                                    515  call x48(jdate,jdate,1)
                                    +
                                    516  call x48(iret,iret,1)
                                    +
                                    517 
                                    +
                                    518  im8b=.true.
                                    +
                                    519  return
                                    +
                                    520  endif
                                    +
                                    521 
                                    +
                                    522  ! Check the message request and file status
                                    +
                                    523 
                                    +
                                    524  call status(munit,lun,il,im)
                                    +
                                    525  call wtstat(munit,lun,il,1)
                                    +
                                    526  iret = 0
                                    +
                                    527 
                                    +
                                    528  if(imsg==0 .or.imsg>msgp(0)) then
                                    +
                                    529  call wtstat(munit,lun,il,0)
                                    +
                                    530  if(iprt>=1) then
                                    +
                                    531  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    532  if(imsg==0) then
                                    +
                                    533  errstr = 'BUFRLIB: RDMEMM - REQUESTED MEMORY MESSAGE NUMBER {FIRST (INPUT) ARGUMENT} IS 0, RETURN WITH IRET = -1'
                                    +
                                    534  else
                                    +
                                    535  write ( unit=errstr, fmt='(A,I6,A,I6,A)' ) 'BUFRLIB: RDMEMM - REQ. MEMORY MESSAGE #', imsg, &
                                    +
                                    536  ' {= 1ST (INPUT) ARG.} > # OF MESSAGES IN MEMORY (', msgp(0), '), RETURN WITH IRET = -1'
                                    +
                                    537  endif
                                    +
                                    538  call errwrt(errstr)
                                    +
                                    539  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    540  call errwrt(' ')
                                    +
                                    541  endif
                                    +
                                    542  iret = -1
                                    +
                                    543  return
                                    +
                                    544  endif
                                    +
                                    545 
                                    +
                                    546  ! Determine which table applies to this message.
                                    +
                                    547 
                                    +
                                    548  known = .false.
                                    +
                                    549  jj = ndxts
                                    +
                                    550  do while ((.not.known).and.(jj>=1))
                                    +
                                    551  if (ipmsgs(jj)<=imsg) then
                                    +
                                    552  known = .true.
                                    +
                                    553  else
                                    +
                                    554  jj = jj - 1
                                    +
                                    555  endif
                                    +
                                    556  enddo
                                    +
                                    557  if (.not.known) then
                                    +
                                    558  write(bort_str,'("BUFRLIB: RDMEMM - UNKNOWN DX TABLE FOR REQUESTED MESSAGE #",I5)') imsg
                                    +
                                    559  call bort(bort_str)
                                    +
                                    560  endif
                                    +
                                    561 
                                    +
                                    562  ! Is this table the one that is currently in scope?
                                    +
                                    563 
                                    +
                                    564  if (jj/=ldxts) then
                                    +
                                    565 
                                    +
                                    566  ! No, so reset the software to use the proper table.
                                    +
                                    567 
                                    +
                                    568  if(iprt>=2) then
                                    +
                                    569  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    570  write ( unit=errstr, fmt='(A,I3,A,I3,A,I6)' ) 'BUFRLIB: RDMEMM - RESETTING TO USE DX TABLE #', jj, &
                                    +
                                    571  ' INSTEAD OF DX TABLE #', ldxts, ' FOR REQUESTED MESSAGE #', imsg
                                    +
                                    572  call errwrt(errstr)
                                    +
                                    573  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    574  call errwrt(' ')
                                    +
                                    575  endif
                                    +
                                    576  call dxinit(lun,0)
                                    +
                                    577 
                                    +
                                    578  ! Store each of the DX dictionary messages which constitute this table.
                                    +
                                    579 
                                    +
                                    580  do ii = ifdxts(jj), (ifdxts(jj)+icdxts(jj)-1)
                                    +
                                    581  if (ii==ndxm) then
                                    +
                                    582  nwrd = ldxm - ipdxm(ii) + 1
                                    +
                                    583  else
                                    +
                                    584  nwrd = ipdxm(ii+1) - ipdxm(ii)
                                    +
                                    585  endif
                                    +
                                    586  do kk = 1, nwrd
                                    +
                                    587  mgwa(kk) = mdx(ipdxm(ii)+kk-1)
                                    +
                                    588  enddo
                                    +
                                    589  call stbfdx(lun,mgwa)
                                    +
                                    590  enddo
                                    +
                                    591 
                                    +
                                    592  ! Rebuild the internal jump/link table.
                                    +
                                    593 
                                    +
                                    594  call makestab
                                    +
                                    595  ldxts = jj
                                    +
                                    596  endif
                                    +
                                    597 
                                    +
                                    598  ! Read memory message number imsg into a message buffer.
                                    +
                                    599 
                                    +
                                    600  iptr = msgp(imsg)
                                    +
                                    601  if(imsg<msgp(0)) lptr = msgp(imsg+1)-iptr
                                    +
                                    602  if(imsg==msgp(0)) lptr = mlast-iptr+1
                                    +
                                    603  iptr = iptr-1
                                    +
                                    604 
                                    +
                                    605  do ii=1,lptr
                                    +
                                    606  mbay(ii,lun) = msgs(iptr+ii)
                                    +
                                    607  enddo
                                    +
                                    608 
                                    +
                                    609  ! Parse the message section contents.
                                    +
                                    610 
                                    +
                                    611  call cktaba(lun,subset,jdate,ier)
                                    +
                                    612  nmsg(lun) = imsg
                                    +
                                    613 
                                    +
                                    614  return
                                    +
                                    615 end subroutine rdmemm
                                    +
                                    616 
                                    +
                                    634 recursive subroutine rdmems(isub,iret)
                                    +
                                    635 
                                    +
                                    636  use modv_vars, only: im8b
                                    +
                                    637 
                                    +
                                    638  use moda_msgcwd
                                    +
                                    639  use moda_unptyp
                                    +
                                    640  use moda_bitbuf
                                    +
                                    641  use moda_msgmem
                                    +
                                    642 
                                    +
                                    643  implicit none
                                    +
                                    644 
                                    +
                                    645  integer, intent(in) :: isub
                                    +
                                    646  integer, intent(out) :: iret
                                    +
                                    647  integer my_isub, iprt, lun, il, im, mbym, nbyt, i, iupb
                                    +
                                    648 
                                    +
                                    649  character*128 bort_str, errstr
                                    +
                                    650 
                                    +
                                    651  common /quiet/ iprt
                                    +
                                    652 
                                    +
                                    653  ! Check for I8 integers
                                    +
                                    654 
                                    +
                                    655  if(im8b) then
                                    +
                                    656  im8b=.false.
                                    +
                                    657 
                                    +
                                    658  call x84(isub,my_isub,1)
                                    +
                                    659  call rdmems(my_isub,iret)
                                    +
                                    660  call x48(iret,iret,1)
                                    +
                                    661 
                                    +
                                    662  im8b=.true.
                                    +
                                    663  return
                                    +
                                    664  endif
                                    +
                                    665 
                                    +
                                    666  ! Check the message request and file status
                                    +
                                    667 
                                    +
                                    668  call status(munit,lun,il,im)
                                    +
                                    669  if(im==0) call bort('BUFRLIB: RDMEMS - A MEMORY MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                    +
                                    670  if(nsub(lun)/=0) then
                                    +
                                    671  write(bort_str,'("BUFRLIB: RDMEMS - UPON ENTRY, SUBSET POINTER IN MEMORY MESSAGE IS NOT AT BEGINNING (",I3," '// &
                                    +
                                    672  'SUBSETS HAVE BEEN READ, SHOULD BE 0)")') nsub(lun)
                                    +
                                    673  call bort(bort_str)
                                    +
                                    674  endif
                                    +
                                    675 
                                    +
                                    676  if(isub>msub(lun)) then
                                    +
                                    677  if(iprt>=0) then
                                    +
                                    678  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    679  write ( unit=errstr, fmt='(A,I5,A,A,I5,A)' ) 'BUFRLIB: RDMEMS - REQ. SUBSET #', isub, ' (= 1st INPUT ', &
                                    +
                                    680  'ARG.) > # OF SUBSETS IN MEMORY MESSAGE (', msub(lun), ')'
                                    +
                                    681  call errwrt(errstr)
                                    +
                                    682  call errwrt('RETURN WITH IRET = -1')
                                    +
                                    683  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    684  call errwrt(' ')
                                    +
                                    685  endif
                                    +
                                    686  iret = -1
                                    +
                                    687  return
                                    +
                                    688  endif
                                    +
                                    689 
                                    +
                                    690  mbym = mbyt(lun)
                                    +
                                    691  nbyt = 0
                                    +
                                    692 
                                    +
                                    693  ! Position to subset number isub in memory message
                                    +
                                    694 
                                    +
                                    695  if(msgunp(lun)==0) then
                                    +
                                    696  nsub(lun) = isub-1
                                    +
                                    697  do i=1,isub-1
                                    +
                                    698  mbyt(lun) = mbyt(lun) + iupb(mbay(1,lun),mbyt(lun)+1,16)
                                    +
                                    699  enddo
                                    +
                                    700  elseif(msgunp(lun)==1) then
                                    +
                                    701  ! message with "standard" Section 3
                                    +
                                    702  do i=1,isub-1
                                    +
                                    703  call readsb(munit,iret)
                                    +
                                    704  enddo
                                    +
                                    705  else
                                    +
                                    706  ! compressed message
                                    +
                                    707  nsub(lun) = isub-1
                                    +
                                    708  endif
                                    +
                                    709 
                                    +
                                    710  ! Now read subset number isub from memory message
                                    +
                                    711 
                                    +
                                    712  call readsb(munit,iret)
                                    +
                                    713  if(iret/=0) call bort('BUFRLIB: RDMEMS - CALL TO ROUTINE READSB RETURNED WITH IRET = -1 (EITHER MEMORY MESSAGE '// &
                                    +
                                    714  'NOT OPEN OR ALL SUBSETS IN MESSAGE READ')
                                    +
                                    715 
                                    +
                                    716  ! Reset subset pointer back to zero (beginning of message) and return
                                    +
                                    717 
                                    +
                                    718  mbyt(lun) = mbym
                                    +
                                    719  nsub(lun) = 0
                                    +
                                    720 
                                    +
                                    721  return
                                    +
                                    722 end subroutine rdmems
                                    +
                                    723 
                                    +
                                    729 subroutine cpdxmm( lunit )
                                    +
                                    730 
                                    +
                                    731  use bufrlib
                                    +
                                    732 
                                    +
                                    733  use modv_vars, only: mxdxts
                                    +
                                    734 
                                    +
                                    735  use moda_mgwa
                                    +
                                    736  use moda_msgmem
                                    +
                                    737 
                                    +
                                    738  implicit none
                                    +
                                    739 
                                    +
                                    740  integer, intent(in) :: lunit
                                    +
                                    741  integer iprt, ict, lun, il, im, ier, j, lmem, idxmsg, iupbs3, nmwrd
                                    +
                                    742 
                                    +
                                    743  character*128 errstr
                                    +
                                    744 
                                    +
                                    745  logical done
                                    +
                                    746 
                                    +
                                    747  common /quiet/ iprt
                                    +
                                    748 
                                    +
                                    749  if ( ndxts >= mxdxts ) call bort('BUFRLIB: CPDXMM - MXDXTS OVERFLOW')
                                    +
                                    750 
                                    +
                                    751  ict = 0
                                    +
                                    752  done = .false.
                                    +
                                    753  call status(lunit,lun,il,im)
                                    +
                                    754 
                                    +
                                    755  ! Read a complete dictionary table from lunit, as a set of one or more DX dictionary messages.
                                    +
                                    756 
                                    +
                                    757  do while ( .not. done )
                                    +
                                    758  call rdmsgw ( lunit, mgwa, ier )
                                    +
                                    759  if ( ier == -2 ) call bort('BUFRLIB: CPDXMM - UNEXPECTED READ ERROR')
                                    +
                                    760  if ( ier == -1 ) then
                                    +
                                    761 
                                    +
                                    762  ! Don't abort for an end-of-file condition, since it may be possible for a file to end with dictionary messages.
                                    +
                                    763  ! Instead, backspace the file pointer and let the calling routine diagnose the end-of-file condition and deal with
                                    +
                                    764  ! it as it sees fit.
                                    +
                                    765 
                                    +
                                    766  call backbufr_c(lun)
                                    +
                                    767  done = .true.
                                    +
                                    768  else if ( idxmsg(mgwa) /= 1 ) then
                                    +
                                    769 
                                    +
                                    770  ! This is a non-DX dictionary message. Assume we've reached the end of the dictionary table, and backspace lunit so
                                    +
                                    771  ! that the next read (e.g. in the calling routine) will get this same message.
                                    +
                                    772 
                                    +
                                    773  call backbufr_c(lun)
                                    +
                                    774  done = .true.
                                    +
                                    775  else if ( iupbs3(mgwa,'nsub') == 0 ) then
                                    +
                                    776 
                                    +
                                    777  ! This is a DX dictionary message, but it doesn't contain any actual dictionary information. Assume we've reached the
                                    +
                                    778  ! end of the dictionary table.
                                    +
                                    779 
                                    +
                                    780  done = .true.
                                    +
                                    781  else
                                    +
                                    782 
                                    +
                                    783  ! Store this message into @ref moda_msgmem.
                                    +
                                    784 
                                    +
                                    785  ict = ict + 1
                                    +
                                    786  if ( ( ndxm + ict ) > mxdxm ) call bort('BUFRLIB: CPDXMM - MXDXM OVERFLOW')
                                    +
                                    787  ipdxm(ndxm+ict) = ldxm + 1
                                    +
                                    788  lmem = nmwrd(mgwa)
                                    +
                                    789  if ( ( ldxm + lmem ) > mxdxw ) call bort('BUFRLIB: CPDXMM - MXDXW OVERFLOW')
                                    +
                                    790  do j = 1, lmem
                                    +
                                    791  mdx(ldxm+j) = mgwa(j)
                                    +
                                    792  enddo
                                    +
                                    793  ldxm = ldxm + lmem
                                    +
                                    794  endif
                                    +
                                    795  enddo
                                    +
                                    796 
                                    +
                                    797  ! Update the table information within @ref moda_msgmem.
                                    +
                                    798 
                                    +
                                    799  if ( ict > 0 ) then
                                    +
                                    800  ifdxts(ndxts+1) = ndxm + 1
                                    +
                                    801  icdxts(ndxts+1) = ict
                                    +
                                    802  ipmsgs(ndxts+1) = msgp(0) + 1
                                    +
                                    803  ndxm = ndxm + ict
                                    +
                                    804  ndxts = ndxts + 1
                                    +
                                    805  if ( iprt >= 2 ) then
                                    +
                                    806  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    807  write ( unit=errstr, fmt='(A,I3,A,I3,A)') 'BUFRLIB: CPDXMM - STORED NEW DX TABLE #', ndxts, &
                                    +
                                    808  ' CONSISTING OF ', ict, ' MESSAGES'
                                    +
                                    809  call errwrt(errstr)
                                    +
                                    810  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    811  call errwrt(' ')
                                    +
                                    812  endif
                                    +
                                    813  endif
                                    +
                                    814 
                                    +
                                    815  return
                                    +
                                    816 end subroutine cpdxmm
                                    +
                                    817 
                                    +
                                    839 recursive subroutine ufbmms(imsg,isub,subset,jdate)
                                    +
                                    840 
                                    +
                                    841  use modv_vars, only: im8b
                                    +
                                    842 
                                    +
                                    843  use moda_msgcwd
                                    +
                                    844  use moda_msgmem
                                    +
                                    845 
                                    +
                                    846  implicit none
                                    +
                                    847 
                                    +
                                    848  integer, intent(in) :: imsg, isub
                                    +
                                    849  integer, intent(out) :: jdate
                                    +
                                    850  integer my_imsg, my_isub, lun, il, im, iret
                                    +
                                    851 
                                    +
                                    852  character*8, intent(out) :: subset
                                    +
                                    853 
                                    +
                                    854  character*128 bort_str
                                    +
                                    855 
                                    +
                                    856  ! Check for I8 integers
                                    +
                                    857 
                                    +
                                    858  if(im8b) then
                                    +
                                    859  im8b=.false.
                                    +
                                    860 
                                    +
                                    861  call x84(imsg,my_imsg,1)
                                    +
                                    862  call x84(isub,my_isub,1)
                                    +
                                    863  call ufbmms(my_imsg,my_isub,subset,jdate)
                                    +
                                    864  call x48(jdate,jdate,1)
                                    +
                                    865 
                                    +
                                    866  im8b=.true.
                                    +
                                    867  return
                                    +
                                    868  endif
                                    +
                                    869 
                                    +
                                    870  ! Read subset #isub from memory message #imsg
                                    +
                                    871 
                                    +
                                    872  call rdmemm(imsg,subset,jdate,iret)
                                    +
                                    873  if(iret<0) then
                                    +
                                    874  if(imsg>0) then
                                    +
                                    875  write(bort_str,'("BUFRLIB: UFBMMS - REQUESTED MEMORY MESSAGE NUMBER TO READ IN (",I5,") EXCEEDS THE NUMBER OF '// &
                                    +
                                    876  'MESSAGES IN MEMORY (",I5,")")') imsg,msgp(0)
                                    +
                                    877  else
                                    +
                                    878  write(bort_str,'("BUFRLIB: UFBMMS - REQUESTED MEMORY MESSAGE NUMBER TO READ IN IS ZERO - THIS IS NOT VALID")')
                                    +
                                    879  endif
                                    +
                                    880  call bort(bort_str)
                                    +
                                    881  endif
                                    +
                                    882  call rdmems(isub,iret)
                                    +
                                    883  if(iret/=0) then
                                    +
                                    884  call status(munit,lun,il,im)
                                    +
                                    885  write(bort_str,'("BUFRLIB: UFBMMS - REQ. SUBSET NUMBER TO READ IN (",I3,") EXCEEDS THE NUMBER OF SUBSETS (",I3,") '// &
                                    +
                                    886  'IN THE REG. MEMORY MESSAGE (",I5,")")') isub,msub(lun),imsg
                                    +
                                    887  call bort(bort_str)
                                    +
                                    888  endif
                                    +
                                    889 
                                    +
                                    890  return
                                    +
                                    891 end subroutine ufbmms
                                    +
                                    892 
                                    +
                                    910 recursive subroutine ufbmns(irep,subset,idate)
                                    +
                                    911 
                                    +
                                    912  use modv_vars, only: im8b
                                    +
                                    913 
                                    +
                                    914  use moda_msgmem
                                    +
                                    915 
                                    +
                                    916  implicit none
                                    +
                                    917 
                                    +
                                    918  integer, intent(in) :: irep
                                    +
                                    919  integer, intent(out) :: idate
                                    +
                                    920  integer my_irep, imsg, jrep, iret, ireadmm, nmsub
                                    +
                                    921 
                                    +
                                    922  character*8, intent(out) :: subset
                                    +
                                    923 
                                    +
                                    924  character*128 bort_str
                                    +
                                    925 
                                    +
                                    926  ! Check for I8 integers
                                    +
                                    927 
                                    +
                                    928  if(im8b) then
                                    +
                                    929  im8b=.false.
                                    +
                                    930 
                                    +
                                    931  call x84(irep,my_irep,1)
                                    +
                                    932  call ufbmns(my_irep,subset,idate)
                                    +
                                    933  call x48(idate,idate,1)
                                    +
                                    934 
                                    +
                                    935  im8b=.true.
                                    +
                                    936  return
                                    +
                                    937  endif
                                    +
                                    938 
                                    +
                                    939  jrep = 0
                                    +
                                    940  imsg = 1
                                    +
                                    941 
                                    +
                                    942  ! Read subset #irep
                                    +
                                    943 
                                    +
                                    944  do while(ireadmm(imsg,subset,idate)==0)
                                    +
                                    945  if(jrep+nmsub(munit)>=irep) then
                                    +
                                    946  call rdmems(irep-jrep,iret)
                                    +
                                    947  return
                                    +
                                    948  endif
                                    +
                                    949  jrep = jrep+nmsub(munit)
                                    +
                                    950  enddo
                                    +
                                    951 
                                    +
                                    952  write(bort_str,'("BUFRLIB: UFBMNS - REQ. SUBSET NO. TO READ IN (",I5,") EXCEEDS TOTAL NO. OF SUBSETS IN THE COLLECTION '// &
                                    +
                                    953  'OF MEMORY MESSAGES (",I5,")")') irep,jrep
                                    +
                                    954  call bort(bort_str)
                                    +
                                    955 end subroutine ufbmns
                                    +
                                    956 
                                    +
                                    976 recursive subroutine ufbrms(imsg,isub,usr,i1,i2,iret,str)
                                    +
                                    977 
                                    +
                                    978  use modv_vars, only: im8b
                                    +
                                    979 
                                    +
                                    980  use moda_msgcwd
                                    +
                                    981  use moda_msgmem
                                    +
                                    982 
                                    +
                                    983  implicit none
                                    +
                                    984 
                                    +
                                    985  integer, intent(in) :: imsg, isub, i1, i2
                                    +
                                    986  integer, intent(out) :: iret
                                    +
                                    987  integer iprt, my_imsg, my_isub, my_i1, my_i2, jdate, lun, il, im
                                    +
                                    988 
                                    +
                                    989  real*8, intent(out) :: usr(i1,i2)
                                    +
                                    990 
                                    +
                                    991  character*(*), intent(in) :: str
                                    +
                                    992  character*128 bort_str, errstr
                                    +
                                    993  character*8 subset
                                    +
                                    994 
                                    +
                                    995  common /quiet/ iprt
                                    +
                                    996 
                                    +
                                    997  ! Check for I8 integers
                                    +
                                    998 
                                    +
                                    999  if(im8b) then
                                    +
                                    1000  im8b=.false.
                                    +
                                    1001 
                                    +
                                    1002  call x84(imsg,my_imsg,1)
                                    +
                                    1003  call x84(isub,my_isub,1)
                                    +
                                    1004  call x84(i1,my_i1,1)
                                    +
                                    1005  call x84(i2,my_i2,1)
                                    +
                                    1006  call ufbrms(my_imsg,my_isub,usr,my_i1,my_i2,iret,str)
                                    +
                                    1007  call x48(iret,iret,1)
                                    +
                                    1008 
                                    +
                                    1009  im8b=.true.
                                    +
                                    1010  return
                                    +
                                    1011  endif
                                    +
                                    1012 
                                    +
                                    1013  iret = 0
                                    +
                                    1014  if(i1<=0) then
                                    +
                                    1015  if(iprt>=0) then
                                    +
                                    1016  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1017  errstr = .LE.'BUFRLIB: UFBRMS - 4th ARG. (INPUT) IS 0, SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
                                    +
                                    1018  call errwrt(errstr)
                                    +
                                    1019  call errwrt(str)
                                    +
                                    1020  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1021  call errwrt(' ')
                                    +
                                    1022  endif
                                    +
                                    1023  return
                                    +
                                    1024  elseif(i2<=0) then
                                    +
                                    1025  if(iprt>=0) then
                                    +
                                    1026  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1027  errstr = .LE.'BUFRLIB: UFBRMS - 5th ARG. (INPUT) IS 0, SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
                                    +
                                    1028  call errwrt(errstr)
                                    +
                                    1029  call errwrt(str)
                                    +
                                    1030  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1031  call errwrt(' ')
                                    +
                                    1032  endif
                                    +
                                    1033  return
                                    +
                                    1034  endif
                                    +
                                    1035 
                                    +
                                    1036  ! Read requested values from subset #isub within memory message #imsg
                                    +
                                    1037 
                                    +
                                    1038  call rdmemm(imsg,subset,jdate,iret)
                                    +
                                    1039  if(iret<0) then
                                    +
                                    1040  if(imsg>0) then
                                    +
                                    1041  write(bort_str,'("BUFRLIB: UFBRMS - REQUESTED MEMORY MESSAGE NUMBER TO READ IN (",I5,") EXCEEDS THE NUMBER OF '// &
                                    +
                                    1042  'MESSAGES IN MEMORY (",I5,")")') imsg,msgp(0)
                                    +
                                    1043  else
                                    +
                                    1044  write(bort_str,'("BUFRLIB: UFBRMS - REQUESTED MEMORY MESSAGE NUMBER TO READ IN IS ZERO - THIS IS NOT VALID")')
                                    +
                                    1045  endif
                                    +
                                    1046  call bort(bort_str)
                                    +
                                    1047  endif
                                    +
                                    1048  call rdmems(isub,iret)
                                    +
                                    1049  if(iret/=0) then
                                    +
                                    1050  call status(munit,lun,il,im)
                                    +
                                    1051  write(bort_str,'("BUFRLIB: UFBRMS - REQ. SUBSET NUMBER TO READ IN (",I3,") EXCEEDS THE NUMBER OF SUBSETS (",I3,") '// &
                                    +
                                    1052  'IN THE REG. MEMORY MESSAGE (",I5,")")') isub,msub(lun),imsg
                                    +
                                    1053  call bort(bort_str)
                                    +
                                    1054  endif
                                    +
                                    1055 
                                    +
                                    1056  call ufbint(munit,usr,i1,i2,iret,str)
                                    +
                                    1057 
                                    +
                                    1058  return
                                    +
                                    1059 end subroutine ufbrms
                                    +
                                    1060 
                                    +
                                    1102 recursive subroutine ufbtam(tab,i1,i2,iret,str)
                                    +
                                    1103 
                                    +
                                    1104  use modv_vars, only: im8b, bmiss
                                    +
                                    1105 
                                    +
                                    1106  use moda_usrint
                                    +
                                    1107  use moda_msgcwd
                                    +
                                    1108  use moda_bitbuf
                                    +
                                    1109  use moda_msgmem
                                    +
                                    1110  use moda_tables
                                    +
                                    1111 
                                    +
                                    1112  implicit none
                                    +
                                    1113 
                                    +
                                    1114  character*(*), intent(in) :: str
                                    +
                                    1115  character*128 bort_str, errstr
                                    +
                                    1116  character*10 tgs(100)
                                    +
                                    1117  character*8 subset, cval
                                    +
                                    1118 
                                    +
                                    1119  integer*8 mps, ival
                                    +
                                    1120  integer, intent(in) :: i1, i2
                                    +
                                    1121  integer, intent(out) :: iret
                                    +
                                    1122  integer iprt, maxtg, nnod, ncon, nods, nodc, ivls, kons, my_i1, my_i2, i, j, irec, isub, itbl, lun, il, im, jdate, mret, &
                                    +
                                    1123  kbit, mbit, nbit, n, node, imsg, kmsg, nrep, ntg, nbyt, nbmp, nmsub
                                    +
                                    1124 
                                    +
                                    1125  real*8, intent(out) :: tab(i1,i2)
                                    +
                                    1126  real*8 rval, ups
                                    +
                                    1127 
                                    +
                                    1128  common /usrstr/ nnod,ncon,nods(20),nodc(10),ivls(10),kons(10)
                                    +
                                    1129  common /quiet/ iprt
                                    +
                                    1130 
                                    +
                                    1131  equivalence(cval,rval)
                                    +
                                    1132 
                                    +
                                    1133  data maxtg /100/
                                    +
                                    1134 
                                    +
                                    1135  ! Statement function
                                    +
                                    1136  mps(node) = 2_8**(ibt(node))-1
                                    +
                                    1137 
                                    +
                                    1138  ! Check for I8 integers
                                    +
                                    1139 
                                    +
                                    1140  if(im8b) then
                                    +
                                    1141  im8b=.false.
                                    +
                                    1142 
                                    +
                                    1143  call x84(i1,my_i1,1)
                                    +
                                    1144  call x84(i2,my_i2,1)
                                    +
                                    1145  call ufbtam(tab,my_i1,my_i2,iret,str)
                                    +
                                    1146  call x48(iret,iret,1)
                                    +
                                    1147 
                                    +
                                    1148  im8b=.true.
                                    +
                                    1149  return
                                    +
                                    1150  endif
                                    +
                                    1151 
                                    +
                                    1152  iret = 0
                                    +
                                    1153 
                                    +
                                    1154  if(msgp(0)==0) return
                                    +
                                    1155 
                                    +
                                    1156  do j=1,i2
                                    +
                                    1157  do i=1,i1
                                    +
                                    1158  tab(i,j) = bmiss
                                    +
                                    1159  enddo
                                    +
                                    1160  enddo
                                    +
                                    1161 
                                    +
                                    1162  ! Check for special tags in string
                                    +
                                    1163 
                                    +
                                    1164  call parstr(str,tgs,maxtg,ntg,' ',.true.)
                                    +
                                    1165  irec = 0
                                    +
                                    1166  isub = 0
                                    +
                                    1167  itbl = 0
                                    +
                                    1168  do i=1,ntg
                                    +
                                    1169  if(tgs(i)=='IREC') irec = i
                                    +
                                    1170  if(tgs(i)=='ISUB') isub = i
                                    +
                                    1171  if(tgs(i)=='ITBL') itbl = i
                                    +
                                    1172  enddo
                                    +
                                    1173 
                                    +
                                    1174  call status(munit,lun,il,im)
                                    +
                                    1175 
                                    +
                                    1176  ! Cycle through all of the memory messages in the internal arrays
                                    +
                                    1177 
                                    +
                                    1178  outer: do imsg=1,msgp(0)
                                    +
                                    1179  call rdmemm(imsg,subset,jdate,mret)
                                    +
                                    1180  if(mret<0) then
                                    +
                                    1181  write(bort_str,'("BUFRLIB: UFBTAM - HIT END-OF-FILE READING MESSAGE NUMBER",I5," IN INTERNAL MEMORY")') imsg
                                    +
                                    1182  call bort(bort_str)
                                    +
                                    1183  endif
                                    +
                                    1184 
                                    +
                                    1185  call string(str,lun,i1,0)
                                    +
                                    1186  if(irec>0) nods(irec) = 0
                                    +
                                    1187  if(isub>0) nods(isub) = 0
                                    +
                                    1188  if(itbl>0) nods(itbl) = 0
                                    +
                                    1189 
                                    +
                                    1190  ! Process all the subsets in the memory message
                                    +
                                    1191 
                                    +
                                    1192  do while (nsub(lun)<msub(lun))
                                    +
                                    1193  if(iret+1>i2) then
                                    +
                                    1194  ! Emergency room treatment for array overflow
                                    +
                                    1195  call rdmemm(0,subset,jdate,mret)
                                    +
                                    1196  nrep = 0
                                    +
                                    1197  do kmsg=1,msgp(0)
                                    +
                                    1198  call rdmemm(kmsg,subset,jdate,mret)
                                    +
                                    1199  if(mret<0) then
                                    +
                                    1200  write(bort_str,'("BUFRLIB: UFBTAM - HIT END-OF-FILE READING MESSAGE NUMBER",I5," IN INTERNAL MEMORY")') kmsg
                                    +
                                    1201  call bort(bort_str)
                                    +
                                    1202  endif
                                    +
                                    1203  nrep = nrep+nmsub(munit)
                                    +
                                    1204  enddo
                                    +
                                    1205  if(iprt>=0) then
                                    +
                                    1206  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1207  write ( unit=errstr, fmt='(A,A,I8,A,A)' ) 'BUFRLIB: UFBTAM - THE NO. OF DATA SUBSETS IN MEMORY ', &
                                    +
                                    1208  .GT.'IS LIMIT OF ', i2, ' IN THE 3RD ARG. (INPUT) - INCOMPLETE READ'
                                    +
                                    1209  call errwrt(errstr)
                                    +
                                    1210  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBTAM STORED ', iret, ' REPORTS OUT OF ', nrep, '<<<'
                                    +
                                    1211  call errwrt(errstr)
                                    +
                                    1212  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1213  call errwrt(' ')
                                    +
                                    1214  endif
                                    +
                                    1215  exit outer
                                    +
                                    1216  endif
                                    +
                                    1217 
                                    +
                                    1218  iret = iret+1
                                    +
                                    1219 
                                    +
                                    1220  do i=1,nnod
                                    +
                                    1221  nods(i) = abs(nods(i))
                                    +
                                    1222  enddo
                                    +
                                    1223 
                                    +
                                    1224  call usrtpl(lun,1,1)
                                    +
                                    1225  mbit = mbyt(lun)*8+16
                                    +
                                    1226  nbit = 0
                                    +
                                    1227  n = 1
                                    +
                                    1228 
                                    +
                                    1229  inner: do while(n+1<=nval(lun))
                                    +
                                    1230  n = n+1
                                    +
                                    1231  node = inv(n,lun)
                                    +
                                    1232  mbit = mbit+nbit
                                    +
                                    1233  nbit = ibt(node)
                                    +
                                    1234  if(itp(node)==1) then
                                    +
                                    1235  call upb8(ival,nbit,mbit,mbay(1,lun))
                                    +
                                    1236  nbmp=int(ival)
                                    +
                                    1237  call usrtpl(lun,n,nbmp)
                                    +
                                    1238  endif
                                    +
                                    1239  do i=1,nnod
                                    +
                                    1240  if(nods(i)==node) then
                                    +
                                    1241  if(itp(node)==1) then
                                    +
                                    1242  call upb8(ival,nbit,mbit,mbay(1,lun))
                                    +
                                    1243  tab(i,iret) = ival
                                    +
                                    1244  elseif(itp(node)==2) then
                                    +
                                    1245  call upb8(ival,nbit,mbit,mbay(1,lun))
                                    +
                                    1246  if(ival<mps(node)) tab(i,iret) = ups(ival,node)
                                    +
                                    1247  elseif(itp(node)==3) then
                                    +
                                    1248  cval = ' '
                                    +
                                    1249  kbit = mbit
                                    +
                                    1250  call upc(cval,nbit/8,mbay(1,lun),kbit,.true.)
                                    +
                                    1251  tab(i,iret) = rval
                                    +
                                    1252  endif
                                    +
                                    1253  nods(i) = -nods(i)
                                    +
                                    1254  cycle inner
                                    +
                                    1255  endif
                                    +
                                    1256  enddo
                                    +
                                    1257  do i=1,nnod
                                    +
                                    1258  if(nods(i)>0) cycle inner
                                    +
                                    1259  enddo
                                    +
                                    1260  enddo inner
                                    +
                                    1261 
                                    +
                                    1262  ! Update the subset pointers before next read
                                    +
                                    1263 
                                    +
                                    1264  ibit = mbyt(lun)*8
                                    +
                                    1265  call upb(nbyt,16,mbay(1,lun),ibit)
                                    +
                                    1266  mbyt(lun) = mbyt(lun) + nbyt
                                    +
                                    1267  nsub(lun) = nsub(lun) + 1
                                    +
                                    1268  if(irec>0) tab(irec,iret) = nmsg(lun)
                                    +
                                    1269  if(isub>0) tab(isub,iret) = nsub(lun)
                                    +
                                    1270  if(itbl>0) tab(itbl,iret) = ldxts
                                    +
                                    1271  enddo
                                    +
                                    1272 
                                    +
                                    1273  enddo outer
                                    +
                                    1274 
                                    +
                                    1275  ! Reset the memory file
                                    +
                                    1276  call rdmemm(0,subset,jdate,mret)
                                    +
                                    1277 
                                    +
                                    1278  return
                                    +
                                    1279 end subroutine ufbtam
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    subroutine upb(nval, nbits, ibay, ibit)
                                    Decode an integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:202
                                    +
                                    subroutine upb8(nval, nbits, ibit, ibay)
                                    Decode an 8-byte integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:80
                                    +
                                    real *8 function ups(ival, node)
                                    Unpack a real*8 value from an integer by applying the proper scale and reference values.
                                    Definition: cidecode.F90:319
                                    +
                                    recursive integer function iupb(mbay, nbyt, nbit)
                                    Decode an integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:226
                                    +
                                    subroutine upc(chr, nchr, ibay, ibit, cnvnull)
                                    Decode a character string from within a specified number of bytes of an integer array,...
                                    Definition: cidecode.F90:26
                                    +
                                    subroutine stbfdx(lun, mesg)
                                    Copy a DX BUFR tables message into the internal memory arrays in module moda_tababd.
                                    Definition: dxtable.F90:990
                                    +
                                    subroutine dxinit(lun, ioi)
                                    Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally init...
                                    Definition: dxtable.F90:606
                                    +
                                    integer function idxmsg(mesg)
                                    Check whether a BUFR message contains DX BUFR tables information that was generated by the NCEPLIBS-b...
                                    Definition: dxtable.F90:1123
                                    +
                                    subroutine errwrt(str)
                                    Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                    Definition: errwrt.F90:32
                                    + + + +
                                    recursive subroutine rdmems(isub, iret)
                                    Read a specified data subset from the BUFR message that was most recently read via a call to subrouti...
                                    Definition: memmsgs.F90:635
                                    +
                                    subroutine cpdxmm(lunit)
                                    Read an entire DX BUFR table from a specified file into internal memory arrays.
                                    Definition: memmsgs.F90:730
                                    +
                                    recursive subroutine rdmemm(imsg, subset, jdate, iret)
                                    Read a specified BUFR message from internal arrays in memory, so that it is now in scope for processi...
                                    Definition: memmsgs.F90:487
                                    +
                                    recursive subroutine ufbmem(lunit, inew, iret, iunit)
                                    Connect a new file to the NCEPLIBS-bufr software for input operations, then read the entire file cont...
                                    Definition: memmsgs.F90:39
                                    +
                                    recursive subroutine readmm(imsg, subset, jdate, iret)
                                    Read a specified BUFR message from internal arrays in memory, so that it is now in scope for processi...
                                    Definition: memmsgs.F90:382
                                    +
                                    recursive subroutine ufbmex(lunit, lundx, inew, iret, mesg)
                                    Connect a new file to the NCEPLIBS-bufr software for input operations, then read the entire file cont...
                                    Definition: memmsgs.F90:217
                                    +
                                    recursive subroutine ufbmns(irep, subset, idate)
                                    Read a specified data subset from internal arrays in memory, so that it is now in scope for processin...
                                    Definition: memmsgs.F90:911
                                    +
                                    recursive subroutine ufbrms(imsg, isub, usr, i1, i2, iret, str)
                                    Read one or more data values from a data subset in internal arrays.
                                    Definition: memmsgs.F90:977
                                    +
                                    recursive subroutine ufbtam(tab, i1, i2, iret, str)
                                    Read through every data subset in internal arrays and return one or more specified data values from e...
                                    Definition: memmsgs.F90:1103
                                    +
                                    recursive subroutine ufbmms(imsg, isub, subset, jdate)
                                    Read a specified data subset from internal arrays.
                                    Definition: memmsgs.F90:840
                                    +
                                    recursive integer function ireadmm(imsg, subset, idate)
                                    Call subroutine readmm() and pass back its return code as the function value.
                                    Definition: memmsgs.F90:434
                                    +
                                    Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                    Definition: bufrlib.F90:11
                                    +
                                    Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                    +
                                    integer ibit
                                    Bit pointer within ibay.
                                    +
                                    integer, dimension(:,:), allocatable mbay
                                    Current BUFR message for each file ID.
                                    +
                                    integer, dimension(:), allocatable mbyt
                                    Length (in bytes) of current BUFR message for each file ID.
                                    +
                                    Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                    +
                                    integer, dimension(:), allocatable mgwa
                                    Temporary working copy of BUFR message.
                                    +
                                    Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                    +
                                    integer, dimension(:), allocatable nmsg
                                    Current message pointer within logical unit.
                                    +
                                    integer, dimension(:), allocatable msub
                                    Total number of data subsets in message.
                                    +
                                    integer, dimension(:), allocatable nsub
                                    Current subset pointer within message.
                                    +
                                    Declare arrays and variables used to store the contents of one or more BUFR files within internal mem...
                                    +
                                    integer, dimension(:), allocatable msgp
                                    Pointers to the beginning of each message within msgs (up to a maximum of maxmsg, and where array ele...
                                    +
                                    integer, dimension(:), allocatable ipmsgs
                                    Pointers to first message within msgs for which each DX BUFR table applies.
                                    +
                                    integer, dimension(:), allocatable msgs
                                    BUFR messages read from one or more BUFR files.
                                    +
                                    integer, dimension(:), allocatable icdxts
                                    Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the cor...
                                    +
                                    integer mxdxm
                                    Maximum number of DX BUFR table messages that can be stored within mdx.
                                    +
                                    integer, dimension(:), allocatable ifdxts
                                    Pointers to the beginning of each DX BUFR table within mdx.
                                    +
                                    integer munit
                                    Fortran logical unit number for use in accessing contents of BUFR files within internal memory.
                                    +
                                    integer ndxm
                                    Number of DX BUFR table messages stored within mdx (up to a maximum of mxdxm).
                                    +
                                    integer ldxm
                                    Number of array elements filled within mdx (up to a maximum of mxdxw).
                                    +
                                    integer mlast
                                    Number of array elements filled within msgs (up to a maximum of maxmem).
                                    +
                                    integer ldxts
                                    Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is cu...
                                    +
                                    integer ndxts
                                    Number of DX BUFR tables represented by the messages within mdx (up to a maximum of mxdxts).
                                    +
                                    integer, dimension(:), allocatable mdx
                                    DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.
                                    +
                                    integer mxdxw
                                    Maximum number of entries that can be stored within mdx.
                                    +
                                    integer, dimension(:), allocatable ipdxm
                                    Pointers to the beginning of each message within mdx.
                                    +
                                    Declare arrays and variables used to store the internal jump/link table.
                                    +
                                    integer, dimension(:), allocatable ibt
                                    Bit widths corresponding to tag and typ:
                                    +
                                    integer, dimension(:), allocatable itp
                                    Integer type values corresponding to typ:
                                    +
                                    Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
                                    +
                                    integer, dimension(:), allocatable msgunp
                                    Flag indicating how to unpack data subsets from BUFR message:
                                    +
                                    Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                    +
                                    integer, dimension(:), allocatable nval
                                    Number of data values in BUFR data subset.
                                    +
                                    integer, dimension(:,:), allocatable, target inv
                                    Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                    +
                                    recursive subroutine closbf(lunit)
                                    Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
                                    +
                                    recursive subroutine openbf(lunit, io, lundx)
                                    Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                    +
                                    recursive subroutine status(lunit, lun, il, im)
                                    Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                    +
                                    subroutine wtstat(lunit, lun, il, im)
                                    Update file status in library internals.
                                    +
                                    recursive integer function nmsub(lunit)
                                    Get the total number of data subsets available within the BUFR message that was most recently opened ...
                                    +
                                    integer function nmwrd(mbay)
                                    Given an integer array containing Section 0 from a BUFR message, determine the array size (in integer...
                                    +
                                    subroutine rdmsgw(lunit, mesg, iret)
                                    Read the next BUFR message from logical unit lunit as an array of integer words.
                                    +
                                    subroutine usrtpl(lun, invn, nbmp)
                                    Expand a subset template within internal arrays.
                                    +
                                    recursive subroutine readsb(lunit, iret)
                                    Read the next data subset from a BUFR message.
                                    Definition: readwritesb.F90:32
                                    +
                                    recursive subroutine ufbint(lunin, usr, i1, i2, iret, str)
                                    Read or write one or more data values from or to a data subset.
                                    +
                                    subroutine cktaba(lun, subset, jdate, iret)
                                    Get the Table A mnemonic from Sections 1 and 3 of a BUFR message.
                                    Definition: s013vals.F90:1272
                                    +
                                    recursive integer function iupbs01(mbay, s01mnem)
                                    Read a specified value from within Section 0 or Section 1 of a BUFR message.
                                    Definition: s013vals.F90:247
                                    +
                                    subroutine parstr(str, tags, mtag, ntag, sep, limit80)
                                    Parse a string containing one or more substrings into an array of substrings.
                                    Definition: strings.F90:473
                                    +
                                    subroutine string(str, lun, i1, io)
                                    Check whether a string is in the internal mnemonic string cache.
                                    Definition: strings.F90:25
                                    +
                                    subroutine x48(iin4, iout8, nval)
                                    Encode one or more 4-byte integer values as 8-byte integer values.
                                    Definition: x4884.F90:18
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/menudata.js b/menudata.js index 77725629c..0c437138f 100644 --- a/menudata.js +++ b/menudata.js @@ -63,10 +63,8 @@ var menudata={children:[ {text:"p",url:"namespacemembers_func.html#index_p"}, {text:"r",url:"namespacemembers_func.html#index_r"}, {text:"s",url:"namespacemembers_func.html#index_s"}, -{text:"u",url:"namespacemembers_func.html#index_u"}, -{text:"w",url:"namespacemembers_func.html#index_w"}]}, +{text:"u",url:"namespacemembers_func.html#index_u"}]}, {text:"Variables",url:"namespacemembers_vars.html",children:[ -{text:"b",url:"namespacemembers_vars.html#index_b"}, {text:"c",url:"namespacemembers_vars.html#index_c"}, {text:"f",url:"namespacemembers_vars.html#index_f"}, {text:"i",url:"namespacemembers_vars.html#index_i"}, diff --git a/misc_8F90.html b/misc_8F90.html new file mode 100644 index 000000000..8da13c4e8 --- /dev/null +++ b/misc_8F90.html @@ -0,0 +1,581 @@ + + + + + + + +NCEPLIBS-bufr: misc.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    misc.F90 File Reference
                                    +
                                    +
                                    + +

                                    Miscellaneous subroutines and functions. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    subroutine bfrini
                                     Initialize numerous global variables and arrays within internal modules and COMMON blocks throughout the NCEPLIBS-bufr software. More...
                                     
                                    subroutine bvers (cverstr)
                                     Get the version number of the NCEPLIBS-bufr software. More...
                                     
                                    subroutine capit (str)
                                     Capitalize all of the alphabetic characters in a string. More...
                                     
                                    recursive integer function igetsc (lunit)
                                     Check for an abnormal status code associated with the processing of a file. More...
                                     
                                    integer function iokoper (nemo)
                                     Check whether a specified mnemonic is a Table C operator supported by the NCEPLIBS-bufr software. More...
                                     
                                    integer function irev (n)
                                     Return a copy of an integer value with the bytes possibly reversed. More...
                                     
                                    integer function isize (num)
                                     Compute the number of characters needed to encode an integer as a string. More...
                                     
                                    subroutine jstnum (str, sign, iret)
                                     Left-justify a character string containing an encoded integer, by removing all leading blanks and any leading sign ('+' or '-') character. More...
                                     
                                    subroutine mrginv
                                     Print a summary of merge activity. More...
                                     
                                    recursive subroutine strnum (str, num, iret)
                                     Decode an integer from a character string. More...
                                     
                                    subroutine strsuc (str1, str2, lens)
                                     Remove leading and trailing blanks from a character string. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Miscellaneous subroutines and functions.

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition in file misc.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ bfrini()

                                    + +
                                    +
                                    + + + + +
                                    subroutine bfrini
                                    +
                                    + +

                                    Initialize numerous global variables and arrays within internal modules and COMMON blocks throughout the NCEPLIBS-bufr software.

                                    +

                                    This subroutine isn't normally called directly by any application program, because it's automatically called internally from within subroutine openbf() during the first time that subroutine is called by any application program.

                                    +
                                    Authors
                                    J. Woollen J. Ator
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 15 of file misc.F90.

                                    + +

                                    References moda_idrdm::idrdm, moda_stbfr::iolun, moda_stbfr::iomsg, ipkm(), moda_bufrsr::jsr, moda_bitbuf::maxbyt, moda_bufrmg::msglen, moda_msglim::msglim, mtinfo(), moda_dscach::ncnem, moda_tababd::ntba, moda_tababd::ntbb, moda_tababd::ntbd, and moda_usrint::nval.

                                    + +

                                    Referenced by openbf().

                                    + +
                                    +
                                    + +

                                    ◆ bvers()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine bvers (character*(*), intent(out) cverstr)
                                    +
                                    + +

                                    Get the version number of the NCEPLIBS-bufr software.

                                    +
                                    Parameters
                                    + + +
                                    cverstr- Version string
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 383 of file misc.F90.

                                    + +

                                    References bort().

                                    + +

                                    Referenced by bufr_c2f_interface::bvers_c().

                                    + +
                                    +
                                    + +

                                    ◆ capit()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine capit (character*(*), intent(inout) str)
                                    +
                                    + +

                                    Capitalize all of the alphabetic characters in a string.

                                    +

                                    The string is modified in place.

                                    +
                                    Parameters
                                    + + +
                                    str- String
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2002-05-14
                                    + +

                                    Definition at line 354 of file misc.F90.

                                    + +

                                    Referenced by cmpmsg(), codflg(), elemdx(), stbfdx(), stdmsg(), and strcpt().

                                    + +
                                    +
                                    + +

                                    ◆ igetsc()

                                    + +
                                    +
                                    + + + + + + + + +
                                    recursive integer function igetsc (integer, intent(in) lunit)
                                    +
                                    + +

                                    Check for an abnormal status code associated with the processing of a file.

                                    +

                                    Return a status code associated with any file that was previously opened via a call to subroutine openbf(), so that the application program can check whether the NCEPLIBS-bufr software encountered any specific problems while processing the file.

                                    +
                                    Parameters
                                    + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    +
                                    +
                                    +
                                    Returns
                                    - Return code:
                                      +
                                    • 0 = no problems were encountered
                                    • +
                                    • 1 = replication factor overflow in subroutine usrtpl()
                                    • +
                                    +
                                    +
                                    Remarks
                                      +
                                    • Once subroutine openbf() has been called for lunit, this function can then be called any number of times and at any point throughout the remainder of the life of the application program.
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2010-05-11
                                    + +

                                    Definition at line 444 of file misc.F90.

                                    + +

                                    References bort(), moda_stcode::iscodes, status(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ iokoper()

                                    + +
                                    +
                                    + + + + + + + + +
                                    integer function iokoper (character*(*), intent(in) nemo)
                                    +
                                    + +

                                    Check whether a specified mnemonic is a Table C operator supported by the NCEPLIBS-bufr software.

                                    +
                                    Parameters
                                    + + +
                                    nemo- Mnemonic
                                    +
                                    +
                                    +
                                    Returns
                                    iokoper - Flag indicating whether nemo is a Table C operator supported by the NCEPLIBS-bufr software:
                                      +
                                    • 0 = No
                                    • +
                                    • 1 = Yes
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2015-03-06
                                    + +

                                    Definition at line 483 of file misc.F90.

                                    + +

                                    References imrkopr().

                                    + +

                                    Referenced by istdesc().

                                    + +
                                    +
                                    + +

                                    ◆ irev()

                                    + +
                                    +
                                    + + + + + + + + +
                                    integer function irev (integer, intent(in) n)
                                    +
                                    + +

                                    Return a copy of an integer value with the bytes possibly reversed.

                                    +

                                    Although, by definition (within WMO Manual 306), a BUFR message is a stream of individual octets (i.e., bytes) that is independent of any particular machine representation, the NCEPLIBS-bufr software often needs to interpret all or parts of two or more adjacent bytes as an integer. By default, the software uses the "big-endian" (left to right) scheme for numbering bytes within a machine word. By reversing the bytes, this routine allows an integer word to be properly read or written (depending on whether input or output operations, respectively, are being performed) on "little-endian" machines.

                                    +

                                    If the local machine is "little-endian" (i.e., if it uses a right to left scheme for numbering the bytes within a machine word), then this routine returns a copy of the input integer value with the bytes reversed. Otherwise, if the local machine is already "big-endian", then this routine simply returns a copy of the same integer value that was input.

                                    +
                                    Parameters
                                    + + +
                                    n- Value with bytes ordered according to the "big-endian" numbering scheme
                                    +
                                    +
                                    +
                                    Returns
                                    - Copy of n with bytes ordered according to the numbering scheme of the local machine
                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 256 of file misc.F90.

                                    + +

                                    Referenced by ipkm(), and iupm().

                                    + +
                                    +
                                    + +

                                    ◆ isize()

                                    + +
                                    +
                                    + + + + + + + + +
                                    integer function isize (integer, intent(in) num)
                                    +
                                    + +

                                    Compute the number of characters needed to encode an integer as a string.

                                    +

                                    This function does not actually encode the string but rather only figures out the required size. num must be an integer in the range of 0 to 99999.

                                    +
                                    Parameters
                                    + + +
                                    num- number
                                    +
                                    +
                                    +
                                    Returns
                                    - Number of characters necessary to encode num as a string
                                    +
                                    Author
                                    Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 407 of file misc.F90.

                                    + +

                                    References bort().

                                    + +

                                    Referenced by ufbdmp(), and ufdump().

                                    + +
                                    +
                                    + +

                                    ◆ jstnum()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine jstnum (character*(*), intent(inout) str,
                                    character, intent(out) sign,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Left-justify a character string containing an encoded integer, by removing all leading blanks and any leading sign ('+' or '-') character.

                                    +

                                    The input string is modified in place, and the sign is returned as a separate parameter. If the input string contains only blank characters, then a call is made to subroutine bort().

                                    +
                                    Parameters
                                    + + + + +
                                    str- String
                                    sign- Sign of encoded integer value:
                                      +
                                    • '+' = positive value
                                    • +
                                    • '-' = negative value
                                    • +
                                    +
                                    iret- Return code:
                                      +
                                    • 0 = normal return
                                    • +
                                    • -1 = input string contained non-blank characters which were also non-numeric
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 302 of file misc.F90.

                                    + +

                                    References bort(), errwrt(), and strnum().

                                    + +

                                    Referenced by elemdx().

                                    + +
                                    +
                                    + +

                                    ◆ mrginv()

                                    + +
                                    +
                                    + + + + +
                                    subroutine mrginv
                                    +
                                    + +

                                    Print a summary of merge activity.

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1996-10-09
                                    + +

                                    Definition at line 513 of file misc.F90.

                                    + +

                                    References errwrt().

                                    + +
                                    +
                                    + +

                                    ◆ strnum()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine strnum (character*(*), intent(in) str,
                                    integer, intent(out) num,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Decode an integer from a character string.

                                    +

                                    The string may contain leading or trailing blanks, but otherwise should contain only digits and an (optional) leading sign ('+' or '-') character. If the string is empty or contains all blank characters, then num is returned with a value of 0.

                                    +
                                    Parameters
                                    + + + + +
                                    str- String
                                    num- Value decoded from str
                                    iret- Return code: 0 = success -1 = string contained one or more illegal characters
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 176 of file misc.F90.

                                    + +

                                    References strsuc(), and x48().

                                    + +

                                    Referenced by fdebufr_c(), gettbh(), jstnum(), nemtbb(), parutg(), seqsdx(), sntbfe(), bufr_c2f_interface::strnum_c(), and upftbv().

                                    + +
                                    +
                                    + +

                                    ◆ strsuc()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine strsuc (character*(*), intent(in) str1,
                                    character*(*), intent(out) str2,
                                    integer, intent(out) lens 
                                    )
                                    +
                                    + +

                                    Remove leading and trailing blanks from a character string.

                                    +

                                    The string may not contain any embedded blanks.

                                    +
                                    Parameters
                                    + + + + +
                                    str1- String
                                    str2- Copy of str1 with leading and trailing blanks removed
                                    lens- Length of str2
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 219 of file misc.F90.

                                    + +

                                    Referenced by dxdump(), fdebufr_c(), gettagre(), hold4wlc(), mtfnam(), mtinfo(), nemspecs(), strnum(), and ufdump().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/misc_8F90.js b/misc_8F90.js new file mode 100644 index 000000000..f620836d2 --- /dev/null +++ b/misc_8F90.js @@ -0,0 +1,14 @@ +var misc_8F90 = +[ + [ "bfrini", "misc_8F90.html#ab3f045cc170403305543e34e30b87001", null ], + [ "bvers", "misc_8F90.html#a76aaeb3402158be94f735c166f93a527", null ], + [ "capit", "misc_8F90.html#abb1e33496bab2eb5a1c93f44173f57ea", null ], + [ "igetsc", "misc_8F90.html#a5b379fcc508f3f50fa71042b8e3645af", null ], + [ "iokoper", "misc_8F90.html#a1bc01a10f226d09971ab1a3b0d3734bf", null ], + [ "irev", "misc_8F90.html#a1cd5e68cc460b388986ba7273abdd689", null ], + [ "isize", "misc_8F90.html#ac720bf9bc96336f8e4bf8120852f094e", null ], + [ "jstnum", "misc_8F90.html#a0e7d4106a679cae0404866a8781a7651", null ], + [ "mrginv", "misc_8F90.html#ad2b1b1578991d75d98e005d2678bef78", null ], + [ "strnum", "misc_8F90.html#a93d704d3c84005bb12c261225445a99e", null ], + [ "strsuc", "misc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28", null ] +]; \ No newline at end of file diff --git a/misc_8F90_source.html b/misc_8F90_source.html new file mode 100644 index 000000000..2ec5f4ab1 --- /dev/null +++ b/misc_8F90_source.html @@ -0,0 +1,557 @@ + + + + + + + +NCEPLIBS-bufr: misc.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    misc.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    15 subroutine bfrini
                                    +
                                    16 
                                    +
                                    17  use modv_vars, only: maxtba, maxtbb, maxtbd, mxmsgl, nfiles, adsn, idnr
                                    +
                                    18 
                                    +
                                    19  use moda_stbfr
                                    +
                                    20  use moda_idrdm
                                    +
                                    21  use moda_msglim
                                    +
                                    22  use moda_bitbuf
                                    +
                                    23  use moda_bufrmg
                                    +
                                    24  use moda_bufrsr
                                    +
                                    25  use moda_tababd
                                    +
                                    26  use moda_usrint
                                    +
                                    27  use moda_dscach
                                    +
                                    28 
                                    +
                                    29  implicit none
                                    +
                                    30 
                                    +
                                    31  integer ndndx(10), nldxa(10), nldxb(10), nldxd(10), nld30(10), ibct, ipd1, ipd2, ipd3, ipd4, nrpl, nmrg, namb, ntot, &
                                    +
                                    32  maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30, i, j, i1, ifxy
                                    +
                                    33 
                                    +
                                    34  character*240 cmtdir
                                    +
                                    35  character*56 dxstr
                                    +
                                    36  character*6 dndx(25,10)
                                    +
                                    37 
                                    +
                                    38  common /padesc/ ibct, ipd1, ipd2, ipd3, ipd4
                                    +
                                    39  common /dxtab/ maxdx, idxv, nxstr(10), ldxa(10), ldxb(10), ldxd(10), ld30(10), dxstr(10)
                                    +
                                    40  common /mrgcom/ nrpl,nmrg,namb,ntot
                                    +
                                    41 
                                    +
                                    42  data (dndx(i,1),i=1,25)/ &
                                    +
                                    43  '102000','031001','000001','000002', &
                                    +
                                    44  '110000','031001','000010','000011','000012','000013','000015','000016','000017','000018','000019','000020', &
                                    +
                                    45  '107000','031001','000010','000011','000012','000013','101000','031001','000030'/
                                    +
                                    46 
                                    +
                                    47  data (dndx(i,2),i=1,15)/ &
                                    +
                                    48  '103000','031001','000001','000002','000003', &
                                    +
                                    49  '101000','031001','300004', &
                                    +
                                    50  '105000','031001','300003','205064','101000','031001','000030'/
                                    +
                                    51 
                                    +
                                    52  data ndndx / 25 , 15 , 8*0 /
                                    +
                                    53  data nldxa / 35 , 67 , 8*0 /
                                    +
                                    54  data nldxb / 80 , 112 , 8*0 /
                                    +
                                    55  data nldxd / 38 , 70 , 8*0 /
                                    +
                                    56  data nld30 / 5 , 6 , 8*0 /
                                    +
                                    57 
                                    +
                                    58  ! Initialize module moda_bitbuf
                                    +
                                    59 
                                    +
                                    60  maxbyt = min(10000,mxmsgl)
                                    +
                                    61 
                                    +
                                    62  ! Initialize common /padesc/
                                    +
                                    63 
                                    +
                                    64  ibct = ifxy('063000')
                                    +
                                    65  ipd1 = ifxy('102000')
                                    +
                                    66  ipd2 = ifxy('031001')
                                    +
                                    67  ipd3 = ifxy('206001')
                                    +
                                    68  ipd4 = ifxy('063255')
                                    +
                                    69 
                                    +
                                    70  ! Initialize module moda_stbfr
                                    +
                                    71 
                                    +
                                    72  do i=1,nfiles
                                    +
                                    73  iolun(i) = 0
                                    +
                                    74  iomsg(i) = 0
                                    +
                                    75  enddo
                                    +
                                    76 
                                    +
                                    77  ! Initialize module moda_idrdm
                                    +
                                    78 
                                    +
                                    79  do i=1,nfiles
                                    +
                                    80  idrdm(i) = 0
                                    +
                                    81  enddo
                                    +
                                    82 
                                    +
                                    83  ! Initialize module moda_msglim
                                    +
                                    84 
                                    +
                                    85  do i=1,nfiles
                                    +
                                    86  msglim(i) = 3
                                    +
                                    87  enddo
                                    +
                                    88 
                                    +
                                    89  ! Initialize module moda_usrint
                                    +
                                    90 
                                    +
                                    91  do i=1,nfiles
                                    +
                                    92  nval(i) = 0
                                    +
                                    93  enddo
                                    +
                                    94 
                                    +
                                    95  ! Initialize idnr array
                                    +
                                    96 
                                    +
                                    97  do i=1,10
                                    +
                                    98  idnr(i) = ifxy(adsn(i))
                                    +
                                    99  enddo
                                    +
                                    100 
                                    +
                                    101  ! Initialize module moda_tababd
                                    +
                                    102 
                                    +
                                    103  ! ntba(0) is the maximum number of entries within internal BUFR table A
                                    +
                                    104  ntba(0) = maxtba
                                    +
                                    105  ! ntbb(0) is the maximum number of entries within internal BUFR Table B
                                    +
                                    106  ntbb(0) = maxtbb
                                    +
                                    107  ! ntbd(0) is the maximum number of entries within internal BUFR Table D
                                    +
                                    108  ntbd(0) = maxtbd
                                    +
                                    109 
                                    +
                                    110  ! Initialize common /dxtab/
                                    +
                                    111 
                                    +
                                    112  maxdx = maxbyt
                                    +
                                    113  ! idxv is the version number of the local tables
                                    +
                                    114  idxv = 1
                                    +
                                    115 
                                    +
                                    116  do j=1,10
                                    +
                                    117  ldxa(j) = nldxa(j)
                                    +
                                    118  ldxb(j) = nldxb(j)
                                    +
                                    119  ldxd(j) = nldxd(j)
                                    +
                                    120  ld30(j) = nld30(j)
                                    +
                                    121  dxstr(j) = ' '
                                    +
                                    122  nxstr(j) = ndndx(j)*2
                                    +
                                    123  do i=1,ndndx(j)
                                    +
                                    124  i1 = i*2-1
                                    +
                                    125  call ipkm(dxstr(j)(i1:i1),2,ifxy(dndx(i,j)))
                                    +
                                    126  enddo
                                    +
                                    127  enddo
                                    +
                                    128 
                                    +
                                    129  ! Initialize module moda_bufrmg
                                    +
                                    130 
                                    +
                                    131  do i=1,nfiles
                                    +
                                    132  msglen(i) = 0
                                    +
                                    133  enddo
                                    +
                                    134 
                                    +
                                    135  ! Initialize common /mrgcom/
                                    +
                                    136 
                                    +
                                    137  nrpl = 0
                                    +
                                    138  nmrg = 0
                                    +
                                    139  namb = 0
                                    +
                                    140  ntot = 0
                                    +
                                    141 
                                    +
                                    142  ! Initialize module moda_bufrsr
                                    +
                                    143 
                                    +
                                    144  do i=1,nfiles
                                    +
                                    145  jsr(i) = 0
                                    +
                                    146  enddo
                                    +
                                    147 
                                    +
                                    148  ! Initialize module moda_dscach
                                    +
                                    149 
                                    +
                                    150  ncnem = 0
                                    +
                                    151 
                                    +
                                    152  ! Initialize common /mstinf/
                                    +
                                    153 
                                    +
                                    154  cmtdir = &
                                    +
                                    155  '/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build-doc' // &
                                    +
                                    156 's/install/tables'
                                    +
                                    157  call mtinfo(cmtdir,98,99)
                                    +
                                    158 
                                    +
                                    159  return
                                    +
                                    160 end subroutine bfrini
                                    +
                                    161 
                                    +
                                    176 recursive subroutine strnum( str, num, iret )
                                    +
                                    177  use modv_vars, only: im8b
                                    +
                                    178 
                                    +
                                    179  implicit none
                                    +
                                    180 
                                    +
                                    181  character*(*), intent(in) :: str
                                    +
                                    182 
                                    +
                                    183  integer, intent(out) :: num, iret
                                    +
                                    184 
                                    +
                                    185  character str2*40
                                    +
                                    186 
                                    +
                                    187  integer lens, ios
                                    +
                                    188 
                                    +
                                    189  ! Check for I8 integers.
                                    +
                                    190  if (im8b) then
                                    +
                                    191  im8b = .false.
                                    +
                                    192  call strnum ( str, num, iret )
                                    +
                                    193  call x48 ( num, num, 1 )
                                    +
                                    194  call x48 ( iret, iret, 1 )
                                    +
                                    195  im8b = .true.
                                    +
                                    196  return
                                    +
                                    197  end if
                                    +
                                    198 
                                    +
                                    199  ! Decode the integer from the string.
                                    +
                                    200  iret = 0
                                    +
                                    201  num = 0
                                    +
                                    202  call strsuc ( str, str2, lens )
                                    +
                                    203  if ( lens == 0 ) return
                                    +
                                    204  read ( str2(1:lens), '(I40)', iostat = ios ) num
                                    +
                                    205  if ( ios /= 0 ) iret = -1
                                    +
                                    206 
                                    +
                                    207  return
                                    +
                                    208 end subroutine strnum
                                    +
                                    209 
                                    +
                                    219 subroutine strsuc(str1,str2,lens)
                                    +
                                    220  implicit none
                                    +
                                    221 
                                    +
                                    222  character*(*), intent(in) :: str1
                                    +
                                    223  character*(*), intent(out) :: str2
                                    +
                                    224 
                                    +
                                    225  integer, intent(out) :: lens
                                    +
                                    226 
                                    +
                                    227  str2 = adjustl(str1)
                                    +
                                    228  lens = len_trim(str2)
                                    +
                                    229 
                                    +
                                    230  return
                                    +
                                    231 end subroutine strsuc
                                    +
                                    232 
                                    +
                                    256 integer function irev(n) result(iret)
                                    +
                                    257 
                                    +
                                    258  use modv_vars, only: nbytw, iordle
                                    +
                                    259 
                                    +
                                    260  implicit none
                                    +
                                    261 
                                    +
                                    262  integer, intent(in) :: n
                                    +
                                    263 
                                    +
                                    264  integer int, jnt, i
                                    +
                                    265 
                                    +
                                    266  character*8 cint,dint
                                    +
                                    267 
                                    +
                                    268  equivalence(cint,int)
                                    +
                                    269  equivalence(dint,jnt)
                                    +
                                    270 
                                    +
                                    271 #ifdef BIG_ENDIAN
                                    +
                                    272  iret = n
                                    +
                                    273 #else
                                    +
                                    274  int = n
                                    +
                                    275  do i=1,nbytw
                                    +
                                    276  dint(i:i) = cint(iordle(i):iordle(i))
                                    +
                                    277  enddo
                                    +
                                    278  iret = jnt
                                    +
                                    279 #endif
                                    +
                                    280 
                                    +
                                    281  return
                                    +
                                    282 end function irev
                                    +
                                    283 
                                    +
                                    302 subroutine jstnum(str,sign,iret)
                                    +
                                    303 
                                    +
                                    304  implicit none
                                    +
                                    305 
                                    +
                                    306  integer, intent(out) :: iret
                                    +
                                    307  integer iprt, lstr, num, ier
                                    +
                                    308 
                                    +
                                    309  character*(*), intent(inout) :: str
                                    +
                                    310  character, intent(out) :: sign
                                    +
                                    311  character*128 errstr
                                    +
                                    312 
                                    +
                                    313  common /quiet/ iprt
                                    +
                                    314 
                                    +
                                    315  iret = 0
                                    +
                                    316 
                                    +
                                    317  if(str==' ') call bort('BUFRLIB: JSTNUM - INPUT BLANK CHARACTER STRING NOT ALLOWED')
                                    +
                                    318 
                                    +
                                    319  str = adjustl(str)
                                    +
                                    320  lstr = len(str)
                                    +
                                    321  if(str(1:1)=='+') then
                                    +
                                    322  str = str(2:lstr)
                                    +
                                    323  sign = '+'
                                    +
                                    324  elseif(str(1:1)=='-') then
                                    +
                                    325  str = str(2:lstr)
                                    +
                                    326  sign = '-'
                                    +
                                    327  else
                                    +
                                    328  sign = '+'
                                    +
                                    329  endif
                                    +
                                    330 
                                    +
                                    331  call strnum(str,num,ier)
                                    +
                                    332  if(ier<0) then
                                    +
                                    333  if(iprt>=0) then
                                    +
                                    334  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    335  errstr = 'BUFRLIB: JSTNUM: ENCODED VALUE WITHIN RESULTANT CHARACTER STRING (' // str // ') IS NOT AN INTEGER - '// &
                                    +
                                    336  'RETURN WITH IRET = -1'
                                    +
                                    337  call errwrt(errstr)
                                    +
                                    338  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    339  call errwrt(' ')
                                    +
                                    340  endif
                                    +
                                    341  iret = -1
                                    +
                                    342  endif
                                    +
                                    343 
                                    +
                                    344  return
                                    +
                                    345 end subroutine jstnum
                                    +
                                    346 
                                    +
                                    354 subroutine capit(str)
                                    +
                                    355 
                                    +
                                    356  implicit none
                                    +
                                    357 
                                    +
                                    358  integer i, j
                                    +
                                    359 
                                    +
                                    360  character*(*), intent(inout) :: str
                                    +
                                    361  character*26 upcs, lwcs
                                    +
                                    362 
                                    +
                                    363  data upcs /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
                                    +
                                    364  data lwcs /'abcdefghijklmnopqrstuvwxyz'/
                                    +
                                    365 
                                    +
                                    366  do i=1,len(str)
                                    +
                                    367  do j=1,26
                                    +
                                    368  if(str(i:i)==lwcs(j:j)) then
                                    +
                                    369  str(i:i) = upcs(j:j)
                                    +
                                    370  exit
                                    +
                                    371  endif
                                    +
                                    372  enddo
                                    +
                                    373  enddo
                                    +
                                    374 
                                    +
                                    375  return
                                    +
                                    376 end subroutine capit
                                    +
                                    377 
                                    +
                                    383 subroutine bvers (cverstr)
                                    +
                                    384 
                                    +
                                    385  implicit none
                                    +
                                    386 
                                    +
                                    387  character*(*), intent(out) :: cverstr
                                    +
                                    388 
                                    +
                                    389  if (len(cverstr)<8) call bort('BUFRLIB: BVERS - INPUT STRING MUST CONTAIN SPACE FOR AT LEAST 8 CHARACTERS')
                                    +
                                    390 
                                    +
                                    391  cverstr = '12.1.0'
                                    +
                                    392 
                                    +
                                    393  return
                                    +
                                    394 end subroutine bvers
                                    +
                                    395 
                                    +
                                    407 integer function isize (num) result (iret)
                                    +
                                    408 
                                    +
                                    409  implicit none
                                    +
                                    410 
                                    +
                                    411  integer, intent(in) :: num
                                    +
                                    412 
                                    +
                                    413  character*128 bort_str
                                    +
                                    414 
                                    +
                                    415  if ( num >= 0 ) then
                                    +
                                    416  do iret = 1, 5
                                    +
                                    417  if ( num < 10**iret ) return
                                    +
                                    418  enddo
                                    +
                                    419  endif
                                    +
                                    420  write(bort_str,'("BUFRLIB: ISIZE - INPUT NUMBER (",I7,") IS OUT OF RANGE")') num
                                    +
                                    421  call bort(bort_str)
                                    +
                                    422 
                                    +
                                    423  return
                                    +
                                    424 end function isize
                                    +
                                    425 
                                    +
                                    444 recursive integer function igetsc(lunit) result(iret)
                                    +
                                    445 
                                    +
                                    446  use modv_vars, only: im8b
                                    +
                                    447 
                                    +
                                    448  use moda_stcode
                                    +
                                    449 
                                    +
                                    450  implicit none
                                    +
                                    451 
                                    +
                                    452  integer, intent(in) :: lunit
                                    +
                                    453  integer my_lunit, lun, il, im
                                    +
                                    454 
                                    +
                                    455  ! Check for I8 integers.
                                    +
                                    456  if (im8b) then
                                    +
                                    457  im8b = .false.
                                    +
                                    458  call x84(lunit,my_lunit,1)
                                    +
                                    459  iret = igetsc(my_lunit)
                                    +
                                    460  im8b = .true.
                                    +
                                    461  return
                                    +
                                    462  end if
                                    +
                                    463 
                                    +
                                    464  iret = 0
                                    +
                                    465 
                                    +
                                    466  ! Make sure the specified logical unit is connected to the library.
                                    +
                                    467  call status(lunit,lun,il,im)
                                    +
                                    468  if(il==0) call bort('BUFRLIB: IGETSC - BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                    +
                                    469 
                                    +
                                    470  iret = iscodes(lun)
                                    +
                                    471 
                                    +
                                    472  return
                                    +
                                    473 end function igetsc
                                    +
                                    474 
                                    +
                                    483 integer function iokoper(nemo) result(iret)
                                    +
                                    484 
                                    +
                                    485  implicit none
                                    +
                                    486 
                                    +
                                    487  integer imrkopr
                                    +
                                    488 
                                    +
                                    489  character*(*), intent(in) :: nemo
                                    +
                                    490 
                                    +
                                    491  if ( len(nemo)<6 ) then
                                    +
                                    492  iret = 0
                                    +
                                    493  else if ( lge(nemo(1:3),'201') .and. lle(nemo(1:3),'208') ) then
                                    +
                                    494  iret = 1
                                    +
                                    495  else if ( nemo(1:3)=='221' ) then
                                    +
                                    496  iret = 1
                                    +
                                    497  else if ( ( ( nemo(4:6)=='000' ) .or. ( nemo(4:6)=='255' ) ) .and. &
                                    +
                                    498  ( ( nemo(1:3)=='237' ) .or. ( lge(nemo(1:3),'241') .and. lle(nemo(1:3),'243') ) ) ) then
                                    +
                                    499  iret = 1
                                    +
                                    500  else if ( ( nemo(4:6)=='000' ) .and. ( ( lge(nemo(1:3),'222') .and. lle(nemo(1:3),'225') ) .or. &
                                    +
                                    501  ( nemo(1:3)=='232' ) .or. ( nemo(1:3)=='235' ) .or. ( nemo(1:3)=='236' ) ) ) then
                                    +
                                    502  iret = 1
                                    +
                                    503  else
                                    +
                                    504  iret = imrkopr(nemo)
                                    +
                                    505  endif
                                    +
                                    506 
                                    +
                                    507  return
                                    +
                                    508 end function iokoper
                                    +
                                    509 
                                    +
                                    513 subroutine mrginv
                                    +
                                    514 
                                    +
                                    515  implicit none
                                    +
                                    516 
                                    +
                                    517  integer nrpl, nmrg, namb, ntot, iprt
                                    +
                                    518 
                                    +
                                    519  character*128 errstr
                                    +
                                    520 
                                    +
                                    521  common /mrgcom/ nrpl, nmrg, namb, ntot
                                    +
                                    522  common /quiet/ iprt
                                    +
                                    523 
                                    +
                                    524  if(iprt>=0) then
                                    +
                                    525  call errwrt('+++++++++++++++++++++BUFRLIB+++++++++++++++++++++++')
                                    +
                                    526  call errwrt('---------------------------------------------------')
                                    +
                                    527  call errwrt('INVENTORY FROM MERGE PROCESS IN SUBROUTINE INVMRG:')
                                    +
                                    528  call errwrt('---------------------------------------------------')
                                    +
                                    529  write ( unit=errstr, fmt='(A,I8)' ) 'NUMBER OF DRB EXPANSIONS = ', nrpl
                                    +
                                    530  call errwrt(errstr)
                                    +
                                    531  write ( unit=errstr, fmt='(A,I8)' ) 'NUMBER OF MERGES = ', nmrg
                                    +
                                    532  call errwrt(errstr)
                                    +
                                    533  write ( unit=errstr, fmt='(A,I8)' ) 'NUMBER THAT ARE AMBIGUOUS = ', namb
                                    +
                                    534  call errwrt(errstr)
                                    +
                                    535  call errwrt('---------------------------------------------------')
                                    +
                                    536  write ( unit=errstr, fmt='(A,I9)' ) 'TOTAL NUMBER OF VISITS = ', ntot
                                    +
                                    537  call errwrt(errstr)
                                    +
                                    538  call errwrt('---------------------------------------------------')
                                    +
                                    539  call errwrt('+++++++++++++++++++++BUFRLIB+++++++++++++++++++++++')
                                    +
                                    540  call errwrt(' ')
                                    +
                                    541  endif
                                    +
                                    542 
                                    +
                                    543  return
                                    +
                                    544 end subroutine mrginv
                                    +
                                    integer function imrkopr(nemo)
                                    Check whether a specified mnemonic is a Table C marker operator.
                                    Definition: bitmaps.F90:354
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    recursive subroutine ipkm(cbay, nbyt, n)
                                    Encode an integer value within a specified number of bytes of a character string, up to a maximum of ...
                                    Definition: ciencode.F90:194
                                    +
                                    subroutine errwrt(str)
                                    Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                    Definition: errwrt.F90:32
                                    +
                                    recursive subroutine mtinfo(cmtdir, lunmt1, lunmt2)
                                    Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
                                    Definition: mastertable.F90:35
                                    +
                                    subroutine jstnum(str, sign, iret)
                                    Left-justify a character string containing an encoded integer, by removing all leading blanks and any...
                                    Definition: misc.F90:303
                                    +
                                    integer function iokoper(nemo)
                                    Check whether a specified mnemonic is a Table C operator supported by the NCEPLIBS-bufr software.
                                    Definition: misc.F90:484
                                    +
                                    integer function irev(n)
                                    Return a copy of an integer value with the bytes possibly reversed.
                                    Definition: misc.F90:257
                                    +
                                    recursive integer function igetsc(lunit)
                                    Check for an abnormal status code associated with the processing of a file.
                                    Definition: misc.F90:445
                                    +
                                    subroutine bvers(cverstr)
                                    Get the version number of the NCEPLIBS-bufr software.
                                    Definition: misc.F90:384
                                    +
                                    recursive subroutine strnum(str, num, iret)
                                    Decode an integer from a character string.
                                    Definition: misc.F90:177
                                    +
                                    subroutine strsuc(str1, str2, lens)
                                    Remove leading and trailing blanks from a character string.
                                    Definition: misc.F90:220
                                    +
                                    subroutine bfrini
                                    Initialize numerous global variables and arrays within internal modules and COMMON blocks throughout ...
                                    Definition: misc.F90:16
                                    +
                                    subroutine capit(str)
                                    Capitalize all of the alphabetic characters in a string.
                                    Definition: misc.F90:355
                                    +
                                    integer function isize(num)
                                    Compute the number of characters needed to encode an integer as a string.
                                    Definition: misc.F90:408
                                    +
                                    subroutine mrginv
                                    Print a summary of merge activity.
                                    Definition: misc.F90:514
                                    +
                                    Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                    +
                                    integer maxbyt
                                    Maximum length of an output BUFR message.
                                    +
                                    Declare arrays used to store, for each output file ID, a copy of the BUFR message that was most recen...
                                    +
                                    integer, dimension(:), allocatable msglen
                                    Length (in integers) of BUFR message most recently written to each output file ID.
                                    +
                                    Declare arrays and variables needed to store the current position within a BUFR file.
                                    +
                                    integer, dimension(:), allocatable jsr
                                    Indicator of stack status when entering subroutine rewnbf().
                                    +
                                    Declare arrays and variables for the internal Table A mnemonic cache that is used for Section 3 decod...
                                    +
                                    integer ncnem
                                    Number of entries in the internal Table A mnemonic cache (up to a maximum of mxcnem).
                                    +
                                    Declare an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive ...
                                    +
                                    integer, dimension(:), allocatable idrdm
                                    DX BUFR tables message count for each file ID.
                                    +
                                    Declare an array used to keep track of which logical units should not have any empty (zero data subse...
                                    +
                                    integer, dimension(:), allocatable msglim
                                    Tracking index for each file ID.
                                    +
                                    Declare arrays used to store file and message status indicators for all logical units that have been ...
                                    +
                                    integer, dimension(:), allocatable iolun
                                    File status indicators.
                                    +
                                    integer, dimension(:), allocatable iomsg
                                    Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
                                    +
                                    Declare an array used to store a status code for each file ID if an error or other abnormal result oc...
                                    +
                                    integer, dimension(:), allocatable iscodes
                                    Abnormal status codes.
                                    +
                                    Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
                                    +
                                    integer, dimension(:), allocatable ntba
                                    Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
                                    +
                                    integer, dimension(:), allocatable ntbd
                                    Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
                                    +
                                    integer, dimension(:), allocatable ntbb
                                    Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
                                    +
                                    Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                    +
                                    integer, dimension(:), allocatable nval
                                    Number of data values in BUFR data subset.
                                    +
                                    recursive subroutine status(lunit, lun, il, im)
                                    Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                    +
                                    subroutine x48(iin4, iout8, nval)
                                    Encode one or more 4-byte integer values as 8-byte integer values.
                                    Definition: x4884.F90:18
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/missing_8F90.html b/missing_8F90.html new file mode 100644 index 000000000..eb9daed94 --- /dev/null +++ b/missing_8F90.html @@ -0,0 +1,279 @@ + + + + + + + +NCEPLIBS-bufr: missing.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    missing.F90 File Reference
                                    +
                                    +
                                    + +

                                    Test for "missing" data values. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    real *8 function getbmiss ()
                                     Get the current placeholder value which represents "missing" data when reading from or writing to BUFR files. More...
                                     
                                    integer function ibfms (r8val)
                                     Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-reading subroutines contains the current placeholder value for "missing" data. More...
                                     
                                    recursive integer function icbfms (str, lstr)
                                     Check whether a character string returned from a previous call to subroutine readlc() was encoded as "missing" (all bits set to 1) within the actual BUFR data subset. More...
                                     
                                    subroutine setbmiss (xmiss)
                                     Specify a customized value to represent "missing" data when reading from or writing to BUFR files. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Test for "missing" data values.

                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2007-01-19
                                    + +

                                    Definition in file missing.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ getbmiss()

                                    + +
                                    +
                                    + + + + +
                                    real*8 function getbmiss
                                    +
                                    + +

                                    Get the current placeholder value which represents "missing" data when reading from or writing to BUFR files.

                                    +
                                    Returns
                                    getbmiss - Current placeholder value for "missing" data
                                    +

                                    This subroutine can be called at any time from within an application program, and the returned value can then be used to represent "missing" data within the context of future calls to any of the other NCEPLIBS-bufr values-reading subroutines or values-writing subroutines. This placeholder value can also be changed at any time via a separate call to subroutine setbmiss().

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2012-09-15
                                    + +

                                    Definition at line 134 of file missing.F90.

                                    + +
                                    +
                                    + +

                                    ◆ ibfms()

                                    + +
                                    +
                                    + + + + + + + + +
                                    integer function ibfms (real*8, intent(in) r8val)
                                    +
                                    + +

                                    Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-reading subroutines contains the current placeholder value for "missing" data.

                                    +
                                    Parameters
                                    + + +
                                    r8val- Data value to be tested
                                    +
                                    +
                                    +
                                    Returns
                                    ibfms - Return code:
                                      +
                                    • 0 = r8val is not "missing"
                                    • +
                                    • 1 = r8val is "missing"
                                    • +
                                    +
                                    +

                                    The current placeholder value for "missing" data is always equal to the value xmiss as specified during the most recent call to subroutine setbmiss(), or to a default value of 10E10 if setbmiss() was never called. In either case, a return value of 1 means that the corresponding value was encoded as "missing" (all bits set to 1) within the actual BUFR data subset.

                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2007-01-19
                                    + +

                                    Definition at line 24 of file missing.F90.

                                    + +

                                    Referenced by bufr_c2f_interface::ibfms_c(), invmrg(), ufbdmp(), and ufdump().

                                    + +
                                    +
                                    + +

                                    ◆ icbfms()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive integer function icbfms (character*(*), intent(in) str,
                                    integer, intent(in) lstr 
                                    )
                                    +
                                    + +

                                    Check whether a character string returned from a previous call to subroutine readlc() was encoded as "missing" (all bits set to 1) within the actual BUFR data subset.

                                    +
                                    Parameters
                                    + + + +
                                    str- String
                                    lstr- Length of string, i.e. number of characters within str to be tested
                                    +
                                    +
                                    +
                                    Returns
                                    icbfms - return code:
                                      +
                                    • 0 = str is not "missing"
                                    • +
                                    • 1 = str is "missing"
                                    • +
                                    +
                                    +
                                    Remarks
                                      +
                                    • The use of an integer return code allows this function to be called in a logical context from application programs written in C as well as in Fortran
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2012-06-07
                                    + +

                                    Definition at line 55 of file missing.F90.

                                    + +

                                    References iupm(), and x84().

                                    + +

                                    Referenced by ufbdmp(), and ufdump().

                                    + +
                                    +
                                    + +

                                    ◆ setbmiss()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine setbmiss (real*8, intent(in) xmiss)
                                    +
                                    + +

                                    Specify a customized value to represent "missing" data when reading from or writing to BUFR files.

                                    +

                                    This subroutine can be called at any time from within an application program, and the value xmiss will then be treated as "missing" when reading or writing BUFR data during all future calls to any of the other NCEPLIBS-bufr values-reading subroutines or values-writing subroutines. Otherwise, if this subroutine is never called, a default placeholder value of 10E10_8 is used for "missing".

                                    +

                                    Any data value can always be checked for equivalence to the current "missing" value via a call to function ibfms(). See also function getbmiss().

                                    +
                                    Remarks
                                      +
                                    • The value xmiss is never actually encoded within a BUFR data subset; rather, xmiss is a user-friendly placeholder value to represent "missing" data values within the scope of the application program. In any actual BUFR data subset, "missing" values are always encoded as all bits set to 1, per WMO regulations.
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + +
                                    xmiss- New placeholder value to represent "missing" data
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2012-09-15
                                    + +

                                    Definition at line 170 of file missing.F90.

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/missing_8F90.js b/missing_8F90.js new file mode 100644 index 000000000..4f854dd42 --- /dev/null +++ b/missing_8F90.js @@ -0,0 +1,7 @@ +var missing_8F90 = +[ + [ "getbmiss", "missing_8F90.html#a2e6035695a459284e0592a2452b2f168", null ], + [ "ibfms", "missing_8F90.html#a7dd66484c8bf4dd8d8e3791d02715e86", null ], + [ "icbfms", "missing_8F90.html#a5f3cd824b4ddd60e635ec591d285b23f", null ], + [ "setbmiss", "missing_8F90.html#a65fba06ac4fb69670084ee11746bdd9f", null ] +]; \ No newline at end of file diff --git a/missing_8F90_source.html b/missing_8F90_source.html new file mode 100644 index 000000000..9b5ba294e --- /dev/null +++ b/missing_8F90_source.html @@ -0,0 +1,212 @@ + + + + + + + +NCEPLIBS-bufr: missing.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    missing.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    24 integer function ibfms ( r8val ) result ( iret )
                                    +
                                    25 
                                    +
                                    26  use modv_vars, only: bmiss
                                    +
                                    27 
                                    +
                                    28  implicit none
                                    +
                                    29 
                                    +
                                    30  real*8, intent(in) :: r8val
                                    +
                                    31 
                                    +
                                    32  if ( r8val == bmiss ) then
                                    +
                                    33  iret = 1
                                    +
                                    34  else
                                    +
                                    35  iret = 0
                                    +
                                    36  endif
                                    +
                                    37 
                                    +
                                    38  return
                                    +
                                    39 end function ibfms
                                    +
                                    40 
                                    +
                                    55 recursive integer function icbfms ( str, lstr ) result ( iret )
                                    +
                                    56 
                                    +
                                    57  use modv_vars, only: im8b
                                    +
                                    58 
                                    +
                                    59  implicit none
                                    +
                                    60 
                                    +
                                    61  character*(*), intent(in) :: str
                                    +
                                    62  character*8 strz
                                    +
                                    63  character*16 zz
                                    +
                                    64  character*16, parameter :: zm_be = '202020E076483742' ! 10E10 stored as hexadecimal on a big-endian system
                                    +
                                    65  character*16, parameter :: zm_le = '42374876E8000000' ! 10E10 stored as hexadecimal on a little-endian system
                                    +
                                    66 
                                    +
                                    67  real*8 rl8z
                                    +
                                    68 
                                    +
                                    69  integer, intent(in) :: lstr
                                    +
                                    70  integer my_lstr, numchr, ii, iupm
                                    +
                                    71 
                                    +
                                    72  equivalence(strz,rl8z)
                                    +
                                    73 
                                    +
                                    74  ! Check for I8 integers.
                                    +
                                    75 
                                    +
                                    76  if ( im8b ) then
                                    +
                                    77  im8b = .false.
                                    +
                                    78 
                                    +
                                    79  call x84 ( lstr, my_lstr, 1 )
                                    +
                                    80  iret = icbfms( str, my_lstr )
                                    +
                                    81 
                                    +
                                    82  im8b = .true.
                                    +
                                    83  return
                                    +
                                    84  end if
                                    +
                                    85 
                                    +
                                    86  iret = 0
                                    +
                                    87 
                                    +
                                    88  numchr = min(lstr,len(str))
                                    +
                                    89 
                                    +
                                    90  ! Beginning with version 10.2.0 of the NCEPLIBS-bufr, all "missing" strings have been explicitly encoded with all bits set
                                    +
                                    91  ! to 1, and which is the correct encoding per WMO regulations. However, prior to version 10.2.0, the library encoded a
                                    +
                                    92  ! "missing" string by storing the real*8 value of 10E10 into the string. So for consistency with historical archives,
                                    +
                                    93  ! the following logic attempts to identify some of these earlier cases, at least for strings between 4 and 8 bytes in length.
                                    +
                                    94 
                                    +
                                    95  if ( numchr>=4 .and. numchr<=8 ) then
                                    +
                                    96  do ii = 1, numchr
                                    +
                                    97  strz(ii:ii) = str(ii:ii)
                                    +
                                    98  end do
                                    +
                                    99  write (zz,'(z16.16)') rl8z
                                    +
                                    100  ii = 2*(8-numchr)+1
                                    +
                                    101  if ( zz(ii:16)==zm_be(ii:16) .or. zz(ii:16)==zm_le(ii:16) ) then
                                    +
                                    102  iret = 1
                                    +
                                    103  return
                                    +
                                    104  end if
                                    +
                                    105  end if
                                    +
                                    106 
                                    +
                                    107  ! Otherwise, the logic below will check for "missing" strings of any length which are correctly encoded with all bits set
                                    +
                                    108  ! to 1, including those encoded by NCEPLIBS-bufr version 10.2.0 or later.
                                    +
                                    109 
                                    +
                                    110  do ii=1,numchr
                                    +
                                    111  strz(1:1) = str(ii:ii)
                                    +
                                    112  if ( iupm(strz(1:1),8)/=255 ) return
                                    +
                                    113  enddo
                                    +
                                    114 
                                    +
                                    115  iret = 1
                                    +
                                    116 
                                    +
                                    117  return
                                    +
                                    118 end function icbfms
                                    +
                                    119 
                                    +
                                    134 real*8 function getbmiss() result(r8val)
                                    +
                                    135 
                                    +
                                    136  use modv_vars, only: bmiss
                                    +
                                    137 
                                    +
                                    138  implicit none
                                    +
                                    139 
                                    +
                                    140  r8val = bmiss
                                    +
                                    141 
                                    +
                                    142  return
                                    +
                                    143 end function getbmiss
                                    +
                                    144 
                                    +
                                    170 subroutine setbmiss(xmiss)
                                    +
                                    171 
                                    +
                                    172  use modv_vars, only: bmiss
                                    +
                                    173 
                                    +
                                    174  implicit none
                                    +
                                    175 
                                    +
                                    176  real*8, intent(in) :: xmiss
                                    +
                                    177 
                                    +
                                    178  bmiss = xmiss
                                    +
                                    179 
                                    +
                                    180  return
                                    +
                                    181 end subroutine setbmiss
                                    +
                                    recursive integer function iupm(cbay, nbits)
                                    Decode an integer value from within a specified number of bits of a character string,...
                                    Definition: cidecode.F90:265
                                    +
                                    real *8 function getbmiss()
                                    Get the current placeholder value which represents "missing" data when reading from or writing to BUF...
                                    Definition: missing.F90:135
                                    +
                                    recursive integer function icbfms(str, lstr)
                                    Check whether a character string returned from a previous call to subroutine readlc() was encoded as ...
                                    Definition: missing.F90:56
                                    +
                                    subroutine setbmiss(xmiss)
                                    Specify a customized value to represent "missing" data when reading from or writing to BUFR files.
                                    Definition: missing.F90:171
                                    +
                                    integer function ibfms(r8val)
                                    Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-re...
                                    Definition: missing.F90:25
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/modules__arrs_8F90.html b/modules__arrs_8F90.html index 78fa746dc..233cbab97 100644 --- a/modules__arrs_8F90.html +++ b/modules__arrs_8F90.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -98,109 +98,124 @@

                                    Modules

                                    module  moda_bitbuf - This module contains array and variable declarations used to store BUFR messages internally for multiple I/O streams.
                                    + Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                      module  moda_bitmaps - This module contains array and variable declarations used to store bitmaps internally within a data subset definition.
                                    + Declare arrays and variables used to store bitmaps internally within a data subset definition.
                                      module  moda_bufrmg - This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message that was most recently written to that stream, for possible later retrieval via subroutine writsa().
                                    + Declare arrays used to store, for each output file ID, a copy of the BUFR message that was most recently written to that ID, for possible later retrieval via subroutine writsa().
                                      module  moda_bufrsr - This module contains arrays and variables needed to store the current position within a BUFR file.
                                    + Declare arrays and variables needed to store the current position within a BUFR file.
                                      module  moda_comprs - This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output.
                                    + Declare arrays and variables needed for the storage of data values needed when writing compressed data subsets to a BUFR message for output.
                                      module  moda_comprx - This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output.
                                    + Declare arrays and variable needed for the storage of data values needed when writing compressed data subsets to a BUFR message for output.
                                      module  moda_dscach - This module contains array and variable declarations for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages.
                                    + Declare arrays and variables for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages.
                                      module  moda_h4wlc - This module contains array and variable declarations needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc().
                                    + Declare arrays and variables needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc().
                                      module  moda_idrdm - This module contains a declaration for an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages.
                                    + Declare an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages.
                                      module  moda_ival - This module contains a declaration for an array used to pack or unpack all of the values of a BUFR data subset.
                                    + Declare an array used to pack or unpack all of the values of a BUFR data subset.
                                      module  moda_ivttmp - This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of the internal subset buffers where the contents of an evolving BUFR message are sccumulated and stored under user control prior to being written out.
                                    + Declare arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of internal subset buffers where the contents of an evolving BUFR message are accumulated and stored under user control prior to being written out.
                                      module  moda_lushr - This module contains a declaration for an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information.
                                    + Declare an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information.
                                      module  moda_mgwa - This module contains a declaration for an array used by various subroutines and functions to hold a temporary working copy of a BUFR message.
                                    + Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR message.
                                      module  moda_mgwb - This module contains a declaration for an array used by various subroutines and functions to hold a temporary working qcopy of a BUFR message.
                                    + Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR message.
                                    +  +module  moda_msgcmp + Declare a variable used to indicate whether output BUFR messages should be compressed.
                                      module  moda_msgcwd - This module contains declarations for arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each internal I/O stream index.
                                    + Declare arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each file ID.
                                      module  moda_msglim - This module contains a declaration for an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them.
                                    + Declare an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them.
                                      module  moda_msgmem - This module contains array and variable declarations used to store the contents of one or more BUFR files within internal memory.
                                    + Declare arrays and variables used to store the contents of one or more BUFR files within internal memory.
                                    +  +module  moda_msgstd + Declare a variable used to indicate whether output BUFR messages should be standardized.
                                      module  moda_mstabs - This module contains array and variable declarations used to store master Table B and Table D entries within internal memory.
                                    + Declare arrays and variables used to store master Table B and Table D entries within internal memory.
                                      module  moda_nmikrp - This module contains declarations for arrays used by various subroutines to hold information about Table D sequences.
                                    + Declare arrays used by various subroutines to hold information about Table D sequences.
                                      module  moda_nrv203 - This module contains array and variable declarations for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table.
                                    + Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table.
                                      module  moda_nulbfr - This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether any BUFR messages should actually be written to the corresponding logical unit.
                                    + Declare an array used to store a switch for each file ID, indicating whether any BUFR messages should actually be written to the corresponding logical unit.
                                      module  moda_rdmtb - This module contains array and variable declarations used to store master Table B and Table D entries within internal memory.
                                    + Declare arrays and variables used to store master Table B and Table D entries within internal memory.
                                      module  moda_rlccmn - This module contains array and variable declarations needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc().
                                    + Declare arrays and variables needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc().
                                      module  moda_s01cm - This module contains array and variable declarations used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units.
                                    + Declare arrays and variables used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units.
                                    +  +module  moda_s3list + Declare arrays used by various subroutines and functions to hold a temporary working copy of a Section 3 descriptor list.
                                      module  moda_sc3bfr - This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables.
                                    + Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables.
                                      module  moda_stbfr - This module contains array declarations used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf().
                                    + Declare arrays used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf().
                                      module  moda_stcode - This module contains an array declaration used to store a status code for each internal I/O stream index if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit.
                                    + Declare an array used to store a status code for each file ID if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit.
                                      module  moda_tababd - This module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams.
                                    + Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
                                    +  +module  moda_tablef + Declare a variable used to indicate whether master code and flag tables should be read.
                                      module  moda_tables - This module contains array and variable declarations used to store the internal jump/link table.
                                    + Declare arrays and variables used to store the internal jump/link table.
                                    +  +module  moda_tnkrcp + Declare variables used to store tank receipt time information within Section 1 of BUFR messages.
                                      module  moda_ufbcpl - This module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy().
                                    + Declare an array used to store, for each file ID, the logical unit number corresponding to a separate file ID whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy().
                                      module  moda_unptyp - This module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message.
                                    + Declare an array used to store, for each file ID from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message.
                                      module  moda_usrbit - This module contains array declarations for internal storage of pointers to BUFR data subset values.
                                    + Declare arrays for internal storage of pointers to BUFR data subset values.
                                      module  moda_usrint - This module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index.
                                    + Declare arrays used to store data values and associated metadata for the current BUFR data subset in scope for each file ID.
                                      module  moda_usrtmp - This module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays.
                                    + Declare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays.
                                      module  moda_xtab - This module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program.
                                    + Declare an array used to track, for each file ID, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program.
                                      + + + + + + + + + @@ -247,18 +271,24 @@ - - - + + + + + + + + + @@ -266,10 +296,10 @@ - + - + @@ -286,29 +316,32 @@ - - - + + + - + - + - + - + - + + + + - + @@ -316,9 +349,12 @@ - - - + + + + + + @@ -365,7 +401,7 @@ - + @@ -388,15 +424,30 @@ + + + + + + + + + + + + + + + - - - + + + @@ -412,29 +463,26 @@ - - - + + + - - - - + @@ -442,8 +490,8 @@ - - + + @@ -451,12 +499,12 @@ - - - - - - + + + + + + @@ -469,14 +517,11 @@ - - - - + - + @@ -485,40 +530,37 @@ - + - + - + - + - - - + + + - - - - + - + @@ -530,22 +572,22 @@ - + - + - + - + - + @@ -569,46 +611,46 @@ - + - + - - - + + + - + - + - + - + - + - + @@ -632,22 +674,22 @@ - + - + - + - + - + @@ -656,13 +698,13 @@ - + - + - + @@ -671,7 +713,7 @@ - + @@ -695,7 +737,7 @@ - +

                                    @@ -226,9 +241,18 @@

                                    character, dimension(:,:), allocatable moda_mstabs::cbunit
                                     Units corresponding to ibfxyn. More...
                                     
                                    character moda_msgcmp::ccmf = 'N'
                                     Flag indicating whether BUFR output messages are to be compressed; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine cmpmsg() within the application program: More...
                                     
                                    character moda_tablef::cdmf = 'N'
                                     Flag indicating whether to include code and flag table information during reads of master BUFR tables; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine codflg() within the application program: More...
                                     
                                    character, dimension(:,:), allocatable moda_mstabs::cdmnem
                                     Mnemonics corresponding to idfxyn. More...
                                     
                                    character *6, dimension(:), allocatable moda_s3list::cds3
                                     Temporary working copy of Section 3 descriptor list in character form. More...
                                     
                                    character, dimension(:,:), allocatable moda_mstabs::cdseq
                                     Sequence names corresponding to idfxyn. More...
                                     
                                    character *8, dimension(:), allocatable moda_s01cm::cmnem
                                     Section 0 and 1 mnemonics corresponding to ivmnem. More...
                                     
                                    character *8, dimension(mxcnem) moda_dscach::cnem
                                     Table A mnemonics. More...
                                     
                                    character *8, dimension(:), allocatable moda_dscach::cnem
                                     Table A mnemonics. More...
                                     
                                    character *10, dimension(:), allocatable moda_rlccmn::crtag
                                     Table B mnemonics associated with long character strings. More...
                                     
                                    character moda_msgstd::csmf = 'N'
                                     Flag indicating whether BUFR output messages are to be standardized; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine stdmsg() within the application program: More...
                                     
                                    character *(:), dimension(:), allocatable moda_comprx::cstr
                                     Character data value, if corresponding ityp value is set to 3. More...
                                     
                                    character *6, dimension(:,:), allocatable moda_bitmaps::ctco
                                     Table C operators corresponding to inodtco. More...
                                     
                                    character *1 moda_tnkrcp::ctrt = 'N'
                                     Flag indicating whether tank receipt times are to be included within output BUFR messages; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine strcpt() within the application program: More...
                                     
                                    logical moda_comprx::flush
                                     Flush flag. More...
                                     
                                     Current data subset. More...
                                     
                                    integer, dimension(:), allocatable moda_mstabs::ibfxyn
                                     Bit-wise representations of FXY numbers for master Table B. More...
                                     WMO bit-wise representations of FXY numbers for master Table B. More...
                                     
                                    integer moda_bitbuf::ibit
                                     Bit pointer within IBAY. More...
                                     Bit pointer within ibay. More...
                                     
                                    integer, dimension(:), allocatable moda_tables::ibt
                                     Bit widths corresponding to tag and typ: More...
                                    integer, dimension(:), allocatable moda_msgcwd::idate
                                     Section 1 date-time of message. More...
                                     
                                    integer, dimension(mxcnem, maxnc) moda_dscach::idcach
                                     Bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem. More...
                                     
                                    integer, dimension(:,:), allocatable moda_dscach::idcach
                                     WMO bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem. More...
                                     
                                    integer, dimension(:), allocatable moda_mstabs::idefxy
                                     Bit-wise representations of child descriptors corresponding to idfxyn. More...
                                     WMO bit-wise representations of child descriptors corresponding to idfxyn. More...
                                     
                                    integer, dimension(:), allocatable moda_mstabs::idfxyn
                                     Bit-wise representations of FXY numbers for master Table D. More...
                                     WMO bit-wise representations of FXY numbers for master Table D. More...
                                     
                                    integer, dimension(:,:,:), allocatable moda_tababd::idna
                                     Message types (in array element 1) and subtypes (in array element 2) corresponding to taba. More...
                                     
                                    integer, dimension(:,:), allocatable moda_tababd::idnb
                                     Bit-wise representations of the FXY values corresponding to tabb. More...
                                     WMO bit-wise representations of the FXY values corresponding to tabb. More...
                                     
                                    integer, dimension(:,:), allocatable moda_tababd::idnd
                                     Bit-wise representations of the FXY values corresponding to tabd. More...
                                     WMO bit-wise representations of the FXY values corresponding to tabd. More...
                                     
                                    integer, dimension(:), allocatable moda_idrdm::idrdm
                                     DX BUFR tables message count for each I/O internal stream index. More...
                                     DX BUFR tables message count for each file ID. More...
                                     
                                    integer, dimension(:), allocatable moda_s3list::ids3
                                     Temporary working copy of Section 3 descriptor list in integer form. More...
                                     
                                    integer, dimension(:,:), allocatable moda_rdmtb::iefxyn
                                     Bit-wise representations of child descriptors of Table D sequences. More...
                                     WMO bit-wise representations of child descriptors of Table D sequences. More...
                                     
                                    integer, dimension(:), allocatable moda_nrv203::ienrv
                                     End of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv. More...
                                    integer, dimension(:), allocatable moda_msgmem::ifdxts
                                     Pointers to the beginning of each DX BUFR table within mdx. More...
                                     
                                    integer(8) moda_comprs::incr
                                     Increment used when compressing non-character data values. More...
                                     
                                    integer *8 moda_comprx::imiss
                                     "Missing" value used when compressing non-character data values. More...
                                     
                                    integer *8 moda_comprs::incr
                                     Increment used when compressing non-character data values. More...
                                     
                                    integer, dimension(:), allocatable moda_msgcwd::inode
                                     Table A mnemonic for type of BUFR message. More...
                                     
                                     Scale factors corresponding to tag and typ: More...
                                     
                                    integer, dimension(:), allocatable moda_sc3bfr::isc3
                                     Section 3 switch for each internal I/O stream index: More...
                                     Section 3 switch for each file ID: More...
                                     
                                    integer, dimension(:), allocatable moda_stcode::iscodes
                                     Abnormal status codes. More...
                                    integer, dimension(:), allocatable moda_tables::itp
                                     Integer type values corresponding to typ: More...
                                     
                                    integer moda_tnkrcp::itrdy
                                     Tank receipt day. More...
                                     
                                    integer moda_tnkrcp::itrhr
                                     Tank receipt hour. More...
                                     
                                    integer moda_tnkrcp::itrmi
                                     Tank receipt minute. More...
                                     
                                    integer moda_tnkrcp::itrmo
                                     Tank receipt month. More...
                                     
                                    integer moda_tnkrcp::itryr
                                     Tank receipt year. More...
                                     
                                    integer, dimension(:), allocatable moda_comprx::ityp
                                     Type of each data value: More...
                                     
                                    integer, dimension(:,:), allocatable moda_usrtmp::iutmp
                                     inv array elements for new sections of a growing subset buffer. More...
                                     
                                    integer(8), dimension(:), allocatable moda_ival::ival
                                     BUFR data subset values. More...
                                     
                                    integer *8, dimension(:), allocatable moda_ival::ival
                                     BUFR data subset values. More...
                                     
                                    integer, dimension(:), allocatable moda_s01cm::ivmnem
                                     Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units. More...
                                     
                                    integer moda_bufrsr::jbyt
                                     Length (in bytes) of BUFR message. More...
                                     
                                    integer moda_bufrsr::jdat
                                     Section 1 date-time of BUFR message. More...
                                     
                                    integer moda_bufrsr::jill
                                     File status indicator of BUFR file. More...
                                     
                                    integer moda_bufrsr::jimm
                                     Message status indicator of BUFR file. More...
                                     
                                    integer, dimension(:), allocatable moda_comprx::jlnode
                                     Jump/link table node corresponding to each data value. More...
                                     
                                    integer, dimension(:), allocatable moda_tables::jmpb
                                     Jump backward indices corresponding to tag and typ: More...
                                     
                                    integer moda_bufrsr::jmsg
                                     Sequential number of BUFR message, counting from the beginning of the file. More...
                                     
                                    integer moda_bufrsr::jnod
                                     Positional index of Table A mnemonic within internal Table A. More...
                                     
                                    integer, dimension(:), allocatable moda_tables::jseq
                                     Temporary storage used in expanding sequences. More...
                                     
                                    integer, dimension(:), allocatable moda_bufrsr::jsr
                                     Indicator of stack status when entering subroutine rewnbf(). More...
                                     Indicator of stack status when entering subroutine rewnbf(). More...
                                     
                                    integer moda_bufrsr::jsub
                                     Sequential number of BUFR data subset, counting from the beginning of the current BUFR message. More...
                                    integer, dimension(:), allocatable moda_tables::jump
                                     Jump forward indices corresponding to tag and typ: More...
                                     
                                    integer moda_bufrsr::junn
                                     Internal I/O stream index of BUFR file. More...
                                    integer moda_bufrsr::junn = 0
                                     File ID of BUFR file. More...
                                     
                                    integer, dimension(:), allocatable moda_comprx::kbit
                                     Number of bits needed to hold the increments for this data value within each data subset of the message. More...
                                    integer moda_comprx::kbyt
                                     Number of bytes required to store Sections 0, 1, 2, and 3 of message. More...
                                     
                                    integer(8), dimension(:), allocatable moda_comprx::kmax
                                     Maximum of each data value across all data subsets in message. More...
                                     
                                    integer(8), dimension(:), allocatable moda_comprx::kmin
                                     Minimum of each data value across all data subsets in message. More...
                                     
                                    integer *8, dimension(:), allocatable moda_comprx::kmax
                                     Maximum of each data value across all data subsets in message. More...
                                     
                                    integer *8, dimension(:), allocatable moda_comprx::kmin
                                     Minimum of each data value across all data subsets in message. More...
                                     
                                    logical, dimension(:), allocatable moda_comprx::kmis
                                     "Missing" values flag. More...
                                     
                                    integer, dimension(:,:), allocatable moda_nmikrp::krp
                                     Replication counts corresponding to nem: More...
                                     
                                    integer moda_bufrsr::ksub
                                     Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message. More...
                                     
                                    integer moda_msgmem::ldxm
                                     Number of array elements filled within mdx (up to a maximum of MXDXW). More...
                                     Number of array elements filled within mdx (up to a maximum of mxdxw). More...
                                     
                                    integer moda_msgmem::ldxts
                                     Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is currently in scope from the most recent call to subroutine rdmemm() or readmm(). More...
                                     Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is currently in scope from the most recent call to subroutine rdmemm() or readmm(). More...
                                     
                                    logical moda_bitmaps::linbtm
                                     true if a bitmap is in the process of being read for the current data subset; false otherwise. More...
                                     Link indices corresponding to tag, typ and jmpb: More...
                                     
                                    integer moda_bitmaps::lstnod
                                     Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding value type was either numeric or CCITT IA5. More...
                                     Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding value type was either numeric or CCITT IA5. More...
                                     
                                    integer moda_bitmaps::lstnodct
                                     Current count of consecutive occurrences of lstnod. More...
                                     
                                    integer, dimension(:), allocatable moda_h4wlc::luh4wlc
                                     I/O stream index into internal arrays for associated output file. More...
                                     File ID for associated output file. More...
                                     
                                    integer moda_comprx::lunc
                                     I/O stream index into internal arrays for output file. More...
                                     File ID for output file. More...
                                     
                                    integer, dimension(:), allocatable moda_ufbcpl::luncpy
                                     Logical unit numbers used to copy long character strings between BUFR data subsets. More...
                                     
                                    integer, dimension(:), allocatable moda_lushr::lus
                                     Tracking index for each I/O internal stream index. More...
                                     Tracking index for each file ID. More...
                                     
                                    integer(8), dimension(:,:), allocatable moda_comprs::matx
                                     Non-character data values for all data subsets in message. More...
                                     
                                    integer *8, dimension(:,:), allocatable moda_comprs::matx
                                     Non-character data values for all data subsets in message. More...
                                     
                                    integer moda_bitbuf::maxbyt
                                     Maximum length of an output BUFR message. More...
                                     
                                    integer moda_tables::maxtab
                                     Maximum number of entries in the jump/link table; equivalent to MAXJL. More...
                                     
                                    integer, dimension(:,:), allocatable moda_bitbuf::mbay
                                     Current BUFR message for each internal I/O stream. More...
                                     Current BUFR message for each file ID. More...
                                     
                                    integer, dimension(:), allocatable moda_usrbit::mbit
                                     Pointer in data subset to first bit of each packed data value. More...
                                     
                                    integer, dimension(:), allocatable moda_bitbuf::mbyt
                                     Length (in bytes) of current BUFR message for each internal I/O stream. More...
                                     Length (in bytes) of current BUFR message for each file ID. More...
                                     
                                    integer, dimension(:), allocatable moda_msgmem::mdx
                                     DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs. More...
                                     Temporary working copy of BUFR message. More...
                                     
                                    integer moda_msgmem::mlast
                                     Number of array elements filled within msgs (up to a maximum of MAXMEM). More...
                                     Number of array elements filled within msgs (up to a maximum of maxmem). More...
                                     
                                    integer, dimension(:), allocatable moda_bufrmg::msglen
                                     Length (in integers) of BUFR message most recently written to each output I/O stream. More...
                                     Length (in integers) of BUFR message most recently written to each output file ID. More...
                                     
                                    integer, dimension(:), allocatable moda_msglim::msglim
                                     Tracking index for each I/O stream index. More...
                                     Tracking index for each file ID. More...
                                     
                                    integer, dimension(:), allocatable moda_msgmem::msgp
                                     Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array element 0 contains the actual number of messages stored within msgs). More...
                                     Pointers to the beginning of each message within msgs (up to a maximum of maxmsg, and where array element 0 contains the actual number of messages stored within msgs). More...
                                     
                                    integer, dimension(:), allocatable moda_msgmem::msgs
                                     BUFR messages read from one or more BUFR files. More...
                                     
                                    integer, dimension(:,:), allocatable moda_bufrmg::msgtxt
                                     BUFR message most recently written to each output I/O stream. More...
                                     BUFR message most recently written to each output file ID. More...
                                     
                                    integer, dimension(:), allocatable moda_unptyp::msgunp
                                     Flag indicating how to unpack data subsets from BUFR message: More...
                                     Length (in bits) of each packed data value in data subset. More...
                                     
                                    integer moda_bitmaps::nbtm
                                     Number of stored bitmaps for the current data subset (up to a maximum of MXBTM). More...
                                     Number of stored bitmaps for the current data subset (up to a maximum of mxbtm). More...
                                     
                                    integer, dimension(:), allocatable moda_bitmaps::nbtmse
                                     Number of "set" entries (set to a value of 0) in the bitmap. More...
                                     
                                    integer moda_dscach::ncnem
                                     Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM). More...
                                     Number of entries in the internal Table A mnemonic cache (up to a maximum of mxcnem). More...
                                     
                                    integer moda_comprs::ncol
                                     Number of data subsets in message. More...
                                     
                                    integer, dimension(mxcnem) moda_dscach::ndc
                                     Number of child descriptors for the corresponding Table A mnemonic in cnem. More...
                                     
                                    integer, dimension(:), allocatable moda_dscach::ndc
                                     Number of child descriptors for the corresponding Table A mnemonic in cnem. More...
                                     
                                    integer, dimension(:), allocatable moda_mstabs::ndelem
                                     Numbers of child descriptors corresponding to idfxyn. More...
                                     
                                    integer moda_msgmem::ndxm
                                     Number of DX BUFR table messages stored within mdx (up to a maximum of MXDXM). More...
                                     Number of DX BUFR table messages stored within mdx (up to a maximum of mxdxm). More...
                                     
                                    integer moda_msgmem::ndxts
                                     Number of DX BUFR tables represented by the messages within mdx (up to a maximum of MXDXTS). More...
                                     Number of DX BUFR tables represented by the messages within mdx (up to a maximum of mxdxts). More...
                                     
                                    character *8, dimension(:,:), allocatable moda_nmikrp::nem
                                     Child mnemonics within Table D sequences. More...
                                     
                                    integer moda_h4wlc::nh4wlc
                                    integer moda_h4wlc::nh4wlc = 0
                                     Number of long character strings being stored. More...
                                     
                                    integer, dimension(:), allocatable moda_msgcwd::nmsg
                                     Current message pointer within logical unit. More...
                                     
                                    integer moda_mstabs::nmtb
                                     Number of master Table B entries (up to a maximum of MXMTBB). More...
                                     Number of master Table B entries (up to a maximum of mxmtbb). More...
                                     
                                    integer moda_mstabs::nmtd
                                     Number of master Table D entries (up to a maximum of MXMTBD). More...
                                     Number of master Table D entries (up to a maximum of mxmtbd). More...
                                     
                                    integer moda_nrv203::nnrv
                                     Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV). More...
                                     Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv). More...
                                     
                                    integer, dimension(:,:), allocatable moda_usrint::nrfelm
                                     Referenced data value, for data values which refer to a previous data value in the BUFR data subset via an internal bitmap. More...
                                     Number of entries in the jump/link table. More...
                                     
                                    integer moda_bitmaps::ntamc
                                     Number of Table A mnemonics in jump/link table (up to a maximum of MXTAMC) which contain at least one Table C operator with an XX value of 21 or greater in their data subset definition; only Table C operators with an XX value of 21 or greater are tracked within this module, since all others are automatically processed within subroutines tabsub() and tabent(). More...
                                     Number of Table A mnemonics in jump/link table (up to a maximum of mxtamc) which contain at least one Table C operator with an XX value of 21 or greater in their data subset definition; only Table C operators with an XX value of 21 or greater are tracked within this module, since all others are automatically processed within subroutines tabsub() and tabent(). More...
                                     
                                    integer, dimension(:), allocatable moda_tababd::ntba
                                     Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA, whose value is stored in array element 0). More...
                                     Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array element 0). More...
                                     
                                    integer, dimension(:), allocatable moda_tababd::ntbb
                                     Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB, whose value is stored in array element 0). More...
                                     Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array element 0). More...
                                     
                                    integer, dimension(:), allocatable moda_tababd::ntbd
                                     Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD, whose value is stored in array element 0). More...
                                     Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array element 0). More...
                                     
                                    integer, dimension(:), allocatable moda_bitmaps::ntco
                                     Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of the corresponding Table A mnemonic in inodtamc. More...
                                     
                                    integer, dimension(:), allocatable moda_nulbfr::null
                                     Output switch for each internal I/O stream index: More...
                                     Output switch for each file ID: More...
                                     
                                    integer, dimension(:), allocatable moda_usrint::nval
                                     Number of data values in BUFR data subset. More...
                                     Table B mnemonics associated with long character strings. More...
                                     
                                    character *128, dimension(:,:), allocatable moda_tababd::taba
                                     Table A entries for each internal I/O stream. More...
                                     Table A entries for each file ID. More...
                                     
                                    character *128, dimension(:,:), allocatable moda_tababd::tabb
                                     Table B entries for each internal I/O stream. More...
                                     Table B entries for each file ID. More...
                                     
                                    character *600, dimension(:,:), allocatable moda_tababd::tabd
                                     Table D entries for each internal I/O stream. More...
                                     Table D entries for each file ID. More...
                                     
                                    character *10, dimension(:), allocatable moda_tables::tag
                                     Mnemonics in the jump/link table. More...
                                     Table B mnemonic to which the corresponding new reference value in nrv applies. More...
                                     
                                    character *8, dimension(:), allocatable moda_sc3bfr::tamnem
                                     Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream. More...
                                     Table A mnemonic most recently read from each file ID, if isc3 = 1 for that stream. More...
                                     
                                    character *10, dimension(:), allocatable moda_ivttmp::ttmp
                                     tag array elements for new sections of a growing subset buffer. More...
                                     Write-out flag. More...
                                     
                                    logical, dimension(:), allocatable moda_xtab::xtab
                                     Tracking index for each internal I/O stream index. More...
                                     Tracking index for each file ID. More...
                                     

                                    Detailed Description

                                    diff --git a/modules__arrs_8F90.js b/modules__arrs_8F90.js index e33176237..e0a88b844 100644 --- a/modules__arrs_8F90.js +++ b/modules__arrs_8F90.js @@ -7,17 +7,22 @@ var modules__arrs_8F90 = [ "cbscl", "modules__arrs_8F90.html#aab2cc4c7c57e7c7d111f49187aff44ea", null ], [ "cbsref", "modules__arrs_8F90.html#ac34001b0c39f1c7b156214adaf3381d0", null ], [ "cbunit", "modules__arrs_8F90.html#a0ccfcc43067ef6debce2218ad50abb0b", null ], + [ "ccmf", "modules__arrs_8F90.html#a748ff156e2c817957765b05119f74270", null ], + [ "cdmf", "modules__arrs_8F90.html#a61847a8129d1a6c6909c2ea4727d67f6", null ], [ "cdmnem", "modules__arrs_8F90.html#ab2e77035e8e8a5f8e6a2f544279ab168", null ], + [ "cds3", "modules__arrs_8F90.html#a2ceee9741718460b614f37fb6b976259", null ], [ "cdseq", "modules__arrs_8F90.html#a37a325646f12fe6d0dd3ae3c341f20d7", null ], [ "ceelem", "modules__arrs_8F90.html#a1152389e5fc9eadddbea89bd76abc653", null ], [ "chh4wlc", "modules__arrs_8F90.html#afbc0cd7c0f91147bca16c7fd909a0d75", null ], [ "cmdscb", "modules__arrs_8F90.html#a21983afeacfaf7e7755271343aca9055", null ], [ "cmdscd", "modules__arrs_8F90.html#ab8fe0a01ea7ba06916fd450273c1c38f", null ], [ "cmnem", "modules__arrs_8F90.html#ab7e403dca694be4ae4d4c3803e7bc4c7", null ], - [ "cnem", "modules__arrs_8F90.html#a0ba1605c1f5ecd4655b010b52dab6c2a", null ], + [ "cnem", "modules__arrs_8F90.html#a141173c549e506cd4637af33c4efdece", null ], [ "crtag", "modules__arrs_8F90.html#acaa72aa1ab54d9a7a82f83e58c8aeed1", null ], + [ "csmf", "modules__arrs_8F90.html#a23356dfd7172ae4d2ff05d657234d6ab", null ], [ "cstr", "modules__arrs_8F90.html#a07c74b931e7ddbba553f8391b8e24aaf", null ], [ "ctco", "modules__arrs_8F90.html#adbe38c29980443a65ff0bb0cfa1bb753", null ], + [ "ctrt", "modules__arrs_8F90.html#aba2ec73dacc32807332a7c1e38468f38", null ], [ "flush", "modules__arrs_8F90.html#a47438a5eff5e61065fce0dc3df1694a7", null ], [ "ibay", "modules__arrs_8F90.html#a4910f483014af612d37ea34a1f477434", null ], [ "ibfxyn", "modules__arrs_8F90.html#af0d2b78411b01dc1aabe9baf6c946b38", null ], @@ -27,17 +32,19 @@ var modules__arrs_8F90 = [ "ibtnrv", "modules__arrs_8F90.html#af1ca5281543dc4ce645d861f7f744c6d", null ], [ "icdxts", "modules__arrs_8F90.html#a52a37b6bcc7ed3492325f47e1f8018ab", null ], [ "idate", "modules__arrs_8F90.html#a37df9d6a60023612be784db0b759da3b", null ], - [ "idcach", "modules__arrs_8F90.html#a7d18bfabd11b41f2510a9bdd180976d3", null ], + [ "idcach", "modules__arrs_8F90.html#ab79409e1e5c6d8e2542bac564283a5ef", null ], [ "idefxy", "modules__arrs_8F90.html#aeabc918978c598efc0231fc59d2bfd24", null ], [ "idfxyn", "modules__arrs_8F90.html#a089cf80d582ff75c6596063d0ed8c049", null ], [ "idna", "modules__arrs_8F90.html#a6e28d53baf8dce1d6a5c4b91546cfcca", null ], [ "idnb", "modules__arrs_8F90.html#ab09abac79a48acf677cf36764ffe5db5", null ], [ "idnd", "modules__arrs_8F90.html#a9e14841d9a084410d3ee7d5d08d3bf5e", null ], [ "idrdm", "modules__arrs_8F90.html#a24e12e5c288360f0e7e6483094773db6", null ], + [ "ids3", "modules__arrs_8F90.html#a07f44b4772abffacaba7e9be5fbb7fda", null ], [ "iefxyn", "modules__arrs_8F90.html#ab26bcc9dccfa0b250af20392755adf93", null ], [ "ienrv", "modules__arrs_8F90.html#a2784f03b6c19452c601b1377a3ed59a1", null ], [ "ifdxts", "modules__arrs_8F90.html#a55020aca1118bb6f09f8b3d1f68a5c74", null ], - [ "incr", "modules__arrs_8F90.html#a5a26b3bab3a4964256b56ff2a1522b27", null ], + [ "imiss", "modules__arrs_8F90.html#a7a0967a79c236a16f1fa11ebb8f99b0f", null ], + [ "incr", "modules__arrs_8F90.html#a7e5d5589bde01337616f2527beed519f", null ], [ "inode", "modules__arrs_8F90.html#a034d50224d3416c855472ead1043b1aa", null ], [ "inodnrv", "modules__arrs_8F90.html#ad4299c9b916b83272f07cba8d2d22d4f", null ], [ "inodtamc", "modules__arrs_8F90.html#a6ab1ee23535fd8b352c4f5d863a1c458", null ], @@ -61,20 +68,24 @@ var modules__arrs_8F90 = [ "iszbtm", "modules__arrs_8F90.html#a2648b6b58fd6cf4c983b5c4c23b29574", null ], [ "itmp", "modules__arrs_8F90.html#af59d63e63df8f925e55a922d70a37785", null ], [ "itp", "modules__arrs_8F90.html#ab12171885e93720ae2716b4b1ecae251", null ], + [ "itrdy", "modules__arrs_8F90.html#a97f45bd4e10b6016c9ef17bbd0efc2ca", null ], + [ "itrhr", "modules__arrs_8F90.html#a12d35afcaacac53905061f928377d92b", null ], + [ "itrmi", "modules__arrs_8F90.html#aceb65be824d657fa109be2d9059a3a2b", null ], + [ "itrmo", "modules__arrs_8F90.html#af081362974b0ae4f5be67c4bea20bae6", null ], + [ "itryr", "modules__arrs_8F90.html#a3f402734944f1438bc986b0d877a0bd7", null ], [ "ityp", "modules__arrs_8F90.html#a8ecc5d87d79c8c3aa778665041bcb522", null ], [ "iutmp", "modules__arrs_8F90.html#a77349b5f0a6f8916850dcb253aee1f30", null ], - [ "ival", "modules__arrs_8F90.html#a5b960a10512f7450b54e1b728770bd58", null ], + [ "ival", "modules__arrs_8F90.html#a354161b574c84bfd3401bc0b287335c7", null ], [ "ivmnem", "modules__arrs_8F90.html#a320a25005a0063e8a0713fc66973b655", null ], [ "iwid", "modules__arrs_8F90.html#aa945d27bc1c5cf32ea5ba624ef289808", null ], [ "jbay", "modules__arrs_8F90.html#adff426f406bb1f795e94c0af6d68d856", null ], [ "jbit", "modules__arrs_8F90.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08", null ], [ "jbyt", "modules__arrs_8F90.html#ab23685bcce40ee0d9f71f881bdfa0d07", null ], - [ "jdat", "modules__arrs_8F90.html#a6ed2bbddb1fe31a67e91755a97327a47", null ], [ "jill", "modules__arrs_8F90.html#a157bb0cb25913753748822ce3c384b06", null ], [ "jimm", "modules__arrs_8F90.html#a225d75cc454938f8da4ed39857ff2c5c", null ], + [ "jlnode", "modules__arrs_8F90.html#a7caf741d65ff0b68932fa7d207c689ba", null ], [ "jmpb", "modules__arrs_8F90.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb", null ], [ "jmsg", "modules__arrs_8F90.html#a4971d723fe9c86ed7741f7cfae61f2f0", null ], - [ "jnod", "modules__arrs_8F90.html#a80378e3ec74ac01799783b12a2d93218", null ], [ "jseq", "modules__arrs_8F90.html#a0b8b25c6365505c5045ab473f54e03f6", null ], [ "jsr", "modules__arrs_8F90.html#a38470e8cca9ad2afce56dd577ddd5b51", null ], [ "jsub", "modules__arrs_8F90.html#a821fcf75cf865aaebdba3527d04190e0", null ], @@ -82,13 +93,12 @@ var modules__arrs_8F90 = [ "junn", "modules__arrs_8F90.html#a9ec76b10297b2e9521682a1e2014370d", null ], [ "kbit", "modules__arrs_8F90.html#ad9b27559a7e05f9939764fa6688d7147", null ], [ "kbyt", "modules__arrs_8F90.html#a243a2baa283f951be51ea9466cca35b8", null ], - [ "kmax", "modules__arrs_8F90.html#a1ffd4baa8c4d960216a59e8c900c6a71", null ], - [ "kmin", "modules__arrs_8F90.html#ad51ebce67c88b36c4ad4a07ee1a49732", null ], + [ "kmax", "modules__arrs_8F90.html#a7c3104f9c9731b91a8a105bcc5212542", null ], + [ "kmin", "modules__arrs_8F90.html#af3c2aa97661a37d85840d480e611695e", null ], [ "kmis", "modules__arrs_8F90.html#aedf59ef218e980c24d128aa7bc8884b1", null ], [ "knt", "modules__arrs_8F90.html#a28b0f02b81a535890fc64ec13fdfc35b", null ], [ "knti", "modules__arrs_8F90.html#af5a5b5688cbfbea4a3d5d0705172fba3", null ], [ "krp", "modules__arrs_8F90.html#a547378be8180b17844161916eca1e876", null ], - [ "ksub", "modules__arrs_8F90.html#ab0dfe362eac51af76fd38ba7ecd3bbc6", null ], [ "ldxm", "modules__arrs_8F90.html#a79bdd90460fa467a8e9130089d7963a5", null ], [ "ldxts", "modules__arrs_8F90.html#aa92c2a9b9faf87958775d45a00ee866f", null ], [ "linbtm", "modules__arrs_8F90.html#acd6cd1e5190bdc17381e81624a7e2e80", null ], @@ -99,9 +109,8 @@ var modules__arrs_8F90 = [ "lunc", "modules__arrs_8F90.html#ac17dd8dc0aeb695a1046a884673b1fc3", null ], [ "luncpy", "modules__arrs_8F90.html#abf94758379c91be61fcf18f6c9dae5cf", null ], [ "lus", "modules__arrs_8F90.html#a3baea9191da6d91a8590cba5181493a6", null ], - [ "matx", "modules__arrs_8F90.html#a7797aca7884ff0e46979d4a5c120a576", null ], + [ "matx", "modules__arrs_8F90.html#ac4fd15b3e268548d17edca4e1e5e5675", null ], [ "maxbyt", "modules__arrs_8F90.html#aeb00e574adb63bf7cc809d540d5a02bc", null ], - [ "maxtab", "modules__arrs_8F90.html#a36137a9a943b036fa381924821caf8e2", null ], [ "mbay", "modules__arrs_8F90.html#aad8a1595878ac1a9907c708067c4c050", null ], [ "mbit", "modules__arrs_8F90.html#ab5ade5e51c2620a6e6be9cad890baf7a", null ], [ "mbyt", "modules__arrs_8F90.html#acfcd2b4391b00ae43bdb026de8573c7a", null ], @@ -125,7 +134,7 @@ var modules__arrs_8F90 = [ "nbtmse", "modules__arrs_8F90.html#ad03b1bbbb4eb8366a77af6da12f0793c", null ], [ "ncnem", "modules__arrs_8F90.html#aa768890377f016eaae82cb56404ecdc6", null ], [ "ncol", "modules__arrs_8F90.html#a0bab4a779995493580b46f231516e133", null ], - [ "ndc", "modules__arrs_8F90.html#af3bfb995ad7362f75b23ef21cc384e3c", null ], + [ "ndc", "modules__arrs_8F90.html#abbb9e570ae869b4abdf6e18c14475485", null ], [ "ndelem", "modules__arrs_8F90.html#a5f77a3f33df1fc46f007160428b674d1", null ], [ "ndxm", "modules__arrs_8F90.html#a6e754cd1cdefe0c8c93ab497fcb33637", null ], [ "ndxts", "modules__arrs_8F90.html#ab1873371ca3b5f3e44a5d19ebf30af23", null ], diff --git a/modules__arrs_8F90_source.html b/modules__arrs_8F90_source.html index 97a533996..ca6fc0250 100644 --- a/modules__arrs_8F90_source.html +++ b/modules__arrs_8F90_source.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -90,10 +90,10 @@
                                    5 
                                    12  integer :: maxbyt
                                    -
                                    14  integer :: ibit
                                    -
                                    16  integer, allocatable :: ibay(:)
                                    -
                                    18  integer, allocatable :: mbyt(:)
                                    -
                                    20  integer, allocatable :: mbay(:,:)
                                    +
                                    14  integer, allocatable :: mbay(:,:)
                                    +
                                    16  integer, allocatable :: mbyt(:)
                                    +
                                    18  integer, allocatable :: ibay(:)
                                    +
                                    20  integer :: ibit
                                    21 end module moda_bitbuf
                                    22 
                                    @@ -118,202 +118,202 @@
                                    86 end module moda_bufrmg
                                    87 
                                    -
                                    99  integer :: junn
                                    +
                                    99  integer :: junn = 0
                                    101  integer :: jill
                                    103  integer :: jimm
                                    -
                                    105  integer :: jbit
                                    -
                                    107  integer :: jbyt
                                    -
                                    110  integer :: jmsg
                                    +
                                    105  integer, allocatable :: jbay(:)
                                    +
                                    107  integer :: jbit
                                    +
                                    109  integer :: jbyt
                                    +
                                    111  integer :: jmsg
                                    113  integer :: jsub
                                    -
                                    116  integer :: ksub
                                    -
                                    118  integer :: jnod
                                    -
                                    120  integer :: jdat
                                    -
                                    122  integer, allocatable :: jsr(:)
                                    -
                                    124  integer, allocatable :: jbay(:)
                                    -
                                    125 end module moda_bufrsr
                                    -
                                    126 
                                    - -
                                    137  integer :: ncol
                                    -
                                    139  integer(8) :: incr
                                    -
                                    141  integer(8), allocatable :: matx(:,:)
                                    -
                                    143  character*(:), allocatable :: catx(:,:)
                                    -
                                    144 end module moda_comprs
                                    -
                                    145 
                                    - -
                                    156  integer :: nrow
                                    -
                                    158  integer :: lunc
                                    -
                                    160  integer :: kbyt
                                    -
                                    165  logical :: flush
                                    -
                                    168  logical :: writ1
                                    -
                                    170  integer(8), allocatable :: kmin(:)
                                    -
                                    172  integer(8), allocatable :: kmax(:)
                                    -
                                    176  logical, allocatable :: kmis(:)
                                    -
                                    179  integer, allocatable :: kbit(:)
                                    -
                                    184  integer, allocatable :: ityp(:)
                                    -
                                    187  integer, allocatable :: iwid(:)
                                    -
                                    189  character*(:), allocatable :: cstr(:)
                                    -
                                    190 end module moda_comprx
                                    -
                                    191 
                                    - -
                                    201  use modv_maxnc
                                    -
                                    202  use modv_mxcnem
                                    -
                                    205  integer :: ncnem
                                    -
                                    207  character*8 :: cnem(mxcnem)
                                    -
                                    210  integer :: ndc(mxcnem)
                                    -
                                    213  integer :: idcach(mxcnem,maxnc)
                                    -
                                    214 end module moda_dscach
                                    -
                                    215 
                                    - -
                                    224  use modv_mxh4wlc
                                    -
                                    226  integer :: nh4wlc
                                    -
                                    228  integer, allocatable :: luh4wlc(:)
                                    -
                                    230  character*14, allocatable :: sth4wlc(:)
                                    -
                                    232  character*120, allocatable :: chh4wlc(:)
                                    -
                                    233 end module moda_h4wlc
                                    -
                                    234 
                                    - -
                                    246  integer, allocatable :: idrdm(:)
                                    -
                                    247 end module moda_idrdm
                                    -
                                    248 
                                    -
                                    255 module moda_ival
                                    -
                                    257  integer(8), allocatable :: ival(:)
                                    -
                                    258 end module moda_ival
                                    -
                                    259 
                                    - -
                                    269  character*10, allocatable :: ttmp(:)
                                    -
                                    271  integer, allocatable :: itmp(:)
                                    -
                                    273  real*8, allocatable :: vtmp(:)
                                    -
                                    274 end module moda_ivttmp
                                    -
                                    275 
                                    - -
                                    286  integer, allocatable :: lus(:)
                                    -
                                    287 end module moda_lushr
                                    -
                                    288 
                                    -
                                    294 module moda_mgwa
                                    -
                                    296  integer, allocatable :: mgwa(:)
                                    -
                                    297 end module moda_mgwa
                                    -
                                    298 
                                    -
                                    304 module moda_mgwb
                                    -
                                    306  integer, allocatable :: mgwb(:)
                                    -
                                    307 end module moda_mgwb
                                    -
                                    308 
                                    - -
                                    317  integer, allocatable :: nmsg(:)
                                    -
                                    319  integer, allocatable :: nsub(:)
                                    -
                                    321  integer, allocatable :: msub(:)
                                    -
                                    323  integer, allocatable :: inode(:)
                                    -
                                    325  integer, allocatable :: idate(:)
                                    -
                                    326 end module moda_msgcwd
                                    -
                                    327 
                                    - -
                                    343  integer, allocatable :: msglim(:)
                                    -
                                    344 end module moda_msglim
                                    -
                                    345 
                                    - -
                                    355  integer :: munit
                                    -
                                    357  integer :: mlast
                                    -
                                    359  integer :: ldxm
                                    -
                                    362  integer :: ndxm
                                    -
                                    366  integer :: ldxts
                                    -
                                    369  integer :: ndxts
                                    -
                                    371  integer :: mxdxm
                                    -
                                    373  integer :: mxdxw
                                    -
                                    377  integer, allocatable :: msgp(:)
                                    -
                                    379  integer, allocatable :: msgs(:)
                                    -
                                    382  integer, allocatable :: mdx(:)
                                    -
                                    384  integer, allocatable :: ipdxm(:)
                                    -
                                    386  integer, allocatable :: ifdxts(:)
                                    -
                                    389  integer, allocatable :: icdxts(:)
                                    -
                                    391  integer, allocatable :: ipmsgs(:)
                                    -
                                    392 end module moda_msgmem
                                    -
                                    393 
                                    - -
                                    402  integer :: nmtb
                                    -
                                    404  integer :: nmtd
                                    -
                                    406  integer, allocatable :: ibfxyn(:)
                                    -
                                    408  character, allocatable :: cbscl(:,:)
                                    -
                                    410  character, allocatable :: cbsref(:,:)
                                    -
                                    412  character, allocatable :: cbbw(:,:)
                                    -
                                    414  character, allocatable :: cbunit(:,:)
                                    -
                                    416  character, allocatable :: cbmnem(:,:)
                                    -
                                    418  character, allocatable :: cbelem(:,:)
                                    -
                                    420  integer, allocatable :: idfxyn(:)
                                    -
                                    422  character, allocatable :: cdseq(:,:)
                                    -
                                    424  character, allocatable :: cdmnem(:,:)
                                    -
                                    426  integer, allocatable :: ndelem(:)
                                    -
                                    428  integer, allocatable :: idefxy(:)
                                    -
                                    429 end module moda_mstabs
                                    -
                                    430 
                                    - -
                                    438  character*8, allocatable :: nem(:,:)
                                    -
                                    446  integer, allocatable :: irp(:,:)
                                    -
                                    451  integer, allocatable :: krp(:,:)
                                    -
                                    452 end module moda_nmikrp
                                    -
                                    453 
                                    - -
                                    464  integer :: nnrv
                                    -
                                    468  integer :: ibtnrv
                                    -
                                    473  integer :: ipfnrv
                                    -
                                    476  character*8, allocatable :: tagnrv(:)
                                    -
                                    478  integer, allocatable :: inodnrv(:)
                                    -
                                    480  integer*8, allocatable :: nrv(:)
                                    -
                                    484  integer, allocatable :: isnrv(:)
                                    -
                                    488  integer, allocatable :: ienrv(:)
                                    -
                                    489 end module moda_nrv203
                                    -
                                    490 
                                    - -
                                    511  integer, allocatable :: null(:)
                                    -
                                    512 end module moda_nulbfr
                                    -
                                    513 
                                    - -
                                    522  integer, allocatable :: iefxyn(:,:)
                                    -
                                    524  character*4, allocatable :: cmdscb(:)
                                    -
                                    526  character*4, allocatable :: cmdscd(:)
                                    -
                                    528  character*120, allocatable :: ceelem(:,:)
                                    -
                                    529 end module moda_rdmtb
                                    -
                                    530 
                                    - -
                                    539  integer :: nrst
                                    -
                                    541  integer, allocatable :: irnch(:)
                                    -
                                    543  integer, allocatable :: irbit(:)
                                    -
                                    545  character*10, allocatable :: crtag(:)
                                    -
                                    546 end module moda_rlccmn
                                    -
                                    547 
                                    - -
                                    558  integer, allocatable :: ivmnem(:)
                                    -
                                    560  character*8, allocatable :: cmnem(:)
                                    -
                                    562  integer :: ns01v = 0
                                    -
                                    563 end module moda_s01cm
                                    -
                                    564 
                                    - -
                                    584  integer, allocatable :: isc3(:)
                                    -
                                    587  character*8, allocatable :: tamnem(:)
                                    -
                                    588 end module moda_sc3bfr
                                    -
                                    589 
                                    - -
                                    602  integer, allocatable :: iolun(:)
                                    -
                                    607  integer, allocatable :: iomsg(:)
                                    -
                                    608 end module moda_stbfr
                                    -
                                    609 
                                    - -
                                    621  integer, allocatable :: iscodes(:)
                                    -
                                    622 end module moda_stcode
                                    -
                                    623 
                                    - -
                                    631  integer, allocatable :: ntba(:)
                                    -
                                    634  integer, allocatable :: ntbb(:)
                                    -
                                    637  integer, allocatable :: ntbd(:)
                                    -
                                    639  integer, allocatable :: mtab(:,:)
                                    -
                                    642  integer, allocatable :: idna(:,:,:)
                                    -
                                    644  Integer, allocatable :: idnb(:,:)
                                    -
                                    646  integer, allocatable :: idnd(:,:)
                                    -
                                    648  character*128, allocatable :: taba(:,:)
                                    -
                                    650  character*128, allocatable :: tabb(:,:)
                                    -
                                    652  character*600, allocatable :: tabd(:,:)
                                    -
                                    653 end module moda_tababd
                                    -
                                    654 
                                    - -
                                    664  integer :: maxtab
                                    +
                                    115  integer, allocatable :: jsr(:)
                                    +
                                    116 end module moda_bufrsr
                                    +
                                    117 
                                    + +
                                    128  integer :: ncol
                                    +
                                    130  integer*8 :: incr
                                    +
                                    132  integer*8, allocatable :: matx(:,:)
                                    +
                                    134  character*(:), allocatable :: catx(:,:)
                                    +
                                    135 end module moda_comprs
                                    +
                                    136 
                                    + +
                                    147  integer :: nrow
                                    +
                                    149  integer :: lunc
                                    +
                                    151  integer :: kbyt
                                    +
                                    156  logical :: flush
                                    +
                                    159  logical :: writ1
                                    +
                                    161  integer*8, allocatable :: kmin(:)
                                    +
                                    163  integer*8, allocatable :: kmax(:)
                                    +
                                    165  integer*8 :: imiss
                                    +
                                    169  logical, allocatable :: kmis(:)
                                    +
                                    172  integer, allocatable :: kbit(:)
                                    +
                                    177  integer, allocatable :: ityp(:)
                                    +
                                    180  integer, allocatable :: iwid(:)
                                    +
                                    182  character*(:), allocatable :: cstr(:)
                                    +
                                    184  integer, allocatable :: jlnode(:)
                                    +
                                    185 end module moda_comprx
                                    +
                                    186 
                                    + +
                                    198  integer :: ncnem
                                    +
                                    200  character*8, allocatable :: cnem(:)
                                    +
                                    203  integer, allocatable :: ndc(:)
                                    +
                                    206  integer, allocatable :: idcach(:,:)
                                    +
                                    207 end module moda_dscach
                                    +
                                    208 
                                    + +
                                    218  integer :: nh4wlc = 0
                                    +
                                    220  integer, allocatable :: luh4wlc(:)
                                    +
                                    222  character*14, allocatable :: sth4wlc(:)
                                    +
                                    224  character*120, allocatable :: chh4wlc(:)
                                    +
                                    225 end module moda_h4wlc
                                    +
                                    226 
                                    + +
                                    238  integer, allocatable :: idrdm(:)
                                    +
                                    239 end module moda_idrdm
                                    +
                                    240 
                                    +
                                    247 module moda_ival
                                    +
                                    249  integer*8, allocatable :: ival(:)
                                    +
                                    250 end module moda_ival
                                    +
                                    251 
                                    + +
                                    261  character*10, allocatable :: ttmp(:)
                                    +
                                    263  integer, allocatable :: itmp(:)
                                    +
                                    265  real*8, allocatable :: vtmp(:)
                                    +
                                    266 end module moda_ivttmp
                                    +
                                    267 
                                    + +
                                    278  integer, allocatable :: lus(:)
                                    +
                                    279 end module moda_lushr
                                    +
                                    280 
                                    +
                                    286 module moda_mgwa
                                    +
                                    288  integer, allocatable :: mgwa(:)
                                    +
                                    289 end module moda_mgwa
                                    +
                                    290 
                                    +
                                    296 module moda_mgwb
                                    +
                                    298  integer, allocatable :: mgwb(:)
                                    +
                                    299 end module moda_mgwb
                                    +
                                    300 
                                    + +
                                    307  integer, allocatable :: ids3(:)
                                    +
                                    309  character*6, allocatable :: cds3(:)
                                    +
                                    310 end module moda_s3list
                                    +
                                    311 
                                    + +
                                    320  integer, allocatable :: nmsg(:)
                                    +
                                    322  integer, allocatable :: nsub(:)
                                    +
                                    324  integer, allocatable :: msub(:)
                                    +
                                    326  integer, allocatable :: inode(:)
                                    +
                                    328  integer, allocatable :: idate(:)
                                    +
                                    329 end module moda_msgcwd
                                    +
                                    330 
                                    + +
                                    346  integer, allocatable :: msglim(:)
                                    +
                                    347 end module moda_msglim
                                    +
                                    348 
                                    + +
                                    358  integer :: munit
                                    +
                                    360  integer :: mlast
                                    +
                                    362  integer :: ldxm
                                    +
                                    365  integer :: ndxm
                                    +
                                    369  integer :: ldxts
                                    +
                                    372  integer :: ndxts
                                    +
                                    374  integer :: mxdxm
                                    +
                                    376  integer :: mxdxw
                                    +
                                    380  integer, allocatable :: msgp(:)
                                    +
                                    382  integer, allocatable :: msgs(:)
                                    +
                                    385  integer, allocatable :: mdx(:)
                                    +
                                    387  integer, allocatable :: ipdxm(:)
                                    +
                                    389  integer, allocatable :: ifdxts(:)
                                    +
                                    392  integer, allocatable :: icdxts(:)
                                    +
                                    394  integer, allocatable :: ipmsgs(:)
                                    +
                                    395 end module moda_msgmem
                                    +
                                    396 
                                    + +
                                    405  integer :: nmtb
                                    +
                                    407  integer :: nmtd
                                    +
                                    409  integer, allocatable :: ibfxyn(:)
                                    +
                                    411  character, allocatable :: cbscl(:,:)
                                    +
                                    413  character, allocatable :: cbsref(:,:)
                                    +
                                    415  character, allocatable :: cbbw(:,:)
                                    +
                                    417  character, allocatable :: cbunit(:,:)
                                    +
                                    419  character, allocatable :: cbmnem(:,:)
                                    +
                                    421  character, allocatable :: cbelem(:,:)
                                    +
                                    423  integer, allocatable :: idfxyn(:)
                                    +
                                    425  character, allocatable :: cdseq(:,:)
                                    +
                                    427  character, allocatable :: cdmnem(:,:)
                                    +
                                    429  integer, allocatable :: ndelem(:)
                                    +
                                    431  integer, allocatable :: idefxy(:)
                                    +
                                    432 end module moda_mstabs
                                    +
                                    433 
                                    + +
                                    441  character*8, allocatable :: nem(:,:)
                                    +
                                    449  integer, allocatable :: irp(:,:)
                                    +
                                    454  integer, allocatable :: krp(:,:)
                                    +
                                    455 end module moda_nmikrp
                                    +
                                    456 
                                    + +
                                    467  integer :: nnrv
                                    +
                                    471  integer :: ibtnrv
                                    +
                                    476  integer :: ipfnrv
                                    +
                                    479  character*8, allocatable :: tagnrv(:)
                                    +
                                    481  integer, allocatable :: inodnrv(:)
                                    +
                                    483  integer*8, allocatable :: nrv(:)
                                    +
                                    487  integer, allocatable :: isnrv(:)
                                    +
                                    491  integer, allocatable :: ienrv(:)
                                    +
                                    492 end module moda_nrv203
                                    +
                                    493 
                                    + +
                                    514  integer, allocatable :: null(:)
                                    +
                                    515 end module moda_nulbfr
                                    +
                                    516 
                                    + +
                                    525  integer, allocatable :: iefxyn(:,:)
                                    +
                                    527  character*4, allocatable :: cmdscb(:)
                                    +
                                    529  character*4, allocatable :: cmdscd(:)
                                    +
                                    531  character*120, allocatable :: ceelem(:,:)
                                    +
                                    532 end module moda_rdmtb
                                    +
                                    533 
                                    + +
                                    542  integer :: nrst
                                    +
                                    544  integer, allocatable :: irnch(:)
                                    +
                                    546  integer, allocatable :: irbit(:)
                                    +
                                    548  character*10, allocatable :: crtag(:)
                                    +
                                    549 end module moda_rlccmn
                                    +
                                    550 
                                    + +
                                    561  integer, allocatable :: ivmnem(:)
                                    +
                                    563  character*8, allocatable :: cmnem(:)
                                    +
                                    565  integer :: ns01v = 0
                                    +
                                    566 end module moda_s01cm
                                    +
                                    567 
                                    + +
                                    587  integer, allocatable :: isc3(:)
                                    +
                                    589  character*8, allocatable :: tamnem(:)
                                    +
                                    590 end module moda_sc3bfr
                                    +
                                    591 
                                    + +
                                    604  integer, allocatable :: iolun(:)
                                    +
                                    609  integer, allocatable :: iomsg(:)
                                    +
                                    610 end module moda_stbfr
                                    +
                                    611 
                                    + +
                                    623  integer, allocatable :: iscodes(:)
                                    +
                                    624 end module moda_stcode
                                    +
                                    625 
                                    + +
                                    633  integer, allocatable :: ntba(:)
                                    +
                                    636  integer, allocatable :: ntbb(:)
                                    +
                                    639  integer, allocatable :: ntbd(:)
                                    +
                                    641  integer, allocatable :: mtab(:,:)
                                    +
                                    644  integer, allocatable :: idna(:,:,:)
                                    +
                                    646  Integer, allocatable :: idnb(:,:)
                                    +
                                    648  integer, allocatable :: idnd(:,:)
                                    +
                                    650  character*128, allocatable :: taba(:,:)
                                    +
                                    652  character*128, allocatable :: tabb(:,:)
                                    +
                                    654  character*600, allocatable :: tabd(:,:)
                                    +
                                    655 end module moda_tababd
                                    +
                                    656 
                                    +
                                    666  integer :: ntab
                                    668  character*10, allocatable :: tag(:)
                                    683  character*3, allocatable :: typ(:)
                                    @@ -344,35 +344,55 @@
                                    783  integer, allocatable :: mbit(:)
                                    784 end module moda_usrbit
                                    785 
                                    - -
                                    795  integer, allocatable :: nval(:)
                                    -
                                    797  integer, target, allocatable :: inv(:,:)
                                    -
                                    800  integer, allocatable :: nrfelm(:,:)
                                    -
                                    802  real*8, target, allocatable :: val(:,:)
                                    -
                                    803 end module moda_usrint
                                    -
                                    804 
                                    - -
                                    811  parameter( maxrcr = 100 )
                                    -
                                    813  integer, allocatable :: iutmp(:,:)
                                    -
                                    815  real*8, allocatable :: vutmp(:,:)
                                    -
                                    816 end module moda_usrtmp
                                    -
                                    817 
                                    -
                                    829 module moda_xtab
                                    -
                                    834  logical, allocatable :: xtab(:)
                                    -
                                    835 end module moda_xtab
                                    -
                                    This module contains array and variable declarations used to store BUFR messages internally for multi...
                                    -
                                    integer, dimension(:), allocatable ibay
                                    Current data subset.
                                    -
                                    integer ibit
                                    Bit pointer within IBAY.
                                    -
                                    integer, dimension(:,:), allocatable mbay
                                    Current BUFR message for each internal I/O stream.
                                    -
                                    integer, dimension(:), allocatable mbyt
                                    Length (in bytes) of current BUFR message for each internal I/O stream.
                                    + +
                                    793  integer, allocatable :: nval(:)
                                    +
                                    795  integer, target, allocatable :: inv(:,:)
                                    +
                                    798  integer, allocatable :: nrfelm(:,:)
                                    +
                                    800  real*8, target, allocatable :: val(:,:)
                                    +
                                    801 end module moda_usrint
                                    +
                                    802 
                                    + +
                                    810  integer, allocatable :: iutmp(:,:)
                                    +
                                    812  real*8, allocatable :: vutmp(:,:)
                                    +
                                    813 end module moda_usrtmp
                                    +
                                    814 
                                    +
                                    826 module moda_xtab
                                    +
                                    831  logical, allocatable :: xtab(:)
                                    +
                                    832 end module moda_xtab
                                    +
                                    833 
                                    + +
                                    843  character*1 :: ctrt = 'N'
                                    +
                                    845  integer :: itryr
                                    +
                                    847  integer :: itrmo
                                    +
                                    849  integer :: itrdy
                                    +
                                    851  integer :: itrhr
                                    +
                                    853  integer :: itrmi
                                    +
                                    854 end module moda_tnkrcp
                                    +
                                    855 
                                    + +
                                    864  character :: csmf = 'N'
                                    +
                                    865 end module moda_msgstd
                                    +
                                    866 
                                    + +
                                    875  character :: ccmf = 'N'
                                    +
                                    876 end module moda_msgcmp
                                    +
                                    877 
                                    + +
                                    887  character :: cdmf = 'N'
                                    +
                                    888 end module moda_tablef
                                    +
                                    Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                    +
                                    integer, dimension(:), allocatable ibay
                                    Current data subset.
                                    +
                                    integer ibit
                                    Bit pointer within ibay.
                                    +
                                    integer, dimension(:,:), allocatable mbay
                                    Current BUFR message for each file ID.
                                    +
                                    integer, dimension(:), allocatable mbyt
                                    Length (in bytes) of current BUFR message for each file ID.
                                    integer maxbyt
                                    Maximum length of an output BUFR message.
                                    -
                                    This module contains array and variable declarations used to store bitmaps internally within a data s...
                                    +
                                    Declare arrays and variables used to store bitmaps internally within a data subset definition.
                                    integer, dimension(:), allocatable iszbtm
                                    Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not).
                                    integer lstnod
                                    Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding v...
                                    integer, dimension(:,:), allocatable inodtco
                                    Entries within jump/link table which contain Table C operators.
                                    -
                                    integer ntamc
                                    Number of Table A mnemonics in jump/link table (up to a maximum of MXTAMC) which contain at least one...
                                    +
                                    integer ntamc
                                    Number of Table A mnemonics in jump/link table (up to a maximum of mxtamc) which contain at least one...
                                    integer, dimension(:), allocatable istbtm
                                    Ordinal position in data subset definition corresponding to the first entry of the bitmap.
                                    -
                                    integer nbtm
                                    Number of stored bitmaps for the current data subset (up to a maximum of MXBTM).
                                    +
                                    integer nbtm
                                    Number of stored bitmaps for the current data subset (up to a maximum of mxbtm).
                                    integer, dimension(:), allocatable inodtamc
                                    Entries within jump/link table which contain Table A mnemonics.
                                    integer, dimension(:,:), allocatable ibtmse
                                    Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions ca...
                                    integer lstnodct
                                    Current count of consecutive occurrences of lstnod.
                                    @@ -380,152 +400,160 @@
                                    integer, dimension(:), allocatable nbtmse
                                    Number of "set" entries (set to a value of 0) in the bitmap.
                                    character *6, dimension(:,:), allocatable ctco
                                    Table C operators corresponding to inodtco.
                                    integer, dimension(:), allocatable ntco
                                    Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of ...
                                    -
                                    This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message tha...
                                    -
                                    integer, dimension(:), allocatable msglen
                                    Length (in integers) of BUFR message most recently written to each output I/O stream.
                                    -
                                    integer, dimension(:,:), allocatable msgtxt
                                    BUFR message most recently written to each output I/O stream.
                                    -
                                    This module contains arrays and variables needed to store the current position within a BUFR file.
                                    +
                                    Declare arrays used to store, for each output file ID, a copy of the BUFR message that was most recen...
                                    +
                                    integer, dimension(:), allocatable msglen
                                    Length (in integers) of BUFR message most recently written to each output file ID.
                                    +
                                    integer, dimension(:,:), allocatable msgtxt
                                    BUFR message most recently written to each output file ID.
                                    +
                                    Declare arrays and variables needed to store the current position within a BUFR file.
                                    integer jill
                                    File status indicator of BUFR file.
                                    integer jimm
                                    Message status indicator of BUFR file.
                                    -
                                    integer, dimension(:), allocatable jsr
                                    Indicator of stack status when entering subroutine rewnbf().
                                    -
                                    integer jmsg
                                    Sequential number of BUFR message, counting from the beginning of the file.
                                    -
                                    integer jdat
                                    Section 1 date-time of BUFR message.
                                    -
                                    integer jnod
                                    Positional index of Table A mnemonic within internal Table A.
                                    -
                                    integer jbit
                                    Bit pointer within BUFR message.
                                    +
                                    integer, dimension(:), allocatable jsr
                                    Indicator of stack status when entering subroutine rewnbf().
                                    +
                                    integer jmsg
                                    Sequential number of BUFR message, counting from the beginning of the file.
                                    +
                                    integer jbit
                                    Bit pointer within BUFR message.
                                    integer jsub
                                    Sequential number of BUFR data subset, counting from the beginning of the current BUFR message.
                                    -
                                    integer junn
                                    Internal I/O stream index of BUFR file.
                                    -
                                    integer ksub
                                    Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message.
                                    -
                                    integer jbyt
                                    Length (in bytes) of BUFR message.
                                    -
                                    integer, dimension(:), allocatable jbay
                                    BUFR message.
                                    -
                                    This module contains arrays and variable declarations for the storage of data values needed when writ...
                                    -
                                    integer ncol
                                    Number of data subsets in message.
                                    -
                                    integer(8) incr
                                    Increment used when compressing non-character data values.
                                    -
                                    integer(8), dimension(:,:), allocatable matx
                                    Non-character data values for all data subsets in message.
                                    -
                                    character *(:), dimension(:,:), allocatable catx
                                    Character data values for all data subsets in message.
                                    -
                                    This module contains arrays and variable declarations for the storage of data values needed when writ...
                                    -
                                    character *(:), dimension(:), allocatable cstr
                                    Character data value, if corresponding ityp value is set to 3.
                                    -
                                    integer(8), dimension(:), allocatable kmax
                                    Maximum of each data value across all data subsets in message.
                                    -
                                    integer kbyt
                                    Number of bytes required to store Sections 0, 1, 2, and 3 of message.
                                    -
                                    logical flush
                                    Flush flag.
                                    -
                                    integer nrow
                                    Number of data values for each data subset in message.
                                    -
                                    logical writ1
                                    Write-out flag.
                                    -
                                    integer, dimension(:), allocatable ityp
                                    Type of each data value:
                                    -
                                    integer, dimension(:), allocatable iwid
                                    Bit width of underlying data descriptor as defined within Table B for each data value.
                                    -
                                    integer lunc
                                    I/O stream index into internal arrays for output file.
                                    -
                                    integer(8), dimension(:), allocatable kmin
                                    Minimum of each data value across all data subsets in message.
                                    -
                                    integer, dimension(:), allocatable kbit
                                    Number of bits needed to hold the increments for this data value within each data subset of the messa...
                                    -
                                    logical, dimension(:), allocatable kmis
                                    "Missing" values flag.
                                    -
                                    This module contains array and variable declarations for the internal Table A mnemonic cache that is ...
                                    -
                                    character *8, dimension(mxcnem) cnem
                                    Table A mnemonics.
                                    -
                                    integer, dimension(mxcnem, maxnc) idcach
                                    Bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem.
                                    -
                                    integer ncnem
                                    Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM).
                                    -
                                    integer, dimension(mxcnem) ndc
                                    Number of child descriptors for the corresponding Table A mnemonic in cnem.
                                    -
                                    This module contains array and variable declarations needed to store long character strings (greater ...
                                    -
                                    integer nh4wlc
                                    Number of long character strings being stored.
                                    -
                                    character *14, dimension(:), allocatable sth4wlc
                                    Table B mnemonics associated with long character strings.
                                    -
                                    integer, dimension(:), allocatable luh4wlc
                                    I/O stream index into internal arrays for associated output file.
                                    -
                                    character *120, dimension(:), allocatable chh4wlc
                                    Long character strings.
                                    -
                                    This module contains a declaration for an array used by subroutine readerme() to read in a new DX dic...
                                    -
                                    integer, dimension(:), allocatable idrdm
                                    DX BUFR tables message count for each I/O internal stream index.
                                    -
                                    This module contains a declaration for an array used to pack or unpack all of the values of a BUFR da...
                                    -
                                    integer(8), dimension(:), allocatable ival
                                    BUFR data subset values.
                                    -
                                    This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()...
                                    -
                                    character *10, dimension(:), allocatable ttmp
                                    tag array elements for new sections of a growing subset buffer.
                                    -
                                    real *8, dimension(:), allocatable vtmp
                                    val array elements for new sections of a growing subset buffer.
                                    -
                                    integer, dimension(:), allocatable itmp
                                    inv array elements for new sections of a growing subset buffer.
                                    -
                                    This module contains a declaration for an array used by subroutine makestab() to keep track of which ...
                                    -
                                    integer, dimension(:), allocatable lus
                                    Tracking index for each I/O internal stream index.
                                    -
                                    This module contains a declaration for an array used by various subroutines and functions to hold a t...
                                    -
                                    integer, dimension(:), allocatable mgwa
                                    Temporary working copy of BUFR message.
                                    -
                                    This module contains a declaration for an array used by various subroutines and functions to hold a t...
                                    -
                                    integer, dimension(:), allocatable mgwb
                                    Temporary working copy of BUFR message.
                                    -
                                    This module contains declarations for arrays used to store information about the current BUFR message...
                                    -
                                    integer, dimension(:), allocatable inode
                                    Table A mnemonic for type of BUFR message.
                                    -
                                    integer, dimension(:), allocatable idate
                                    Section 1 date-time of message.
                                    -
                                    integer, dimension(:), allocatable nmsg
                                    Current message pointer within logical unit.
                                    -
                                    integer, dimension(:), allocatable msub
                                    Total number of data subsets in message.
                                    -
                                    integer, dimension(:), allocatable nsub
                                    Current subset pointer within message.
                                    -
                                    This module contains a declaration for an array used to keep track of which logical units should not ...
                                    -
                                    integer, dimension(:), allocatable msglim
                                    Tracking index for each I/O stream index.
                                    -
                                    This module contains array and variable declarations used to store the contents of one or more BUFR f...
                                    -
                                    integer, dimension(:), allocatable msgp
                                    Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array ele...
                                    -
                                    integer, dimension(:), allocatable ipmsgs
                                    Pointers to first message within msgs for which each DX BUFR table applies.
                                    -
                                    integer, dimension(:), allocatable msgs
                                    BUFR messages read from one or more BUFR files.
                                    -
                                    integer, dimension(:), allocatable icdxts
                                    Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the cor...
                                    -
                                    integer mxdxm
                                    Maximum number of DX BUFR table messages that can be stored within mdx.
                                    -
                                    integer, dimension(:), allocatable ifdxts
                                    Pointers to the beginning of each DX BUFR table within mdx.
                                    -
                                    integer munit
                                    Fortran logical unit number for use in accessing contents of BUFR files within internal memory.
                                    -
                                    integer ndxm
                                    Number of DX BUFR table messages stored within mdx (up to a maximum of MXDXM).
                                    -
                                    integer ldxm
                                    Number of array elements filled within mdx (up to a maximum of MXDXW).
                                    -
                                    integer mlast
                                    Number of array elements filled within msgs (up to a maximum of MAXMEM).
                                    -
                                    integer ldxts
                                    Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is cu...
                                    -
                                    integer ndxts
                                    Number of DX BUFR tables represented by the messages within mdx (up to a maximum of MXDXTS).
                                    -
                                    integer, dimension(:), allocatable mdx
                                    DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.
                                    -
                                    integer mxdxw
                                    Maximum number of entries that can be stored within mdx.
                                    -
                                    integer, dimension(:), allocatable ipdxm
                                    Pointers to the beginning of each message within mdx.
                                    -
                                    This module contains array and variable declarations used to store master Table B and Table D entries...
                                    -
                                    integer, dimension(:), allocatable idfxyn
                                    Bit-wise representations of FXY numbers for master Table D.
                                    -
                                    character, dimension(:,:), allocatable cbunit
                                    Units corresponding to ibfxyn.
                                    -
                                    integer nmtb
                                    Number of master Table B entries (up to a maximum of MXMTBB).
                                    -
                                    character, dimension(:,:), allocatable cbbw
                                    Bit widths corresponding to ibfxyn.
                                    -
                                    character, dimension(:,:), allocatable cdseq
                                    Sequence names corresponding to idfxyn.
                                    -
                                    character, dimension(:,:), allocatable cbmnem
                                    Mnemonics corresponding to ibfxyn.
                                    -
                                    integer, dimension(:), allocatable ndelem
                                    Numbers of child descriptors corresponding to idfxyn.
                                    -
                                    character, dimension(:,:), allocatable cbelem
                                    Element names corresponding to ibfxyn.
                                    -
                                    character, dimension(:,:), allocatable cbscl
                                    Scale factors corresponding to ibfxyn.
                                    -
                                    character, dimension(:,:), allocatable cdmnem
                                    Mnemonics corresponding to idfxyn.
                                    -
                                    character, dimension(:,:), allocatable cbsref
                                    Reference values corresponding to ibfxyn.
                                    -
                                    integer nmtd
                                    Number of master Table D entries (up to a maximum of MXMTBD).
                                    -
                                    integer, dimension(:), allocatable idefxy
                                    Bit-wise representations of child descriptors corresponding to idfxyn.
                                    -
                                    integer, dimension(:), allocatable ibfxyn
                                    Bit-wise representations of FXY numbers for master Table B.
                                    -
                                    This module contains declarations for arrays used by various subroutines to hold information about Ta...
                                    -
                                    integer, dimension(:,:), allocatable krp
                                    Replication counts corresponding to nem:
                                    -
                                    integer, dimension(:,:), allocatable irp
                                    Replication indicators corresponding to nem:
                                    -
                                    character *8, dimension(:,:), allocatable nem
                                    Child mnemonics within Table D sequences.
                                    -
                                    This module contains array and variable declarations for use with any 2-03-YYY (change reference valu...
                                    -
                                    integer, dimension(:), allocatable ienrv
                                    End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
                                    -
                                    character *8, dimension(:), allocatable tagnrv
                                    Table B mnemonic to which the corresponding new reference value in nrv applies.
                                    -
                                    integer, dimension(:), allocatable isnrv
                                    Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
                                    -
                                    integer nnrv
                                    Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV...
                                    -
                                    integer *8, dimension(:), allocatable nrv
                                    New reference values corresponding to inodnrv.
                                    -
                                    integer ipfnrv
                                    A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the c...
                                    -
                                    integer, dimension(:), allocatable inodnrv
                                    Entries within jump/link table which contain new reference values.
                                    -
                                    integer ibtnrv
                                    Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in...
                                    -
                                    This module contains an array declaration used to store a switch for each internal I/O stream index,...
                                    -
                                    integer, dimension(:), allocatable null
                                    Output switch for each internal I/O stream index:
                                    -
                                    This module contains array and variable declarations used to store master Table B and Table D entries...
                                    -
                                    character *120, dimension(:,:), allocatable ceelem
                                    Element names corresponding to iefxyn.
                                    -
                                    character *4, dimension(:), allocatable cmdscb
                                    Descriptor codes for Table B elements.
                                    -
                                    integer, dimension(:,:), allocatable iefxyn
                                    Bit-wise representations of child descriptors of Table D sequences.
                                    -
                                    character *4, dimension(:), allocatable cmdscd
                                    Descriptor codes for Table D sequences.
                                    -
                                    This module contains array and variable declarations needed to store information about long character...
                                    -
                                    integer nrst
                                    Number of long character strings in data subset.
                                    -
                                    integer, dimension(:), allocatable irnch
                                    Lengths (in bytes) of long character strings.
                                    -
                                    integer, dimension(:), allocatable irbit
                                    Pointers in data subset to first bits of long character strings.
                                    -
                                    character *10, dimension(:), allocatable crtag
                                    Table B mnemonics associated with long character strings.
                                    -
                                    This module contains array and variable declarations used to store custom values for certain mnemonic...
                                    -
                                    integer, dimension(:), allocatable ivmnem
                                    Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
                                    -
                                    integer ns01v
                                    Number of custom values stored.
                                    -
                                    character *8, dimension(:), allocatable cmnem
                                    Section 0 and 1 mnemonics corresponding to ivmnem.
                                    -
                                    This module contains an array declaration used to store a switch for each internal I/O stream index,...
                                    -
                                    character *8, dimension(:), allocatable tamnem
                                    Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream.
                                    -
                                    integer, dimension(:), allocatable isc3
                                    Section 3 switch for each internal I/O stream index:
                                    -
                                    This module contains array declarations used to store file and message status indicators for all logi...
                                    -
                                    integer, dimension(:), allocatable iolun
                                    File status indicators.
                                    -
                                    integer, dimension(:), allocatable iomsg
                                    Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
                                    -
                                    This module contains an array declaration used to store a status code for each internal I/O stream in...
                                    -
                                    integer, dimension(:), allocatable iscodes
                                    Abnormal status codes.
                                    -
                                    This module contains array and variable declarations used to store DX BUFR tables internally for mult...
                                    -
                                    integer, dimension(:), allocatable ntba
                                    Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA,...
                                    -
                                    character *600, dimension(:,:), allocatable tabd
                                    Table D entries for each internal I/O stream.
                                    -
                                    character *128, dimension(:,:), allocatable taba
                                    Table A entries for each internal I/O stream.
                                    -
                                    integer, dimension(:,:), allocatable mtab
                                    Entries within jump/link table corresponding to taba.
                                    -
                                    integer, dimension(:,:,:), allocatable idna
                                    Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
                                    -
                                    integer, dimension(:), allocatable ntbd
                                    Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD,...
                                    -
                                    integer, dimension(:), allocatable ntbb
                                    Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
                                    -
                                    integer, dimension(:,:), allocatable idnd
                                    Bit-wise representations of the FXY values corresponding to tabd.
                                    -
                                    integer, dimension(:,:), allocatable idnb
                                    Bit-wise representations of the FXY values corresponding to tabb.
                                    -
                                    character *128, dimension(:,:), allocatable tabb
                                    Table B entries for each internal I/O stream.
                                    -
                                    This module contains array and variable declarations used to store the internal jump/link table.
                                    +
                                    integer junn
                                    File ID of BUFR file.
                                    +
                                    integer jbyt
                                    Length (in bytes) of BUFR message.
                                    +
                                    integer, dimension(:), allocatable jbay
                                    BUFR message.
                                    +
                                    Declare arrays and variables needed for the storage of data values needed when writing compressed dat...
                                    +
                                    integer ncol
                                    Number of data subsets in message.
                                    +
                                    integer *8 incr
                                    Increment used when compressing non-character data values.
                                    +
                                    character *(:), dimension(:,:), allocatable catx
                                    Character data values for all data subsets in message.
                                    +
                                    integer *8, dimension(:,:), allocatable matx
                                    Non-character data values for all data subsets in message.
                                    +
                                    Declare arrays and variable needed for the storage of data values needed when writing compressed data...
                                    +
                                    character *(:), dimension(:), allocatable cstr
                                    Character data value, if corresponding ityp value is set to 3.
                                    +
                                    integer kbyt
                                    Number of bytes required to store Sections 0, 1, 2, and 3 of message.
                                    +
                                    logical flush
                                    Flush flag.
                                    +
                                    integer nrow
                                    Number of data values for each data subset in message.
                                    +
                                    integer *8 imiss
                                    "Missing" value used when compressing non-character data values.
                                    +
                                    integer *8, dimension(:), allocatable kmax
                                    Maximum of each data value across all data subsets in message.
                                    +
                                    integer, dimension(:), allocatable jlnode
                                    Jump/link table node corresponding to each data value.
                                    +
                                    logical writ1
                                    Write-out flag.
                                    +
                                    integer, dimension(:), allocatable ityp
                                    Type of each data value:
                                    +
                                    integer, dimension(:), allocatable iwid
                                    Bit width of underlying data descriptor as defined within Table B for each data value.
                                    +
                                    integer lunc
                                    File ID for output file.
                                    +
                                    integer, dimension(:), allocatable kbit
                                    Number of bits needed to hold the increments for this data value within each data subset of the messa...
                                    +
                                    logical, dimension(:), allocatable kmis
                                    "Missing" values flag.
                                    +
                                    integer *8, dimension(:), allocatable kmin
                                    Minimum of each data value across all data subsets in message.
                                    +
                                    Declare arrays and variables for the internal Table A mnemonic cache that is used for Section 3 decod...
                                    +
                                    character *8, dimension(:), allocatable cnem
                                    Table A mnemonics.
                                    +
                                    integer ncnem
                                    Number of entries in the internal Table A mnemonic cache (up to a maximum of mxcnem).
                                    +
                                    integer, dimension(:,:), allocatable idcach
                                    WMO bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem.
                                    +
                                    integer, dimension(:), allocatable ndc
                                    Number of child descriptors for the corresponding Table A mnemonic in cnem.
                                    +
                                    Declare arrays and variables needed to store long character strings (greater than 8 bytes) via subrou...
                                    +
                                    integer nh4wlc
                                    Number of long character strings being stored.
                                    +
                                    character *14, dimension(:), allocatable sth4wlc
                                    Table B mnemonics associated with long character strings.
                                    +
                                    integer, dimension(:), allocatable luh4wlc
                                    File ID for associated output file.
                                    +
                                    character *120, dimension(:), allocatable chh4wlc
                                    Long character strings.
                                    +
                                    Declare an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive ...
                                    +
                                    integer, dimension(:), allocatable idrdm
                                    DX BUFR tables message count for each file ID.
                                    +
                                    Declare an array used to pack or unpack all of the values of a BUFR data subset.
                                    +
                                    integer *8, dimension(:), allocatable ival
                                    BUFR data subset values.
                                    +
                                    Declare arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manip...
                                    +
                                    character *10, dimension(:), allocatable ttmp
                                    tag array elements for new sections of a growing subset buffer.
                                    +
                                    real *8, dimension(:), allocatable vtmp
                                    val array elements for new sections of a growing subset buffer.
                                    +
                                    integer, dimension(:), allocatable itmp
                                    inv array elements for new sections of a growing subset buffer.
                                    +
                                    Declare an array used by subroutine makestab() to keep track of which logical units share DX BUFR tab...
                                    +
                                    integer, dimension(:), allocatable lus
                                    Tracking index for each file ID.
                                    +
                                    Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                    +
                                    integer, dimension(:), allocatable mgwa
                                    Temporary working copy of BUFR message.
                                    +
                                    Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                    +
                                    integer, dimension(:), allocatable mgwb
                                    Temporary working copy of BUFR message.
                                    +
                                    Declare a variable used to indicate whether output BUFR messages should be compressed.
                                    +
                                    character ccmf
                                    Flag indicating whether BUFR output messages are to be compressed; this variable is initialized to a ...
                                    +
                                    Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                    +
                                    integer, dimension(:), allocatable inode
                                    Table A mnemonic for type of BUFR message.
                                    +
                                    integer, dimension(:), allocatable idate
                                    Section 1 date-time of message.
                                    +
                                    integer, dimension(:), allocatable nmsg
                                    Current message pointer within logical unit.
                                    +
                                    integer, dimension(:), allocatable msub
                                    Total number of data subsets in message.
                                    +
                                    integer, dimension(:), allocatable nsub
                                    Current subset pointer within message.
                                    +
                                    Declare an array used to keep track of which logical units should not have any empty (zero data subse...
                                    +
                                    integer, dimension(:), allocatable msglim
                                    Tracking index for each file ID.
                                    +
                                    Declare arrays and variables used to store the contents of one or more BUFR files within internal mem...
                                    +
                                    integer, dimension(:), allocatable msgp
                                    Pointers to the beginning of each message within msgs (up to a maximum of maxmsg, and where array ele...
                                    +
                                    integer, dimension(:), allocatable ipmsgs
                                    Pointers to first message within msgs for which each DX BUFR table applies.
                                    +
                                    integer, dimension(:), allocatable msgs
                                    BUFR messages read from one or more BUFR files.
                                    +
                                    integer, dimension(:), allocatable icdxts
                                    Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the cor...
                                    +
                                    integer mxdxm
                                    Maximum number of DX BUFR table messages that can be stored within mdx.
                                    +
                                    integer, dimension(:), allocatable ifdxts
                                    Pointers to the beginning of each DX BUFR table within mdx.
                                    +
                                    integer munit
                                    Fortran logical unit number for use in accessing contents of BUFR files within internal memory.
                                    +
                                    integer ndxm
                                    Number of DX BUFR table messages stored within mdx (up to a maximum of mxdxm).
                                    +
                                    integer ldxm
                                    Number of array elements filled within mdx (up to a maximum of mxdxw).
                                    +
                                    integer mlast
                                    Number of array elements filled within msgs (up to a maximum of maxmem).
                                    +
                                    integer ldxts
                                    Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is cu...
                                    +
                                    integer ndxts
                                    Number of DX BUFR tables represented by the messages within mdx (up to a maximum of mxdxts).
                                    +
                                    integer, dimension(:), allocatable mdx
                                    DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.
                                    +
                                    integer mxdxw
                                    Maximum number of entries that can be stored within mdx.
                                    +
                                    integer, dimension(:), allocatable ipdxm
                                    Pointers to the beginning of each message within mdx.
                                    +
                                    Declare a variable used to indicate whether output BUFR messages should be standardized.
                                    +
                                    character csmf
                                    Flag indicating whether BUFR output messages are to be standardized; this variable is initialized to ...
                                    +
                                    Declare arrays and variables used to store master Table B and Table D entries within internal memory.
                                    +
                                    integer, dimension(:), allocatable idfxyn
                                    WMO bit-wise representations of FXY numbers for master Table D.
                                    +
                                    character, dimension(:,:), allocatable cbunit
                                    Units corresponding to ibfxyn.
                                    +
                                    integer nmtb
                                    Number of master Table B entries (up to a maximum of mxmtbb).
                                    +
                                    character, dimension(:,:), allocatable cbbw
                                    Bit widths corresponding to ibfxyn.
                                    +
                                    character, dimension(:,:), allocatable cdseq
                                    Sequence names corresponding to idfxyn.
                                    +
                                    character, dimension(:,:), allocatable cbmnem
                                    Mnemonics corresponding to ibfxyn.
                                    +
                                    integer, dimension(:), allocatable ndelem
                                    Numbers of child descriptors corresponding to idfxyn.
                                    +
                                    character, dimension(:,:), allocatable cbelem
                                    Element names corresponding to ibfxyn.
                                    +
                                    character, dimension(:,:), allocatable cbscl
                                    Scale factors corresponding to ibfxyn.
                                    +
                                    character, dimension(:,:), allocatable cdmnem
                                    Mnemonics corresponding to idfxyn.
                                    +
                                    character, dimension(:,:), allocatable cbsref
                                    Reference values corresponding to ibfxyn.
                                    +
                                    integer nmtd
                                    Number of master Table D entries (up to a maximum of mxmtbd).
                                    +
                                    integer, dimension(:), allocatable idefxy
                                    WMO bit-wise representations of child descriptors corresponding to idfxyn.
                                    +
                                    integer, dimension(:), allocatable ibfxyn
                                    WMO bit-wise representations of FXY numbers for master Table B.
                                    +
                                    Declare arrays used by various subroutines to hold information about Table D sequences.
                                    +
                                    integer, dimension(:,:), allocatable krp
                                    Replication counts corresponding to nem:
                                    +
                                    integer, dimension(:,:), allocatable irp
                                    Replication indicators corresponding to nem:
                                    +
                                    character *8, dimension(:,:), allocatable nem
                                    Child mnemonics within Table D sequences.
                                    +
                                    Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present wit...
                                    +
                                    integer, dimension(:), allocatable ienrv
                                    End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
                                    +
                                    character *8, dimension(:), allocatable tagnrv
                                    Table B mnemonic to which the corresponding new reference value in nrv applies.
                                    +
                                    integer, dimension(:), allocatable isnrv
                                    Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
                                    +
                                    integer nnrv
                                    Number of entries in the jump/link table which contain new reference values (up to a maximum of mxnrv...
                                    +
                                    integer *8, dimension(:), allocatable nrv
                                    New reference values corresponding to inodnrv.
                                    +
                                    integer ipfnrv
                                    A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the c...
                                    +
                                    integer, dimension(:), allocatable inodnrv
                                    Entries within jump/link table which contain new reference values.
                                    +
                                    integer ibtnrv
                                    Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in...
                                    +
                                    Declare an array used to store a switch for each file ID, indicating whether any BUFR messages should...
                                    +
                                    integer, dimension(:), allocatable null
                                    Output switch for each file ID:
                                    +
                                    Declare arrays and variables used to store master Table B and Table D entries within internal memory.
                                    +
                                    character *120, dimension(:,:), allocatable ceelem
                                    Element names corresponding to iefxyn.
                                    +
                                    character *4, dimension(:), allocatable cmdscb
                                    Descriptor codes for Table B elements.
                                    +
                                    integer, dimension(:,:), allocatable iefxyn
                                    WMO bit-wise representations of child descriptors of Table D sequences.
                                    +
                                    character *4, dimension(:), allocatable cmdscd
                                    Descriptor codes for Table D sequences.
                                    +
                                    Declare arrays and variables needed to store information about long character strings (greater than 8...
                                    +
                                    integer nrst
                                    Number of long character strings in data subset.
                                    +
                                    integer, dimension(:), allocatable irnch
                                    Lengths (in bytes) of long character strings.
                                    +
                                    integer, dimension(:), allocatable irbit
                                    Pointers in data subset to first bits of long character strings.
                                    +
                                    character *10, dimension(:), allocatable crtag
                                    Table B mnemonics associated with long character strings.
                                    +
                                    Declare arrays and variables used to store custom values for certain mnemonics within Sections 0 and ...
                                    +
                                    integer, dimension(:), allocatable ivmnem
                                    Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
                                    +
                                    integer ns01v
                                    Number of custom values stored.
                                    +
                                    character *8, dimension(:), allocatable cmnem
                                    Section 0 and 1 mnemonics corresponding to ivmnem.
                                    +
                                    Declare arrays used by various subroutines and functions to hold a temporary working copy of a Sectio...
                                    +
                                    integer, dimension(:), allocatable ids3
                                    Temporary working copy of Section 3 descriptor list in integer form.
                                    +
                                    character *6, dimension(:), allocatable cds3
                                    Temporary working copy of Section 3 descriptor list in character form.
                                    +
                                    Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from ...
                                    +
                                    character *8, dimension(:), allocatable tamnem
                                    Table A mnemonic most recently read from each file ID, if isc3 = 1 for that stream.
                                    +
                                    integer, dimension(:), allocatable isc3
                                    Section 3 switch for each file ID:
                                    +
                                    Declare arrays used to store file and message status indicators for all logical units that have been ...
                                    +
                                    integer, dimension(:), allocatable iolun
                                    File status indicators.
                                    +
                                    integer, dimension(:), allocatable iomsg
                                    Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
                                    +
                                    Declare an array used to store a status code for each file ID if an error or other abnormal result oc...
                                    +
                                    integer, dimension(:), allocatable iscodes
                                    Abnormal status codes.
                                    +
                                    Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.
                                    +
                                    integer, dimension(:), allocatable ntba
                                    Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array...
                                    +
                                    character *600, dimension(:,:), allocatable tabd
                                    Table D entries for each file ID.
                                    +
                                    character *128, dimension(:,:), allocatable taba
                                    Table A entries for each file ID.
                                    +
                                    integer, dimension(:,:), allocatable mtab
                                    Entries within jump/link table corresponding to taba.
                                    +
                                    integer, dimension(:,:,:), allocatable idna
                                    Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
                                    +
                                    integer, dimension(:), allocatable ntbd
                                    Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array...
                                    +
                                    integer, dimension(:), allocatable ntbb
                                    Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array...
                                    +
                                    integer, dimension(:,:), allocatable idnd
                                    WMO bit-wise representations of the FXY values corresponding to tabd.
                                    +
                                    integer, dimension(:,:), allocatable idnb
                                    WMO bit-wise representations of the FXY values corresponding to tabb.
                                    +
                                    character *128, dimension(:,:), allocatable tabb
                                    Table B entries for each file ID.
                                    +
                                    Declare a variable used to indicate whether master code and flag tables should be read.
                                    +
                                    character cdmf
                                    Flag indicating whether to include code and flag table information during reads of master BUFR tables...
                                    +
                                    Declare arrays and variables used to store the internal jump/link table.
                                    integer, dimension(:), allocatable jseq
                                    Temporary storage used in expanding sequences.
                                    integer, dimension(:), allocatable irf
                                    Reference values corresponding to tag and typ:
                                    integer, dimension(:,:), allocatable iseq
                                    Temporary storage used in expanding sequences.
                                    @@ -533,7 +561,6 @@
                                    integer, dimension(:), allocatable ibt
                                    Bit widths corresponding to tag and typ:
                                    integer, dimension(:), allocatable knt
                                    Temporary storage used in calculating delayed replication counts.
                                    real *8, dimension(:), allocatable vali
                                    Initialized data values corresponding to typ:
                                    -
                                    integer maxtab
                                    Maximum number of entries in the jump/link table; equivalent to MAXJL.
                                    character *3, dimension(:), allocatable typ
                                    Type indicators corresponding to tag:
                                    integer, dimension(:), allocatable jmpb
                                    Jump backward indices corresponding to tag and typ:
                                    character *10, dimension(:), allocatable tag
                                    Mnemonics in the jump/link table.
                                    @@ -542,28 +569,30 @@
                                    integer, dimension(:), allocatable itp
                                    Integer type values corresponding to typ:
                                    integer, dimension(:), allocatable link
                                    Link indices corresponding to tag, typ and jmpb:
                                    integer, dimension(:), allocatable knti
                                    Initialized replication counts corresponding to typ and jump:
                                    -
                                    This module contains an array declaration used to store, for each I/O stream index,...
                                    +
                                    Declare variables used to store tank receipt time information within Section 1 of BUFR messages.
                                    +
                                    integer itrhr
                                    Tank receipt hour.
                                    +
                                    integer itryr
                                    Tank receipt year.
                                    +
                                    integer itrdy
                                    Tank receipt day.
                                    +
                                    character *1 ctrt
                                    Flag indicating whether tank receipt times are to be included within output BUFR messages; this varia...
                                    +
                                    integer itrmi
                                    Tank receipt minute.
                                    +
                                    integer itrmo
                                    Tank receipt month.
                                    +
                                    Declare an array used to store, for each file ID, the logical unit number corresponding to a separate...
                                    integer, dimension(:), allocatable luncpy
                                    Logical unit numbers used to copy long character strings between BUFR data subsets.
                                    -
                                    This module contains an array declaration used to store, for each I/O stream index from which a BUFR ...
                                    +
                                    Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
                                    integer, dimension(:), allocatable msgunp
                                    Flag indicating how to unpack data subsets from BUFR message:
                                    -
                                    This module contains array declarations for internal storage of pointers to BUFR data subset values.
                                    +
                                    Declare arrays for internal storage of pointers to BUFR data subset values.
                                    integer, dimension(:), allocatable nbit
                                    Length (in bits) of each packed data value in data subset.
                                    integer, dimension(:), allocatable mbit
                                    Pointer in data subset to first bit of each packed data value.
                                    -
                                    This module contains declarations for arrays used to store data values and associated metadata for th...
                                    -
                                    integer, dimension(:), allocatable nval
                                    Number of data values in BUFR data subset.
                                    -
                                    real *8, dimension(:,:), allocatable, target val
                                    Data values.
                                    -
                                    integer, dimension(:,:), allocatable, target inv
                                    Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                    -
                                    integer, dimension(:,:), allocatable nrfelm
                                    Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
                                    -
                                    This module contains arrays used in subroutine rcstpl() to store subset segments that are being copie...
                                    -
                                    integer, dimension(:,:), allocatable iutmp
                                    inv array elements for new sections of a growing subset buffer.
                                    -
                                    real *8, dimension(:,:), allocatable vutmp
                                    val array elements for new sections of a growing subset buffer.
                                    -
                                    This module contains an array declaration used to track, for each I/O stream index,...
                                    -
                                    logical, dimension(:), allocatable xtab
                                    Tracking index for each internal I/O stream index.
                                    -
                                    This module declares and initializes the MAXNC variable.
                                    -
                                    integer, parameter, public maxnc
                                    Maximum number of descriptors within Section 3 of a BUFR message.
                                    -
                                    This module declares and initializes the MXCNEM variable.
                                    -
                                    integer, parameter, public mxcnem
                                    Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding ...
                                    -
                                    This module declares and initializes the MXH4WLC variable.
                                    +
                                    Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                    +
                                    integer, dimension(:), allocatable nval
                                    Number of data values in BUFR data subset.
                                    +
                                    real *8, dimension(:,:), allocatable, target val
                                    Data values.
                                    +
                                    integer, dimension(:,:), allocatable, target inv
                                    Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                    +
                                    integer, dimension(:,:), allocatable nrfelm
                                    Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
                                    +
                                    Declare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subs...
                                    +
                                    integer, dimension(:,:), allocatable iutmp
                                    inv array elements for new sections of a growing subset buffer.
                                    +
                                    real *8, dimension(:,:), allocatable vutmp
                                    val array elements for new sections of a growing subset buffer.
                                    +
                                    Declare an array used to track, for each file ID, whether the DX BUFR table associated with the corre...
                                    +
                                    logical, dimension(:), allocatable xtab
                                    Tracking index for each file ID.
                                    diff --git a/modules__vars_8F90.html b/modules__vars_8F90.html index 585a64db2..c1e2fbb7c 100644 --- a/modules__vars_8F90.html +++ b/modules__vars_8F90.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -83,7 +83,6 @@
                                    modules_vars.F90 File Reference
                                    @@ -95,206 +94,146 @@

                                    Go to the source code of this file.

                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                    -Modules

                                    module  modv_bmiss
                                     This module declares and initializes the BMISS variable.
                                     
                                    module  modv_ifopbf
                                     This module declares and initializes the IFOPBF variable.
                                     
                                    module  modv_im8b
                                     This module declares and initializes the IM8B variable.
                                     
                                    module  modv_maxcd
                                     This module declares and initializes the MAXCD variable.
                                     
                                    module  modv_maxjl
                                     This module declares and initializes the MAXJL variable.
                                     
                                    module  modv_maxmem
                                     This module declares and initializes the MAXMEM variable.
                                     
                                    module  modv_maxmsg
                                     This module declares and initializes the MAXMSG variable.
                                     
                                    module  modv_maxnc
                                     This module declares and initializes the MAXNC variable.
                                     
                                    module  modv_maxss
                                     This module declares and initializes the MAXSS variable.
                                     
                                    module  modv_maxtba
                                     This module declares and initializes the MAXTBA variable.
                                     
                                    module  modv_maxtbb
                                     This module declares and initializes the MAXTBB variable.
                                     
                                    module  modv_maxtbd
                                     This module declares and initializes the MAXTBD variable.
                                     
                                    module  modv_mxbtm
                                     This module declares and initializes the MXBTM variable.
                                     
                                    module  modv_mxbtmse
                                     This module declares and initializes the MXBTMSE variable.
                                     
                                    module  modv_mxcdv
                                     This module declares and initializes the MXCDV variable.
                                     
                                    module  modv_mxcnem
                                     This module declares and initializes the MXCNEM variable.
                                     
                                    module  modv_mxcsb
                                     This module declares and initializes the MXCSB variable.
                                     
                                    module  modv_mxdxts
                                     This module declares and initializes the MXDXTS variable.
                                     
                                    module  modv_mxh4wlc
                                     This module declares and initializes the MXH4WLC variable.
                                     
                                    module  modv_mxlcc
                                     This module declares and initializes the MXLCC variable.
                                     
                                    module  modv_mxmsgl
                                     This module declares and initializes the MXMSGL variable.
                                     
                                    module  modv_mxmtbb
                                     This module declares and initializes the MXMTBB variable.
                                     
                                    module  modv_mxmtbd
                                     This module declares and initializes the MXMTBD variable.
                                     
                                    module  modv_mxmtbf
                                     This module declares and initializes the MXMTBF variable.
                                     
                                    module  modv_mxnaf
                                     This module declares and initializes the MXNAF variable.
                                     
                                    module  modv_mxnrv
                                     This module declares and initializes the MXNRV variable.
                                     
                                    module  modv_mxrst
                                     This module declares and initializes the MXRST variable.
                                     
                                    module  modv_mxs
                                     This module declares and initializes the MXS variable.
                                     
                                    module  modv_mxs01v
                                     This module declares and initializes the MXS01V variable.
                                     
                                    module  modv_mxtamc
                                     This module declares and initializes the MXTAMC variable.
                                     
                                    module  modv_mxtco
                                     This module declares and initializes the MXTCO variable.
                                     
                                    module  modv_nfiles
                                     This module declares and initializes the NFILES variable.
                                     
                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                    Variables

                                    real *8, public modv_bmiss::bmiss = 10E10_8
                                     Current placeholder value to represent "missing" data when reading from or writing to BUFR files; this value can be changed at any time via a call to subroutine setbmiss(). More...
                                     
                                    integer, public modv_ifopbf::ifopbf = 0
                                     Status indicator to keep track of whether subroutine openbf() has already been called: More...
                                     
                                    logical, public modv_im8b::im8b = .false.
                                     Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from a Fortran application program will be made using 8-byte integer arguments. More...
                                     
                                    integer, public modv_maxcd::maxcd = 250
                                     Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors. More...
                                     
                                    integer modv_maxjl::maxjl = 96000
                                     Maximum number of entries in the internal jump/link table. More...
                                     
                                    integer modv_maxmem::maxmem = 50000000
                                     Maximum number of bytes that can be used to store BUFR messages within internal memory. More...
                                     
                                    integer modv_maxmsg::maxmsg = 200000
                                     Maximum number of BUFR messages that can be stored within internal memory. More...
                                     
                                    integer, parameter, public modv_maxnc::maxnc = 600
                                     Maximum number of descriptors within Section 3 of a BUFR message. More...
                                     
                                    integer modv_maxss::maxss = 120000
                                     Maximum number of data values that can be read from or written into a data subset by the BUFRLIB software. More...
                                     
                                    integer modv_maxtba::maxtba = 150
                                     Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the BUFRLIB software. More...
                                     
                                    integer modv_maxtbb::maxtbb = 500
                                     Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the BUFRLIB software. More...
                                     
                                    integer modv_maxtbd::maxtbd = 500
                                     Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the BUFRLIB software. More...
                                     
                                    integer modv_mxbtm::mxbtm = 5
                                     Maximum number of bitmaps that can be stored internally for a data subset. More...
                                     
                                    integer modv_mxbtmse::mxbtmse = 500
                                     Maximum number of "set" entries (set to a value of 0) within a bitmap. More...
                                     
                                    integer modv_mxcdv::mxcdv = 3000
                                     Maximum number of data values that can be written into a data subset of a compressed BUFR message by the BUFRLIB software. More...
                                     
                                    integer, parameter, public modv_mxcnem::mxcnem = 450
                                     Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages. More...
                                     
                                    integer modv_mxcsb::mxcsb = 4000
                                     Maximum number of data subsets that can be written into a compressed BUFR message by the BUFRLIB software. More...
                                     
                                    integer modv_mxdxts::mxdxts = 200
                                     Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory. More...
                                     
                                    integer modv_mxh4wlc::mxh4wlc = 10
                                     Maximum number of long character strings that can be held for writing into an uncompressed BUFR subset by future internal calls to subroutine writlc(). More...
                                     
                                    integer modv_mxlcc::mxlcc = 32
                                     Maximum length (in bytes) of a character string that can be written into a data subset of a compressed BUFR message by the BUFRLIB software. More...
                                     
                                    integer modv_mxmsgl::mxmsgl = 600000
                                     Maximum length (in bytes) of a BUFR message that can be read or written by the BUFRLIB software. More...
                                     
                                    integer modv_mxmsgl::mxmsgld4
                                     The value of mxmsgl divided by 4. More...
                                     
                                    integer modv_mxmtbb::mxmtbb = 4000
                                     Maximum number of entries in a master BUFR Table B. More...
                                     
                                    integer modv_mxmtbd::mxmtbd = 1000
                                     Maximum number of entries in a master BUFR Table D. More...
                                     
                                    integer modv_mxmtbf::mxmtbf = 25000
                                     Maximum number of entries in a master BUFR Code/Flag table, counting across all individual Code/Flag tables, and counting each defined code figure (within each individual Code table) or defined bit number (within each individual Flag table) as a separate entry. More...
                                     
                                    integer, parameter, public modv_mxnaf::mxnaf = 4
                                     Maximum number of associated fields that can be in effect at any given time for a Table B descriptor. More...
                                     
                                    integer modv_mxnrv::mxnrv = 15
                                     Maximum number of entries in the internal jump/link table that can contain new reference values. More...
                                     
                                    integer modv_mxrst::mxrst = 50
                                     Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset of a compressed BUFR message. More...
                                     
                                    integer, parameter, public modv_mxs::mxs = 1000
                                     Maximum number of entries in the internal string cache. More...
                                     
                                    integer modv_mxs01v::mxs01v = 10
                                     Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR message by the BUFRLIB software. More...
                                     
                                    integer modv_mxtamc::mxtamc = 15
                                     Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table C operator with an XX value of 21 or greater in their definition. More...
                                     
                                    integer modv_mxtco::mxtco = 30
                                     Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data subset definition of a Table A mnemonic. More...
                                     
                                    integer, public modv_nfiles::nfiles = 32
                                     Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) at any one time. More...
                                     
                                    character *6, dimension(10), parameter modv_vars::adsn = (/'101000','360001','360002','360003','360004', '101255','031002','031001','031001','031000'/)
                                     FXY values corresponding to reps. More...
                                     
                                    real *8 modv_vars::bmiss = 10E10_8
                                     Current placeholder value to represent "missing" data when reading from or writing to BUFR files; this value can be changed at any time via a call to subroutine setbmiss(). More...
                                     
                                    integer modv_vars::iac = 0
                                     Status indicator to keep track of whether future calls to subroutine parusr() should allow an input mnemonic to exist in multiple replication sequences: More...
                                     
                                    integer modv_vars::iblock = 0
                                     Status indicator to keep track of whether all future BUFR output messages should be encapsulated with IEEE Fortran control words: More...
                                     
                                    integer, dimension(10) modv_vars::idnr
                                     WMO bit-wise representations of FXY values corresponding to reps. More...
                                     
                                    integer modv_vars::ifopbf = 0
                                     Status indicator to keep track of whether subroutine openbf() has already been called: More...
                                     
                                    logical modv_vars::im8b = .false.
                                     Status indicator to keep track of whether all future calls to NCEPLIBS-bufr subroutines and functions from a Fortran application program will be made using 8-byte integer arguments. More...
                                     
                                    integer, dimension(nbytw), parameter modv_vars::iordbe = (/1,2,3,4/)
                                     Order of bytes within an integer on a big-endian machine, from most to least significant. More...
                                     
                                    integer, dimension(nbytw), parameter modv_vars::iordle = (/4,3,2,1/)
                                     Order of bytes within an integer on a little-endian machine, from most to least significant. More...
                                     
                                    integer modv_vars::lendat = 8
                                     Length of Section 1 date-time values to be output by all future calls to message-reading subroutines. More...
                                     
                                    integer, dimension(5), parameter modv_vars::lens = (/ 0, 16, 8, 8, 1/)
                                     Lengths of delayed replication factors corresponding to each type of replication in reps. More...
                                     
                                    integer modv_vars::maxcd = 250
                                     Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors. More...
                                     
                                    integer modv_vars::maxjl = 96000
                                     Maximum number of entries in the internal jump/link table. More...
                                     
                                    integer modv_vars::maxmem = 50000000
                                     Maximum number of bytes that can be used to store BUFR messages within internal memory. More...
                                     
                                    integer modv_vars::maxmsg = 200000
                                     Maximum number of BUFR messages that can be stored within internal memory. More...
                                     
                                    integer modv_vars::maxnc = 600
                                     Maximum number of descriptors within Section 3 of a BUFR message. More...
                                     
                                    integer, parameter modv_vars::maxrcr = 100
                                     Maximum number of recursion levels when expanding a subset template. More...
                                     
                                    integer modv_vars::maxss = 120000
                                     Maximum number of data values that can be read from or written into a data subset by the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::maxtba = 150
                                     Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::maxtbb = 500
                                     Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::maxtbd = 500
                                     Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::mxbtm = 5
                                     Maximum number of bitmaps that can be stored internally for a data subset. More...
                                     
                                    integer modv_vars::mxbtmse = 500
                                     Maximum number of "set" entries (set to a value of 0) within a bitmap. More...
                                     
                                    integer modv_vars::mxcdv = 3000
                                     Maximum number of data values that can be written into a data subset of a compressed BUFR message by the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::mxcnem = 450
                                     Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages. More...
                                     
                                    integer modv_vars::mxcsb = 4000
                                     Maximum number of data subsets that can be written into a compressed BUFR message by the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::mxdxts = 200
                                     Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory. More...
                                     
                                    integer modv_vars::mxh4wlc = 10
                                     Maximum number of long character strings that can be held for writing into an uncompressed BUFR subset by future internal calls to subroutine writlc(). More...
                                     
                                    integer modv_vars::mxlcc = 32
                                     Maximum length (in bytes) of a character string that can be written into a data subset of a compressed BUFR message by the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::mxmsgl = 600000
                                     Maximum length (in bytes) of a BUFR message that can be read or written by the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::mxmsgld4
                                     The value of mxmsgl divided by 4. More...
                                     
                                    integer modv_vars::mxmtbb = 4000
                                     Maximum number of entries in a master BUFR Table B. More...
                                     
                                    integer modv_vars::mxmtbd = 1000
                                     Maximum number of entries in a master BUFR Table D. More...
                                     
                                    integer modv_vars::mxmtbf = 25000
                                     Maximum number of entries in a master BUFR Code/Flag table, counting across all individual Code/Flag tables, and counting each defined code figure (within each individual Code table) or defined bit number (within each individual Flag table) as a separate entry. More...
                                     
                                    integer modv_vars::mxnaf = 4
                                     Maximum number of associated fields that can be in effect at any given time for a Table B descriptor. More...
                                     
                                    integer modv_vars::mxnrv = 15
                                     Maximum number of entries in the internal jump/link table that can contain new reference values. More...
                                     
                                    integer modv_vars::mxrst = 50
                                     Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset of a compressed BUFR message. More...
                                     
                                    integer, parameter modv_vars::mxs = 1000
                                     Maximum number of entries in the internal string cache. More...
                                     
                                    integer modv_vars::mxs01v = 10
                                     Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR message by the NCEPLIBS-bufr software. More...
                                     
                                    integer modv_vars::mxtamc = 15
                                     Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table C operator with an XX value of 21 or greater in their definition. More...
                                     
                                    integer modv_vars::mxtco = 30
                                     Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data subset definition of a Table A mnemonic. More...
                                     
                                    integer, parameter modv_vars::nbitw = nbytw * 8
                                     Number of bits within an integer. More...
                                     
                                    integer, parameter modv_vars::nbytw = 4
                                     Number of bytes within an integer. More...
                                     
                                    integer modv_vars::nfiles = 32
                                     Maximum number of BUFR files that can be connected to the NCEPLIBS-bufr software (for reading or writing) at any one time. More...
                                     
                                    character, dimension(10), parameter modv_vars::reps = (/ '"', '(', '{', '[', '<', '"', ')', '}', ']', '>'/)
                                     Replication indicators used in DX BUFR tables. More...
                                     
                                    character *3, dimension(10), parameter modv_vars::typs = (/ 'REP', 'DRP', 'DRP', 'DRS', 'DRB', 'SEQ', 'RPC', 'RPC', 'RPS', 'SEQ'/)
                                     Replication tags corresponding to reps. More...
                                     

                                    Detailed Description

                                    Declare and initialize module variables.

                                    @@ -302,7 +241,878 @@
                                    Date
                                    2023-02-10

                                    Definition in file modules_vars.F90.

                                    -
                                    +

                                    Variable Documentation

                                    + +

                                    ◆ adsn

                                    + +
                                    +
                                    + + + + +
                                    character*6, dimension(10), parameter modv_vars::adsn = (/'101000','360001','360002','360003','360004', '101255','031002','031001','031001','031000'/)
                                    +
                                    + +

                                    FXY values corresponding to reps.

                                    + +

                                    Definition at line 70 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ bmiss

                                    + +
                                    +
                                    + + + + +
                                    real*8 modv_vars::bmiss = 10E10_8
                                    +
                                    + +

                                    Current placeholder value to represent "missing" data when reading from or writing to BUFR files; this value can be changed at any time via a call to subroutine setbmiss().

                                    + +

                                    Definition at line 41 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ iac

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::iac = 0
                                    +
                                    + +

                                    Status indicator to keep track of whether future calls to subroutine parusr() should allow an input mnemonic to exist in multiple replication sequences:

                                    +
                                      +
                                    • 0 = No
                                    • +
                                    • 1 = Yes
                                    • +
                                    + +

                                    Definition at line 52 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ iblock

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::iblock = 0
                                    +
                                    + +

                                    Status indicator to keep track of whether all future BUFR output messages should be encapsulated with IEEE Fortran control words:

                                    +
                                      +
                                    • -1 = Yes, using little-endian control words
                                    • +
                                    • 0 = No
                                    • +
                                    • 1 = Yes, using big-endian control words The default value is 0, but this value can be changed at any time via a call to subroutine setblock().
                                    • +
                                    + +

                                    Definition at line 36 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ idnr

                                    + +
                                    +
                                    + + + + +
                                    integer, dimension(10) modv_vars::idnr
                                    +
                                    + +

                                    WMO bit-wise representations of FXY values corresponding to reps.

                                    + +

                                    Definition at line 74 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ ifopbf

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::ifopbf = 0
                                    +
                                    + +

                                    Status indicator to keep track of whether subroutine openbf() has already been called:

                                    +
                                      +
                                    • 0 = No
                                    • +
                                    • 1 = Yes
                                    • +
                                    + +

                                    Definition at line 46 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ im8b

                                    + +
                                    +
                                    + + + + +
                                    logical modv_vars::im8b = .false.
                                    +
                                    + +

                                    Status indicator to keep track of whether all future calls to NCEPLIBS-bufr subroutines and functions from a Fortran application program will be made using 8-byte integer arguments.

                                    +

                                    The default value is .false., meaning that all future calls to NCEPLIBS-bufr subroutines and functions will be made using 4-byte integer arguments. This value can be changed at any time via a call to subroutine setim8b().

                                    + +

                                    Definition at line 27 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ iordbe

                                    + +
                                    +
                                    + + + + +
                                    integer, dimension(nbytw), parameter modv_vars::iordbe = (/1,2,3,4/)
                                    +
                                    + +

                                    Order of bytes within an integer on a big-endian machine, from most to least significant.

                                    + +

                                    Definition at line 12 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ iordle

                                    + +
                                    +
                                    + + + + +
                                    integer, dimension(nbytw), parameter modv_vars::iordle = (/4,3,2,1/)
                                    +
                                    + +

                                    Order of bytes within an integer on a little-endian machine, from most to least significant.

                                    + +

                                    Definition at line 15 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ lendat

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::lendat = 8
                                    +
                                    + +

                                    Length of Section 1 date-time values to be output by all future calls to message-reading subroutines.

                                    +

                                    The default value is 8, meaning that future date-time values will be output in YYMMDDHH (2-digit year) format. However, this value can be changed to 10 via a call to subroutine datelen(), and in which case future date-time values will be output in YYYYMMDDHH (4-digit year) format.

                                    + +

                                    Definition at line 59 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ lens

                                    + +
                                    +
                                    + + + + +
                                    integer, dimension(5), parameter modv_vars::lens = (/ 0, 16, 8, 8, 1/)
                                    +
                                    + +

                                    Lengths of delayed replication factors corresponding to each type of replication in reps.

                                    + +

                                    Definition at line 77 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxcd

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxcd = 250
                                    +
                                    + +

                                    Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 86 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxjl

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxjl = 96000
                                    +
                                    + +

                                    Maximum number of entries in the internal jump/link table.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 92 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxmem

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxmem = 50000000
                                    +
                                    + +

                                    Maximum number of bytes that can be used to store BUFR messages within internal memory.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 99 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxmsg

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxmsg = 200000
                                    +
                                    + +

                                    Maximum number of BUFR messages that can be stored within internal memory.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 106 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxnc

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxnc = 600
                                    +
                                    + +

                                    Maximum number of descriptors within Section 3 of a BUFR message.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 112 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxrcr

                                    + +
                                    +
                                    + + + + +
                                    integer, parameter modv_vars::maxrcr = 100
                                    +
                                    + +

                                    Maximum number of recursion levels when expanding a subset template.

                                    + +

                                    Definition at line 259 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxss

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxss = 120000
                                    +
                                    + +

                                    Maximum number of data values that can be read from or written into a data subset by the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 119 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxtba

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxtba = 150
                                    +
                                    + +

                                    Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 126 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxtbb

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxtbb = 500
                                    +
                                    + +

                                    Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 133 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ maxtbd

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::maxtbd = 500
                                    +
                                    + +

                                    Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 140 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxbtm

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxbtm = 5
                                    +
                                    + +

                                    Maximum number of bitmaps that can be stored internally for a data subset.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 146 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxbtmse

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxbtmse = 500
                                    +
                                    + +

                                    Maximum number of "set" entries (set to a value of 0) within a bitmap.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 152 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxcdv

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxcdv = 3000
                                    +
                                    + +

                                    Maximum number of data values that can be written into a data subset of a compressed BUFR message by the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 159 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxcnem

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxcnem = 450
                                    +
                                    + +

                                    Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 166 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxcsb

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxcsb = 4000
                                    +
                                    + +

                                    Maximum number of data subsets that can be written into a compressed BUFR message by the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 173 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxdxts

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxdxts = 200
                                    +
                                    + +

                                    Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 180 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxh4wlc

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxh4wlc = 10
                                    +
                                    + +

                                    Maximum number of long character strings that can be held for writing into an uncompressed BUFR subset by future internal calls to subroutine writlc().

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 188 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxlcc

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxlcc = 32
                                    +
                                    + +

                                    Maximum length (in bytes) of a character string that can be written into a data subset of a compressed BUFR message by the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 196 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxmsgl

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxmsgl = 600000
                                    +
                                    + +

                                    Maximum length (in bytes) of a BUFR message that can be read or written by the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 203 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxmsgld4

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxmsgld4
                                    +
                                    + +

                                    The value of mxmsgl divided by 4.

                                    + +

                                    Definition at line 206 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxmtbb

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxmtbb = 4000
                                    +
                                    + +

                                    Maximum number of entries in a master BUFR Table B.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 212 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxmtbd

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxmtbd = 1000
                                    +
                                    + +

                                    Maximum number of entries in a master BUFR Table D.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 218 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxmtbf

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxmtbf = 25000
                                    +
                                    + +

                                    Maximum number of entries in a master BUFR Code/Flag table, counting across all individual Code/Flag tables, and counting each defined code figure (within each individual Code table) or defined bit number (within each individual Flag table) as a separate entry.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 227 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxnaf

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxnaf = 4
                                    +
                                    + +

                                    Maximum number of associated fields that can be in effect at any given time for a Table B descriptor.

                                    + +

                                    Definition at line 231 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxnrv

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxnrv = 15
                                    +
                                    + +

                                    Maximum number of entries in the internal jump/link table that can contain new reference values.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 238 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxrst

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxrst = 50
                                    +
                                    + +

                                    Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset of a compressed BUFR message.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 245 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxs

                                    + +
                                    +
                                    + + + + +
                                    integer, parameter modv_vars::mxs = 1000
                                    +
                                    + +

                                    Maximum number of entries in the internal string cache.

                                    + +

                                    Definition at line 256 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxs01v

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxs01v = 10
                                    +
                                    + +

                                    Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR message by the NCEPLIBS-bufr software.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 253 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxtamc

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxtamc = 15
                                    +
                                    + +

                                    Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table C operator with an XX value of 21 or greater in their definition.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 267 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ mxtco

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::mxtco = 30
                                    +
                                    + +

                                    Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data subset definition of a Table A mnemonic.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 275 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ nbitw

                                    + +
                                    +
                                    + + + + +
                                    integer, parameter modv_vars::nbitw = nbytw * 8
                                    +
                                    + +

                                    Number of bits within an integer.

                                    + +

                                    Definition at line 18 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ nbytw

                                    + +
                                    +
                                    + + + + +
                                    integer, parameter modv_vars::nbytw = 4
                                    +
                                    + +

                                    Number of bytes within an integer.

                                    + +

                                    Definition at line 9 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ nfiles

                                    + +
                                    +
                                    + + + + +
                                    integer modv_vars::nfiles = 32
                                    +
                                    + +

                                    Maximum number of BUFR files that can be connected to the NCEPLIBS-bufr software (for reading or writing) at any one time.

                                    +

                                    This variable is initialized to a default value which can be overridden by a subsequent call to function isetprm() within the application program.

                                    + +

                                    Definition at line 282 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ reps

                                    + +
                                    +
                                    + + + + +
                                    character, dimension(10), parameter modv_vars::reps = (/ '"', '(', '{', '[', '<', '"', ')', '}', ']', '>'/)
                                    +
                                    + +

                                    Replication indicators used in DX BUFR tables.

                                    + +

                                    Definition at line 62 of file modules_vars.F90.

                                    + +
                                    +
                                    + +

                                    ◆ typs

                                    + +
                                    +
                                    + + + + +
                                    character*3, dimension(10), parameter modv_vars::typs = (/ 'REP', 'DRP', 'DRP', 'DRS', 'DRB', 'SEQ', 'RPC', 'RPC', 'RPS', 'SEQ'/)
                                    +
                                    + +

                                    Replication tags corresponding to reps.

                                    + +

                                    Definition at line 66 of file modules_vars.F90.

                                    + +
                                    +
                                    + diff --git a/mstabs_8h.html b/mstabs_8h.html index 8c9f61b00..80bf2977c 100644 --- a/mstabs_8h.html +++ b/mstabs_8h.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -96,59 +96,62 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                    Variables

                                    char(* cbbw_c )[4]
                                     Master Table B bit widths; copied from Fortran cbbw array. More...
                                     
                                    char(* cbelem_c )[120]
                                     Master Table B element names; copied from Fortran cbelem array. More...
                                     
                                    char(* cbmnem_c )[8]
                                     Master Table B mnemonics; copied from Fortran cbmnem array. More...
                                     
                                    char(* cbscl_c )[4]
                                     Master Table B scale factors; copied from Fortran cbscl array. More...
                                     
                                    char(* cbsref_c )[12]
                                     Master Table B reference value; copied from Fortran cbsref array. More...
                                     
                                    char(* cbunit_c )[24]
                                     Master Table B units; copied from Fortran cbunit array. More...
                                     
                                    char(* cdmnem_c )[8]
                                     Master Table D mnemonics; copied from Fortran cdmnem array. More...
                                     
                                    char(* cdseq_c )[120]
                                     Master Table D sequence names; copied from Fortran cdseq array. More...
                                     
                                    int * ibfxyn_c
                                     Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array. More...
                                     
                                    int * idefxy_c
                                     Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy array. More...
                                     
                                    int * idfxyn_c
                                     Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array. More...
                                     
                                    int * ndelem_c
                                     Number of child descriptors for master Table D sequence; copied from Fortran ndelem array. More...
                                     
                                    int nmtb_c
                                     Number of master Table B entries; copied from Fortran nmtb variable. More...
                                     
                                    int nmtd_c
                                     Number of master Table D entries; copied from Fortran nmtd variable. More...
                                     
                                    char(* cbbw_c )[4]
                                     Master Table B bit widths; copied from Fortran cbbw array. More...
                                     
                                    char(* cbelem_c )[120]
                                     Master Table B element names; copied from Fortran cbelem array. More...
                                     
                                    char(* cbmnem_c )[8]
                                     Master Table B mnemonics; copied from Fortran cbmnem array. More...
                                     
                                    char(* cbscl_c )[4]
                                     Master Table B scale factors; copied from Fortran cbscl array. More...
                                     
                                    char(* cbsref_c )[12]
                                     Master Table B reference values; copied from Fortran cbsref array. More...
                                     
                                    char(* cbunit_c )[24]
                                     Master Table B units; copied from Fortran cbunit array. More...
                                     
                                    char(* cdmnem_c )[8]
                                     Master Table D mnemonics; copied from Fortran cdmnem array. More...
                                     
                                    char(* cdseq_c )[120]
                                     Master Table D sequence names; copied from Fortran cdseq array. More...
                                     
                                    int * iafpk
                                     WMO bit-wise representations of associated fields within master Table D sequences. More...
                                     
                                    int * ibfxyn_c
                                     WMO bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array. More...
                                     
                                    int * idefxy_c
                                     WMO bit-wise representations of child descriptors for master Table D sequences; copied from Fortran idefxy array. More...
                                     
                                    int * idfxyn_c
                                     WMO bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array. More...
                                     
                                    int * ndelem_c
                                     Number of child descriptors for master Table D sequences; copied from Fortran ndelem array. More...
                                     
                                    int nmtb_c
                                     Number of master Table B entries; copied from Fortran nmtb variable. More...
                                     
                                    int nmtd_c
                                     Number of master Table D entries; copied from Fortran nmtd variable. More...
                                     

                                    Detailed Description

                                    Declare variables for internal storage of master Table B and Table D entries.

                                    -

                                    Since the arrays in Fortran module MODA_MSTABS are dynamically allocated and their size isn't known at compile time, then we can't directly access them from within C. Instead, we need to allocate separate array space in C and then use subroutine cpmstabs() to copy the relevant information from the Fortran module MODA_MSTABS arrays to these C arrays at run time, in order to be able to access this information from within C.

                                    +

                                    Since the arrays in Fortran module moda_mstabs are dynamically allocated and their size isn't known at compile time, then we can't directly access them from within C. Instead, we need to allocate separate array space in C and then use subroutine cpmstabs() to copy the relevant information from the module arrays to these C arrays at run time, in order to be able to access this information from within C.

                                    Author
                                    J. Ator
                                    Date
                                    2014-12-04

                                    Definition in file mstabs.h.

                                    Variable Documentation

                                    - -

                                    ◆ cbbw_c

                                    + +

                                    ◆ cbbw_c

                                    - -

                                    ◆ cbelem_c

                                    + +

                                    ◆ cbelem_c

                                    - -

                                    ◆ cbmnem_c

                                    + +

                                    ◆ cbmnem_c

                                    - -

                                    ◆ cbscl_c

                                    + +

                                    ◆ cbscl_c

                                    - -

                                    ◆ cbsref_c

                                    + +

                                    ◆ cbsref_c

                                    - -

                                    ◆ cbunit_c

                                    + +

                                    ◆ cbunit_c

                                    - -

                                    ◆ cdmnem_c

                                    + +

                                    ◆ cdmnem_c

                                    - -

                                    ◆ cdseq_c

                                    + +

                                    ◆ cdseq_c

                                    - -

                                    ◆ ibfxyn_c

                                    + +

                                    ◆ iafpk

                                    - -

                                    ◆ idefxy_c

                                    + +

                                    ◆ ibfxyn_c

                                    - -

                                    ◆ idfxyn_c

                                    + +

                                    ◆ idefxy_c

                                    - -

                                    ◆ ndelem_c

                                    + +

                                    ◆ idfxyn_c

                                    - -

                                    ◆ nmtb_c

                                    + +

                                    ◆ ndelem_c

                                    + +

                                    ◆ nmtb_c

                                    + +
                                    +
                                    + + + @@ -485,8 +514,8 @@

                                    -

                                    ◆ nmtd_c

                                    + +

                                    ◆ nmtd_c

                                    @@ -495,7 +524,7 @@

                                    + + +
                                    nmtb_c
                                    - +
                                    int nmtd_cnmtd_c
                                    diff --git a/mstabs_8h.js b/mstabs_8h.js index 5c88932c2..eb82011e5 100644 --- a/mstabs_8h.js +++ b/mstabs_8h.js @@ -1,17 +1,18 @@ var mstabs_8h = [ - [ "cbbw_c", "mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0", null ], - [ "cbelem_c", "mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d", null ], - [ "cbmnem_c", "mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b", null ], - [ "cbscl_c", "mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47", null ], - [ "cbsref_c", "mstabs_8h.html#a944736d6f549e144e77482a27d57d54f", null ], - [ "cbunit_c", "mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc", null ], - [ "cdmnem_c", "mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51", null ], - [ "cdseq_c", "mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2", null ], - [ "ibfxyn_c", "mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad", null ], - [ "idefxy_c", "mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0", null ], - [ "idfxyn_c", "mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab", null ], - [ "ndelem_c", "mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26", null ], - [ "nmtb_c", "mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0", null ], - [ "nmtd_c", "mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff", null ] + [ "cbbw_c", "mstabs_8h.html#aa0f8eb7c3a1ca9a66a0933d97a3422ab", null ], + [ "cbelem_c", "mstabs_8h.html#a19c8207a7b2c18f50438f51f066bad7b", null ], + [ "cbmnem_c", "mstabs_8h.html#a7c0149a5419b96753491953e92ce35b0", null ], + [ "cbscl_c", "mstabs_8h.html#a49e37dddeae6e1e71da2444d40c6d232", null ], + [ "cbsref_c", "mstabs_8h.html#a1209038da13334a450146c0caa5ae9ad", null ], + [ "cbunit_c", "mstabs_8h.html#a558051c0c39c5c6181019fb4231797d1", null ], + [ "cdmnem_c", "mstabs_8h.html#a309b9730283bc44b297b44f4e32db7f1", null ], + [ "cdseq_c", "mstabs_8h.html#a3e8f3bcd901b3809309c431d2825d636", null ], + [ "iafpk", "mstabs_8h.html#aaa7c3e504e98938c63caeb866c071c59", null ], + [ "ibfxyn_c", "mstabs_8h.html#acdfc509abed04b3bc643a4171c419fa4", null ], + [ "idefxy_c", "mstabs_8h.html#a006ec50bbb9f20fad017eb980cc7afa0", null ], + [ "idfxyn_c", "mstabs_8h.html#a2798d24f3443eeee2999eddf34d24c19", null ], + [ "ndelem_c", "mstabs_8h.html#ad9af08676809848df12a73ece2a37182", null ], + [ "nmtb_c", "mstabs_8h.html#ad93c9a8906bf4b63fba3143c8d9d5da5", null ], + [ "nmtd_c", "mstabs_8h.html#aaa17913e195f9e3cf457d748d2c8f60e", null ] ]; \ No newline at end of file diff --git a/mstabs_8h_source.html b/mstabs_8h_source.html index cd5f21924..99b10812f 100644 --- a/mstabs_8h_source.html +++ b/mstabs_8h_source.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -87,51 +87,54 @@
                                    Go to the documentation of this file.
                                    1 
                                    -
                                    15 #ifdef IN_ARALLOCC
                                    -
                                    17  int nmtb_c;
                                    -
                                    19  int *ibfxyn_c;
                                    -
                                    21  char (*cbscl_c)[4];
                                    -
                                    23  char (*cbsref_c)[12];
                                    -
                                    25  char (*cbbw_c)[4];
                                    -
                                    27  char (*cbunit_c)[24];
                                    -
                                    29  char (*cbmnem_c)[8];
                                    -
                                    31  char (*cbelem_c)[120];
                                    -
                                    33  int nmtd_c;
                                    -
                                    35  int *idfxyn_c;
                                    -
                                    37  char (*cdseq_c)[120];
                                    -
                                    39  char (*cdmnem_c)[8];
                                    -
                                    41  int *ndelem_c;
                                    -
                                    43  int *idefxy_c;
                                    -
                                    44 #else
                                    -
                                    46  extern int nmtb_c;
                                    -
                                    48  extern int *ibfxyn_c;
                                    -
                                    50  extern char (*cbscl_c)[4];
                                    -
                                    52  extern char (*cbsref_c)[12];
                                    -
                                    54  extern char (*cbbw_c)[4];
                                    -
                                    56  extern char (*cbunit_c)[24];
                                    -
                                    58  extern char (*cbmnem_c)[8];
                                    -
                                    60  extern char (*cbelem_c)[120];
                                    -
                                    62  extern int nmtd_c;
                                    -
                                    64  extern int *idfxyn_c;
                                    -
                                    66  extern char (*cdseq_c)[120];
                                    -
                                    68  extern char (*cdmnem_c)[8];
                                    -
                                    70  extern int *ndelem_c;
                                    -
                                    72  extern int *idefxy_c;
                                    -
                                    73 #endif
                                    -
                                    char(* cbunit_c)[24]
                                    Master Table B units; copied from Fortran cbunit array.
                                    -
                                    int * idfxyn_c
                                    Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                    -
                                    char(* cdmnem_c)[8]
                                    Master Table D mnemonics; copied from Fortran cdmnem array.
                                    -
                                    char(* cbelem_c)[120]
                                    Master Table B element names; copied from Fortran cbelem array.
                                    -
                                    int * ndelem_c
                                    Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
                                    -
                                    int nmtd_c
                                    Number of master Table D entries; copied from Fortran nmtd variable.
                                    -
                                    int * idefxy_c
                                    Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
                                    -
                                    char(* cbbw_c)[4]
                                    Master Table B bit widths; copied from Fortran cbbw array.
                                    -
                                    char(* cbsref_c)[12]
                                    Master Table B reference value; copied from Fortran cbsref array.
                                    -
                                    char(* cdseq_c)[120]
                                    Master Table D sequence names; copied from Fortran cdseq array.
                                    -
                                    int * ibfxyn_c
                                    Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                    -
                                    int nmtb_c
                                    Number of master Table B entries; copied from Fortran nmtb variable.
                                    -
                                    char(* cbscl_c)[4]
                                    Master Table B scale factors; copied from Fortran cbscl array.
                                    -
                                    char(* cbmnem_c)[8]
                                    Master Table B mnemonics; copied from Fortran cbmnem array.
                                    +
                                    60 #ifdef IN_ARALLOCC
                                    +
                                    61  int nmtb_c;
                                    +
                                    62  int *ibfxyn_c;
                                    +
                                    63  char (*cbscl_c)[4];
                                    +
                                    64  char (*cbsref_c)[12];
                                    +
                                    65  char (*cbbw_c)[4];
                                    +
                                    66  char (*cbunit_c)[24];
                                    +
                                    67  char (*cbmnem_c)[8];
                                    +
                                    68  char (*cbelem_c)[120];
                                    +
                                    69  int nmtd_c;
                                    +
                                    70  int *idfxyn_c;
                                    +
                                    71  char (*cdseq_c)[120];
                                    +
                                    72  char (*cdmnem_c)[8];
                                    +
                                    73  int *ndelem_c;
                                    +
                                    74  int *idefxy_c;
                                    +
                                    75  int *iafpk;
                                    +
                                    76 #else
                                    +
                                    77  extern int nmtb_c;
                                    +
                                    78  extern int *ibfxyn_c;
                                    +
                                    79  extern char (*cbscl_c)[4];
                                    +
                                    80  extern char (*cbsref_c)[12];
                                    +
                                    81  extern char (*cbbw_c)[4];
                                    +
                                    82  extern char (*cbunit_c)[24];
                                    +
                                    83  extern char (*cbmnem_c)[8];
                                    +
                                    84  extern char (*cbelem_c)[120];
                                    +
                                    85  extern int nmtd_c;
                                    +
                                    86  extern int *idfxyn_c;
                                    +
                                    87  extern char (*cdseq_c)[120];
                                    +
                                    88  extern char (*cdmnem_c)[8];
                                    +
                                    89  extern int *ndelem_c;
                                    +
                                    90  extern int *idefxy_c;
                                    +
                                    91  extern int *iafpk;
                                    +
                                    92 #endif
                                    +
                                    int * idefxy_c
                                    WMO bit-wise representations of child descriptors for master Table D sequences; copied from Fortran i...
                                    +
                                    char(* cbsref_c)[12]
                                    Master Table B reference values; copied from Fortran cbsref array.
                                    +
                                    char(* cbelem_c)[120]
                                    Master Table B element names; copied from Fortran cbelem array.
                                    +
                                    int * idfxyn_c
                                    WMO bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                    +
                                    char(* cdmnem_c)[8]
                                    Master Table D mnemonics; copied from Fortran cdmnem array.
                                    +
                                    char(* cdseq_c)[120]
                                    Master Table D sequence names; copied from Fortran cdseq array.
                                    +
                                    char(* cbscl_c)[4]
                                    Master Table B scale factors; copied from Fortran cbscl array.
                                    +
                                    char(* cbunit_c)[24]
                                    Master Table B units; copied from Fortran cbunit array.
                                    +
                                    char(* cbmnem_c)[8]
                                    Master Table B mnemonics; copied from Fortran cbmnem array.
                                    +
                                    char(* cbbw_c)[4]
                                    Master Table B bit widths; copied from Fortran cbbw array.
                                    +
                                    int nmtd_c
                                    Number of master Table D entries; copied from Fortran nmtd variable.
                                    +
                                    int * iafpk
                                    WMO bit-wise representations of associated fields within master Table D sequences.
                                    +
                                    int * ibfxyn_c
                                    WMO bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                    +
                                    int nmtb_c
                                    Number of master Table B entries; copied from Fortran nmtb variable.
                                    +
                                    int * ndelem_c
                                    Number of child descriptors for master Table D sequences; copied from Fortran ndelem array.
                                    diff --git a/namespacebufr__c2f__interface.html b/namespacebufr__c2f__interface.html index 27bb90112..7f4332f8c 100644 --- a/namespacebufr__c2f__interface.html +++ b/namespacebufr__c2f__interface.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -110,7 +110,7 @@  Close a Fortran file from a C program. More...
                                      subroutine, public delete_table_data_c () - Deletes the copies of the moda_tables arrays. More...
                                    + Deletes the copies of the moda_tables arrays. More...
                                      subroutine, public elemdx_c (card, lun)  Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition. More...
                                    @@ -122,34 +122,34 @@  Get the bufr node idx for the start node of the subset. More...
                                      subroutine, public get_inv_c (lun, inv_ptr, inv_size) - Get pointer to the moda_usrint INV array. More...
                                    + Get pointer to the moda_usrint INV array. More...
                                      subroutine, public get_irf_c (irf_ptr, irf_size) - Get copy of the moda_tables IRF array. More...
                                    + Get copy of the moda_tables IRF array. More...
                                      subroutine, public get_isc_c (isc_ptr, isc_size) - Get copy of the moda_tables ISC array. More...
                                    + Get copy of the moda_tables ISC array. More...
                                      subroutine, public get_itp_c (itp_ptr, itp_size) - Get copy of the moda_tables ITP array. More...
                                    + Get copy of the moda_tables ITP array. More...
                                      subroutine, public get_jmpb_c (jmpb_ptr, jmpb_size) - Get copy of the moda_tables JMPB array. More...
                                    + Get copy of the moda_tables JMPB array. More...
                                      subroutine, public get_link_c (link_ptr, link_size) - Get copy of the moda_tables LINK array. More...
                                    + Get copy of the moda_tables LINK array. More...
                                      subroutine, public get_nval_c (lun, num_nodes)  Get the number of values in the current subset. More...
                                      subroutine, public get_tag_c (tag_ptr, tag_len, mem_size) - Get copy of the moda_tables TAG array. More...
                                    + Get copy of the moda_tables TAG array. More...
                                      subroutine, public get_typ_c (typ_ptr, typ_len, mem_size) - Get copy of the moda_tables TYP array. More...
                                    + Get copy of the moda_tables TYP array. More...
                                      subroutine, public get_val_c (lun, val_ptr, val_size) - Get pointer to the moda_usrint VAL array. More...
                                    + Get pointer to the moda_usrint VAL array. More...
                                      integer(c_int) function, public ibfms_c (r8val)  Test whether a data value is "missing". More...
                                    @@ -187,9 +187,6 @@ integer(c_int) function, public istdesc_c (idn)  Check whether a descriptor is WMO-standard. More...
                                      -integer(c_int) function, public iupb_c (mbay, nbyt, nbit) - Decode an integer value from an integer array. More...
                                    -  integer(c_int) function, public iupbs01_c (bufr, mnemonic)  Read a data value from Section 0 or Section 1 of a BUFR message. More...
                                      @@ -250,9 +247,6 @@ subroutine, public uptdd_c (id, lun, ient, iret)  Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
                                      -subroutine, public wrdlen_c () - Determine important information about the local machine. More...

                                    Detailed Description

                                    Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C.

                                    @@ -277,7 +271,7 @@

                                    Log one error message and abort application program.

                                    -

                                    Wraps bort() subroutine.

                                    +

                                    Wraps bort() subroutine.

                                    Parameters
                                    @@ -289,7 +283,7 @@

                                    Definition at line 1039 of file bufr_c2f_interface.F90.

                                    -

                                    References bort().

                                    +

                                    References bort().

                                    @@ -320,7 +314,7 @@

                                    Get the version number of the NCEPLIBS-bufr software.

                                    -

                                    Wraps bvers() subroutine.

                                    +

                                    Wraps bvers() subroutine.

                                    Parameters

                                    errstr- Error message.
                                    @@ -333,7 +327,7 @@

                                    Definition at line 1070 of file bufr_c2f_interface.F90.

                                    -

                                    References bvers().

                                    +

                                    References bvers(), and cmpmsg().

                                    @@ -370,7 +364,7 @@

                                    Convert an FXY value from its WMO bit-wise representation to its six-character representation.

                                    -

                                    Wraps cadn30() function.

                                    +

                                    Wraps cadn30() function.

                                    Parameters

                                    cverstr- Version string.
                                    @@ -384,7 +378,7 @@

                                    Definition at line 725 of file bufr_c2f_interface.F90.

                                    -

                                    References cadn30().

                                    +

                                    References cadn30().

                                    @@ -405,7 +399,7 @@

                                    Close a previously opened file and disconnect it from the library.

                                    -

                                    Wraps closbf() subroutine.

                                    +

                                    Wraps closbf() subroutine.

                                    Parameters

                                    idn- WMO bit-wise representation of FXY value.
                                    @@ -417,7 +411,7 @@

                                    Definition at line 137 of file bufr_c2f_interface.F90.

                                    -

                                    References closbf().

                                    +

                                    References closbf().

                                    @@ -463,7 +457,7 @@

                                    -

                                    Deletes the copies of the moda_tables arrays.

                                    +

                                    Deletes the copies of the moda_tables arrays.

                                    Author
                                    Ronald McLaren
                                    Date
                                    2022-03-23
                                    @@ -498,7 +492,7 @@

                                    Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.

                                    -

                                    Wraps elemdx() subroutine.

                                    +

                                    Wraps elemdx() subroutine.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to close
                                    @@ -511,7 +505,7 @@

                                    Definition at line 765 of file bufr_c2f_interface.F90.

                                    -

                                    References elemdx().

                                    +

                                    References elemdx().

                                    @@ -528,13 +522,13 @@

                                    Reset the library.

                                    -

                                    Wraps exitbufr() subroutine.

                                    +

                                    Wraps exitbufr() subroutine.

                                    Author
                                    Ronald McLaren
                                    Date
                                    2020-07-29

                                    Definition at line 148 of file bufr_c2f_interface.F90.

                                    -

                                    References exitbufr().

                                    +

                                    References exitbufr().

                                    @@ -613,7 +607,7 @@

                                    -

                                    Get pointer to the moda_usrint INV array.

                                    +

                                    Get pointer to the moda_usrint INV array.

                                    Parameters

                                    card- Mnemonic definition card.
                                    @@ -657,7 +651,7 @@

                                    -

                                    Get copy of the moda_tables IRF array.

                                    +

                                    Get copy of the moda_tables IRF array.

                                    Parameters

                                    lun- File ID.
                                    @@ -700,7 +694,7 @@

                                    -

                                    Get copy of the moda_tables ISC array.

                                    +

                                    Get copy of the moda_tables ISC array.

                                    Parameters

                                    irf_ptr- C-style pointer to the IRF array
                                    @@ -743,7 +737,7 @@

                                    -

                                    Get copy of the moda_tables ITP array.

                                    +

                                    Get copy of the moda_tables ITP array.

                                    Parameters

                                    isc_ptr- C-style pointer to the ISC array
                                    @@ -786,7 +780,7 @@

                                    -

                                    Get copy of the moda_tables JMPB array.

                                    +

                                    Get copy of the moda_tables JMPB array.

                                    Parameters

                                    itp_ptr- C-style pointer to the ITP array
                                    @@ -829,7 +823,7 @@

                                    -

                                    Get copy of the moda_tables LINK array.

                                    +

                                    Get copy of the moda_tables LINK array.

                                    Parameters

                                    jmpb_ptr- C-style pointer to the JMPB array
                                    @@ -921,7 +915,7 @@

                                    -

                                    Get copy of the moda_tables TAG array.

                                    +

                                    Get copy of the moda_tables TAG array.

                                    Parameters

                                    link_ptr- C-style pointer to the LINK array
                                    @@ -971,7 +965,7 @@

                                    -

                                    Get copy of the moda_tables TYP array.

                                    +

                                    Get copy of the moda_tables TYP array.

                                    Parameters

                                    tag_ptr- C-style pointer to the TAG array
                                    @@ -1021,7 +1015,7 @@

                                    -

                                    Get pointer to the moda_usrint VAL array.

                                    +

                                    Get pointer to the moda_usrint VAL array.

                                    Parameters

                                    typ_ptr- C-style pointer to the TYP array
                                    @@ -1056,7 +1050,7 @@

                                    Test whether a data value is "missing".

                                    -

                                    Wraps ibfms() function.

                                    +

                                    Wraps ibfms() function.

                                    Parameters

                                    lun- File ID.
                                    @@ -1069,7 +1063,7 @@

                                    Definition at line 940 of file bufr_c2f_interface.F90.

                                    -

                                    References ibfms().

                                    +

                                    References ibfms().

                                    @@ -1090,7 +1084,7 @@

                                    Convert an FXY value from its 6 character representation to its WMO bit-wise representation.

                                    -

                                    Wraps ifxy() function.

                                    +

                                    Wraps ifxy() function.

                                    Parameters

                                    r8val- Data value.
                                    @@ -1103,7 +1097,7 @@

                                    Definition at line 813 of file bufr_c2f_interface.F90.

                                    -

                                    References ifxy().

                                    +

                                    References ifxy().

                                    @@ -1120,14 +1114,14 @@

                                    Get the maximum length of a BUFR message that can be written to an output file.

                                    -

                                    Wraps igetmxby() function.

                                    +

                                    Wraps igetmxby() function.

                                    Returns
                                    igetmxby_c - Maximum length of a BUFR message that can be written to an output file.
                                    Author
                                    J. Ator
                                    Date
                                    2023-04-07

                                    Definition at line 708 of file bufr_c2f_interface.F90.

                                    -

                                    References igetmxby().

                                    +

                                    References igetmxby().

                                    @@ -1158,7 +1152,7 @@

                                    Get the next index for storing an entry within an internal DX BUFR table.

                                    -

                                    Wraps igetntbi() subroutine.

                                    +

                                    Wraps igetntbi() subroutine.

                                    Parameters

                                    cfxy- FXY value.
                                    @@ -1172,7 +1166,7 @@

                                    Definition at line 744 of file bufr_c2f_interface.F90.

                                    -

                                    References igetntbi().

                                    +

                                    References igetntbi().

                                    @@ -1193,7 +1187,7 @@

                                    Get the current value of a parameter.

                                    -

                                    Wraps igetprm() function.

                                    +

                                    Wraps igetprm() function.

                                    Parameters

                                    lun- File ID.
                                    @@ -1206,7 +1200,7 @@

                                    Definition at line 658 of file bufr_c2f_interface.F90.

                                    -

                                    References igetprm().

                                    +

                                    References igetprm().

                                    @@ -1227,7 +1221,7 @@

                                    Get the next usable Table D index for the current master table, or reset the index.

                                    -

                                    Wraps igettdi() function.

                                    +

                                    Wraps igettdi() function.

                                    Parameters

                                    cprmnm- Parameter.
                                    @@ -1240,7 +1234,7 @@

                                    Definition at line 1005 of file bufr_c2f_interface.F90.

                                    -

                                    References igettdi().

                                    +

                                    References igettdi().

                                    @@ -1261,7 +1255,7 @@

                                    Check whether a specified mnemonic is a Table C marker operator.

                                    -

                                    Wraps imrkopr() function.

                                    +

                                    Wraps imrkopr() function.

                                    Parameters

                                    iflag- if 0, will reset the index.
                                    @@ -1274,7 +1268,7 @@

                                    Definition at line 853 of file bufr_c2f_interface.F90.

                                    -

                                    References imrkopr().

                                    +

                                    References imrkopr().

                                    @@ -1317,7 +1311,7 @@

                                    Read the next message from a BUFR file.

                                    -

                                    Wraps ireadmg() function.

                                    +

                                    Wraps ireadmg() function.

                                    Parameters

                                    nemo- Mnemonic.
                                    @@ -1337,7 +1331,7 @@

                                    Definition at line 166 of file bufr_c2f_interface.F90.

                                    -

                                    References ireadmg().

                                    +

                                    References ireadmg().

                                    @@ -1380,7 +1374,7 @@

                                    Read the next data subset from a BUFR file.

                                    -

                                    Wraps ireadns() function.

                                    +

                                    Wraps ireadns() function.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to read from
                                    @@ -1400,7 +1394,7 @@

                                    Definition at line 915 of file bufr_c2f_interface.F90.

                                    -

                                    References ireadns().

                                    +

                                    References ireadns().

                                    @@ -1421,7 +1415,7 @@

                                    Read the next data subset from a BUFR message.

                                    -

                                    Wraps ireadsb() function.

                                    +

                                    Wraps ireadsb() function.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to read from.
                                    @@ -1438,7 +1432,7 @@

                                    Definition at line 192 of file bufr_c2f_interface.F90.

                                    -

                                    References ireadsb().

                                    +

                                    References ireadsb().

                                    @@ -1469,7 +1463,7 @@

                                    Define a customized parameter value for dynamic allocation.

                                    -

                                    Wraps isetprm() function.

                                    +

                                    Wraps isetprm() function.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to read from
                                    @@ -1483,7 +1477,7 @@

                                    Definition at line 676 of file bufr_c2f_interface.F90.

                                    -

                                    References isetprm().

                                    +

                                    References isetprm().

                                    @@ -1504,7 +1498,7 @@

                                    Check whether a descriptor is WMO-standard.

                                    -

                                    Wraps istdesc() function.

                                    +

                                    Wraps istdesc() function.

                                    Parameters

                                    cprmnm- Parameter.
                                    @@ -1517,59 +1511,7 @@

                                    Definition at line 870 of file bufr_c2f_interface.F90.

                                    -

                                    References istdesc().

                                    - - - - -

                                    ◆ iupb_c()

                                    - -
                                    -
                                    -

                                    idn- WMO bit-wise representation of FXY value for descriptor.
                                    - - - - - - - - - - - - - - - - - - - - - - - -
                                    integer(c_int) function, public bufr_c2f_interface::iupb_c (integer(c_int), dimension(*), intent(in) mbay,
                                    integer(c_int), intent(in), value nbyt,
                                    integer(c_int), intent(in), value nbit 
                                    )
                                    -

                                    - -

                                    Decode an integer value from an integer array.

                                    -

                                    Wraps iupb() function.

                                    -
                                    Parameters
                                    - - - - -
                                    mbay- Array containing encoded value.
                                    nbyt- Byte within mbay at whose first bit to begin decoding.
                                    nbit- Number of bits to decode.
                                    -
                                    -
                                    -
                                    Returns
                                    iupb_c - Decoded value.
                                    -
                                    Author
                                    J. Ator
                                    -
                                    Date
                                    2023-04-07
                                    - -

                                    Definition at line 1099 of file bufr_c2f_interface.F90.

                                    - -

                                    References cmpmsg(), and iupb().

                                    +

                                    References istdesc().

                                    @@ -1600,7 +1542,7 @@

                                    Read a data value from Section 0 or Section 1 of a BUFR message.

                                    -

                                    Wraps iupbs01() function.

                                    +

                                    Wraps iupbs01() function.

                                    Parameters
                                    @@ -1614,7 +1556,7 @@

                                    Definition at line 639 of file bufr_c2f_interface.F90.

                                    -

                                    References iupbs01().

                                    +

                                    References iupbs01().

                                    @@ -1635,7 +1577,7 @@

                                    Define a customized maximum length for output BUFR messages.

                                    -

                                    Wraps maxout() subroutine.

                                    +

                                    Wraps maxout() subroutine.

                                    Parameters

                                    bufr- BUFR message.
                                    @@ -1647,7 +1589,7 @@

                                    Definition at line 693 of file bufr_c2f_interface.F90.

                                    -

                                    References maxout().

                                    +

                                    References maxout().

                                    @@ -1684,7 +1626,7 @@

                                    Specify location of master BUFR tables on local file system.

                                    -

                                    Wraps mtinfo() subroutine.

                                    +

                                    Wraps mtinfo() subroutine.

                                    Parameters

                                    max0- New maximum length (in bytes) for all BUFR messages written to all output files.
                                    @@ -1698,7 +1640,7 @@

                                    Definition at line 255 of file bufr_c2f_interface.F90.

                                    -

                                    References mtinfo().

                                    +

                                    References mtinfo().

                                    @@ -1759,7 +1701,7 @@

                                    Get the element name and units associated with a Table B mnemonic.

                                    -

                                    Wraps nemdefs() subroutine.

                                    +

                                    Wraps nemdefs() subroutine.

                                    Parameters

                                    path- Path where the WMO tables are stored
                                    @@ -1777,7 +1719,7 @@

                                    Definition at line 295 of file bufr_c2f_interface.F90.

                                    -

                                    References nemdefs().

                                    +

                                    References nemdefs().

                                    @@ -1838,7 +1780,7 @@

                                    Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.

                                    -

                                    Wraps nemspecs() subroutine.

                                    +

                                    Wraps nemspecs() subroutine.

                                    Parameters

                                    file_unit- Fortran logical unit for the open file.
                                    @@ -1856,7 +1798,7 @@

                                    Definition at line 333 of file bufr_c2f_interface.F90.

                                    -

                                    References nemspecs().

                                    +

                                    References nemspecs().

                                    @@ -1905,7 +1847,7 @@

                                    Get information about a descriptor.

                                    -

                                    Wraps nemtab() subroutine.

                                    +

                                    Wraps nemtab() subroutine.

                                    Parameters

                                    file_unit- Fortran logical unit for the open file.
                                    @@ -1921,7 +1863,7 @@

                                    Definition at line 358 of file bufr_c2f_interface.F90.

                                    -

                                    References nemtab().

                                    +

                                    References nemtab().

                                    @@ -1982,7 +1924,7 @@

                                    Get information about a Table B descriptor.

                                    -

                                    Wraps nemtbb() subroutine.

                                    +

                                    Wraps nemtbb() subroutine.

                                    Parameters

                                    lun- File ID.
                                    @@ -2000,7 +1942,7 @@

                                    Definition at line 386 of file bufr_c2f_interface.F90.

                                    -

                                    References nemtbb().

                                    +

                                    References nemtbb().

                                    @@ -2055,11 +1997,11 @@

                                    Search for a Table B or Table D descriptor within the internal DX BUFR tables.

                                    -

                                    Wraps numtbd() subroutine.

                                    +

                                    Wraps numtbd() subroutine.

                                    Parameters

                                    lun- File ID.
                                    - + @@ -2072,7 +2014,7 @@

                                    Definition at line 789 of file bufr_c2f_interface.F90.

                                    -

                                    References numtbd().

                                    +

                                    References numtbd().

                                    @@ -2150,7 +2092,7 @@

                                    Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file.

                                    -

                                    Wraps openbf() subroutine.

                                    +

                                    Wraps openbf() subroutine.

                                    Parameters

                                    lun- File ID.
                                    idn- Bit-wise representation of FXY value.
                                    idn- WMO bit-wise representation of FXY value.
                                    nemo- Mnemonic.
                                    nemo_str_len- Length of nemo string.
                                    tab- Type of internal DX BUFR table ('B', or 'D').
                                    @@ -2164,7 +2106,7 @@

                                    Definition at line 122 of file bufr_c2f_interface.F90.

                                    -

                                    References openbf().

                                    +

                                    References openbf().

                                    @@ -2201,7 +2143,7 @@

                                    Open a new message for output in a BUFR file that was previously opened for writing.

                                    -

                                    Wraps openmb() subroutine.

                                    +

                                    Wraps openmb() subroutine.

                                    Parameters

                                    bufr_unit- Fortran logical unit number
                                    @@ -2215,7 +2157,7 @@

                                    Definition at line 1055 of file bufr_c2f_interface.F90.

                                    -

                                    References openmb().

                                    +

                                    References openmb().

                                    @@ -2258,7 +2200,7 @@

                                    Store information about a child mnemonic within the internal arrays.

                                    -

                                    Wraps pktdd() subroutine.

                                    +

                                    Wraps pktdd() subroutine.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to write to.
                                    @@ -2273,7 +2215,7 @@

                                    Definition at line 1025 of file bufr_c2f_interface.F90.

                                    -

                                    References pktdd().

                                    +

                                    References pktdd().

                                    @@ -2330,7 +2272,7 @@

                                    Definition at line 599 of file bufr_c2f_interface.F90.

                                    -

                                    References readlc().

                                    +

                                    References readlc().

                                    @@ -2373,7 +2315,7 @@

                                    Check whether a file is connected to the library.

                                    -

                                    Wraps status() subroutine.

                                    +

                                    Wraps status() subroutine.

                                    Parameters

                                    id- Index of parent mnemonic within internal BUFR Table D array.
                                    @@ -2388,7 +2330,7 @@

                                    Definition at line 273 of file bufr_c2f_interface.F90.

                                    -

                                    References status().

                                    +

                                    References status().

                                    @@ -2437,7 +2379,7 @@

                                    Store a new entry within the internal BUFR Table B or D.

                                    -

                                    Wraps stntbi() subroutine.

                                    +

                                    Wraps stntbi() subroutine.

                                    Parameters

                                    file_unit- Fortran logical unit number of file.
                                    @@ -2453,7 +2395,7 @@

                                    Definition at line 975 of file bufr_c2f_interface.F90.

                                    -

                                    References stntbi().

                                    +

                                    References stntbi().

                                    @@ -2490,7 +2432,7 @@

                                    Decode an integer from a character string.

                                    -

                                    Wraps strnum() subroutine.

                                    +

                                    Wraps strnum() subroutine.

                                    Parameters

                                    n- Storage index into internal Table B or D.
                                    @@ -2504,7 +2446,7 @@

                                    Definition at line 957 of file bufr_c2f_interface.F90.

                                    -

                                    References strnum().

                                    +

                                    References strnum().

                                    @@ -2559,7 +2501,7 @@

                                    Read/write one or more data values from/to a data subset.

                                    -

                                    Wraps ufbint() subroutine.

                                    +

                                    Wraps ufbint() subroutine.

                                    Parameters

                                    str- String.
                                    @@ -2575,7 +2517,7 @@

                                    Definition at line 211 of file bufr_c2f_interface.F90.

                                    -

                                    References ufbint().

                                    +

                                    References ufbint().

                                    @@ -2630,7 +2572,7 @@

                                    Read/write one or more data values from/to a data subset.

                                    -

                                    Wraps ufbrep() subroutine.

                                    +

                                    Wraps ufbrep() subroutine.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to read from
                                    @@ -2646,7 +2588,7 @@

                                    Definition at line 234 of file bufr_c2f_interface.F90.

                                    -

                                    References ufbrep().

                                    +

                                    References ufbrep().

                                    @@ -2701,7 +2643,7 @@

                                    Read/write an entire sequence of data values from/to a data subset.

                                    -

                                    Wraps ufbseq() subroutine.

                                    +

                                    Wraps ufbseq() subroutine.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to read from
                                    @@ -2717,7 +2659,7 @@

                                    Definition at line 889 of file bufr_c2f_interface.F90.

                                    -

                                    References ufbseq().

                                    +

                                    References ufbseq().

                                    @@ -2760,7 +2702,7 @@

                                    Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence.

                                    -

                                    Wraps uptdd() subroutine.

                                    +

                                    Wraps uptdd() subroutine.

                                    Parameters

                                    bufr_unit- Fortran logical unit number to read from
                                    @@ -2775,30 +2717,7 @@

                                    Definition at line 837 of file bufr_c2f_interface.F90.

                                    -

                                    References uptdd().

                                    - - - - -

                                    ◆ wrdlen_c()

                                    - -
                                    -
                                    -

                                    id- Positional index of parent mnemonic within internal BUFR Table D array.
                                    - - - -
                                    subroutine, public bufr_c2f_interface::wrdlen_c
                                    -
                                    - -

                                    Determine important information about the local machine.

                                    -

                                    Wraps wrdlen() subroutine.

                                    -
                                    Author
                                    J. Ator
                                    -
                                    Date
                                    2023-04-07
                                    - -

                                    Definition at line 1084 of file bufr_c2f_interface.F90.

                                    - -

                                    References wrdlen().

                                    +

                                    References uptdd().

                                    diff --git a/namespacebufr__interface.html b/namespacebufr__interface.html index 9ca4e73f4..742bb9aeb 100644 --- a/namespacebufr__interface.html +++ b/namespacebufr__interface.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    diff --git a/namespacebufrlib.html b/namespacebufrlib.html index abfc7e365..15bb295bb 100644 --- a/namespacebufrlib.html +++ b/namespacebufrlib.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -100,8 +100,6 @@   interface  backbufr_c   -interface  bort_exit_c -  interface  cewind_c   interface  closfb_c diff --git a/namespacebufrlib.js b/namespacebufrlib.js index 989f9baf4..d90648a79 100644 --- a/namespacebufrlib.js +++ b/namespacebufrlib.js @@ -3,7 +3,6 @@ var namespacebufrlib = [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html", "interfacebufrlib_1_1arallocc__c" ], [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html", "interfacebufrlib_1_1ardllocc__c" ], [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html", "interfacebufrlib_1_1backbufr__c" ], - [ "bort_exit_c", "interfacebufrlib_1_1bort__exit__c.html", "interfacebufrlib_1_1bort__exit__c" ], [ "cewind_c", "interfacebufrlib_1_1cewind__c.html", "interfacebufrlib_1_1cewind__c" ], [ "closfb_c", "interfacebufrlib_1_1closfb__c.html", "interfacebufrlib_1_1closfb__c" ], [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html", "interfacebufrlib_1_1cpmstabs__c" ], diff --git a/namespacemembers.html b/namespacemembers.html index 0034bab33..ae28fb317 100644 --- a/namespacemembers.html +++ b/namespacemembers.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -85,9 +85,6 @@
                                    Here is a list of all documented module members with links to the modules they belong to:

                                    - b -

                                      -
                                    • bmiss -: modv_bmiss -
                                    • bort_c() : bufr_c2f_interface
                                    • diff --git a/namespacemembers_c.html b/namespacemembers_c.html index c7a708913..e3e0b34d2 100644 --- a/namespacemembers_c.html +++ b/namespacemembers_c.html @@ -26,7 +26,7 @@
                                      NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                      @@ -109,9 +109,18 @@

                                      - c -

                                      • cbunit : moda_mstabs
                                      • +
                                      • ccmf +: moda_msgcmp +
                                      • +
                                      • cdmf +: moda_tablef +
                                      • cdmnem : moda_mstabs
                                      • +
                                      • cds3 +: moda_s3list +
                                      • cdseq : moda_mstabs
                                      • @@ -137,17 +146,23 @@

                                        - c -

                                        diff --git a/namespacemembers_d.html b/namespacemembers_d.html index 351ee0c3f..32d7e2f7e 100644 --- a/namespacemembers_d.html +++ b/namespacemembers_d.html @@ -26,7 +26,7 @@
                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                        diff --git a/namespacemembers_e.html b/namespacemembers_e.html index 4c55c5b3b..c82641762 100644 --- a/namespacemembers_e.html +++ b/namespacemembers_e.html @@ -26,7 +26,7 @@
                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                        diff --git a/namespacemembers_f.html b/namespacemembers_f.html index 54fda7e8f..fb4dbd37d 100644 --- a/namespacemembers_f.html +++ b/namespacemembers_f.html @@ -26,7 +26,7 @@
                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                        diff --git a/namespacemembers_func.html b/namespacemembers_func.html index 585a906a0..69f7c4ec0 100644 --- a/namespacemembers_func.html +++ b/namespacemembers_func.html @@ -26,7 +26,7 @@
                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                        @@ -198,9 +198,6 @@

                                        - i -

                                        • istdesc_c() : bufr_c2f_interface
                                        • -
                                        • iupb_c() -: bufr_c2f_interface -
                                        • iupbs01_c() : bufr_c2f_interface
                                        • @@ -290,13 +287,6 @@

                                          - u -

                                          - - -

                                          - w -

                                          diff --git a/namespacemembers_g.html b/namespacemembers_g.html index 7e34fb79e..66232e7b3 100644 --- a/namespacemembers_g.html +++ b/namespacemembers_g.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          diff --git a/namespacemembers_i.html b/namespacemembers_i.html index aceb2098c..99feb5809 100644 --- a/namespacemembers_i.html +++ b/namespacemembers_i.html @@ -26,7 +26,7 @@
                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                          @@ -113,7 +113,7 @@

                                          - i -

                                            : moda_msgcwd
                                          • idcach -: moda_dscach +: moda_dscach
                                          • idefxy : moda_mstabs @@ -133,6 +133,9 @@

                                            - i -

                                            • idrdm : moda_idrdm
                                            • +
                                            • ids3 +: moda_s3list +
                                            • iefxyn : moda_rdmtb
                                            • @@ -142,9 +145,6 @@

                                              - i -

                                              • ifdxts : moda_msgmem
                                              • -
                                              • ifopbf -: modv_ifopbf -
                                              • ifxy_c() : bufr_c2f_interface
                                              • @@ -160,14 +160,14 @@

                                                - i -

                                                • igettdi_c() : bufr_c2f_interface
                                                • -
                                                • im8b -: modv_im8b +
                                                • imiss +: moda_comprx
                                                • imrkopr_c() : bufr_c2f_interface
                                                • incr -: moda_comprs +: moda_comprs
                                                • inode : moda_msgcwd @@ -253,12 +253,24 @@

                                                  - i -

                                                  • itp : moda_tables
                                                  • +
                                                  • itrdy +: moda_tnkrcp +
                                                  • +
                                                  • itrhr +: moda_tnkrcp +
                                                  • +
                                                  • itrmi +: moda_tnkrcp +
                                                  • +
                                                  • itrmo +: moda_tnkrcp +
                                                  • +
                                                  • itryr +: moda_tnkrcp +
                                                  • ityp : moda_comprx
                                                  • -
                                                  • iupb_c() -: bufr_c2f_interface -
                                                  • iupbs01_c() : bufr_c2f_interface
                                                  • @@ -266,7 +278,7 @@

                                                    - i -

                                                      : moda_usrtmp
                                                    • ival -: moda_ival +: moda_ival
                                                    • ivmnem : moda_s01cm diff --git a/namespacemembers_j.html b/namespacemembers_j.html index 87ddd3254..25bba7ff4 100644 --- a/namespacemembers_j.html +++ b/namespacemembers_j.html @@ -26,7 +26,7 @@
                                                      NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                      @@ -94,24 +94,21 @@

                                                      - j -

                                                      • jbyt : moda_bufrsr
                                                      • -
                                                      • jdat -: moda_bufrsr -
                                                      • jill : moda_bufrsr
                                                      • jimm : moda_bufrsr
                                                      • +
                                                      • jlnode +: moda_comprx +
                                                      • jmpb : moda_tables
                                                      • jmsg : moda_bufrsr
                                                      • -
                                                      • jnod -: moda_bufrsr -
                                                      • jseq : moda_tables
                                                      • diff --git a/namespacemembers_k.html b/namespacemembers_k.html index 3ae72262b..8dd601840 100644 --- a/namespacemembers_k.html +++ b/namespacemembers_k.html @@ -26,7 +26,7 @@
                                                        NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                        @@ -92,10 +92,10 @@

                                                        - k -

                                                          : moda_comprx
                                                        • kmax -: moda_comprx +: moda_comprx
                                                        • kmin -: moda_comprx +: moda_comprx
                                                        • kmis : moda_comprx @@ -109,9 +109,6 @@

                                                          - k -

                                                          diff --git a/namespacemembers_l.html b/namespacemembers_l.html index d2355ef30..e8a29d609 100644 --- a/namespacemembers_l.html +++ b/namespacemembers_l.html @@ -26,7 +26,7 @@
                                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                          diff --git a/namespacemembers_m.html b/namespacemembers_m.html index f3694da9f..d2ff3b072 100644 --- a/namespacemembers_m.html +++ b/namespacemembers_m.html @@ -26,7 +26,7 @@
                                                          NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                          @@ -86,44 +86,14 @@

                                                          - m -

                                                          • matx -: moda_comprs +: moda_comprs
                                                          • maxbyt : moda_bitbuf
                                                          • -
                                                          • maxcd -: modv_maxcd -
                                                          • -
                                                          • maxjl -: modv_maxjl -
                                                          • -
                                                          • maxmem -: modv_maxmem -
                                                          • -
                                                          • maxmsg -: modv_maxmsg -
                                                          • -
                                                          • maxnc -: modv_maxnc -
                                                          • maxout_c() : bufr_c2f_interface
                                                          • -
                                                          • maxss -: modv_maxss -
                                                          • -
                                                          • maxtab -: moda_tables -
                                                          • -
                                                          • maxtba -: modv_maxtba -
                                                          • -
                                                          • maxtbb -: modv_maxtbb -
                                                          • -
                                                          • maxtbd -: modv_maxtbd -
                                                          • mbay : moda_bitbuf
                                                          • @@ -175,72 +145,12 @@

                                                            - m -

                                                            diff --git a/namespacemembers_n.html b/namespacemembers_n.html index 237fc76ea..8641fe7c8 100644 --- a/namespacemembers_n.html +++ b/namespacemembers_n.html @@ -26,7 +26,7 @@
                                                            NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                            @@ -101,7 +101,7 @@

                                                            - n -

                                                              : moda_comprs
                                                            • ndc -: moda_dscach +: moda_dscach
                                                            • ndelem : moda_mstabs @@ -127,9 +127,6 @@

                                                              - n -

                                                              -

                                                              Definition at line 621 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 623 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), igetsc(), openbf(), rdcmps(), readsb(), and usrtpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), igetsc(), openbf(), rdcmps(), readsb(), and usrtpl().

                                                              diff --git a/namespacemoda__tababd.html b/namespacemoda__tababd.html index f5e2278d1..fd540750c 100644 --- a/namespacemoda__tababd.html +++ b/namespacemoda__tababd.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams. +

                                                              Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs. More...

                                                              - + - + - + - + - + - + - + - +

                                                              @@ -98,35 +98,35 @@

                                                               Message types (in array element 1) and subtypes (in array element 2) corresponding to taba. More...
                                                               
                                                              integer, dimension(:,:), allocatable idnb
                                                               Bit-wise representations of the FXY values corresponding to tabb. More...
                                                               WMO bit-wise representations of the FXY values corresponding to tabb. More...
                                                               
                                                              integer, dimension(:,:), allocatable idnd
                                                               Bit-wise representations of the FXY values corresponding to tabd. More...
                                                               WMO bit-wise representations of the FXY values corresponding to tabd. More...
                                                               
                                                              integer, dimension(:,:), allocatable mtab
                                                               Entries within jump/link table corresponding to taba. More...
                                                               
                                                              integer, dimension(:), allocatable ntba
                                                               Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA, whose value is stored in array element 0). More...
                                                               Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable ntbb
                                                               Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB, whose value is stored in array element 0). More...
                                                               Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable ntbd
                                                               Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD, whose value is stored in array element 0). More...
                                                               Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array element 0). More...
                                                               
                                                              character *128, dimension(:,:), allocatable taba
                                                               Table A entries for each internal I/O stream. More...
                                                               Table A entries for each file ID. More...
                                                               
                                                              character *128, dimension(:,:), allocatable tabb
                                                               Table B entries for each internal I/O stream. More...
                                                               Table B entries for each file ID. More...
                                                               
                                                              character *600, dimension(:,:), allocatable tabd
                                                               Table D entries for each internal I/O stream. More...
                                                               Table D entries for each file ID. More...
                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams.

                                                              +

                                                              Declare arrays and variables used to store DX BUFR tables internally for multiple file IDs.

                                                              Author
                                                              J. Ator
                                                              Date
                                                              2014-12-10

                                                              Variable Documentation

                                                              @@ -144,9 +144,9 @@

                                                              Definition at line 642 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 644 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), icmpdx(), nemtbax(), and stntbia().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), icmpdx(), nemtbax(), rdusdx(), and stntbia().

                                                              @@ -162,11 +162,11 @@

                                                              -

                                                              Bit-wise representations of the FXY values corresponding to tabb.

                                                              +

                                                              WMO bit-wise representations of the FXY values corresponding to tabb.

                                                              -

                                                              Definition at line 644 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 646 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), icmpdx(), nemtab(), nemtbb(), numtbd(), stbfdx(), and stntbi().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), icmpdx(), nemtab(), nemtbb(), numtbd(), stbfdx(), and stntbi().

                                                              @@ -182,11 +182,11 @@

                                                              -

                                                              Bit-wise representations of the FXY values corresponding to tabd.

                                                              +

                                                              WMO bit-wise representations of the FXY values corresponding to tabd.

                                                              -

                                                              Definition at line 646 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 648 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), icmpdx(), nemtab(), nemtbd(), numtbd(), stbfdx(), and stntbi().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), icmpdx(), nemtab(), nemtbd(), numtbd(), stbfdx(), and stntbi().

                                                              @@ -204,9 +204,9 @@

                                                              Definition at line 639 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 641 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), ishrdx(), makestab(), and nemtbax().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), ishrdx(), makestab(), and nemtbax().

                                                              @@ -222,11 +222,11 @@

                                                              -

                                                              Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA, whose value is stored in array element 0).

                                                              +

                                                              Number of Table A entries for each file ID (up to a maximum of maxtba, whose value is stored in array element 0).

                                                              -

                                                              Definition at line 631 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 633 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), icmpdx(), igetntbi(), ishrdx(), makestab(), nemtbax(), stntbia(), and wrdxtb().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), icmpdx(), igetntbi(), ishrdx(), makestab(), nemtbax(), stntbia(), and wrdxtb().

                                                              @@ -242,11 +242,11 @@

                                                              -

                                                              Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB, whose value is stored in array element 0).

                                                              +

                                                              Number of Table B entries for each file ID (up to a maximum of maxtbb, whose value is stored in array element 0).

                                                              -

                                                              Definition at line 634 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 636 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), igetntbi(), nemtab(), nemtbb(), nenubd(), numtbd(), stbfdx(), stntbi(), and wrdxtb().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), igetntbi(), nemtab(), nemtbb(), nenubd(), numtbd(), stbfdx(), stntbi(), and wrdxtb().

                                                              @@ -262,11 +262,11 @@

                                                              -

                                                              Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD, whose value is stored in array element 0).

                                                              +

                                                              Number of Table D entries for each file ID (up to a maximum of maxtbd, whose value is stored in array element 0).

                                                              -

                                                              Definition at line 637 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 639 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), igetntbi(), nemtab(), nemtbd(), nenubd(), numtbd(), stbfdx(), stntbi(), and wrdxtb().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), igetntbi(), nemtab(), nemtbd(), nenubd(), numtbd(), stbfdx(), stntbi(), and wrdxtb().

                                                              @@ -282,11 +282,11 @@

                                                              -

                                                              Table A entries for each internal I/O stream.

                                                              +

                                                              Table A entries for each file ID.

                                                              -

                                                              Definition at line 648 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 650 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), chekstab(), cpbfdx(), dxdump(), dxinit(), icmpdx(), makestab(), nemtbax(), stbfdx(), stntbia(), and wrdxtb().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), chekstab(), cpbfdx(), dxdump(), dxinit(), icmpdx(), makestab(), nemtbax(), stbfdx(), stntbia(), and wrdxtb().

                                                              @@ -302,11 +302,11 @@

                                                              -

                                                              Table B entries for each internal I/O stream.

                                                              +

                                                              Table B entries for each file ID.

                                                              -

                                                              Definition at line 650 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 652 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxdump(), dxinit(), elemdx(), getabdb(), getcfmng(), icmpdx(), nemdefs(), nemtab(), nemtbb(), nenubd(), numtbd(), stbfdx(), stntbi(), ufbdmp(), ufdump(), upftbv(), and wrdxtb().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxdump(), dxinit(), elemdx(), getabdb(), getcfmng(), icmpdx(), nemdefs(), nemtab(), nemtbb(), nenubd(), numtbd(), stbfdx(), stntbi(), ufbdmp(), ufdump(), upftbv(), and wrdxtb().

                                                              @@ -322,11 +322,11 @@

                                                              -

                                                              Table D entries for each internal I/O stream.

                                                              +

                                                              Table D entries for each file ID.

                                                              -

                                                              Definition at line 652 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 654 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), nemtab(), nemtbd(), nenubd(), numtbd(), pktdd(), stbfdx(), stntbi(), uptdd(), and wrdxtb().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), nemtab(), nemtbd(), nenubd(), numtbd(), pktdd(), stbfdx(), stntbi(), uptdd(), and wrdxtb().

                                                              diff --git a/namespacemoda__tablef.html b/namespacemoda__tablef.html new file mode 100644 index 000000000..0c4d0eba2 --- /dev/null +++ b/namespacemoda__tablef.html @@ -0,0 +1,140 @@ + + + + + + + +NCEPLIBS-bufr: moda_tablef Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_tablef Module Reference
                                                              +
                                                              +
                                                              + +

                                                              Declare a variable used to indicate whether master code and flag tables should be read. +More...

                                                              + + + + + +

                                                              +Variables

                                                              character cdmf = 'N'
                                                               Flag indicating whether to include code and flag table information during reads of master BUFR tables; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine codflg() within the application program: More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Declare a variable used to indicate whether master code and flag tables should be read.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2024-05-29
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cdmf

                                                              + +
                                                              +
                                                              + + + + +
                                                              character moda_tablef::cdmf = 'N'
                                                              +
                                                              + +

                                                              Flag indicating whether to include code and flag table information during reads of master BUFR tables; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine codflg() within the application program:

                                                              +
                                                                +
                                                              • 'N' = No (default)
                                                              • +
                                                              • 'Y' = Yes
                                                              • +
                                                              + +

                                                              Definition at line 887 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by codflg(), exitbufr(), getcfmng(), ireadmt(), and ufdump().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/namespacemoda__tables.html b/namespacemoda__tables.html index 3e8417a6a..637a2bd59 100644 --- a/namespacemoda__tables.html +++ b/namespacemoda__tables.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains array and variable declarations used to store the internal jump/link table. +

                                                              Declare arrays and variables used to store the internal jump/link table. More...

                                                              - - - @@ -144,8 +141,8 @@

                                                              @@ -127,9 +127,6 @@

                                                              integer, dimension(:), allocatable link
                                                               Link indices corresponding to tag, typ and jmpb: More...
                                                               
                                                              integer maxtab
                                                               Maximum number of entries in the jump/link table; equivalent to MAXJL. More...
                                                               
                                                              integer ntab
                                                               Number of entries in the jump/link table. More...
                                                               
                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains array and variable declarations used to store the internal jump/link table.

                                                              -

                                                              Data values within this module are stored by subroutines makestab(), tabsub() and tabent().

                                                              +

                                                              Declare arrays and variables used to store the internal jump/link table.

                                                              +

                                                              Data values within this module are stored by subroutines makestab(), tabsub() and tabent().

                                                              Author
                                                              J. Ator
                                                              Date
                                                              2014-12-10

                                                              Variable Documentation

                                                              @@ -169,7 +166,7 @@

                                                              Definition at line 710 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), makestab(), nemspecs(), rcstpl(), rdcmps(), rdtree(), tabent(), tabsub(), ufbdmp(), ufbget(), ufbtab(), ufbtam(), ufdump(), ups(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), makestab(), nemspecs(), rcstpl(), rdcmps(), rdtree(), tabent(), tabsub(), ufbdmp(), ufbget(), ufbtab(), ufbtam(), ufdump(), ups(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              @@ -194,7 +191,7 @@

                                                              Definition at line 716 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_irf_c(), igetrfel(), iok2cpy(), ipks(), makestab(), nemspecs(), tabent(), tabsub(), ufbdmp(), ufdump(), and ups().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_irf_c(), igetrfel(), iok2cpy(), ipks(), makestab(), nemspecs(), tabent(), tabsub(), ufbdmp(), ufdump(), and ups().

                                                              @@ -219,7 +216,7 @@

                                                              Definition at line 722 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_isc_c(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), strbtm(), tabent(), tabsub(), ufbdmp(), ufbseq(), ufdump(), and ups().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_isc_c(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), strbtm(), tabent(), tabsub(), ufbdmp(), ufbseq(), ufdump(), and ups().

                                                              @@ -239,7 +236,7 @@

                                                              Definition at line 740 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              @@ -265,7 +262,7 @@

                                                              Definition at line 728 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), drfini(), bufr_c2f_interface::get_itp_c(), igetrfel(), invmrg(), makestab(), rcstpl(), rdcmps(), rdtree(), readlc(), strbtm(), ufbcup(), ufbdmp(), ufbget(), ufbseq(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), drfini(), bufr_c2f_interface::get_itp_c(), igetrfel(), invmrg(), makestab(), rcstpl(), rdcmps(), rdtree(), readlc(), strbtm(), ufbcup(), ufbdmp(), ufbget(), ufbseq(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              @@ -290,7 +287,7 @@

                                                              Definition at line 706 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_jmpb_c(), gettagpr(), lstjpb(), makestab(), tabent(), tabsub(), ufbdmp(), ufbseq(), and usrtpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_jmpb_c(), gettagpr(), lstjpb(), makestab(), tabent(), tabsub(), ufbdmp(), ufbseq(), and usrtpl().

                                                              @@ -310,7 +307,7 @@

                                                              Definition at line 742 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              @@ -335,7 +332,7 @@

                                                              Definition at line 692 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), makestab(), tabent(), tabsub(), and ufbdmp().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), makestab(), tabent(), tabsub(), and ufbdmp().

                                                              @@ -355,7 +352,7 @@

                                                              Definition at line 685 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              @@ -380,7 +377,7 @@

                                                              Definition at line 738 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              @@ -404,27 +401,7 @@

                                                              Definition at line 699 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_link_c(), makestab(), tabent(), tabsub(), ufbdmp(), and ufbseq().

                                                              - - - - -

                                                              ◆ maxtab

                                                              - -
                                                              -
                                                              - - - - -
                                                              integer moda_tables::maxtab
                                                              -
                                                              - -

                                                              Maximum number of entries in the jump/link table; equivalent to MAXJL.

                                                              - -

                                                              Definition at line 664 of file modules_arrs.F90.

                                                              - -

                                                              Referenced by bfrini(), and inctab().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_link_c(), makestab(), tabent(), tabsub(), ufbdmp(), and ufbseq().

                                                              @@ -444,7 +421,7 @@

                                                              Definition at line 666 of file modules_arrs.F90.

                                                              -

                                                              Referenced by bufr_c2f_interface::get_irf_c(), bufr_c2f_interface::get_isc_c(), bufr_c2f_interface::get_itp_c(), bufr_c2f_interface::get_jmpb_c(), bufr_c2f_interface::get_link_c(), bufr_c2f_interface::get_tag_c(), bufr_c2f_interface::get_typ_c(), inctab(), makestab(), and tabsub().

                                                              +

                                                              Referenced by bufr_c2f_interface::get_irf_c(), bufr_c2f_interface::get_isc_c(), bufr_c2f_interface::get_itp_c(), bufr_c2f_interface::get_jmpb_c(), bufr_c2f_interface::get_link_c(), bufr_c2f_interface::get_tag_c(), bufr_c2f_interface::get_typ_c(), inctab(), makestab(), and tabsub().

                                                              @@ -464,7 +441,7 @@

                                                              Definition at line 668 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), copymg(), copysb(), cpymem(), drfini(), fstag(), bufr_c2f_interface::get_tag_c(), gettagpr(), gettagre(), igetrfel(), inctab(), invtag(), iok2cpy(), ipks(), lstjpb(), makestab(), msgini(), parutg(), rcstpl(), rdcmps(), readlc(), readns(), strbtm(), ufbcpy(), ufbcup(), ufbdmp(), ufbrw(), ufbseq(), ufdump(), ups(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), copymg(), copysb(), cpymem(), drfini(), fstag(), bufr_c2f_interface::get_tag_c(), gettagpr(), gettagre(), igetrfel(), inctab(), invtag(), iok2cpy(), ipks(), makestab(), msgini(), parutg(), rcstpl(), rdcmps(), readlc(), readns(), strbtm(), ufbcpy(), ufbcup(), ufbdmp(), ufbrw(), ufbseq(), ufdump(), ups(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              @@ -496,7 +473,7 @@

                                                              Definition at line 683 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_typ_c(), inctab(), invmrg(), iok2cpy(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), ufbdmp(), ufbseq(), ufdump(), usrtpl(), writlc(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_typ_c(), inctab(), invmrg(), iok2cpy(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), ufbdmp(), ufbseq(), ufdump(), usrtpl(), writlc(), and wrtree().

                                                              @@ -520,7 +497,7 @@

                                                              Definition at line 732 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              diff --git a/namespacemoda__tnkrcp.html b/namespacemoda__tnkrcp.html new file mode 100644 index 000000000..d6b5786dd --- /dev/null +++ b/namespacemoda__tnkrcp.html @@ -0,0 +1,255 @@ + + + + + + + +NCEPLIBS-bufr: moda_tnkrcp Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_tnkrcp Module Reference
                                                              +
                                                              +
                                                              + +

                                                              Declare variables used to store tank receipt time information within Section 1 of BUFR messages. +More...

                                                              + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *1 ctrt = 'N'
                                                               Flag indicating whether tank receipt times are to be included within output BUFR messages; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine strcpt() within the application program: More...
                                                               
                                                              integer itrdy
                                                               Tank receipt day. More...
                                                               
                                                              integer itrhr
                                                               Tank receipt hour. More...
                                                               
                                                              integer itrmi
                                                               Tank receipt minute. More...
                                                               
                                                              integer itrmo
                                                               Tank receipt month. More...
                                                               
                                                              integer itryr
                                                               Tank receipt year. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Declare variables used to store tank receipt time information within Section 1 of BUFR messages.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2024-03-20
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ctrt

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*1 moda_tnkrcp::ctrt = 'N'
                                                              +
                                                              + +

                                                              Flag indicating whether tank receipt times are to be included within output BUFR messages; this variable is initialized to a default value which can be overridden by a subsequent call to subroutine strcpt() within the application program:

                                                              +
                                                                +
                                                              • 'N' = No (default)
                                                              • +
                                                              • 'Y' = Yes
                                                              • +
                                                              + +

                                                              Definition at line 843 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by msgfull(), msgwrt(), and strcpt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ itrdy

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_tnkrcp::itrdy
                                                              +
                                                              + +

                                                              Tank receipt day.

                                                              + +

                                                              Definition at line 849 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by atrcpt(), and strcpt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ itrhr

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_tnkrcp::itrhr
                                                              +
                                                              + +

                                                              Tank receipt hour.

                                                              + +

                                                              Definition at line 851 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by atrcpt(), and strcpt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ itrmi

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_tnkrcp::itrmi
                                                              +
                                                              + +

                                                              Tank receipt minute.

                                                              + +

                                                              Definition at line 853 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by atrcpt(), and strcpt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ itrmo

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_tnkrcp::itrmo
                                                              +
                                                              + +

                                                              Tank receipt month.

                                                              + +

                                                              Definition at line 847 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by atrcpt(), and strcpt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ itryr

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_tnkrcp::itryr
                                                              +
                                                              + +

                                                              Tank receipt year.

                                                              + +

                                                              Definition at line 845 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by atrcpt(), and strcpt().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/namespacemoda__ufbcpl.html b/namespacemoda__ufbcpl.html index 829a38c8b..4f5c89739 100644 --- a/namespacemoda__ufbcpl.html +++ b/namespacemoda__ufbcpl.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy(). +

                                                              Declare an array used to store, for each file ID, the logical unit number corresponding to a separate file ID whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy(). More...

                                                              @@ -99,8 +99,8 @@

                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy().

                                                              -

                                                              In such cases, this stored logical unit number is later accessed within subroutine wrtree() to enable the copying of long character strings (greater than 8 bytes) between the two logical units.

                                                              +

                                                              Declare an array used to store, for each file ID, the logical unit number corresponding to a separate file ID whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy().

                                                              +

                                                              In such cases, this stored logical unit number is later accessed within subroutine wrtree() to enable the copying of long character strings (greater than 8 bytes) between the two logical units.

                                                              Author
                                                              J. Woollen
                                                              Date
                                                              2009-08-11

                                                              Variable Documentation

                                                              @@ -120,7 +120,7 @@

                                                              Definition at line 757 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), msgini(), ufbcpy(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), msgini(), ufbcpy(), and wrtree().

                                                              diff --git a/namespacemoda__unptyp.html b/namespacemoda__unptyp.html index 8dff4ff36..f0ed0ff10 100644 --- a/namespacemoda__unptyp.html +++ b/namespacemoda__unptyp.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message. +

                                                              Declare an array used to store, for each file ID from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message. More...

                                                              @@ -99,7 +99,7 @@

                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message.

                                                              +

                                                              Declare an array used to store, for each file ID from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message.

                                                              Author
                                                              J. Woollen
                                                              Date
                                                              1994-01-06

                                                              Variable Documentation

                                                              @@ -124,7 +124,7 @@

                                                              Definition at line 771 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), cktaba(), rdmems(), readlc(), readsb(), and ufbtab().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), rdmems(), readlc(), readsb(), and ufbtab().

                                                              diff --git a/namespacemoda__usrbit.html b/namespacemoda__usrbit.html index 922b15268..7e5908ff4 100644 --- a/namespacemoda__usrbit.html +++ b/namespacemoda__usrbit.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains array declarations for internal storage of pointers to BUFR data subset values. +

                                                              Declare arrays for internal storage of pointers to BUFR data subset values. More...

                                                              @@ -102,8 +102,8 @@

                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains array declarations for internal storage of pointers to BUFR data subset values.

                                                              -

                                                              They are used when unpacking an input data subset via subroutines rcstpl() and rdtree().

                                                              +

                                                              Declare arrays for internal storage of pointers to BUFR data subset values.

                                                              +

                                                              These are used when unpacking an input data subset via subroutines rcstpl() and rdtree().

                                                              Author
                                                              J. Woollen
                                                              Date
                                                              1994-01-06

                                                              Variable Documentation

                                                              @@ -123,7 +123,7 @@

                                                              Definition at line 783 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), rcstpl(), rdtree(), readlc(), and ufbget().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), rcstpl(), rdtree(), readlc(), and ufbget().

                                                              @@ -143,7 +143,7 @@

                                                              Definition at line 781 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), rcstpl(), rdtree(), readlc(), and ufbget().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), rcstpl(), rdtree(), readlc(), and ufbget().

                                                              diff --git a/namespacemoda__usrint.html b/namespacemoda__usrint.html index d60ba8d6c..f91d834ad 100644 --- a/namespacemoda__usrint.html +++ b/namespacemoda__usrint.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index. +

                                                              Declare arrays used to store data values and associated metadata for the current BUFR data subset in scope for each file ID. More...

                                                              @@ -108,8 +108,7 @@

                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index.

                                                              -

                                                              This module is used by numerous subroutines throughout the library which read or write BUFR data subsets.

                                                              +

                                                              Declare arrays used to store data values and associated metadata for the current BUFR data subset in scope for each file ID.

                                                              Author
                                                              J. Woollen
                                                              Date
                                                              1994-01-06

                                                              Variable Documentation

                                                              @@ -127,9 +126,9 @@

                                                              Definition at line 797 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 795 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), drfini(), fstag(), bufr_c2f_interface::get_inv_c(), gettagpr(), gettagre(), getvalnb(), igetrfel(), invcon(), invmrg(), invtag(), invwin(), makestab(), nemspecs(), nevn(), newwin(), nvnwin(), nxtwin(), rcstpl(), rdcmps(), rdtree(), readlc(), setvalnb(), strbtm(), trybump(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbget(), ufbin3(), ufbint(), ufbovr(), ufbrep(), ufbrw(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), drfini(), fstag(), bufr_c2f_interface::get_inv_c(), gettagpr(), gettagre(), getvalnb(), igetrfel(), invcon(), invmrg(), invtag(), invwin(), makestab(), nemspecs(), nevn(), newwin(), nvnwin(), nxtwin(), rcstpl(), rdcmps(), rdtree(), readlc(), setvalnb(), strbtm(), trybump(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbget(), ufbin3(), ufbint(), ufbovr(), ufbrep(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              @@ -147,9 +146,9 @@

                                                              Definition at line 800 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 798 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), gettagre(), rcstpl(), rdcmps(), ufbcpy(), and ufdump().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), gettagre(), rcstpl(), rdcmps(), ufbcpy(), and ufdump().

                                                              @@ -167,9 +166,9 @@

                                                              Definition at line 795 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 793 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bfrini(), conwin(), drfini(), fstag(), bufr_c2f_interface::get_nval_c(), getwin(), igetrfel(), invcon(), invmrg(), makestab(), newwin(), nxtwin(), rcstpl(), rdcmps(), rdtree(), readlc(), trybump(), ufbcpy(), ufbcup(), ufbdmp(), ufbget(), ufbrp(), ufbseq(), ufbsp(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), conwin(), drfini(), fstag(), bufr_c2f_interface::get_nval_c(), getwin(), igetrfel(), invcon(), invmrg(), makestab(), newwin(), nxtwin(), rcstpl(), rdcmps(), rdtree(), readlc(), trybump(), ufbcpy(), ufbcup(), ufbdmp(), ufbget(), ufbrp(), ufbseq(), ufbsp(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              @@ -187,9 +186,9 @@

                                                              Definition at line 802 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 800 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_val_c(), getvalnb(), getwin(), invcon(), invmrg(), nevn(), newwin(), nwords(), nxtwin(), rcstpl(), rdcmps(), rdtree(), setvalnb(), strbtm(), trybump(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbrp(), ufbrw(), ufbseq(), ufbsp(), ufdump(), usrtpl(), and wrtree().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_val_c(), getvalnb(), getwin(), invcon(), invmrg(), nevn(), newwin(), nwords(), nxtwin(), rcstpl(), rdcmps(), rdtree(), setvalnb(), strbtm(), trybump(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbrp(), ufbrw(), ufbseq(), ufbsp(), ufdump(), usrtpl(), and wrtree().

                                                              diff --git a/namespacemoda__usrtmp.html b/namespacemoda__usrtmp.html index 12cfa8642..fecff3451 100644 --- a/namespacemoda__usrtmp.html +++ b/namespacemoda__usrtmp.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays. +

                                                              Declare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays. More...

                                                              @@ -102,7 +102,7 @@

                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays.

                                                              +

                                                              Declare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays.

                                                              Author
                                                              J. Woollen 1994-01-06

                                                              Variable Documentation

                                                              @@ -119,9 +119,9 @@

                                                              Definition at line 813 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 810 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), and rcstpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), and rcstpl().

                                                              @@ -139,9 +139,9 @@

                                                              Definition at line 815 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 812 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), and rcstpl().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), and rcstpl().

                                                              diff --git a/namespacemoda__xtab.html b/namespacemoda__xtab.html index 3df454b32..380fdc977 100644 --- a/namespacemoda__xtab.html +++ b/namespacemoda__xtab.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,18 +89,18 @@
                                                              -

                                                              This module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program. +

                                                              Declare an array used to track, for each file ID, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program. More...

                                                              - +

                                                              Variables

                                                              logical, dimension(:), allocatable xtab
                                                               Tracking index for each internal I/O stream index. More...
                                                               Tracking index for each file ID. More...
                                                               

                                                              Detailed Description

                                                              -

                                                              This module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program.

                                                              -

                                                              This information is stored and tracked within subroutine makestab(), which checks each time it is called to see if the DX BUFR table has changed for any I/O stream index since the last time it was called.

                                                              +

                                                              Declare an array used to track, for each file ID, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program.

                                                              +

                                                              This information is stored and tracked within subroutine makestab(), which checks each time it is called to see if the DX BUFR table has changed for any file ID since the last time it was called.

                                                              Author
                                                              J. Woollen
                                                              Date
                                                              2009-03-18

                                                              Variable Documentation

                                                              @@ -116,12 +116,12 @@

                                                              -

                                                              Tracking index for each internal I/O stream index.

                                                              -

                                                              Set to .true. if the DX BUFR table for the corresponding logical unit has changed since the previous call to subroutine makestab(); set to .false. otherwise.

                                                              +

                                                              Tracking index for each file ID.

                                                              +

                                                              Set to .true. if the DX BUFR table for the corresponding logical unit has changed since the previous call to subroutine makestab(); set to .false. otherwise.

                                                              -

                                                              Definition at line 834 of file modules_arrs.F90.

                                                              +

                                                              Definition at line 831 of file modules_arrs.F90.

                                                              -

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              +

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              diff --git a/namespaces.html b/namespaces.html index 3c7d56e04..67c345dc1 100644 --- a/namespaces.html +++ b/namespaces.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -99,90 +99,63 @@  Carallocc_c  Cardllocc_c  Cbackbufr_c - Cbort_exit_c - Ccewind_c - Cclosfb_c - Ccpmstabs_c - Ccrdbufr_c - Ccwrbufr_c - Cicvidx_c - Cinittbf_c - Copenab_c - Copenrb_c - Copenwb_c - Crestd_c - Csorttbf_c - Csrchtbf_c - Cstrtbfe_c - Cstseq_c - Nmoda_bitbufThis module contains array and variable declarations used to store BUFR messages internally for multiple I/O streams - Nmoda_bitmapsThis module contains array and variable declarations used to store bitmaps internally within a data subset definition - Nmoda_bufrmgThis module contains arrays used to store, for each output I/O stream, a copy of the BUFR message that was most recently written to that stream, for possible later retrieval via subroutine writsa() - Nmoda_bufrsrThis module contains arrays and variables needed to store the current position within a BUFR file - Nmoda_comprsThis module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output - Nmoda_comprxThis module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output - Nmoda_dscachThis module contains array and variable declarations for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages - Nmoda_h4wlcThis module contains array and variable declarations needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc() - Nmoda_idrdmThis module contains a declaration for an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages - Nmoda_ivalThis module contains a declaration for an array used to pack or unpack all of the values of a BUFR data subset - Nmoda_ivttmpThis module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of the internal subset buffers where the contents of an evolving BUFR message are sccumulated and stored under user control prior to being written out - Nmoda_lushrThis module contains a declaration for an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information - Nmoda_mgwaThis module contains a declaration for an array used by various subroutines and functions to hold a temporary working copy of a BUFR message - Nmoda_mgwbThis module contains a declaration for an array used by various subroutines and functions to hold a temporary working qcopy of a BUFR message - Nmoda_msgcwdThis module contains declarations for arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each internal I/O stream index - Nmoda_msglimThis module contains a declaration for an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them - Nmoda_msgmemThis module contains array and variable declarations used to store the contents of one or more BUFR files within internal memory - Nmoda_mstabsThis module contains array and variable declarations used to store master Table B and Table D entries within internal memory - Nmoda_nmikrpThis module contains declarations for arrays used by various subroutines to hold information about Table D sequences - Nmoda_nrv203This module contains array and variable declarations for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table - Nmoda_nulbfrThis module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether any BUFR messages should actually be written to the corresponding logical unit - Nmoda_rdmtbThis module contains array and variable declarations used to store master Table B and Table D entries within internal memory - Nmoda_rlccmnThis module contains array and variable declarations needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc() - Nmoda_s01cmThis module contains array and variable declarations used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units - Nmoda_sc3bfrThis module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables - Nmoda_stbfrThis module contains array declarations used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf() - Nmoda_stcodeThis module contains an array declaration used to store a status code for each internal I/O stream index if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit - Nmoda_tababdThis module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams - Nmoda_tablesThis module contains array and variable declarations used to store the internal jump/link table - Nmoda_ufbcplThis module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy() - Nmoda_unptypThis module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message - Nmoda_usrbitThis module contains array declarations for internal storage of pointers to BUFR data subset values - Nmoda_usrintThis module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index - Nmoda_usrtmpThis module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays - Nmoda_xtabThis module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program - Nmodv_bmissThis module declares and initializes the BMISS variable - Nmodv_ifopbfThis module declares and initializes the IFOPBF variable - Nmodv_im8bThis module declares and initializes the IM8B variable - Nmodv_maxcdThis module declares and initializes the MAXCD variable - Nmodv_maxjlThis module declares and initializes the MAXJL variable - Nmodv_maxmemThis module declares and initializes the MAXMEM variable - Nmodv_maxmsgThis module declares and initializes the MAXMSG variable - Nmodv_maxncThis module declares and initializes the MAXNC variable - Nmodv_maxssThis module declares and initializes the MAXSS variable - Nmodv_maxtbaThis module declares and initializes the MAXTBA variable - Nmodv_maxtbbThis module declares and initializes the MAXTBB variable - Nmodv_maxtbdThis module declares and initializes the MAXTBD variable - Nmodv_mxbtmThis module declares and initializes the MXBTM variable - Nmodv_mxbtmseThis module declares and initializes the MXBTMSE variable - Nmodv_mxcdvThis module declares and initializes the MXCDV variable - Nmodv_mxcnemThis module declares and initializes the MXCNEM variable - Nmodv_mxcsbThis module declares and initializes the MXCSB variable - Nmodv_mxdxtsThis module declares and initializes the MXDXTS variable - Nmodv_mxh4wlcThis module declares and initializes the MXH4WLC variable - Nmodv_mxlccThis module declares and initializes the MXLCC variable - Nmodv_mxmsglThis module declares and initializes the MXMSGL variable - Nmodv_mxmtbbThis module declares and initializes the MXMTBB variable - Nmodv_mxmtbdThis module declares and initializes the MXMTBD variable - Nmodv_mxmtbfThis module declares and initializes the MXMTBF variable - Nmodv_mxnafThis module declares and initializes the MXNAF variable - Nmodv_mxnrvThis module declares and initializes the MXNRV variable - Nmodv_mxrstThis module declares and initializes the MXRST variable - Nmodv_mxsThis module declares and initializes the MXS variable - Nmodv_mxs01vThis module declares and initializes the MXS01V variable - Nmodv_mxtamcThis module declares and initializes the MXTAMC variable - Nmodv_mxtcoThis module declares and initializes the MXTCO variable - Nmodv_nfilesThis module declares and initializes the NFILES variable - Nshare_table_infoThis module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software + Ccewind_c + Cclosfb_c + Ccpmstabs_c + Ccrdbufr_c + Ccwrbufr_c + Cicvidx_c + Cinittbf_c + Copenab_c + Copenrb_c + Copenwb_c + Crestd_c + Csorttbf_c + Csrchtbf_c + Cstrtbfe_c + Cstseq_c + Nmoda_bitbufDeclare arrays and variables used to store BUFR messages internally for multiple file IDs + Nmoda_bitmapsDeclare arrays and variables used to store bitmaps internally within a data subset definition + Nmoda_bufrmgDeclare arrays used to store, for each output file ID, a copy of the BUFR message that was most recently written to that ID, for possible later retrieval via subroutine writsa() + Nmoda_bufrsrDeclare arrays and variables needed to store the current position within a BUFR file + Nmoda_comprsDeclare arrays and variables needed for the storage of data values needed when writing compressed data subsets to a BUFR message for output + Nmoda_comprxDeclare arrays and variable needed for the storage of data values needed when writing compressed data subsets to a BUFR message for output + Nmoda_dscachDeclare arrays and variables for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages + Nmoda_h4wlcDeclare arrays and variables needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc() + Nmoda_idrdmDeclare an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages + Nmoda_ivalDeclare an array used to pack or unpack all of the values of a BUFR data subset + Nmoda_ivttmpDeclare arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of internal subset buffers where the contents of an evolving BUFR message are accumulated and stored under user control prior to being written out + Nmoda_lushrDeclare an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information + Nmoda_mgwaDeclare an array used by various subroutines and functions to hold a temporary working copy of a BUFR message + Nmoda_mgwbDeclare an array used by various subroutines and functions to hold a temporary working copy of a BUFR message + Nmoda_msgcmpDeclare a variable used to indicate whether output BUFR messages should be compressed + Nmoda_msgcwdDeclare arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each file ID + Nmoda_msglimDeclare an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them + Nmoda_msgmemDeclare arrays and variables used to store the contents of one or more BUFR files within internal memory + Nmoda_msgstdDeclare a variable used to indicate whether output BUFR messages should be standardized + Nmoda_mstabsDeclare arrays and variables used to store master Table B and Table D entries within internal memory + Nmoda_nmikrpDeclare arrays used by various subroutines to hold information about Table D sequences + Nmoda_nrv203Declare arrays and variables for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table + Nmoda_nulbfrDeclare an array used to store a switch for each file ID, indicating whether any BUFR messages should actually be written to the corresponding logical unit + Nmoda_rdmtbDeclare arrays and variables used to store master Table B and Table D entries within internal memory + Nmoda_rlccmnDeclare arrays and variables needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc() + Nmoda_s01cmDeclare arrays and variables used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units + Nmoda_s3listDeclare arrays used by various subroutines and functions to hold a temporary working copy of a Section 3 descriptor list + Nmoda_sc3bfrDeclare an array used to store a switch for each file ID, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables + Nmoda_stbfrDeclare arrays used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf() + Nmoda_stcodeDeclare an array used to store a status code for each file ID if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit + Nmoda_tababdDeclare arrays and variables used to store DX BUFR tables internally for multiple file IDs + Nmoda_tablefDeclare a variable used to indicate whether master code and flag tables should be read + Nmoda_tablesDeclare arrays and variables used to store the internal jump/link table + Nmoda_tnkrcpDeclare variables used to store tank receipt time information within Section 1 of BUFR messages + Nmoda_ufbcplDeclare an array used to store, for each file ID, the logical unit number corresponding to a separate file ID whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy() + Nmoda_unptypDeclare an array used to store, for each file ID from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message + Nmoda_usrbitDeclare arrays for internal storage of pointers to BUFR data subset values + Nmoda_usrintDeclare arrays used to store data values and associated metadata for the current BUFR data subset in scope for each file ID + Nmoda_usrtmpDeclare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays + Nmoda_xtabDeclare an array used to track, for each file ID, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program + Nmodv_vars + Nshare_table_infoThis module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software diff --git a/namespaces_dup.js b/namespaces_dup.js index f3352dfa1..0d9491927 100644 --- a/namespaces_dup.js +++ b/namespaces_dup.js @@ -35,7 +35,6 @@ var namespaces_dup = [ "ireadsb_c", "namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1", null ], [ "isetprm_c", "namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490", null ], [ "istdesc_c", "namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae", null ], - [ "iupb_c", "namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe", null ], [ "iupbs01_c", "namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd", null ], [ "maxout_c", "namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42", null ], [ "mtinfo_c", "namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364", null ], @@ -56,7 +55,6 @@ var namespaces_dup = [ "ufbrep_c", "namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93", null ], [ "ufbseq_c", "namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca", null ], [ "uptdd_c", "namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea", null ], - [ "wrdlen_c", "namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1", null ], [ "irf_f", "namespacebufr__c2f__interface.html#a2efc35235defecb306c8324c0599d0b9", null ], [ "isc_f", "namespacebufr__c2f__interface.html#a2b81bdfdb8a2380ba294b375c67d343a", null ], [ "itp_f", "namespacebufr__c2f__interface.html#a5c0b51f6d15b30a289d69c36e19b1264", null ], @@ -97,41 +95,40 @@ var namespaces_dup = [ "jbay", "namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856", null ], [ "jbit", "namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08", null ], [ "jbyt", "namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07", null ], - [ "jdat", "namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47", null ], [ "jill", "namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06", null ], [ "jimm", "namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c", null ], [ "jmsg", "namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0", null ], - [ "jnod", "namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218", null ], [ "jsr", "namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51", null ], [ "jsub", "namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0", null ], - [ "junn", "namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d", null ], - [ "ksub", "namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6", null ] + [ "junn", "namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d", null ] ] ], [ "moda_comprs", "namespacemoda__comprs.html", [ [ "catx", "namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937", null ], - [ "incr", "namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27", null ], - [ "matx", "namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576", null ], + [ "incr", "namespacemoda__comprs.html#a7e5d5589bde01337616f2527beed519f", null ], + [ "matx", "namespacemoda__comprs.html#ac4fd15b3e268548d17edca4e1e5e5675", null ], [ "ncol", "namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133", null ] ] ], [ "moda_comprx", "namespacemoda__comprx.html", [ [ "cstr", "namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf", null ], [ "flush", "namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7", null ], + [ "imiss", "namespacemoda__comprx.html#a7a0967a79c236a16f1fa11ebb8f99b0f", null ], [ "ityp", "namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522", null ], [ "iwid", "namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808", null ], + [ "jlnode", "namespacemoda__comprx.html#a7caf741d65ff0b68932fa7d207c689ba", null ], [ "kbit", "namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147", null ], [ "kbyt", "namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8", null ], - [ "kmax", "namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71", null ], - [ "kmin", "namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732", null ], + [ "kmax", "namespacemoda__comprx.html#a7c3104f9c9731b91a8a105bcc5212542", null ], + [ "kmin", "namespacemoda__comprx.html#af3c2aa97661a37d85840d480e611695e", null ], [ "kmis", "namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1", null ], [ "lunc", "namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3", null ], [ "nrow", "namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561", null ], [ "writ1", "namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02", null ] ] ], [ "moda_dscach", "namespacemoda__dscach.html", [ - [ "cnem", "namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a", null ], - [ "idcach", "namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3", null ], + [ "cnem", "namespacemoda__dscach.html#a141173c549e506cd4637af33c4efdece", null ], + [ "idcach", "namespacemoda__dscach.html#ab79409e1e5c6d8e2542bac564283a5ef", null ], [ "ncnem", "namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6", null ], - [ "ndc", "namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c", null ] + [ "ndc", "namespacemoda__dscach.html#abbb9e570ae869b4abdf6e18c14475485", null ] ] ], [ "moda_h4wlc", "namespacemoda__h4wlc.html", [ [ "chh4wlc", "namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75", null ], @@ -143,7 +140,7 @@ var namespaces_dup = [ "idrdm", "namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6", null ] ] ], [ "moda_ival", "namespacemoda__ival.html", [ - [ "ival", "namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58", null ] + [ "ival", "namespacemoda__ival.html#a354161b574c84bfd3401bc0b287335c7", null ] ] ], [ "moda_ivttmp", "namespacemoda__ivttmp.html", [ [ "itmp", "namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785", null ], @@ -159,6 +156,9 @@ var namespaces_dup = [ "moda_mgwb", "namespacemoda__mgwb.html", [ [ "mgwb", "namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa", null ] ] ], + [ "moda_msgcmp", "namespacemoda__msgcmp.html", [ + [ "ccmf", "namespacemoda__msgcmp.html#a748ff156e2c817957765b05119f74270", null ] + ] ], [ "moda_msgcwd", "namespacemoda__msgcwd.html", [ [ "idate", "namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b", null ], [ "inode", "namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa", null ], @@ -186,6 +186,9 @@ var namespaces_dup = [ "ndxm", "namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637", null ], [ "ndxts", "namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23", null ] ] ], + [ "moda_msgstd", "namespacemoda__msgstd.html", [ + [ "csmf", "namespacemoda__msgstd.html#a23356dfd7172ae4d2ff05d657234d6ab", null ] + ] ], [ "moda_mstabs", "namespacemoda__mstabs.html", [ [ "cbbw", "namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a", null ], [ "cbelem", "namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7", null ], @@ -237,6 +240,10 @@ var namespaces_dup = [ "ivmnem", "namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655", null ], [ "ns01v", "namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888", null ] ] ], + [ "moda_s3list", "namespacemoda__s3list.html", [ + [ "cds3", "namespacemoda__s3list.html#a2ceee9741718460b614f37fb6b976259", null ], + [ "ids3", "namespacemoda__s3list.html#a07f44b4772abffacaba7e9be5fbb7fda", null ] + ] ], [ "moda_sc3bfr", "namespacemoda__sc3bfr.html", [ [ "isc3", "namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a", null ], [ "tamnem", "namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584", null ] @@ -260,6 +267,9 @@ var namespaces_dup = [ "tabb", "namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c", null ], [ "tabd", "namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c", null ] ] ], + [ "moda_tablef", "namespacemoda__tablef.html", [ + [ "cdmf", "namespacemoda__tablef.html#a61847a8129d1a6c6909c2ea4727d67f6", null ] + ] ], [ "moda_tables", "namespacemoda__tables.html", [ [ "ibt", "namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2", null ], [ "irf", "namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599", null ], @@ -272,12 +282,19 @@ var namespaces_dup = [ "knt", "namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b", null ], [ "knti", "namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3", null ], [ "link", "namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c", null ], - [ "maxtab", "namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2", null ], [ "ntab", "namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc", null ], [ "tag", "namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4", null ], [ "typ", "namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c", null ], [ "vali", "namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed", null ] ] ], + [ "moda_tnkrcp", "namespacemoda__tnkrcp.html", [ + [ "ctrt", "namespacemoda__tnkrcp.html#aba2ec73dacc32807332a7c1e38468f38", null ], + [ "itrdy", "namespacemoda__tnkrcp.html#a97f45bd4e10b6016c9ef17bbd0efc2ca", null ], + [ "itrhr", "namespacemoda__tnkrcp.html#a12d35afcaacac53905061f928377d92b", null ], + [ "itrmi", "namespacemoda__tnkrcp.html#aceb65be824d657fa109be2d9059a3a2b", null ], + [ "itrmo", "namespacemoda__tnkrcp.html#af081362974b0ae4f5be67c4bea20bae6", null ], + [ "itryr", "namespacemoda__tnkrcp.html#a3f402734944f1438bc986b0d877a0bd7", null ] + ] ], [ "moda_ufbcpl", "namespacemoda__ufbcpl.html", [ [ "luncpy", "namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf", null ] ] ], @@ -301,102 +318,53 @@ var namespaces_dup = [ "moda_xtab", "namespacemoda__xtab.html", [ [ "xtab", "namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d", null ] ] ], - [ "modv_bmiss", "namespacemodv__bmiss.html", [ - [ "bmiss", "namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519", null ] - ] ], - [ "modv_ifopbf", "namespacemodv__ifopbf.html", [ - [ "ifopbf", "namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71", null ] - ] ], - [ "modv_im8b", "namespacemodv__im8b.html", [ - [ "im8b", "namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af", null ] - ] ], - [ "modv_maxcd", "namespacemodv__maxcd.html", [ - [ "maxcd", "namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8", null ] - ] ], - [ "modv_maxjl", "namespacemodv__maxjl.html", [ - [ "maxjl", "namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61", null ] - ] ], - [ "modv_maxmem", "namespacemodv__maxmem.html", [ - [ "maxmem", "namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1", null ] - ] ], - [ "modv_maxmsg", "namespacemodv__maxmsg.html", [ - [ "maxmsg", "namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46", null ] - ] ], - [ "modv_maxnc", "namespacemodv__maxnc.html", [ - [ "maxnc", "namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e", null ] - ] ], - [ "modv_maxss", "namespacemodv__maxss.html", [ - [ "maxss", "namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2", null ] - ] ], - [ "modv_maxtba", "namespacemodv__maxtba.html", [ - [ "maxtba", "namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a", null ] - ] ], - [ "modv_maxtbb", "namespacemodv__maxtbb.html", [ - [ "maxtbb", "namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2", null ] - ] ], - [ "modv_maxtbd", "namespacemodv__maxtbd.html", [ - [ "maxtbd", "namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0", null ] - ] ], - [ "modv_mxbtm", "namespacemodv__mxbtm.html", [ - [ "mxbtm", "namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f", null ] - ] ], - [ "modv_mxbtmse", "namespacemodv__mxbtmse.html", [ - [ "mxbtmse", "namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac", null ] - ] ], - [ "modv_mxcdv", "namespacemodv__mxcdv.html", [ - [ "mxcdv", "namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7", null ] - ] ], - [ "modv_mxcnem", "namespacemodv__mxcnem.html", [ - [ "mxcnem", "namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3", null ] - ] ], - [ "modv_mxcsb", "namespacemodv__mxcsb.html", [ - [ "mxcsb", "namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c", null ] - ] ], - [ "modv_mxdxts", "namespacemodv__mxdxts.html", [ - [ "mxdxts", "namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884", null ] - ] ], - [ "modv_mxh4wlc", "namespacemodv__mxh4wlc.html", [ - [ "mxh4wlc", "namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886", null ] - ] ], - [ "modv_mxlcc", "namespacemodv__mxlcc.html", [ - [ "mxlcc", "namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af", null ] - ] ], - [ "modv_mxmsgl", "namespacemodv__mxmsgl.html", [ - [ "mxmsgl", "namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc", null ], - [ "mxmsgld4", "namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9", null ] - ] ], - [ "modv_mxmtbb", "namespacemodv__mxmtbb.html", [ - [ "mxmtbb", "namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139", null ] - ] ], - [ "modv_mxmtbd", "namespacemodv__mxmtbd.html", [ - [ "mxmtbd", "namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea", null ] - ] ], - [ "modv_mxmtbf", "namespacemodv__mxmtbf.html", [ - [ "mxmtbf", "namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363", null ] - ] ], - [ "modv_mxnaf", "namespacemodv__mxnaf.html", [ - [ "mxnaf", "namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e", null ] - ] ], - [ "modv_mxnrv", "namespacemodv__mxnrv.html", [ - [ "mxnrv", "namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050", null ] - ] ], - [ "modv_mxrst", "namespacemodv__mxrst.html", [ - [ "mxrst", "namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97", null ] - ] ], - [ "modv_mxs", "namespacemodv__mxs.html", [ - [ "mxs", "namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375", null ] - ] ], - [ "modv_mxs01v", "namespacemodv__mxs01v.html", [ - [ "mxs01v", "namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51", null ] - ] ], - [ "modv_mxtamc", "namespacemodv__mxtamc.html", [ - [ "mxtamc", "namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11", null ] - ] ], - [ "modv_mxtco", "namespacemodv__mxtco.html", [ - [ "mxtco", "namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81", null ] - ] ], - [ "modv_nfiles", "namespacemodv__nfiles.html", [ - [ "nfiles", "namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3", null ] + [ "modv_vars", null, [ + [ "adsn", "modules__vars_8F90.html#a7a129734d8b06649619e8e9ee42eca62", null ], + [ "bmiss", "modules__vars_8F90.html#a745e8be4bf52246db47090996854736b", null ], + [ "iac", "modules__vars_8F90.html#a7db5428bb409dc91391908e3f6005da0", null ], + [ "iblock", "modules__vars_8F90.html#a8623e746f63272cf61b014607d998345", null ], + [ "idnr", "modules__vars_8F90.html#a181516c96f53bedb9774c83ebfeb0a23", null ], + [ "ifopbf", "modules__vars_8F90.html#a6007e8a5d98440d7bb16ce63bbf007e6", null ], + [ "im8b", "modules__vars_8F90.html#a4ff59bf9f9ee31e187bf7f8ecb61f4dd", null ], + [ "iordbe", "modules__vars_8F90.html#a2588ca33cb30f0316759c9ca7735bbb3", null ], + [ "iordle", "modules__vars_8F90.html#a7376f8406ce5e5e420d4d012aea93416", null ], + [ "lendat", "modules__vars_8F90.html#a9776bd15698bdb2c211a2326f0ca61dc", null ], + [ "lens", "modules__vars_8F90.html#a3eaffbddfb28ae6f90cff4ec580463c1", null ], + [ "maxcd", "modules__vars_8F90.html#ae8a681bd9096d6c9a2466b3c71f6ec7e", null ], + [ "maxjl", "modules__vars_8F90.html#ad2e54a398ee4fd5c87669a2883e7a37d", null ], + [ "maxmem", "modules__vars_8F90.html#ab5934a6a2f8cd3e09418203c1d3c20de", null ], + [ "maxmsg", "modules__vars_8F90.html#a61162c966b964b3039b9180818d0e7ee", null ], + [ "maxnc", "modules__vars_8F90.html#a6c14025516cc65ace5f17fc2c4e4a9a3", null ], + [ "maxrcr", "modules__vars_8F90.html#a656c690a79e927a6d824a1e8cef901e9", null ], + [ "maxss", "modules__vars_8F90.html#adaae2c5fadf243ece139cc7e84688d75", null ], + [ "maxtba", "modules__vars_8F90.html#aec19b6418a5d88f574f4b196b93a5cf5", null ], + [ "maxtbb", "modules__vars_8F90.html#a14452fc0317594bd880c9abba582ae74", null ], + [ "maxtbd", "modules__vars_8F90.html#ab5fc7a78bb32e9a0fa7cbb1f402e7528", null ], + [ "mxbtm", "modules__vars_8F90.html#a9c06e9ba0f47cbeecfb1e6d1972e1e4f", null ], + [ "mxbtmse", "modules__vars_8F90.html#aa7b24da237033a528cb05754d5736cc6", null ], + [ "mxcdv", "modules__vars_8F90.html#ae330052e2bcc0a81949c5ef8d6e7cc9e", null ], + [ "mxcnem", "modules__vars_8F90.html#ad5cda585f8b55a9e6e3a81808c23630f", null ], + [ "mxcsb", "modules__vars_8F90.html#a6780f1f07eeec5333e01ca17588f7d39", null ], + [ "mxdxts", "modules__vars_8F90.html#a179ebe33ab923f74ef05e2851a86d33b", null ], + [ "mxh4wlc", "modules__vars_8F90.html#a59f64f9f847d2171ecac822482b2f0a9", null ], + [ "mxlcc", "modules__vars_8F90.html#a739ea87803beaa51dd172adb95af9b86", null ], + [ "mxmsgl", "modules__vars_8F90.html#a6062176c0f51fa9f593310f46cc14fe0", null ], + [ "mxmsgld4", "modules__vars_8F90.html#a5a89be3220392c5b182d4d475d22e3e1", null ], + [ "mxmtbb", "modules__vars_8F90.html#ab2c78405872b159e107674c2fc2a12f7", null ], + [ "mxmtbd", "modules__vars_8F90.html#ae0bf7b02df4e070e72a90672e3eded90", null ], + [ "mxmtbf", "modules__vars_8F90.html#a9242cd091e5ab5d3956740035f6b6207", null ], + [ "mxnaf", "modules__vars_8F90.html#a7b92c0b0ed1fb2b80b048414fa1e54ce", null ], + [ "mxnrv", "modules__vars_8F90.html#a009fea23b90695d1556e33a557d4b7f1", null ], + [ "mxrst", "modules__vars_8F90.html#ae2e923a33b968adc577317f6cef8f24e", null ], + [ "mxs", "modules__vars_8F90.html#a695fe6ca7714604e88e1fc4d21cc839d", null ], + [ "mxs01v", "modules__vars_8F90.html#a61b398d330ce6937423db44f080b93fd", null ], + [ "mxtamc", "modules__vars_8F90.html#a85bed6c0b0a9aa339abd8fb7b3a136b5", null ], + [ "mxtco", "modules__vars_8F90.html#a68ea76a4751743e58280e061b43313e7", null ], + [ "nbitw", "modules__vars_8F90.html#a18a87ef02ab98d62e7fa272b20acd77a", null ], + [ "nbytw", "modules__vars_8F90.html#a2b80f794fded7bf159ff58796ec31a7c", null ], + [ "nfiles", "modules__vars_8F90.html#aa9124552f5c640e47f8decc9499688d8", null ], + [ "reps", "modules__vars_8F90.html#a5b163d0f13c16e94bdac566d2495faf7", null ], + [ "typs", "modules__vars_8F90.html#a9d4bd8b03fd20102645f0a43d8867bff", null ] ] ], [ "share_table_info", "namespaceshare__table__info.html", [ [ "ltbd", "namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c", null ], diff --git a/namespaceshare__table__info.html b/namespaceshare__table__info.html index 898b8ca3e..a8124e4a4 100644 --- a/namespaceshare__table__info.html +++ b/namespaceshare__table__info.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -89,7 +89,7 @@
                                                              -

                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software. +

                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software. More...

                                                              @@ -105,7 +105,7 @@

                                                               

                                                              Detailed Description

                                                              -

                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.

                                                              +

                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.

                                                              Author
                                                              J. Ator
                                                              Date
                                                              2009-07-01

                                                              Variable Documentation

                                                              diff --git a/navtreedata.js b/navtreedata.js index 569fae4dc..00e517187 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -26,11 +26,11 @@ var NAVTREE = [ [ "NCEPLIBS-bufr", "index.html", [ [ "DX BUFR Tables", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html", [ - [ "Documentation for Previous Versions of NCEPLIBS-bufr", "index.html#autotoc_md62", null ], - [ "Documentation for the Python API for NCEPLIBS-bufr", "index.html#autotoc_md63", null ], - [ "Introduction", "index.html#autotoc_md64", null ], - [ "The BUFR Format", "index.html#autotoc_md65", null ], - [ "NCEPLIBS-bufr Library Subroutines and Functions", "index.html#autotoc_md66", null ], + [ "Documentation for Previous Versions of NCEPLIBS-bufr", "index.html#autotoc_md63", null ], + [ "Documentation for the Python API for NCEPLIBS-bufr", "index.html#autotoc_md64", null ], + [ "Introduction", "index.html#autotoc_md65", null ], + [ "The BUFR Format", "index.html#autotoc_md66", null ], + [ "NCEPLIBS-bufr Library Subroutines and Functions", "index.html#autotoc_md67", null ], [ "Mnemonics", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html#autotoc_md1", null ], [ "DX BUFR Tables File", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html#autotoc_md2", [ [ "Section 1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html#autotoc_md3", null ], @@ -45,67 +45,69 @@ var NAVTREE = [ "Code/Flag Tables", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html#autotoc_md10", null ] ] ], [ "Release Notes", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html", [ - [ "Version 12.0.1 - September 15, 2023", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md12", null ], - [ "Version 12.0.0 - June 8, 2023", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md13", null ], - [ "Version 11.7.1 - August 26, 2022", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md14", null ], - [ "Version 11.7.0 - May 19, 2022", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md15", null ], - [ "Version 11.6.0 - November 10, 2021", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md16", null ], - [ "Version 11.5.0 - April 26, 2021", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md17", null ], - [ "Version 11.4.0 - November 20, 2020", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md18", null ], - [ "Version 11.3.2 - July 16, 2020", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md19", null ], - [ "Version 11.3.1 - March 3, 2020", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md20", null ], - [ "Version 11.3.0 - May 21, 2019", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md21", null ], - [ "Version 11.2.0 - April 11, 2017", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md22", null ], - [ "Version 11.1.0 - April 27, 2016", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md23", null ], - [ "Version 11.0.2", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md24", null ], - [ "Version 11.0.1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md25", null ], - [ "Version 11.0.0 - April 27, 2015", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md26", null ], - [ "Version 10.2.5", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md27", null ], - [ "Version 10.2.4", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md28", null ], - [ "Version 10.2.3 - June 21, 2013", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md29", null ], - [ "Version 10.2.2", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md30", null ], - [ "Version 10.2.1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md31", null ], - [ "Version 10.2.0 - October 19, 2012", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md32", null ], - [ "Version 10.1.0 - June 11, 2012", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md33", null ], - [ "Version 10.0.1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md34", null ], - [ "Version 10.0.0 - August 12, 2010", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md35", null ], - [ "May 28, 2008", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md36", null ], - [ "February 6, 2007", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md37", null ], - [ "January 31, 2006", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md38", null ], - [ "December 21, 2004", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md39", null ], - [ "November 4, 2003", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md40", null ], - [ "May 19, 2003", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md41", null ], - [ "May 14, 2002", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md42", null ], - [ "August 15, 2001", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md43", null ], - [ "September 19, 2000", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md44", null ], - [ "July 13, 1999", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md45", null ], - [ "December 14, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md46", null ], - [ "November 24, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md47", null ], - [ "October 27, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md48", null ], - [ "August 31, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md49", null ], - [ "July 8, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md50", null ], - [ "April 2, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md51", null ], - [ "September 3, 1997", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md52", null ], - [ "July 29, 1997", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md53", null ], - [ "December 17, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md54", null ], - [ "December 11, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md55", null ], - [ "November 25, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md56", null ], - [ "October 9, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md57", null ], - [ "September 9, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md58", null ], - [ "June 28, 1995", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md59", null ], - [ "January 10, 1995", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md60", null ], - [ "Original Implementation of BUFR Archive Library - January 6, 1994", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md61", null ] + [ "Version 12.1.0 - July 10, 2024", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md12", null ], + [ "Version 12.0.1 - September 15, 2023", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md13", null ], + [ "Version 12.0.0 - June 8, 2023", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md14", null ], + [ "Version 11.7.1 - August 26, 2022", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md15", null ], + [ "Version 11.7.0 - May 19, 2022", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md16", null ], + [ "Version 11.6.0 - November 10, 2021", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md17", null ], + [ "Version 11.5.0 - April 26, 2021", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md18", null ], + [ "Version 11.4.0 - November 20, 2020", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md19", null ], + [ "Version 11.3.2 - July 16, 2020", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md20", null ], + [ "Version 11.3.1 - March 3, 2020", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md21", null ], + [ "Version 11.3.0 - May 21, 2019", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md22", null ], + [ "Version 11.2.0 - April 11, 2017", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md23", null ], + [ "Version 11.1.0 - April 27, 2016", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md24", null ], + [ "Version 11.0.2", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md25", null ], + [ "Version 11.0.1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md26", null ], + [ "Version 11.0.0 - April 27, 2015", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md27", null ], + [ "Version 10.2.5", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md28", null ], + [ "Version 10.2.4", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md29", null ], + [ "Version 10.2.3 - June 21, 2013", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md30", null ], + [ "Version 10.2.2", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md31", null ], + [ "Version 10.2.1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md32", null ], + [ "Version 10.2.0 - October 19, 2012", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md33", null ], + [ "Version 10.1.0 - June 11, 2012", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md34", null ], + [ "Version 10.0.1", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md35", null ], + [ "Version 10.0.0 - August 12, 2010", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md36", null ], + [ "May 28, 2008", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md37", null ], + [ "February 6, 2007", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md38", null ], + [ "January 31, 2006", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md39", null ], + [ "December 21, 2004", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md40", null ], + [ "November 4, 2003", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md41", null ], + [ "May 19, 2003", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md42", null ], + [ "May 14, 2002", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md43", null ], + [ "August 15, 2001", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md44", null ], + [ "September 19, 2000", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md45", null ], + [ "July 13, 1999", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md46", null ], + [ "December 14, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md47", null ], + [ "November 24, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md48", null ], + [ "October 27, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md49", null ], + [ "August 31, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md50", null ], + [ "July 8, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md51", null ], + [ "April 2, 1998", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md52", null ], + [ "September 3, 1997", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md53", null ], + [ "July 29, 1997", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md54", null ], + [ "December 17, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md55", null ], + [ "December 11, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md56", null ], + [ "November 25, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md57", null ], + [ "October 9, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md58", null ], + [ "September 9, 1996", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md59", null ], + [ "June 28, 1995", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md60", null ], + [ "January 10, 1995", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md61", null ], + [ "Original Implementation of BUFR Archive Library - January 6, 1994", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md62", null ] ] ], [ "Utilities", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html", [ - [ "debufr", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md69", null ], - [ "readbp", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md71", null ], - [ "readmp", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md73", null ], - [ "binv", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md75", null ], - [ "sinv", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md77", null ], - [ "cmpbqm", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md79", null ], - [ "gettab", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md81", null ], - [ "split_by_subset", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md83", null ], - [ "xbfmg", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md85", null ] + [ "debufr", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md70", null ], + [ "readbp", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md72", null ], + [ "readmp", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md74", null ], + [ "binv", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md76", null ], + [ "sinv", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md78", null ], + [ "cmpbqm", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md80", null ], + [ "gettab", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md82", null ], + [ "split_by_subset", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md84", null ], + [ "xbfmg", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md86", null ], + [ "apxdx", "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md88", null ] ] ], [ "Modules", "namespaces.html", [ [ "Modules List", "namespaces.html", "namespaces_dup" ], @@ -136,14 +138,12 @@ var NAVTREE = var NAVTREEINDEX = [ -"adn30_8f.html", -"copymg_8f.html", -"inctab_8f.html", -"modules__arrs_8F90.html#a225d75cc454938f8da4ed39857ff2c5c", -"namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7", -"namespacemoda__usrtmp.html", -"readsb_8f_source.html", -"xbfmg_8c_source.html" +"annotated.html", +"cread_8c.html#ad5429d7ed327f515c880227bb795162b", +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md40", +"modules__arrs_8F90.html#afcc556a5fac9b693f0be507fafccf973", +"namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3", +"readwriteval_8F90.html#aecfa08f631e1af46b472c007b93b2955" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/navtreeindex0.js b/navtreeindex0.js index eabdfc249..79a400e28 100644 --- a/navtreeindex0.js +++ b/navtreeindex0.js @@ -1,253 +1,253 @@ var NAVTREEINDEX0 = { -"adn30_8f.html":[6,0,0], -"adn30_8f.html#a1e96adbf45bd49facbf0ef30ae375db4":[6,0,0,0], -"adn30_8f_source.html":[6,0,0], "annotated.html":[5,0], +"apxdx_8F90.html":[6,0,0], +"apxdx_8F90.html#ae072f0fa8326c098de4e6dfe2deef450":[6,0,0,0], +"apxdx_8F90_source.html":[6,0,0], "arallocc_8c.html":[6,0,1], "arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28":[6,0,1,1], "arallocc_8c.html#a99a030277b9ff412087d1e599de3f730":[6,0,1,0], +"arallocc_8c.html#ac283516a1391fee0635b01beffdad7cb":[6,0,1,2], "arallocc_8c_source.html":[6,0,1], -"arallocf_8f.html":[6,0,2], -"arallocf_8f.html#a2b64630033a9306be25da1f6b28d913f":[6,0,2,0], -"arallocf_8f_source.html":[6,0,2], -"ardllocc_8c.html":[6,0,3], -"ardllocc_8c.html#ac283516a1391fee0635b01beffdad7cb":[6,0,3,0], -"ardllocc_8c_source.html":[6,0,3], -"ardllocf_8f.html":[6,0,4], -"ardllocf_8f.html#a7b3e4d5498fedd9e94ac45b69fc04b58":[6,0,4,0], -"ardllocf_8f_source.html":[6,0,4], -"atrcpt_8f.html":[6,0,5], -"atrcpt_8f.html#aa3ebac87755e88a9f03f5e9fddda7760":[6,0,5,0], -"atrcpt_8f_source.html":[6,0,5], -"bfrini_8f90.html":[6,0,6], -"bfrini_8f90.html#ab3f045cc170403305543e34e30b87001":[6,0,6,0], -"bfrini_8f90_source.html":[6,0,6], -"binv_8f90.html":[6,0,7], -"binv_8f90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5":[6,0,7,0], -"binv_8f90_source.html":[6,0,7], -"blocks_8f.html":[6,0,8], -"blocks_8f.html#a58e616c094fc6ddcdf5e33554105c3d4":[6,0,8,0], -"blocks_8f_source.html":[6,0,8], -"bort2_8f.html":[6,0,10], -"bort2_8f.html#a50f605cc96a22ffce20206c2d254b9c3":[6,0,10,0], -"bort2_8f_source.html":[6,0,10], -"bort_8f.html":[6,0,9], -"bort_8f.html#a488d3a8cf930fb592a9fdaefcfa04ac4":[6,0,9,0], -"bort_8f_source.html":[6,0,9], -"bort__exit_8c.html":[6,0,11], -"bort__exit_8c.html#a0f6c0efb4e258f8dc7550620b2536b60":[6,0,11,0], -"bort__exit_8c_source.html":[6,0,11], -"bufr__c2f__interface_8F90.html":[6,0,12], -"bufr__c2f__interface_8F90.html#a020cf7bcf489ecc2ade71dfa4b7db102":[6,0,12,14], -"bufr__c2f__interface_8F90.html#a05ac8542818be260a3c1dc15d5dc2f53":[6,0,12,43], -"bufr__c2f__interface_8F90.html#a081831085335c5a2d1a60040bf4a68b6":[6,0,12,23], -"bufr__c2f__interface_8F90.html#a124b885560b4d31170993c7921f55503":[6,0,12,18], -"bufr__c2f__interface_8F90.html#a139959903905b228c3228e3b3a09e025":[6,0,12,7], -"bufr__c2f__interface_8F90.html#a1c04fd789a555e4a08d798172a07b2e6":[6,0,12,49], -"bufr__c2f__interface_8F90.html#a233844a8f03de391d28d20a7bd5d8ef0":[6,0,12,48], -"bufr__c2f__interface_8F90.html#a2b81bdfdb8a2380ba294b375c67d343a":[6,0,12,57], -"bufr__c2f__interface_8F90.html#a2efc35235defecb306c8324c0599d0b9":[6,0,12,56], -"bufr__c2f__interface_8F90.html#a31bb70cc0fe1b242d4dee68ed843391b":[6,0,12,29], -"bufr__c2f__interface_8F90.html#a32a449b5c117d53b4b4374dd0e8bea8b":[6,0,12,26], -"bufr__c2f__interface_8F90.html#a3ac93c0105f2d2e934b5fa1f6581c02d":[6,0,12,4], -"bufr__c2f__interface_8F90.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3":[6,0,12,5], -"bufr__c2f__interface_8F90.html#a415acfb9ec053e0ef1a931b0eac2ee4a":[6,0,12,60], -"bufr__c2f__interface_8F90.html#a437d60612140092ed5cea7516b5b093c":[6,0,12,22], -"bufr__c2f__interface_8F90.html#a4d3f0201945123b06c7d198065cf2f67":[6,0,12,51], -"bufr__c2f__interface_8F90.html#a550c1c61605eca9fa6cf04aba7612364":[6,0,12,37], -"bufr__c2f__interface_8F90.html#a558946e761c0246444bcd3c2fcdcb37e":[6,0,12,25], -"bufr__c2f__interface_8F90.html#a57a1b4956a89ed60a934a02d4140eb93":[6,0,12,52], -"bufr__c2f__interface_8F90.html#a583019d0b109031d8f8aedb4d48e2afd":[6,0,12,35], -"bufr__c2f__interface_8F90.html#a5b9e80deaefcabb2b18ecbf55cbc2c55":[6,0,12,39], -"bufr__c2f__interface_8F90.html#a5c0b51f6d15b30a289d69c36e19b1264":[6,0,12,58], -"bufr__c2f__interface_8F90.html#a5fc80078fb40ff91f250dbb9edb247ab":[6,0,12,10], -"bufr__c2f__interface_8F90.html#a606519361d6b6db6e153fd809387399d":[6,0,12,27], -"bufr__c2f__interface_8F90.html#a60f38d89e2da19b4396ca8c3ec8ffff6":[6,0,12,12], -"bufr__c2f__interface_8F90.html#a6515df3d0f5fdcccd422fcac3b2f700a":[6,0,12,19], -"bufr__c2f__interface_8F90.html#a6a463f38336dcbedb5f125a242f69eb5":[6,0,12,3], -"bufr__c2f__interface_8F90.html#a6a97fe37e5caced81c5c6b769644832d":[6,0,12,44], -"bufr__c2f__interface_8F90.html#a70b99a494d9f5ef152ec115a139b1c1f":[6,0,12,0], -"bufr__c2f__interface_8F90.html#a7968999c9eda822f79eec9178762a2ae":[6,0,12,33], -"bufr__c2f__interface_8F90.html#a7c95d71e3921bb7093e56dbc458de10c":[6,0,12,2], -"bufr__c2f__interface_8F90.html#a7ee256962a48d99336f255aad04abf48":[6,0,12,38], -"bufr__c2f__interface_8F90.html#a86ce772b48d76dc923f9ae87dfd44102":[6,0,12,20], -"bufr__c2f__interface_8F90.html#a89153453f5db4c56685d3b309a517da7":[6,0,12,30], -"bufr__c2f__interface_8F90.html#a9a8d8f66405c9b1679e92e0d908877e0":[6,0,12,46], -"bufr__c2f__interface_8F90.html#a9f5656efe692227be66cfc8e50e24241":[6,0,12,9], -"bufr__c2f__interface_8F90.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea":[6,0,12,54], -"bufr__c2f__interface_8F90.html#aa7df2e3f4575affeab5df95d00aad75f":[6,0,12,28], -"bufr__c2f__interface_8F90.html#aa7f319cef617f458cbaf40cdeea42d42":[6,0,12,36], -"bufr__c2f__interface_8F90.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f":[6,0,12,16], -"bufr__c2f__interface_8F90.html#aad56de517eff0435b805addbf0692f44":[6,0,12,45], -"bufr__c2f__interface_8F90.html#ab1ced3757361e769756fee2f722de32f":[6,0,12,11], -"bufr__c2f__interface_8F90.html#ab653ca4701372fddd02deddbd1b8d88e":[6,0,12,8], -"bufr__c2f__interface_8F90.html#ab70a5dfe76eb5f9bce5015c3bce3bf64":[6,0,12,42], -"bufr__c2f__interface_8F90.html#ac07a6f6ec1555c09041853d4c81081e9":[6,0,12,40], -"bufr__c2f__interface_8F90.html#ac349c058a2cd324d8cfe5a85ebf2acb1":[6,0,12,31], -"bufr__c2f__interface_8F90.html#ac9e08232d75383f1f64a36b9834598c9":[6,0,12,17], -"bufr__c2f__interface_8F90.html#acc6413f0b94cba90a23f594d70e11291":[6,0,12,6], -"bufr__c2f__interface_8F90.html#acce5eddf8c8e56d5b47d45251ac75abc":[6,0,12,47], -"bufr__c2f__interface_8F90.html#acd15fc54e3efbf1964f4216b8a2065fe":[6,0,12,34], -"bufr__c2f__interface_8F90.html#acf751dae4f6ef06f7340984fc5f0bec1":[6,0,12,55], -"bufr__c2f__interface_8F90.html#ad1dcef9962b409b6448c928d0dfb9490":[6,0,12,32], -"bufr__c2f__interface_8F90.html#ad33aa8215beed2cd017faf769a7a2dc2":[6,0,12,61], -"bufr__c2f__interface_8F90.html#ad5ac970a71d7050263e85a2e17d11cf6":[6,0,12,59], -"bufr__c2f__interface_8F90.html#adc050cbf79f756c7db30f7c4c6b129a0":[6,0,12,1], -"bufr__c2f__interface_8F90.html#adffb9acbdd17d4ef3f35baee918c733d":[6,0,12,15], -"bufr__c2f__interface_8F90.html#ae352def57bda0cd117486a03a8594cf2":[6,0,12,41], -"bufr__c2f__interface_8F90.html#aea7e3ac1560fbe3760ff6c4c3f72b78b":[6,0,12,62], -"bufr__c2f__interface_8F90.html#af0b721af91340e7a261e8014455bd6ca":[6,0,12,53], -"bufr__c2f__interface_8F90.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb":[6,0,12,24], -"bufr__c2f__interface_8F90.html#af73382fa68e368c201131fd89d1be252":[6,0,12,13], -"bufr__c2f__interface_8F90.html#af7e6742b654813bd1922947049c42a54":[6,0,12,21], -"bufr__c2f__interface_8F90.html#af9137b87796fbc3395e596227515c4f2":[6,0,12,50], -"bufr__c2f__interface_8F90_source.html":[6,0,12], -"bufr__interface_8F90.html":[6,0,13], -"bufr__interface_8F90_source.html":[6,0,13], -"bufr__interface_8h.html":[6,0,14], -"bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a":[6,0,14,2], -"bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e":[6,0,14,15], -"bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c":[6,0,14,27], -"bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb":[6,0,14,23], -"bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce":[6,0,14,41], -"bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2":[6,0,14,17], -"bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d":[6,0,14,10], -"bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d":[6,0,14,5], -"bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d":[6,0,14,7], -"bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1":[6,0,14,20], -"bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f":[6,0,14,28], -"bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16":[6,0,14,42], -"bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4":[6,0,14,22], -"bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3":[6,0,14,29], -"bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb":[6,0,14,26], -"bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788":[6,0,14,36], -"bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca":[6,0,14,18], -"bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992":[6,0,14,11], -"bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f":[6,0,14,32], -"bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d":[6,0,14,39], -"bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3":[6,0,14,19], -"bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88":[6,0,14,16], -"bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048":[6,0,14,6], -"bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96":[6,0,14,24], -"bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c":[6,0,14,21], -"bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e":[6,0,14,13], -"bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e":[6,0,14,30], -"bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c":[6,0,14,31], -"bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe":[6,0,14,37], -"bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249":[6,0,14,3], -"bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802":[6,0,14,1], -"bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075":[6,0,14,40], -"bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97":[6,0,14,38], -"bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f":[6,0,14,25], -"bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6":[6,0,14,9], -"bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b":[6,0,14,34], -"bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0":[6,0,14,35], -"bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426":[6,0,14,8], -"bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c":[6,0,14,33], -"bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b":[6,0,14,0], -"bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5":[6,0,14,12], -"bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3":[6,0,14,14], -"bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128":[6,0,14,4], -"bufr__interface_8h_source.html":[6,0,14], -"bufrlib_8F90.html":[6,0,15], -"bufrlib_8F90_source.html":[6,0,15], -"bufrlib_8h.html":[6,0,16], -"bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0":[6,0,16,10], -"bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2":[6,0,16,25], -"bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9":[6,0,16,16], -"bufrlib_8h.html#a080eec815db985d32c88720a303f53c4":[6,0,16,40], -"bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60":[6,0,16,14], -"bufrlib_8h.html#a320fb202c17784943f8223593c9123dd":[6,0,16,0], -"bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c":[6,0,16,21], -"bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47":[6,0,16,26], -"bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f":[6,0,16,6], -"bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a":[6,0,16,29], -"bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447":[6,0,16,15], -"bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40":[6,0,16,37], -"bufrlib_8h.html#a51b267f0e740902752570c1847b99f14":[6,0,16,8], -"bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f":[6,0,16,35], -"bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b":[6,0,16,4], -"bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b":[6,0,16,18], -"bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c":[6,0,16,5], -"bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc":[6,0,16,19], -"bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78":[6,0,16,30], -"bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69":[6,0,16,9], -"bufrlib_8h.html#a95bc32869561911e9ca020628802edc5":[6,0,16,20], -"bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28":[6,0,16,11], -"bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24":[6,0,16,23], -"bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3":[6,0,16,2], -"bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c":[6,0,16,34], -"bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e":[6,0,16,32], -"bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11":[6,0,16,36], -"bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0":[6,0,16,7], -"bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69":[6,0,16,31], -"bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858":[6,0,16,1], -"bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38":[6,0,16,22], -"bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc":[6,0,16,28], -"bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb":[6,0,16,12], -"bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187":[6,0,16,33], -"bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131":[6,0,16,24], -"bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b":[6,0,16,13], -"bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997":[6,0,16,39], -"bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510":[6,0,16,3], -"bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b":[6,0,16,38], -"bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d":[6,0,16,27], -"bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a":[6,0,16,17], -"bufrlib_8h_source.html":[6,0,16], -"bvers_8f.html":[6,0,17], -"bvers_8f.html#a210e17eb5b254e38f27e129304d4eae7":[6,0,17,0], -"bvers_8f_source.html":[6,0,17], -"cadn30_8f.html":[6,0,18], -"cadn30_8f.html#a62b50a0be6585c53b6604953e5f39ad1":[6,0,18,0], -"cadn30_8f_source.html":[6,0,18], -"capit_8f.html":[6,0,19], -"capit_8f.html#acade976948fae8afa1a8301ff9272f56":[6,0,19,0], -"capit_8f_source.html":[6,0,19], -"cfe_8c.html":[6,0,20], -"cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583":[6,0,20,3], -"cfe_8c.html#a54e09962aa43b61717212a2702be33c8":[6,0,20,2], -"cfe_8c.html#a655e9465dd48c1e8a068b4689748e509":[6,0,20,0], -"cfe_8c.html#a7211d196317c36365a40a128875d5041":[6,0,20,1], -"cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e":[6,0,20,4], -"cfe_8c.html#aba549e6acf16abcbe89193cb72d94287":[6,0,20,6], -"cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16":[6,0,20,8], -"cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2":[6,0,20,9], -"cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76":[6,0,20,7], -"cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b":[6,0,20,10], -"cfe_8c.html#af9bdd990bf256341aa36e1f0611132de":[6,0,20,5], -"cfe_8c_source.html":[6,0,20], -"chekstab_8f.html":[6,0,21], -"chekstab_8f.html#aab7a156a89f4b58d3ef31ab946485e50":[6,0,21,0], -"chekstab_8f_source.html":[6,0,21], -"cktaba_8f.html":[6,0,22], -"cktaba_8f.html#a137108e58830be769ba5b28072cf1b4c":[6,0,22,0], -"cktaba_8f_source.html":[6,0,22], -"closbf_8f.html":[6,0,23], -"closbf_8f.html#ad55dd3a551ae12718de0ac459c8f45c0":[6,0,23,0], -"closbf_8f_source.html":[6,0,23], -"closmg_8f.html":[6,0,24], -"closmg_8f.html#a613caf939b486d5820aad9111383921b":[6,0,24,0], -"closmg_8f_source.html":[6,0,24], -"cmpbqm_8F90.html":[6,0,25], -"cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da":[6,0,25,0], -"cmpbqm_8F90_source.html":[6,0,25], -"cmpmsg_8f.html":[6,0,26], -"cmpmsg_8f.html#a75b2d1dfd1dedb519205399a8087fd56":[6,0,26,0], -"cmpmsg_8f_source.html":[6,0,26], -"cmsgini_8f.html":[6,0,27], -"cmsgini_8f.html#ace74c243976a7546e92121317b36f9de":[6,0,27,0], -"cmsgini_8f_source.html":[6,0,27], -"cnved4_8f.html":[6,0,28], -"cnved4_8f.html#a7d89a1cf9282ca0f978a4da923369226":[6,0,28,0], -"cnved4_8f_source.html":[6,0,28], -"codflg_8f.html":[6,0,29], -"codflg_8f.html#af415643ef31f484c879e7a770fa69ff9":[6,0,29,0], -"codflg_8f_source.html":[6,0,29], -"conwin_8f.html":[6,0,30], -"conwin_8f.html#a550d792705db407874c5eedd94a603aa":[6,0,30,0], -"conwin_8f_source.html":[6,0,30], -"copybf_8f.html":[6,0,31], -"copybf_8f.html#a598d71f903b83187540ce568459cd8a0":[6,0,31,0], -"copybf_8f_source.html":[6,0,31] +"arallocf_8F90.html":[6,0,2], +"arallocf_8F90.html#a222fe99cf2ad84fe3166a498ef20c9ce":[6,0,2,3], +"arallocf_8F90.html#a2b64630033a9306be25da1f6b28d913f":[6,0,2,0], +"arallocf_8F90.html#a355f094d616febcea2820cf547cbff8e":[6,0,2,2], +"arallocf_8F90.html#a4a77f5d91e7900692757350632f71ff0":[6,0,2,4], +"arallocf_8F90.html#a7b3e4d5498fedd9e94ac45b69fc04b58":[6,0,2,1], +"arallocf_8F90_source.html":[6,0,2], +"binv_8F90.html":[6,0,3], +"binv_8F90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5":[6,0,3,0], +"binv_8F90_source.html":[6,0,3], +"bitmaps_8F90.html":[6,0,4], +"bitmaps_8F90.html#a2dd600ba6cd71e06a19d88956337781b":[6,0,4,1], +"bitmaps_8F90.html#a81f55f4b1f740f3ac6e3f56ee0a06dee":[6,0,4,3], +"bitmaps_8F90.html#a867a81be072effc2a9d2de0d6031e264":[6,0,4,0], +"bitmaps_8F90.html#ad95571bf5308d6b64163d3bcc7ea3512":[6,0,4,2], +"bitmaps_8F90_source.html":[6,0,4], +"blocks_8F90.html":[6,0,5], +"blocks_8F90.html#a540b970b11e7da5147889d566c49b681":[6,0,5,0], +"blocks_8F90.html#a552eedeacbddeccff86792eb99dad12f":[6,0,5,1], +"blocks_8F90_source.html":[6,0,5], +"borts_8F90.html":[6,0,6], +"borts_8F90.html#adc4659c5e9171f22248cf61e054ddd17":[6,0,6,0], +"borts_8F90.html#afef28b5a86909cc8999fad7d98b11f00":[6,0,6,1], +"borts_8F90_source.html":[6,0,6], +"bufr__c2f__interface_8F90.html":[6,0,7], +"bufr__c2f__interface_8F90.html#a020cf7bcf489ecc2ade71dfa4b7db102":[6,0,7,14], +"bufr__c2f__interface_8F90.html#a05ac8542818be260a3c1dc15d5dc2f53":[6,0,7,42], +"bufr__c2f__interface_8F90.html#a081831085335c5a2d1a60040bf4a68b6":[6,0,7,23], +"bufr__c2f__interface_8F90.html#a124b885560b4d31170993c7921f55503":[6,0,7,18], +"bufr__c2f__interface_8F90.html#a139959903905b228c3228e3b3a09e025":[6,0,7,7], +"bufr__c2f__interface_8F90.html#a1c04fd789a555e4a08d798172a07b2e6":[6,0,7,48], +"bufr__c2f__interface_8F90.html#a233844a8f03de391d28d20a7bd5d8ef0":[6,0,7,47], +"bufr__c2f__interface_8F90.html#a2b81bdfdb8a2380ba294b375c67d343a":[6,0,7,55], +"bufr__c2f__interface_8F90.html#a2efc35235defecb306c8324c0599d0b9":[6,0,7,54], +"bufr__c2f__interface_8F90.html#a31bb70cc0fe1b242d4dee68ed843391b":[6,0,7,29], +"bufr__c2f__interface_8F90.html#a32a449b5c117d53b4b4374dd0e8bea8b":[6,0,7,26], +"bufr__c2f__interface_8F90.html#a3ac93c0105f2d2e934b5fa1f6581c02d":[6,0,7,4], +"bufr__c2f__interface_8F90.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3":[6,0,7,5], +"bufr__c2f__interface_8F90.html#a415acfb9ec053e0ef1a931b0eac2ee4a":[6,0,7,58], +"bufr__c2f__interface_8F90.html#a437d60612140092ed5cea7516b5b093c":[6,0,7,22], +"bufr__c2f__interface_8F90.html#a4d3f0201945123b06c7d198065cf2f67":[6,0,7,50], +"bufr__c2f__interface_8F90.html#a550c1c61605eca9fa6cf04aba7612364":[6,0,7,36], +"bufr__c2f__interface_8F90.html#a558946e761c0246444bcd3c2fcdcb37e":[6,0,7,25], +"bufr__c2f__interface_8F90.html#a57a1b4956a89ed60a934a02d4140eb93":[6,0,7,51], +"bufr__c2f__interface_8F90.html#a583019d0b109031d8f8aedb4d48e2afd":[6,0,7,34], +"bufr__c2f__interface_8F90.html#a5b9e80deaefcabb2b18ecbf55cbc2c55":[6,0,7,38], +"bufr__c2f__interface_8F90.html#a5c0b51f6d15b30a289d69c36e19b1264":[6,0,7,56], +"bufr__c2f__interface_8F90.html#a5fc80078fb40ff91f250dbb9edb247ab":[6,0,7,10], +"bufr__c2f__interface_8F90.html#a606519361d6b6db6e153fd809387399d":[6,0,7,27], +"bufr__c2f__interface_8F90.html#a60f38d89e2da19b4396ca8c3ec8ffff6":[6,0,7,12], +"bufr__c2f__interface_8F90.html#a6515df3d0f5fdcccd422fcac3b2f700a":[6,0,7,19], +"bufr__c2f__interface_8F90.html#a6a463f38336dcbedb5f125a242f69eb5":[6,0,7,3], +"bufr__c2f__interface_8F90.html#a6a97fe37e5caced81c5c6b769644832d":[6,0,7,43], +"bufr__c2f__interface_8F90.html#a70b99a494d9f5ef152ec115a139b1c1f":[6,0,7,0], +"bufr__c2f__interface_8F90.html#a7968999c9eda822f79eec9178762a2ae":[6,0,7,33], +"bufr__c2f__interface_8F90.html#a7c95d71e3921bb7093e56dbc458de10c":[6,0,7,2], +"bufr__c2f__interface_8F90.html#a7ee256962a48d99336f255aad04abf48":[6,0,7,37], +"bufr__c2f__interface_8F90.html#a86ce772b48d76dc923f9ae87dfd44102":[6,0,7,20], +"bufr__c2f__interface_8F90.html#a89153453f5db4c56685d3b309a517da7":[6,0,7,30], +"bufr__c2f__interface_8F90.html#a9a8d8f66405c9b1679e92e0d908877e0":[6,0,7,45], +"bufr__c2f__interface_8F90.html#a9f5656efe692227be66cfc8e50e24241":[6,0,7,9], +"bufr__c2f__interface_8F90.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea":[6,0,7,53], +"bufr__c2f__interface_8F90.html#aa7df2e3f4575affeab5df95d00aad75f":[6,0,7,28], +"bufr__c2f__interface_8F90.html#aa7f319cef617f458cbaf40cdeea42d42":[6,0,7,35], +"bufr__c2f__interface_8F90.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f":[6,0,7,16], +"bufr__c2f__interface_8F90.html#aad56de517eff0435b805addbf0692f44":[6,0,7,44], +"bufr__c2f__interface_8F90.html#ab1ced3757361e769756fee2f722de32f":[6,0,7,11], +"bufr__c2f__interface_8F90.html#ab653ca4701372fddd02deddbd1b8d88e":[6,0,7,8], +"bufr__c2f__interface_8F90.html#ab70a5dfe76eb5f9bce5015c3bce3bf64":[6,0,7,41], +"bufr__c2f__interface_8F90.html#ac07a6f6ec1555c09041853d4c81081e9":[6,0,7,39], +"bufr__c2f__interface_8F90.html#ac349c058a2cd324d8cfe5a85ebf2acb1":[6,0,7,31], +"bufr__c2f__interface_8F90.html#ac9e08232d75383f1f64a36b9834598c9":[6,0,7,17], +"bufr__c2f__interface_8F90.html#acc6413f0b94cba90a23f594d70e11291":[6,0,7,6], +"bufr__c2f__interface_8F90.html#acce5eddf8c8e56d5b47d45251ac75abc":[6,0,7,46], +"bufr__c2f__interface_8F90.html#ad1dcef9962b409b6448c928d0dfb9490":[6,0,7,32], +"bufr__c2f__interface_8F90.html#ad33aa8215beed2cd017faf769a7a2dc2":[6,0,7,59], +"bufr__c2f__interface_8F90.html#ad5ac970a71d7050263e85a2e17d11cf6":[6,0,7,57], +"bufr__c2f__interface_8F90.html#adc050cbf79f756c7db30f7c4c6b129a0":[6,0,7,1], +"bufr__c2f__interface_8F90.html#adffb9acbdd17d4ef3f35baee918c733d":[6,0,7,15], +"bufr__c2f__interface_8F90.html#ae352def57bda0cd117486a03a8594cf2":[6,0,7,40], +"bufr__c2f__interface_8F90.html#aea7e3ac1560fbe3760ff6c4c3f72b78b":[6,0,7,60], +"bufr__c2f__interface_8F90.html#af0b721af91340e7a261e8014455bd6ca":[6,0,7,52], +"bufr__c2f__interface_8F90.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb":[6,0,7,24], +"bufr__c2f__interface_8F90.html#af73382fa68e368c201131fd89d1be252":[6,0,7,13], +"bufr__c2f__interface_8F90.html#af7e6742b654813bd1922947049c42a54":[6,0,7,21], +"bufr__c2f__interface_8F90.html#af9137b87796fbc3395e596227515c4f2":[6,0,7,49], +"bufr__c2f__interface_8F90_source.html":[6,0,7], +"bufr__interface_8F90.html":[6,0,8], +"bufr__interface_8F90_source.html":[6,0,8], +"bufr__interface_8h.html":[6,0,9], +"bufr__interface_8h.html#a016503c090a3f1ecdac526a2e8f696b0":[6,0,9,0], +"bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a":[6,0,9,3], +"bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e":[6,0,9,16], +"bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c":[6,0,9,28], +"bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb":[6,0,9,24], +"bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce":[6,0,9,42], +"bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2":[6,0,9,18], +"bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d":[6,0,9,11], +"bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d":[6,0,9,6], +"bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d":[6,0,9,8], +"bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1":[6,0,9,21], +"bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f":[6,0,9,29], +"bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16":[6,0,9,43], +"bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4":[6,0,9,23], +"bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3":[6,0,9,30], +"bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb":[6,0,9,27], +"bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788":[6,0,9,37], +"bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca":[6,0,9,19], +"bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992":[6,0,9,12], +"bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f":[6,0,9,33], +"bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d":[6,0,9,40], +"bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3":[6,0,9,20], +"bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88":[6,0,9,17], +"bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048":[6,0,9,7], +"bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96":[6,0,9,25], +"bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c":[6,0,9,22], +"bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e":[6,0,9,14], +"bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e":[6,0,9,31], +"bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c":[6,0,9,32], +"bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe":[6,0,9,38], +"bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249":[6,0,9,4], +"bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802":[6,0,9,2], +"bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075":[6,0,9,41], +"bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97":[6,0,9,39], +"bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f":[6,0,9,26], +"bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6":[6,0,9,10], +"bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b":[6,0,9,35], +"bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0":[6,0,9,36], +"bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426":[6,0,9,9], +"bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c":[6,0,9,34], +"bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b":[6,0,9,1], +"bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5":[6,0,9,13], +"bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3":[6,0,9,15], +"bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128":[6,0,9,5], +"bufr__interface_8h_source.html":[6,0,9], +"bufrlib_8F90.html":[6,0,10], +"bufrlib_8F90_source.html":[6,0,10], +"bufrlib_8h.html":[6,0,11], +"bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2":[6,0,11,19], +"bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9":[6,0,11,10], +"bufrlib_8h.html#a320fb202c17784943f8223593c9123dd":[6,0,11,0], +"bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c":[6,0,11,15], +"bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47":[6,0,11,20], +"bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a":[6,0,11,22], +"bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447":[6,0,11,9], +"bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40":[6,0,11,30], +"bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f":[6,0,11,28], +"bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b":[6,0,11,2], +"bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b":[6,0,11,12], +"bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c":[6,0,11,3], +"bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc":[6,0,11,13], +"bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78":[6,0,11,23], +"bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69":[6,0,11,5], +"bufrlib_8h.html#a95bc32869561911e9ca020628802edc5":[6,0,11,14], +"bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28":[6,0,11,6], +"bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24":[6,0,11,17], +"bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c":[6,0,11,27], +"bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e":[6,0,11,25], +"bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11":[6,0,11,29], +"bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0":[6,0,11,4], +"bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69":[6,0,11,24], +"bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858":[6,0,11,1], +"bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38":[6,0,11,16], +"bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb":[6,0,11,7], +"bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187":[6,0,11,26], +"bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131":[6,0,11,18], +"bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b":[6,0,11,8], +"bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b":[6,0,11,31], +"bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d":[6,0,11,21], +"bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a":[6,0,11,11], +"bufrlib_8h_source.html":[6,0,11], +"cfe_8c.html":[6,0,12], +"cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583":[6,0,12,3], +"cfe_8c.html#a54e09962aa43b61717212a2702be33c8":[6,0,12,2], +"cfe_8c.html#a655e9465dd48c1e8a068b4689748e509":[6,0,12,0], +"cfe_8c.html#a7211d196317c36365a40a128875d5041":[6,0,12,1], +"cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e":[6,0,12,4], +"cfe_8c.html#aba549e6acf16abcbe89193cb72d94287":[6,0,12,6], +"cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16":[6,0,12,8], +"cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2":[6,0,12,9], +"cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76":[6,0,12,7], +"cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b":[6,0,12,10], +"cfe_8c.html#af9bdd990bf256341aa36e1f0611132de":[6,0,12,5], +"cfe_8c_source.html":[6,0,12], +"cftbvs_8F90.html":[6,0,13], +"cftbvs_8F90.html#a46efecc01f463c64fe193b800fff9a35":[6,0,13,1], +"cftbvs_8F90.html#aa1388284ca8a4e435989e8a6eb551935":[6,0,13,2], +"cftbvs_8F90.html#abf6e01afd6c876d1319e25f9d591315b":[6,0,13,3], +"cftbvs_8F90.html#ac7a8caa03ed8a2ac40a541762ca7e917":[6,0,13,4], +"cftbvs_8F90.html#af113e7ee7e2023cd466c2b28616cd64a":[6,0,13,0], +"cftbvs_8F90_source.html":[6,0,13], +"cidecode_8F90.html":[6,0,14], +"cidecode_8F90.html#a07dda20577f7480095dff261d11241f8":[6,0,14,3], +"cidecode_8F90.html#a243e1ab84f5a36179c0ac05056574257":[6,0,14,5], +"cidecode_8F90.html#a25ce428c1ae2bcb567fc2762fabf4317":[6,0,14,4], +"cidecode_8F90.html#a414b81ace5368c9bb43fdd19442ebaa5":[6,0,14,7], +"cidecode_8F90.html#a73f371d0af1f65ff546e0484ee97238f":[6,0,14,0], +"cidecode_8F90.html#a79f34b3a9df0eedb64115bca8c65ebaa":[6,0,14,1], +"cidecode_8F90.html#a9934a3d9c66ea78c7c132066798583f9":[6,0,14,2], +"cidecode_8F90.html#afef1c199ce8e69b085435b74d68cd337":[6,0,14,6], +"cidecode_8F90_source.html":[6,0,14], +"ciencode_8F90.html":[6,0,15], +"ciencode_8F90.html#a52ae4b28f79718d9b6631d2f7a5a7160":[6,0,15,4], +"ciencode_8F90.html#a7501045242bc6174585e20be99d3d269":[6,0,15,1], +"ciencode_8F90.html#a8e976b63f679f03590d7c3cb5b5dee59":[6,0,15,0], +"ciencode_8F90.html#a8f795cd39c8f939b486407c65d8959c0":[6,0,15,2], +"ciencode_8F90.html#ad41a6d2e1a35c122af15bbc6dffe8eaa":[6,0,15,3], +"ciencode_8F90_source.html":[6,0,15], +"cmpbqm_8F90.html":[6,0,16], +"cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da":[6,0,16,0], +"cmpbqm_8F90_source.html":[6,0,16], +"compress_8F90.html":[6,0,17], +"compress_8F90.html#a1cb1b8bdef41e7ff3420a543e590fde8":[6,0,17,2], +"compress_8F90.html#a3475e3a5a5079d96f47d2e49db98a1a6":[6,0,17,1], +"compress_8F90.html#a52810a80e6afe9d44c454fe1c81a7f81":[6,0,17,4], +"compress_8F90.html#a6936aeb7f52ecaaa76047564005946d9":[6,0,17,3], +"compress_8F90.html#a8d1905b269c7cd75ff1a451a0550a84e":[6,0,17,0], +"compress_8F90_source.html":[6,0,17], +"copydata_8F90.html":[6,0,18], +"copydata_8F90.html#a23f9925bf37d99fd855fd80cf5750ee2":[6,0,18,7], +"copydata_8F90.html#a31b6d67aacae28998cab9d130d39e7a2":[6,0,18,6], +"copydata_8F90.html#a352b4ac3adf31bada79d4d8672f0b800":[6,0,18,3], +"copydata_8F90.html#a4ced98b23d03cd8718d81b357ee4e2c5":[6,0,18,8], +"copydata_8F90.html#a6df688983642d7845688aba3819c847e":[6,0,18,0], +"copydata_8F90.html#a6ec0c8f23e362f62f78ba314d6fa8f33":[6,0,18,10], +"copydata_8F90.html#a81eba6ff34f0a5020bf311ccf24d8efc":[6,0,18,2], +"copydata_8F90.html#a9441a5be99c4a359ce4f2798037a2ea1":[6,0,18,5], +"copydata_8F90.html#ad102179380a6543e1ec7af4c1ba1fdde":[6,0,18,4], +"copydata_8F90.html#aed892e851f07fc9bf94a2c58c809c09c":[6,0,18,9], +"copydata_8F90.html#aedfe2559c1f9c59ec85c11993b378e7e":[6,0,18,1], +"copydata_8F90_source.html":[6,0,18], +"cpmstabs_8c.html":[6,0,19], +"cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c":[6,0,19,0], +"cpmstabs_8c_source.html":[6,0,19], +"cread_8c.html":[6,0,20], +"cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b":[6,0,20,2], +"cread_8c.html#a8b09f32462059d646e44ea6098a08edc":[6,0,20,3], +"cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78":[6,0,20,5], +"cread_8c.html#a95bc32869561911e9ca020628802edc5":[6,0,20,4], +"cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e":[6,0,20,7], +"cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69":[6,0,20,6] }; diff --git a/navtreeindex1.js b/navtreeindex1.js index 17b247e9c..39ce8a6a8 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -1,145 +1,84 @@ var NAVTREEINDEX1 = { -"copymg_8f.html":[6,0,32], -"copymg_8f.html#a2f6e668a0784a60fa7aa078d10223590":[6,0,32,0], -"copymg_8f_source.html":[6,0,32], -"copysb_8f.html":[6,0,33], -"copysb_8f.html#a7982baa3c1084a33dfa8aec297782978":[6,0,33,0], -"copysb_8f_source.html":[6,0,33], -"cpbfdx_8f.html":[6,0,34], -"cpbfdx_8f.html#a3ab4a857b6a0b1e03f6cb2058712279a":[6,0,34,0], -"cpbfdx_8f_source.html":[6,0,34], -"cpdxmm_8f.html":[6,0,35], -"cpdxmm_8f.html#a48f353028fb8bf77255b4dae476b9da7":[6,0,35,0], -"cpdxmm_8f_source.html":[6,0,35], -"cpmstabs_8c.html":[6,0,36], -"cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c":[6,0,36,0], -"cpmstabs_8c_source.html":[6,0,36], -"cpymem_8f.html":[6,0,37], -"cpymem_8f.html#abf683322bb0f02c5fe1d2aed27c997a9":[6,0,37,0], -"cpymem_8f_source.html":[6,0,37], -"cpyupd_8f.html":[6,0,38], -"cpyupd_8f.html#a129651d2e47b6c8986c1fc4dd73d87c9":[6,0,38,0], -"cpyupd_8f_source.html":[6,0,38], -"cread_8c.html":[6,0,39], -"cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b":[6,0,39,2], -"cread_8c.html#a8b09f32462059d646e44ea6098a08edc":[6,0,39,3], -"cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78":[6,0,39,5], -"cread_8c.html#a95bc32869561911e9ca020628802edc5":[6,0,39,4], -"cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e":[6,0,39,7], -"cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69":[6,0,39,6], -"cread_8c.html#ad5429d7ed327f515c880227bb795162b":[6,0,39,0], -"cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a":[6,0,39,1], -"cread_8c_source.html":[6,0,39], -"cread_8h.html":[6,0,40], -"cread_8h.html#a58db779a0b3c7250a119069bd2e5106c":[6,0,40,1], -"cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0":[6,0,40,0], -"cread_8h_source.html":[6,0,40], -"crwbmg_8c.html":[6,0,41], -"crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d":[6,0,41,2], -"crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d":[6,0,41,4], -"crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae":[6,0,41,5], -"crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048":[6,0,41,3], -"crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802":[6,0,41,1], -"crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692":[6,0,41,0], -"crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193":[6,0,41,6], -"crwbmg_8c_source.html":[6,0,41], -"datebf_8f.html":[6,0,42], -"datebf_8f.html#ad2a5fe76a797b9a857c7eba08f161dda":[6,0,42,0], -"datebf_8f_source.html":[6,0,42], -"datelen_8f.html":[6,0,43], -"datelen_8f.html#a2b79b38439baa89e2b34b0614449d579":[6,0,43,0], -"datelen_8f_source.html":[6,0,43], -"debufr_8F90.html":[6,0,45], -"debufr_8F90.html#a88fbe3e8e14e3810e1dc3f1560d1c51f":[6,0,45,3], -"debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89":[6,0,45,1], -"debufr_8F90.html#a9cb558bc60eed8b777532f56fff8a08c":[6,0,45,2], -"debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b":[6,0,45,0], -"debufr_8F90.html#ad7e71b6c16362d8d65d97662bcdd7d02":[6,0,45,4], -"debufr_8F90_source.html":[6,0,45], -"debufr_8c.html":[6,0,44], -"debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97":[6,0,44,1], -"debufr_8c.html#a54cbb8b652032605c043b18a134cd85d":[6,0,44,2], -"debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6":[6,0,44,0], -"debufr_8c_source.html":[6,0,44], -"digit_8f.html":[6,0,46], -"digit_8f.html#a794db0c45d8412136ea5cd66506c9ec2":[6,0,46,0], -"digit_8f_source.html":[6,0,46], -"drfini_8f.html":[6,0,47], -"drfini_8f.html#a22bf08213641695f90d64c04429064a8":[6,0,47,0], -"drfini_8f_source.html":[6,0,47], -"drstpl_8f.html":[6,0,48], -"drstpl_8f.html#a665ed582f0160b2112ca37fe79457d5f":[6,0,48,0], -"drstpl_8f_source.html":[6,0,48], -"dumpbf_8f.html":[6,0,49], -"dumpbf_8f.html#a8c87e3d6aa6b01c5ca52fd57d7095826":[6,0,49,0], -"dumpbf_8f_source.html":[6,0,49], -"dxdump_8f.html":[6,0,50], -"dxdump_8f.html#a42bdc5a58d0586fd8e9bc1b755602aeb":[6,0,50,0], -"dxdump_8f_source.html":[6,0,50], -"dxinit_8f.html":[6,0,51], -"dxinit_8f.html#a5a104b88a6655ba06336b2c8ab7fb98e":[6,0,51,0], -"dxinit_8f_source.html":[6,0,51], -"dxmini_8f.html":[6,0,52], -"dxmini_8f.html#af50329e45cba835812b5522f4516f558":[6,0,52,0], -"dxmini_8f_source.html":[6,0,52], -"elemdx_8f.html":[6,0,53], -"elemdx_8f.html#adfd6de0f5d3b01918ea50186bf208a2d":[6,0,53,0], -"elemdx_8f_source.html":[6,0,53], -"errwrt_8f.html":[6,0,54], -"errwrt_8f.html#a65626d9a772648676146b62b596c2764":[6,0,54,0], -"errwrt_8f_source.html":[6,0,54], -"exitbufr_8f.html":[6,0,55], -"exitbufr_8f.html#acd1669ed5957ebab6c98ac974b2a1bf8":[6,0,55,0], -"exitbufr_8f_source.html":[6,0,55], +"cread_8c.html#ad5429d7ed327f515c880227bb795162b":[6,0,20,0], +"cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a":[6,0,20,1], +"cread_8c_source.html":[6,0,20], +"cread_8h.html":[6,0,21], +"cread_8h.html#a58db779a0b3c7250a119069bd2e5106c":[6,0,21,1], +"cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0":[6,0,21,0], +"cread_8h_source.html":[6,0,21], +"crwbmg_8c.html":[6,0,22], +"crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d":[6,0,22,2], +"crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d":[6,0,22,4], +"crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae":[6,0,22,5], +"crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048":[6,0,22,3], +"crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802":[6,0,22,1], +"crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692":[6,0,22,0], +"crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193":[6,0,22,6], +"crwbmg_8c_source.html":[6,0,22], +"debufr_8F90.html":[6,0,24], +"debufr_8F90.html#a88fbe3e8e14e3810e1dc3f1560d1c51f":[6,0,24,3], +"debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89":[6,0,24,1], +"debufr_8F90.html#a9cb558bc60eed8b777532f56fff8a08c":[6,0,24,2], +"debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b":[6,0,24,0], +"debufr_8F90.html#ad7e71b6c16362d8d65d97662bcdd7d02":[6,0,24,4], +"debufr_8F90_source.html":[6,0,24], +"debufr_8c.html":[6,0,23], +"debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97":[6,0,23,1], +"debufr_8c.html#a54cbb8b652032605c043b18a134cd85d":[6,0,23,2], +"debufr_8c.html#a834922eb8174316cd235a552c2456279":[6,0,23,0], +"debufr_8c_source.html":[6,0,23], +"dumpdata_8F90.html":[6,0,25], +"dumpdata_8F90.html#a20fa33f6e0fcb0816c4b070c73362539":[6,0,25,3], +"dumpdata_8F90.html#aa267dbf23e18a201eec17e2fa48238d7":[6,0,25,1], +"dumpdata_8F90.html#ac693ae3d5af0a71505d5f9305c86fdb8":[6,0,25,0], +"dumpdata_8F90.html#ad4fdbfc4ae3890133d9204a881541a1a":[6,0,25,2], +"dumpdata_8F90_source.html":[6,0,25], +"dxtable_8F90.html":[6,0,26], +"dxtable_8F90.html#a0669d7561ae99961babcdb2022073052":[6,0,26,2], +"dxtable_8F90.html#a21fa5817ff8a6f471dca950fbaa693ba":[6,0,26,8], +"dxtable_8F90.html#a30167b1b9b52074ad5db11d45665d551":[6,0,26,1], +"dxtable_8F90.html#a36f644b9119ebf87f957bfe023e5cc45":[6,0,26,6], +"dxtable_8F90.html#a3c5a3be625c365b782f36c0cb772ae35":[6,0,26,13], +"dxtable_8F90.html#a437a4acba1f5e0b3173da0cafc101e9c":[6,0,26,15], +"dxtable_8F90.html#a591d4a2752e5c69299905fb910f7fcc7":[6,0,26,16], +"dxtable_8F90.html#a81ea6d2408950b5728790bc8f8c80261":[6,0,26,21], +"dxtable_8F90.html#a8ea33660d62d74dee92cf7bf9541c1cd":[6,0,26,7], +"dxtable_8F90.html#aa0b7269b3a7df645e6917bfd4ba72b32":[6,0,26,9], +"dxtable_8F90.html#aaa433680a14847a3fd64a6fa1b877211":[6,0,26,18], +"dxtable_8F90.html#aae6295132b2eb71f969417879832ed47":[6,0,26,11], +"dxtable_8F90.html#ac0b4a9cb7d5c89dfe084698b9bb4042e":[6,0,26,19], +"dxtable_8F90.html#ac59d8db430cbb1cbe7ced7ebc386ef4a":[6,0,26,17], +"dxtable_8F90.html#ac8141d6ac66d21c3fd2be3251a6a40c3":[6,0,26,22], +"dxtable_8F90.html#ad6352a1c1fdec4ba0adb0173781e4542":[6,0,26,5], +"dxtable_8F90.html#ad7abde76f89f036b69d944c260fbe2d4":[6,0,26,4], +"dxtable_8F90.html#adc51a45a8d628c17cd4d749733df506b":[6,0,26,14], +"dxtable_8F90.html#ae1a2a7cf7f60579fa9e9399a25f4930b":[6,0,26,0], +"dxtable_8F90.html#ae672eaf27f17dc904b894f347d89c233":[6,0,26,10], +"dxtable_8F90.html#aea259cd399ca3121a66475a2ea73ec65":[6,0,26,3], +"dxtable_8F90.html#aeec2544ee0e0d8587c6687cda7023e54":[6,0,26,20], +"dxtable_8F90.html#aef89e4de1387c4bcdeda0a64e8c6d308":[6,0,26,12], +"dxtable_8F90_source.html":[6,0,26], +"errwrt_8F90.html":[6,0,27], +"errwrt_8F90.html#a9c4c22af6c77235db8ddd7f41594f543":[6,0,27,0], +"errwrt_8F90_source.html":[6,0,27], "files.html":[6,0], -"fortran__close_8F90.html":[6,0,56], -"fortran__close_8F90.html#aa585324fae3ecf559d6f39507dde6715":[6,0,56,0], -"fortran__close_8F90_source.html":[6,0,56], -"fortran__open_8F90.html":[6,0,57], -"fortran__open_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a":[6,0,57,0], -"fortran__open_8F90_source.html":[6,0,57], -"fstag_8f.html":[6,0,58], -"fstag_8f.html#a4086d332625381684867dd7ec13a20e5":[6,0,58,0], -"fstag_8f_source.html":[6,0,58], "functions.html":[5,1,0], "functions_func.html":[5,1,1], -"getabdb_8f.html":[6,0,59], -"getabdb_8f.html#a5a224df0ff920fff5ce7adc7a78ccf39":[6,0,59,0], -"getabdb_8f_source.html":[6,0,59], -"getbmiss_8f.html":[6,0,60], -"getbmiss_8f.html#ab344899ae36140147a28f17ec36649d4":[6,0,60,0], -"getbmiss_8f_source.html":[6,0,60], -"getcfmng_8f.html":[6,0,61], -"getcfmng_8f.html#a79cc79e9e059a171f8d55fcc481b6f17":[6,0,61,0], -"getcfmng_8f_source.html":[6,0,61], -"getlens_8f.html":[6,0,62], -"getlens_8f.html#a685789badbea7a0251067101a43b1379":[6,0,62,0], -"getlens_8f_source.html":[6,0,62], -"getntbe_8f.html":[6,0,63], -"getntbe_8f.html#a114eb13cc332b1a370f5d4bc81b43417":[6,0,63,0], -"getntbe_8f_source.html":[6,0,63], -"gets1loc_8f.html":[6,0,64], -"gets1loc_8f.html#a9d00101f324f421d08d82185bd6bda5a":[6,0,64,0], -"gets1loc_8f_source.html":[6,0,64], -"gettab_8f90.html":[6,0,65], -"gettab_8f90.html#ac9eda42ec8bf46baae0a4f34cd517813":[6,0,65,0], -"gettab_8f90_source.html":[6,0,65], -"gettagpr_8f.html":[6,0,66], -"gettagpr_8f.html#afa95ba65c1f04061bcc67bfc42f2591e":[6,0,66,0], -"gettagpr_8f_source.html":[6,0,66], -"gettagre_8f.html":[6,0,67], -"gettagre_8f.html#ac403696207f08e85eb2cbfdb2260d8c8":[6,0,67,0], -"gettagre_8f_source.html":[6,0,67], -"gettbh_8f.html":[6,0,68], -"gettbh_8f.html#afdf05d8351efc21966d1667b09e397e3":[6,0,68,0], -"gettbh_8f_source.html":[6,0,68], -"getvalnb_8f.html":[6,0,69], -"getvalnb_8f.html#a64c2899499c1da1b24ee62414eaf4ad6":[6,0,69,0], -"getvalnb_8f_source.html":[6,0,69], -"getwin_8f.html":[6,0,70], -"getwin_8f.html#a379c23a5975d8a605b4747586726f5b1":[6,0,70,0], -"getwin_8f_source.html":[6,0,70], +"fxy_8F90.html":[6,0,28], +"fxy_8F90.html#a01efa3bb871b451a8d53bd6d841bb297":[6,0,28,5], +"fxy_8F90.html#a11357abe01c36dc3472be03e950e8fe3":[6,0,28,6], +"fxy_8F90.html#a438b8634d4f1308ee086a8f323662d2c":[6,0,28,1], +"fxy_8F90.html#ab6ec8c0148ab5d70923831667277b14e":[6,0,28,7], +"fxy_8F90.html#ac17b9bb050c7279594284b063390dc55":[6,0,28,2], +"fxy_8F90.html#aca1fae67e284131dfd240d2336e3e77d":[6,0,28,8], +"fxy_8F90.html#ad6db7a4654e1d26530c1fe4bdfb29ad9":[6,0,28,4], +"fxy_8F90.html#ae3b70fcfea3c6201ad415fad4c4d375e":[6,0,28,3], +"fxy_8F90.html#af1ec2f8fc15418f1238413201f3e075c":[6,0,28,0], +"fxy_8F90_source.html":[6,0,28], +"gettab_8F90.html":[6,0,29], +"gettab_8F90.html#ac9eda42ec8bf46baae0a4f34cd517813":[6,0,29,0], +"gettab_8F90_source.html":[6,0,29], "globals.html":[6,1,0], "globals.html":[6,1,0,0], "globals_b.html":[6,1,0,1], @@ -187,67 +126,128 @@ var NAVTREEINDEX1 = "globals_vars.html":[6,1,2], "globals_w.html":[6,1,0,20], "globals_x.html":[6,1,0,21], -"hold4wlc_8f.html":[6,0,71], -"hold4wlc_8f.html#a91458ffa3b29d47b043110a8e87ddf50":[6,0,71,0], -"hold4wlc_8f_source.html":[6,0,71], -"i4dy_8f.html":[6,0,72], -"i4dy_8f.html#a69dc21255ba388e6aad80e812971f9a2":[6,0,72,0], -"i4dy_8f_source.html":[6,0,72], -"ibfms_8f.html":[6,0,73], -"ibfms_8f.html#a0f7ba3ed6f17e76d912b4f13ea70967e":[6,0,73,0], -"ibfms_8f_source.html":[6,0,73], -"icbfms_8f.html":[6,0,74], -"icbfms_8f.html#af741f019421045a66605fb0bf993e69a":[6,0,74,0], -"icbfms_8f_source.html":[6,0,74], -"icmpdx_8f.html":[6,0,75], -"icmpdx_8f.html#a3d484cf9a060c1a81ab132a4356d1b9c":[6,0,75,0], -"icmpdx_8f_source.html":[6,0,75], -"icopysb_8f.html":[6,0,76], -"icopysb_8f.html#abb76c9e1ce4ec5d6ffd88e44c669e56b":[6,0,76,0], -"icopysb_8f_source.html":[6,0,76], -"icvidx_8c.html":[6,0,77], -"icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38":[6,0,77,0], -"icvidx_8c_source.html":[6,0,77], -"idn30_8f.html":[6,0,78], -"idn30_8f.html#a69a1bd958e896bf2f1d6e23159d82713":[6,0,78,0], -"idn30_8f_source.html":[6,0,78], -"idxmsg_8f.html":[6,0,79], -"idxmsg_8f.html#adb63cdbd7f55f3d36a03e9ffb41bddfc":[6,0,79,0], -"idxmsg_8f_source.html":[6,0,79], -"ifbget_8f.html":[6,0,80], -"ifbget_8f.html#a02c005f3f5bbddec11cdfee46beaa12f":[6,0,80,0], -"ifbget_8f_source.html":[6,0,80], -"ifxy_8f.html":[6,0,81], -"ifxy_8f.html#ac971a6f6d644344a5b09d50175498074":[6,0,81,0], -"ifxy_8f_source.html":[6,0,81], -"igetdate_8f.html":[6,0,82], -"igetdate_8f.html#ade0adb8723f6e1db7a8a6f81d2da4b50":[6,0,82,0], -"igetdate_8f_source.html":[6,0,82], -"igetfxy_8f.html":[6,0,83], -"igetfxy_8f.html#a438cad6ce6a5db1ef32ee2fcc3869aa5":[6,0,83,0], -"igetfxy_8f_source.html":[6,0,83], -"igetmxby_8f.html":[6,0,84], -"igetmxby_8f.html#a2e158576710c771847a84db8cd00d13b":[6,0,84,0], -"igetmxby_8f_source.html":[6,0,84], -"igetntbi_8f.html":[6,0,85], -"igetntbi_8f.html#aa62d319cf10b3a98796b583619d8b599":[6,0,85,0], -"igetntbi_8f_source.html":[6,0,85], -"igetntbl_8f.html":[6,0,86], -"igetntbl_8f.html#a5ef5df8d628be06a161f7973fa839795":[6,0,86,0], -"igetntbl_8f_source.html":[6,0,86], -"igetprm_8f.html":[6,0,87], -"igetprm_8f.html#a6c225e0b5fe6fa21cfd8e46bd2834d9f":[6,0,87,0], -"igetprm_8f_source.html":[6,0,87], -"igetrfel_8f.html":[6,0,88], -"igetrfel_8f.html#a764a4e5ff62c66fcaae4b2b1d806e88c":[6,0,88,0], -"igetrfel_8f_source.html":[6,0,88], -"igetsc_8f.html":[6,0,89], -"igetsc_8f.html#a256ecb8846572acf465d2483ee42f521":[6,0,89,0], -"igetsc_8f_source.html":[6,0,89], -"igettdi_8f.html":[6,0,90], -"igettdi_8f.html#a2c1b3d34feef0ad9297be7f4f666a5f1":[6,0,90,0], -"igettdi_8f_source.html":[6,0,90], -"imrkopr_8f.html":[6,0,91], -"imrkopr_8f.html#a15297118e0926da9adec4d745b72effe":[6,0,91,0], -"imrkopr_8f_source.html":[6,0,91] +"icvidx_8c.html":[6,0,30], +"icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38":[6,0,30,0], +"icvidx_8c_source.html":[6,0,30], +"index.html":[], +"index.html#autotoc_md63":[0], +"index.html#autotoc_md64":[1], +"index.html#autotoc_md65":[2], +"index.html#autotoc_md66":[3], +"index.html#autotoc_md67":[4], +"interfacebufr__interface_1_1ccbfl__c.html":[5,0,0,0], +"interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8":[5,0,0,0,0], +"interfacebufr__interface_1_1cobfl__c.html":[5,0,0,1], +"interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e":[5,0,0,1,0], +"interfacebufr__interface_1_1crbmg__c.html":[5,0,0,2], +"interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311":[5,0,0,2,0], +"interfacebufr__interface_1_1cwbmg__c.html":[5,0,0,3], +"interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113":[5,0,0,3,0], +"interfacebufr__interface_1_1dlloctbf__c.html":[5,0,0,4], +"interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6":[5,0,0,4,0], +"interfacebufrlib_1_1arallocc__c.html":[5,0,1,0], +"interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d":[5,0,1,0,0], +"interfacebufrlib_1_1ardllocc__c.html":[5,0,1,1], +"interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e":[5,0,1,1,0], +"interfacebufrlib_1_1backbufr__c.html":[5,0,1,2], +"interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832":[5,0,1,2,0], +"interfacebufrlib_1_1cewind__c.html":[5,0,1,3], +"interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b":[5,0,1,3,0], +"interfacebufrlib_1_1closfb__c.html":[5,0,1,4], +"interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f":[5,0,1,4,0], +"interfacebufrlib_1_1cpmstabs__c.html":[5,0,1,5], +"interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d":[5,0,1,5,0], +"interfacebufrlib_1_1crdbufr__c.html":[5,0,1,6], +"interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9":[5,0,1,6,0], +"interfacebufrlib_1_1cwrbufr__c.html":[5,0,1,7], +"interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978":[5,0,1,7,0], +"interfacebufrlib_1_1icvidx__c.html":[5,0,1,8], +"interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0":[5,0,1,8,0], +"interfacebufrlib_1_1inittbf__c.html":[5,0,1,9], +"interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8":[5,0,1,9,0], +"interfacebufrlib_1_1openab__c.html":[5,0,1,10], +"interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6":[5,0,1,10,0], +"interfacebufrlib_1_1openrb__c.html":[5,0,1,11], +"interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626":[5,0,1,11,0], +"interfacebufrlib_1_1openwb__c.html":[5,0,1,12], +"interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28":[5,0,1,12,0], +"interfacebufrlib_1_1restd__c.html":[5,0,1,13], +"interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d":[5,0,1,13,0], +"interfacebufrlib_1_1sorttbf__c.html":[5,0,1,14], +"interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb":[5,0,1,14,0], +"interfacebufrlib_1_1srchtbf__c.html":[5,0,1,15], +"interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc":[5,0,1,15,0], +"interfacebufrlib_1_1strtbfe__c.html":[5,0,1,16], +"interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5":[5,0,1,16,0], +"interfacebufrlib_1_1stseq__c.html":[5,0,1,17], +"interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870":[5,0,1,17,0], +"jumplink_8F90.html":[6,0,31], +"jumplink_8F90.html#a1587e1818caf4b04f1afc556c5c9813b":[6,0,31,3], +"jumplink_8F90.html#a1f74d80135fda2ac50f57d99645d2853":[6,0,31,2], +"jumplink_8F90.html#a32fa4aca38700d53dd9899f93b9b3636":[6,0,31,16], +"jumplink_8F90.html#a44e33584f368731a2373831f207a527d":[6,0,31,8], +"jumplink_8F90.html#a46ebb8c05619d2580397218ff36f4a9b":[6,0,31,12], +"jumplink_8F90.html#a5459f5cd4813acaa5e695c650a77eeca":[6,0,31,7], +"jumplink_8F90.html#a68d977aaaf6f7869b2048ca79723c838":[6,0,31,18], +"jumplink_8F90.html#a6ec2d1015cdc1315eb384ea92223e620":[6,0,31,14], +"jumplink_8F90.html#a77a6346a03867a7e65e984ee34de3d91":[6,0,31,9], +"jumplink_8F90.html#a8a7a4ff46107f36ae57dd76442bd2447":[6,0,31,17], +"jumplink_8F90.html#aa8ae055da512a9259d4f248b3ccdb5e8":[6,0,31,6], +"jumplink_8F90.html#ab082ab8ef32893928cb10a2876d73af0":[6,0,31,15], +"jumplink_8F90.html#ab4cc1160c451fcd8709a46f32515ca3c":[6,0,31,10], +"jumplink_8F90.html#ac33dc42cbccbf054fa1c72b4bed5e90e":[6,0,31,1], +"jumplink_8F90.html#aca151bb247903f60a7b1a76578db1ed5":[6,0,31,0], +"jumplink_8F90.html#ad12d047119fdcdeb97ffbced0696b9fb":[6,0,31,13], +"jumplink_8F90.html#af10a8f5f84135d80474c70f06be65b73":[6,0,31,5], +"jumplink_8F90.html#af13fb1da5f3cb8bafd2c305b6c7234db":[6,0,31,11], +"jumplink_8F90.html#af1d16fa71d84a333e3448d1081214d2f":[6,0,31,19], +"jumplink_8F90.html#aff303b3e9951ce71da6c66ae5e0d76bf":[6,0,31,4], +"jumplink_8F90_source.html":[6,0,31], +"mastertable_8F90.html":[6,0,32], +"mastertable_8F90.html#a07132e14b98ae1942199d2f9f89f1dfd":[6,0,32,13], +"mastertable_8F90.html#a13fd8c1d3695fab378b46cd2a6c23d4c":[6,0,32,15], +"mastertable_8F90.html#a1a035df49f8cbaee159153af0d3fb818":[6,0,32,14], +"mastertable_8F90.html#a2def0dba3a44cc77e6dd716ad8aa238f":[6,0,32,10], +"mastertable_8F90.html#a3c167cbcb11e3c1ec0a9abc584e27a57":[6,0,32,6], +"mastertable_8F90.html#a4721c745ebeb6be54c825cd1f53ec107":[6,0,32,0], +"mastertable_8F90.html#a4bb75d7258bc23294546f956cfbe2d36":[6,0,32,8], +"mastertable_8F90.html#a4bc18eda6239cb2cd797dc63e12060d6":[6,0,32,12], +"mastertable_8F90.html#a57b7efae38f8e79ba76fe5c8fff18f2a":[6,0,32,1], +"mastertable_8F90.html#a5ef341975ece8b54885d7518d30d7a99":[6,0,32,4], +"mastertable_8F90.html#a62d8d7c9946282d7797030e67c737543":[6,0,32,9], +"mastertable_8F90.html#a8d9fae4a86fb1a4db715788bd73071cf":[6,0,32,3], +"mastertable_8F90.html#ab8f682eb706037e99550eeedb3e8c963":[6,0,32,2], +"mastertable_8F90.html#abf69490965212318f1dfee9b0bc4890c":[6,0,32,7], +"mastertable_8F90.html#acc76006ba6b47ca59a5343caacb12af9":[6,0,32,11], +"mastertable_8F90.html#adde6acff18af3673cd9ef45b7ec12833":[6,0,32,5], +"mastertable_8F90_source.html":[6,0,32], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html":[2], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md12":[2,0], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md13":[2,1], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md14":[2,2], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md15":[2,3], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md16":[2,4], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md17":[2,5], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md18":[2,6], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md19":[2,7], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md20":[2,8], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md21":[2,9], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md22":[2,10], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md23":[2,11], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md24":[2,12], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md25":[2,13], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md26":[2,14], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md27":[2,15], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md28":[2,16], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md29":[2,17], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md30":[2,18], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md31":[2,19], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md32":[2,20], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md33":[2,21], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md34":[2,22], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md35":[2,23], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md36":[2,24], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md37":[2,25], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md38":[2,26], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md39":[2,27] }; diff --git a/navtreeindex2.js b/navtreeindex2.js index bdfd2b0d8..8a5ec8a5e 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -1,178 +1,5 @@ var NAVTREEINDEX2 = { -"inctab_8f.html":[6,0,92], -"inctab_8f.html#ab4d95e791ea67fccbade97e247ed5646":[6,0,92,0], -"inctab_8f_source.html":[6,0,92], -"index.html":[], -"index.html#autotoc_md62":[0], -"index.html#autotoc_md63":[1], -"index.html#autotoc_md64":[2], -"index.html#autotoc_md65":[3], -"index.html#autotoc_md66":[4], -"interfacebufr__interface_1_1ccbfl__c.html":[5,0,0,0], -"interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8":[5,0,0,0,0], -"interfacebufr__interface_1_1cobfl__c.html":[5,0,0,1], -"interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e":[5,0,0,1,0], -"interfacebufr__interface_1_1crbmg__c.html":[5,0,0,2], -"interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311":[5,0,0,2,0], -"interfacebufr__interface_1_1cwbmg__c.html":[5,0,0,3], -"interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113":[5,0,0,3,0], -"interfacebufr__interface_1_1dlloctbf__c.html":[5,0,0,4], -"interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6":[5,0,0,4,0], -"interfacebufrlib_1_1arallocc__c.html":[5,0,1,0], -"interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d":[5,0,1,0,0], -"interfacebufrlib_1_1ardllocc__c.html":[5,0,1,1], -"interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e":[5,0,1,1,0], -"interfacebufrlib_1_1backbufr__c.html":[5,0,1,2], -"interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832":[5,0,1,2,0], -"interfacebufrlib_1_1bort__exit__c.html":[5,0,1,3], -"interfacebufrlib_1_1bort__exit__c.html#acd1feaa07c688929a6fb0e722df5619e":[5,0,1,3,0], -"interfacebufrlib_1_1cewind__c.html":[5,0,1,4], -"interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b":[5,0,1,4,0], -"interfacebufrlib_1_1closfb__c.html":[5,0,1,5], -"interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f":[5,0,1,5,0], -"interfacebufrlib_1_1cpmstabs__c.html":[5,0,1,6], -"interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d":[5,0,1,6,0], -"interfacebufrlib_1_1crdbufr__c.html":[5,0,1,7], -"interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9":[5,0,1,7,0], -"interfacebufrlib_1_1cwrbufr__c.html":[5,0,1,8], -"interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978":[5,0,1,8,0], -"interfacebufrlib_1_1icvidx__c.html":[5,0,1,9], -"interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0":[5,0,1,9,0], -"interfacebufrlib_1_1inittbf__c.html":[5,0,1,10], -"interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8":[5,0,1,10,0], -"interfacebufrlib_1_1openab__c.html":[5,0,1,11], -"interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6":[5,0,1,11,0], -"interfacebufrlib_1_1openrb__c.html":[5,0,1,12], -"interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626":[5,0,1,12,0], -"interfacebufrlib_1_1openwb__c.html":[5,0,1,13], -"interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28":[5,0,1,13,0], -"interfacebufrlib_1_1restd__c.html":[5,0,1,14], -"interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d":[5,0,1,14,0], -"interfacebufrlib_1_1sorttbf__c.html":[5,0,1,15], -"interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb":[5,0,1,15,0], -"interfacebufrlib_1_1srchtbf__c.html":[5,0,1,16], -"interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc":[5,0,1,16,0], -"interfacebufrlib_1_1strtbfe__c.html":[5,0,1,17], -"interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5":[5,0,1,17,0], -"interfacebufrlib_1_1stseq__c.html":[5,0,1,18], -"interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870":[5,0,1,18,0], -"invcon_8f.html":[6,0,93], -"invcon_8f.html#afe1aa702b7e243216ea8bfa12394b16c":[6,0,93,0], -"invcon_8f_source.html":[6,0,93], -"invmrg_8f.html":[6,0,94], -"invmrg_8f.html#a11b608bddc0c6ad660ff50ed461d5266":[6,0,94,0], -"invmrg_8f_source.html":[6,0,94], -"invtag_8f.html":[6,0,95], -"invtag_8f.html#a307883c6492d9e7dab968c16ac0fb673":[6,0,95,0], -"invtag_8f_source.html":[6,0,95], -"invwin_8f.html":[6,0,96], -"invwin_8f.html#ac26ae485efa93dee816efb648bdfcc8b":[6,0,96,0], -"invwin_8f_source.html":[6,0,96], -"iok2cpy_8f.html":[6,0,97], -"iok2cpy_8f.html#adb475e8aa22ff44804298c5119a98b9d":[6,0,97,0], -"iok2cpy_8f_source.html":[6,0,97], -"iokoper_8f.html":[6,0,98], -"iokoper_8f.html#a4d41730266c35e121d915b729c741bd0":[6,0,98,0], -"iokoper_8f_source.html":[6,0,98], -"ipkm_8f.html":[6,0,99], -"ipkm_8f.html#a554d822943222b129ddb21f204393665":[6,0,99,0], -"ipkm_8f_source.html":[6,0,99], -"ipks_8f.html":[6,0,100], -"ipks_8f.html#a12376c3561b8a14e09b20d8736b91d82":[6,0,100,0], -"ipks_8f_source.html":[6,0,100], -"ireadmg_8f.html":[6,0,101], -"ireadmg_8f.html#a3a275abe52521fa780c379ed69e1c994":[6,0,101,0], -"ireadmg_8f_source.html":[6,0,101], -"ireadmm_8f.html":[6,0,102], -"ireadmm_8f.html#ae23e9668d28c463649cb18cccd1b6248":[6,0,102,0], -"ireadmm_8f_source.html":[6,0,102], -"ireadmt_8f.html":[6,0,103], -"ireadmt_8f.html#aa695ad6da4ed98ed6ef6fc3666f7d7bc":[6,0,103,0], -"ireadmt_8f_source.html":[6,0,103], -"ireadns_8f.html":[6,0,104], -"ireadns_8f.html#a711f30e52fdc3cafd8800a57f6865449":[6,0,104,0], -"ireadns_8f_source.html":[6,0,104], -"ireadsb_8f.html":[6,0,105], -"ireadsb_8f.html#a778c5b1e6c129932b733bc25ecc27f07":[6,0,105,0], -"ireadsb_8f_source.html":[6,0,105], -"irev_8F.html":[6,0,106], -"irev_8F.html#a4a8512777ba30c1c919646c7a6a637f5":[6,0,106,0], -"irev_8F_source.html":[6,0,106], -"isetprm_8f.html":[6,0,107], -"isetprm_8f.html#ae592be54b0568225433b6d66798ddce6":[6,0,107,0], -"isetprm_8f_source.html":[6,0,107], -"ishrdx_8f.html":[6,0,108], -"ishrdx_8f.html#a1426a2d409a3cc93b1ee0c073ad49907":[6,0,108,0], -"ishrdx_8f_source.html":[6,0,108], -"isize_8f.html":[6,0,109], -"isize_8f.html#ada463fda3cd15b7615b0dd0cfa415eb9":[6,0,109,0], -"isize_8f_source.html":[6,0,109], -"istdesc_8f.html":[6,0,110], -"istdesc_8f.html#a8cf4d2f75a7094c482f39dec47f37175":[6,0,110,0], -"istdesc_8f_source.html":[6,0,110], -"iupb_8f.html":[6,0,111], -"iupb_8f.html#abf2490cec5a3d07fd22e1b25c9aee046":[6,0,111,0], -"iupb_8f_source.html":[6,0,111], -"iupbs01_8f.html":[6,0,112], -"iupbs01_8f.html#a656ed063ebbcd600fcfa2810411dbf5e":[6,0,112,0], -"iupbs01_8f_source.html":[6,0,112], -"iupbs3_8f.html":[6,0,113], -"iupbs3_8f.html#a09bc8c4de10677c94cfb411a9155bc99":[6,0,113,0], -"iupbs3_8f_source.html":[6,0,113], -"iupm_8f.html":[6,0,114], -"iupm_8f.html#ae519ea0e87bfdd4b22e78f81ad5cb23f":[6,0,114,0], -"iupm_8f_source.html":[6,0,114], -"iupvs01_8f.html":[6,0,115], -"iupvs01_8f.html#a77200fe9b0146973c1a0116ade2e70ad":[6,0,115,0], -"iupvs01_8f_source.html":[6,0,115], -"jstnum_8f.html":[6,0,116], -"jstnum_8f.html#aed41312e53ed76174fb87c3b62ac0b45":[6,0,116,0], -"jstnum_8f_source.html":[6,0,116], -"lcmgdf_8f.html":[6,0,117], -"lcmgdf_8f.html#a46d9546ede10e6b90d9b44e4b789027e":[6,0,117,0], -"lcmgdf_8f_source.html":[6,0,117], -"lmsg_8f.html":[6,0,118], -"lmsg_8f.html#ad99ef4c2da4682ebd250ba4ea2a426c8":[6,0,118,0], -"lmsg_8f_source.html":[6,0,118], -"lstjpb_8f.html":[6,0,119], -"lstjpb_8f.html#a0a74db325c227fe8ee3b77bd7dfd7baf":[6,0,119,0], -"lstjpb_8f_source.html":[6,0,119], -"makestab_8f.html":[6,0,120], -"makestab_8f.html#ad12d047119fdcdeb97ffbced0696b9fb":[6,0,120,0], -"makestab_8f_source.html":[6,0,120], -"maxout_8f.html":[6,0,121], -"maxout_8f.html#aaa325906c9b2cc1b17852d152d475bcb":[6,0,121,0], -"maxout_8f_source.html":[6,0,121], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html":[2], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md12":[2,0], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md13":[2,1], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md14":[2,2], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md15":[2,3], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md16":[2,4], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md17":[2,5], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md18":[2,6], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md19":[2,7], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md20":[2,8], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md21":[2,9], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md22":[2,10], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md23":[2,11], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md24":[2,12], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md25":[2,13], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md26":[2,14], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md27":[2,15], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md28":[2,16], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md29":[2,17], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md30":[2,18], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md31":[2,19], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md32":[2,20], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md33":[2,21], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md34":[2,22], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md35":[2,23], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md36":[2,24], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md37":[2,25], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md38":[2,26], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md39":[2,27], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md40":[2,28], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md41":[2,29], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md42":[2,30], @@ -195,6 +22,7 @@ var NAVTREEINDEX2 = "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md59":[2,47], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md60":[2,48], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md61":[2,49], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html#autotoc_md62":[2,50], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html":[0], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html#autotoc_md1":[0,5], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html#autotoc_md2":[0,6], @@ -207,47 +35,219 @@ var NAVTREEINDEX2 = "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html#autotoc_md8":[1,0], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html#autotoc_md9":[1,1], "md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html":[3], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md69":[3,0], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md71":[3,1], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md73":[3,2], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md75":[3,3], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md77":[3,4], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md79":[3,5], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md81":[3,6], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md83":[3,7], -"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md85":[3,8], -"mesgbc_8f.html":[6,0,122], -"mesgbc_8f.html#a94b2ff31250eb562ee4fe3c5c231e98b":[6,0,122,0], -"mesgbc_8f_source.html":[6,0,122], -"mesgbf_8f.html":[6,0,123], -"mesgbf_8f.html#a01bf48e41499c9083c3c651d1dd1ee20":[6,0,123,0], -"mesgbf_8f_source.html":[6,0,123], -"minimg_8f.html":[6,0,124], -"minimg_8f.html#a8a82b46fac7c6c9375ec8b0543de1f0a":[6,0,124,0], -"minimg_8f_source.html":[6,0,124], -"modules__arrs_8F90.html":[6,0,125], -"modules__arrs_8F90.html#a013b7b1f0e72002222c0ee2ae5a3dcac":[6,0,125,130], -"modules__arrs_8F90.html#a02ea2421e524ac9f2f8e213dd0151558":[6,0,125,143], -"modules__arrs_8F90.html#a030ff35af84549af17fe0b0e4315ebf2":[6,0,125,111], -"modules__arrs_8F90.html#a034d50224d3416c855472ead1043b1aa":[6,0,125,38], -"modules__arrs_8F90.html#a043c64825f8bdb44c4e6b69d2f5c253c":[6,0,125,152], -"modules__arrs_8F90.html#a07c74b931e7ddbba553f8391b8e24aaf":[6,0,125,16], -"modules__arrs_8F90.html#a07ee8cbf949167ffea7e2ac9ceddd536":[6,0,125,47], -"modules__arrs_8F90.html#a089cf80d582ff75c6596063d0ed8c049":[6,0,125,29], -"modules__arrs_8F90.html#a0b8b25c6365505c5045ab473f54e03f6":[6,0,125,75], -"modules__arrs_8F90.html#a0ba1605c1f5ecd4655b010b52dab6c2a":[6,0,125,14], -"modules__arrs_8F90.html#a0bab4a779995493580b46f231516e133":[6,0,125,124], -"modules__arrs_8F90.html#a0ccfcc43067ef6debce2218ad50abb0b":[6,0,125,6], -"modules__arrs_8F90.html#a0db33f8017f2c46947f0a5589ba98227":[6,0,125,112], -"modules__arrs_8F90.html#a1152389e5fc9eadddbea89bd76abc653":[6,0,125,9], -"modules__arrs_8F90.html#a126e6cfde8da74741042004b33f48a9e":[6,0,125,156], -"modules__arrs_8F90.html#a157bb0cb25913753748822ce3c384b06":[6,0,125,70], -"modules__arrs_8F90.html#a17c04e8d3d8d361463e3f2fc0b3dd599":[6,0,125,49], -"modules__arrs_8F90.html#a18e681f9bedbaadf3526641e19598901":[6,0,125,55], -"modules__arrs_8F90.html#a1b6c0eaf2305df7abddd8c6c66723526":[6,0,125,147], -"modules__arrs_8F90.html#a1c370e229cc62002283ca2462296273e":[6,0,125,52], -"modules__arrs_8F90.html#a1ff254e3c0f169340a16225a17c5a2c2":[6,0,125,22], -"modules__arrs_8F90.html#a1ffd4baa8c4d960216a59e8c900c6a71":[6,0,125,82], -"modules__arrs_8F90.html#a21983afeacfaf7e7755271343aca9055":[6,0,125,11], -"modules__arrs_8F90.html#a21f38471f40c0eaecdf011d5b594de65":[6,0,125,150] +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md70":[3,0], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md72":[3,1], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md74":[3,2], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md76":[3,3], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md78":[3,4], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md80":[3,5], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md82":[3,6], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md84":[3,7], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md86":[3,8], +"md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html#autotoc_md88":[3,9], +"memmsgs_8F90.html":[6,0,33], +"memmsgs_8F90.html#a2687d7372647fc32c4713c7e9eb6d268":[6,0,33,3], +"memmsgs_8F90.html#a28854648f33f49aaeb3b2209e00c0ae7":[6,0,33,0], +"memmsgs_8F90.html#a379c2ad518735b00eecff6ddcf32b278":[6,0,33,2], +"memmsgs_8F90.html#a4959c5f16b679cf4f90b2d5dcfe74247":[6,0,33,5], +"memmsgs_8F90.html#a6bbcaf22a939d766b7de35ff855531c5":[6,0,33,4], +"memmsgs_8F90.html#a9072ba79bf636849068780fa6467282c":[6,0,33,6], +"memmsgs_8F90.html#ab44b6a9dd950697675861504ccb24a83":[6,0,33,8], +"memmsgs_8F90.html#ae3e462b1a3f2d5af01807bdcded6a745":[6,0,33,9], +"memmsgs_8F90.html#aef5cd104e2b7ce86e852e4878c8efc9d":[6,0,33,10], +"memmsgs_8F90.html#af0432ae9b24903a84c35bcdbbab9b0f6":[6,0,33,7], +"memmsgs_8F90.html#afa09c66c60b22359e9642fa6eee8fcbb":[6,0,33,1], +"memmsgs_8F90_source.html":[6,0,33], +"misc_8F90.html":[6,0,34], +"misc_8F90.html#a0e7d4106a679cae0404866a8781a7651":[6,0,34,7], +"misc_8F90.html#a1bc01a10f226d09971ab1a3b0d3734bf":[6,0,34,4], +"misc_8F90.html#a1cd5e68cc460b388986ba7273abdd689":[6,0,34,5], +"misc_8F90.html#a5b379fcc508f3f50fa71042b8e3645af":[6,0,34,3], +"misc_8F90.html#a76aaeb3402158be94f735c166f93a527":[6,0,34,1], +"misc_8F90.html#a93d704d3c84005bb12c261225445a99e":[6,0,34,9], +"misc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28":[6,0,34,10], +"misc_8F90.html#ab3f045cc170403305543e34e30b87001":[6,0,34,0], +"misc_8F90.html#abb1e33496bab2eb5a1c93f44173f57ea":[6,0,34,2], +"misc_8F90.html#ac720bf9bc96336f8e4bf8120852f094e":[6,0,34,6], +"misc_8F90.html#ad2b1b1578991d75d98e005d2678bef78":[6,0,34,8], +"misc_8F90_source.html":[6,0,34], +"missing_8F90.html":[6,0,35], +"missing_8F90.html#a2e6035695a459284e0592a2452b2f168":[6,0,35,0], +"missing_8F90.html#a5f3cd824b4ddd60e635ec591d285b23f":[6,0,35,2], +"missing_8F90.html#a65fba06ac4fb69670084ee11746bdd9f":[6,0,35,3], +"missing_8F90.html#a7dd66484c8bf4dd8d8e3791d02715e86":[6,0,35,1], +"missing_8F90_source.html":[6,0,35], +"modules__arrs_8F90.html":[6,0,36], +"modules__arrs_8F90.html#a013b7b1f0e72002222c0ee2ae5a3dcac":[6,0,36,139], +"modules__arrs_8F90.html#a02ea2421e524ac9f2f8e213dd0151558":[6,0,36,152], +"modules__arrs_8F90.html#a030ff35af84549af17fe0b0e4315ebf2":[6,0,36,120], +"modules__arrs_8F90.html#a034d50224d3416c855472ead1043b1aa":[6,0,36,45], +"modules__arrs_8F90.html#a043c64825f8bdb44c4e6b69d2f5c253c":[6,0,36,161], +"modules__arrs_8F90.html#a07c74b931e7ddbba553f8391b8e24aaf":[6,0,36,20], +"modules__arrs_8F90.html#a07ee8cbf949167ffea7e2ac9ceddd536":[6,0,36,54], +"modules__arrs_8F90.html#a07f44b4772abffacaba7e9be5fbb7fda":[6,0,36,39], +"modules__arrs_8F90.html#a089cf80d582ff75c6596063d0ed8c049":[6,0,36,34], +"modules__arrs_8F90.html#a0b8b25c6365505c5045ab473f54e03f6":[6,0,36,86], +"modules__arrs_8F90.html#a0bab4a779995493580b46f231516e133":[6,0,36,133], +"modules__arrs_8F90.html#a0ccfcc43067ef6debce2218ad50abb0b":[6,0,36,6], +"modules__arrs_8F90.html#a0db33f8017f2c46947f0a5589ba98227":[6,0,36,121], +"modules__arrs_8F90.html#a1152389e5fc9eadddbea89bd76abc653":[6,0,36,12], +"modules__arrs_8F90.html#a126e6cfde8da74741042004b33f48a9e":[6,0,36,165], +"modules__arrs_8F90.html#a12d35afcaacac53905061f928377d92b":[6,0,36,69], +"modules__arrs_8F90.html#a141173c549e506cd4637af33c4efdece":[6,0,36,17], +"modules__arrs_8F90.html#a157bb0cb25913753748822ce3c384b06":[6,0,36,81], +"modules__arrs_8F90.html#a17c04e8d3d8d361463e3f2fc0b3dd599":[6,0,36,56], +"modules__arrs_8F90.html#a18e681f9bedbaadf3526641e19598901":[6,0,36,62], +"modules__arrs_8F90.html#a1b6c0eaf2305df7abddd8c6c66723526":[6,0,36,156], +"modules__arrs_8F90.html#a1c370e229cc62002283ca2462296273e":[6,0,36,59], +"modules__arrs_8F90.html#a1ff254e3c0f169340a16225a17c5a2c2":[6,0,36,27], +"modules__arrs_8F90.html#a21983afeacfaf7e7755271343aca9055":[6,0,36,14], +"modules__arrs_8F90.html#a21f38471f40c0eaecdf011d5b594de65":[6,0,36,159], +"modules__arrs_8F90.html#a225d75cc454938f8da4ed39857ff2c5c":[6,0,36,82], +"modules__arrs_8F90.html#a2269ddd572fded029ca62080b38f6261":[6,0,36,157], +"modules__arrs_8F90.html#a23356dfd7172ae4d2ff05d657234d6ab":[6,0,36,19], +"modules__arrs_8F90.html#a243a2baa283f951be51ea9466cca35b8":[6,0,36,92], +"modules__arrs_8F90.html#a24e12e5c288360f0e7e6483094773db6":[6,0,36,38], +"modules__arrs_8F90.html#a2514f74da635c6ba7047ec108ce4e211":[6,0,36,118], +"modules__arrs_8F90.html#a25deca91911dc2223155e55c8b47f889":[6,0,36,158], +"modules__arrs_8F90.html#a2648b6b58fd6cf4c983b5c4c23b29574":[6,0,36,65], +"modules__arrs_8F90.html#a2784f03b6c19452c601b1377a3ed59a1":[6,0,36,41], +"modules__arrs_8F90.html#a2861db4fcd6083b5f6d194c92e873c95":[6,0,36,141], +"modules__arrs_8F90.html#a28b0f02b81a535890fc64ec13fdfc35b":[6,0,36,96], +"modules__arrs_8F90.html#a29788f9aef200e10d2f557c16abfaa56":[6,0,36,125], +"modules__arrs_8F90.html#a2a706219ab0edde0511570bfa32093ed":[6,0,36,168], +"modules__arrs_8F90.html#a2ceee9741718460b614f37fb6b976259":[6,0,36,10], +"modules__arrs_8F90.html#a31164f84ab9d27493a19afee2fda502a":[6,0,36,1], +"modules__arrs_8F90.html#a320a25005a0063e8a0713fc66973b655":[6,0,36,76], +"modules__arrs_8F90.html#a352a33aaf989dcaab7646f86aa41e27d":[6,0,36,103], +"modules__arrs_8F90.html#a354161b574c84bfd3401bc0b287335c7":[6,0,36,75], +"modules__arrs_8F90.html#a37a325646f12fe6d0dd3ae3c341f20d7":[6,0,36,11], +"modules__arrs_8F90.html#a37df9d6a60023612be784db0b759da3b":[6,0,36,31], +"modules__arrs_8F90.html#a38470e8cca9ad2afce56dd577ddd5b51":[6,0,36,87], +"modules__arrs_8F90.html#a3baea9191da6d91a8590cba5181493a6":[6,0,36,108], +"modules__arrs_8F90.html#a3f402734944f1438bc986b0d877a0bd7":[6,0,36,72], +"modules__arrs_8F90.html#a43a1031d5c017c6f61ba6deabe22daad":[6,0,36,140], +"modules__arrs_8F90.html#a47438a5eff5e61065fce0dc3df1694a7":[6,0,36,23], +"modules__arrs_8F90.html#a481c60320ac88f9d5b5d85d1af3a60cf":[6,0,36,48], +"modules__arrs_8F90.html#a4910f483014af612d37ea34a1f477434":[6,0,36,24], +"modules__arrs_8F90.html#a4971d723fe9c86ed7741f7cfae61f2f0":[6,0,36,85], +"modules__arrs_8F90.html#a4c761088ff4243b661ec78773c07adaa":[6,0,36,3], +"modules__arrs_8F90.html#a4dfbf13c3d38b007276cb0f5c5418396":[6,0,36,151], +"modules__arrs_8F90.html#a4ff0c6b9328407caa52c08dd22d7525c":[6,0,36,166], +"modules__arrs_8F90.html#a52a37b6bcc7ed3492325f47e1f8018ab":[6,0,36,30], +"modules__arrs_8F90.html#a547378be8180b17844161916eca1e876":[6,0,36,98], +"modules__arrs_8F90.html#a549e012729bbc3cb18894d34380ce5bd":[6,0,36,127], +"modules__arrs_8F90.html#a55020aca1118bb6f09f8b3d1f68a5c74":[6,0,36,42], +"modules__arrs_8F90.html#a574b3c666f5e8aa725910e20a739f561":[6,0,36,145], +"modules__arrs_8F90.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb":[6,0,36,84], +"modules__arrs_8F90.html#a5a7267a967fec712c56a680893698965":[6,0,36,64], +"modules__arrs_8F90.html#a5ac2ef8f11fcf81b55a5353dbfda18cc":[6,0,36,126], +"modules__arrs_8F90.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4":[6,0,36,162], +"modules__arrs_8F90.html#a5f77a3f33df1fc46f007160428b674d1":[6,0,36,135], +"modules__arrs_8F90.html#a5f80cd868154c06f202e5886d40750de":[6,0,36,163], +"modules__arrs_8F90.html#a61847a8129d1a6c6909c2ea4727d67f6":[6,0,36,8], +"modules__arrs_8F90.html#a61eaac2cb0e3dd6de4d02e9986cab602":[6,0,36,63], +"modules__arrs_8F90.html#a6530eb70f0a9131f659c61a74652c93d":[6,0,36,130], +"modules__arrs_8F90.html#a67590bc418c6aeb7792572c11a6bc793":[6,0,36,122], +"modules__arrs_8F90.html#a6ab1ee23535fd8b352c4f5d863a1c458":[6,0,36,47], +"modules__arrs_8F90.html#a6e28d53baf8dce1d6a5c4b91546cfcca":[6,0,36,35], +"modules__arrs_8F90.html#a6e3f292bfc1ab7b63b783bdf0266c812":[6,0,36,58], +"modules__arrs_8F90.html#a6e754cd1cdefe0c8c93ab497fcb33637":[6,0,36,136], +"modules__arrs_8F90.html#a6ee3ae8f4cfb91d15189834b8b62d41f":[6,0,36,146], +"modules__arrs_8F90.html#a748ff156e2c817957765b05119f74270":[6,0,36,7], +"modules__arrs_8F90.html#a74976394b2b70036d27222507ba4bfcc":[6,0,36,150], +"modules__arrs_8F90.html#a76b8845911215f91b5a91128facb7cbd":[6,0,36,57], +"modules__arrs_8F90.html#a77349b5f0a6f8916850dcb253aee1f30":[6,0,36,74], +"modules__arrs_8F90.html#a79bdd90460fa467a8e9130089d7963a5":[6,0,36,99], +"modules__arrs_8F90.html#a7a0967a79c236a16f1fa11ebb8f99b0f":[6,0,36,43], +"modules__arrs_8F90.html#a7ad9ef51fc135aad9fcecba2a636f486":[6,0,36,167], +"modules__arrs_8F90.html#a7c3104f9c9731b91a8a105bcc5212542":[6,0,36,93], +"modules__arrs_8F90.html#a7caf741d65ff0b68932fa7d207c689ba":[6,0,36,83], +"modules__arrs_8F90.html#a7dfdd248050c7cc36f38933711526888":[6,0,36,148], +"modules__arrs_8F90.html#a7e27d4bdf5a372fd7dac8ede033f969e":[6,0,36,49], +"modules__arrs_8F90.html#a7e5d5589bde01337616f2527beed519f":[6,0,36,44], +"modules__arrs_8F90.html#a7f37665c0422638e65824c8b9183169e":[6,0,36,143], +"modules__arrs_8F90.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08":[6,0,36,79], +"modules__arrs_8F90.html#a81b647a972ded879adf10cb98bfaab2e":[6,0,36,61], +"modules__arrs_8F90.html#a821fcf75cf865aaebdba3527d04190e0":[6,0,36,88], +"modules__arrs_8F90.html#a875c0ff90cd5fdc88e3f10ae7b5bc556":[6,0,36,154], +"modules__arrs_8F90.html#a8be10a997d67944a328d256bfc60bf02":[6,0,36,171], +"modules__arrs_8F90.html#a8c052fc732472f6f329209ac2db75cf9":[6,0,36,26], +"modules__arrs_8F90.html#a8ecc5d87d79c8c3aa778665041bcb522":[6,0,36,73], +"modules__arrs_8F90.html#a8f322e3d7724bb96f7ce06beec989c0f":[6,0,36,153], +"modules__arrs_8F90.html#a90cc348c7156330efc75a45e5e5860ca":[6,0,36,55], +"modules__arrs_8F90.html#a945fc956c1c6ba8c37bfe63c04837b36":[6,0,36,89], +"modules__arrs_8F90.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3":[6,0,36,138], +"modules__arrs_8F90.html#a94ea2c3cfc88079d837ac29324d61937":[6,0,36,0], +"modules__arrs_8F90.html#a97f45bd4e10b6016c9ef17bbd0efc2ca":[6,0,36,68], +"modules__arrs_8F90.html#a9905d8bc2ddc7681086ea0319442d0d9":[6,0,36,117], +"modules__arrs_8F90.html#a99268fc2b9168fcbbd5f8ab70e6da0b7":[6,0,36,129], +"modules__arrs_8F90.html#a9c4d7ff754fd79feb908c6858f7e4e5f":[6,0,36,147], +"modules__arrs_8F90.html#a9e14841d9a084410d3ee7d5d08d3bf5e":[6,0,36,37], +"modules__arrs_8F90.html#a9ec76b10297b2e9521682a1e2014370d":[6,0,36,90], +"modules__arrs_8F90.html#aa480a82940946343d0d30d8f65c27584":[6,0,36,164], +"modules__arrs_8F90.html#aa6ed42f02eb5933c83e7acf1422b8d99":[6,0,36,50], +"modules__arrs_8F90.html#aa768890377f016eaae82cb56404ecdc6":[6,0,36,132], +"modules__arrs_8F90.html#aa842e38ba6243a4ff1ab1e56404c2cb7":[6,0,36,2], +"modules__arrs_8F90.html#aa92c2a9b9faf87958775d45a00ee866f":[6,0,36,100], +"modules__arrs_8F90.html#aa945d27bc1c5cf32ea5ba624ef289808":[6,0,36,77], +"modules__arrs_8F90.html#aab2cc4c7c57e7c7d111f49187aff44ea":[6,0,36,4], +"modules__arrs_8F90.html#aad8a1595878ac1a9907c708067c4c050":[6,0,36,111], +"modules__arrs_8F90.html#aadd51c4f00c0c4a12b922aace0ed04f7":[6,0,36,53], +"modules__arrs_8F90.html#aaf25479459e35ef12ce20eecfc632295":[6,0,36,124], +"modules__arrs_8F90.html#ab05877244c7131b445de4326efd8aa8a":[6,0,36,144], +"modules__arrs_8F90.html#ab09abac79a48acf677cf36764ffe5db5":[6,0,36,36], +"modules__arrs_8F90.html#ab12171885e93720ae2716b4b1ecae251":[6,0,36,67], +"modules__arrs_8F90.html#ab1873371ca3b5f3e44a5d19ebf30af23":[6,0,36,137], +"modules__arrs_8F90.html#ab23685bcce40ee0d9f71f881bdfa0d07":[6,0,36,80], +"modules__arrs_8F90.html#ab26bcc9dccfa0b250af20392755adf93":[6,0,36,40], +"modules__arrs_8F90.html#ab2e77035e8e8a5f8e6a2f544279ab168":[6,0,36,9], +"modules__arrs_8F90.html#ab3096b8b9d713e5183ac8275305e002a":[6,0,36,28], +"modules__arrs_8F90.html#ab5ade5e51c2620a6e6be9cad890baf7a":[6,0,36,112], +"modules__arrs_8F90.html#ab79409e1e5c6d8e2542bac564283a5ef":[6,0,36,32], +"modules__arrs_8F90.html#ab7e403dca694be4ae4d4c3803e7bc4c7":[6,0,36,16], +"modules__arrs_8F90.html#ab8fe0a01ea7ba06916fd450273c1c38f":[6,0,36,15], +"modules__arrs_8F90.html#ab991cce44554fb17b1c1cd0474929a94":[6,0,36,114], +"modules__arrs_8F90.html#aba2ec73dacc32807332a7c1e38468f38":[6,0,36,22], +"modules__arrs_8F90.html#abbb9e570ae869b4abdf6e18c14475485":[6,0,36,134], +"modules__arrs_8F90.html#abc7e7be12befacea858a7f249c9425ca":[6,0,36,123], +"modules__arrs_8F90.html#abe572c04d3aa498e8135d20e656d0e6a":[6,0,36,115], +"modules__arrs_8F90.html#abe63e3ddf9a739b073e8dd5b01460ddf":[6,0,36,119], +"modules__arrs_8F90.html#abf94758379c91be61fcf18f6c9dae5cf":[6,0,36,107], +"modules__arrs_8F90.html#ac0c5953da2d8867d81acad1800fec53c":[6,0,36,102], +"modules__arrs_8F90.html#ac17dd8dc0aeb695a1046a884673b1fc3":[6,0,36,106], +"modules__arrs_8F90.html#ac23d0e71777440374b51773ab34d31c7":[6,0,36,51], +"modules__arrs_8F90.html#ac34001b0c39f1c7b156214adaf3381d0":[6,0,36,5], +"modules__arrs_8F90.html#ac38651460e5e05dd70fe8c19fc1a9caa":[6,0,36,116], +"modules__arrs_8F90.html#ac3bbd45f25c8071e161bf7898230695a":[6,0,36,60], +"modules__arrs_8F90.html#ac477545b5d44685da84af7f23d7baa59":[6,0,36,149], +"modules__arrs_8F90.html#ac4fd15b3e268548d17edca4e1e5e5675":[6,0,36,109], +"modules__arrs_8F90.html#acaa72aa1ab54d9a7a82f83e58c8aeed1":[6,0,36,18], +"modules__arrs_8F90.html#accaa0826b48e876c29f6bb8ebe21c83e":[6,0,36,104], +"modules__arrs_8F90.html#acd6cd1e5190bdc17381e81624a7e2e80":[6,0,36,101], +"modules__arrs_8F90.html#aceb65be824d657fa109be2d9059a3a2b":[6,0,36,70], +"modules__arrs_8F90.html#acfcd2b4391b00ae43bdb026de8573c7a":[6,0,36,113], +"modules__arrs_8F90.html#ad03b1bbbb4eb8366a77af6da12f0793c":[6,0,36,131], +"modules__arrs_8F90.html#ad3fddde254d512cae401fc3f5532fe7c":[6,0,36,160], +"modules__arrs_8F90.html#ad4299c9b916b83272f07cba8d2d22d4f":[6,0,36,46], +"modules__arrs_8F90.html#ad4937a8d8159f5b7fff9d51b59c6324b":[6,0,36,169], +"modules__arrs_8F90.html#ad9b27559a7e05f9939764fa6688d7147":[6,0,36,91], +"modules__arrs_8F90.html#ada2721216de79b6527d89323df61956d":[6,0,36,172], +"modules__arrs_8F90.html#adbe38c29980443a65ff0bb0cfa1bb753":[6,0,36,21], +"modules__arrs_8F90.html#adff426f406bb1f795e94c0af6d68d856":[6,0,36,78], +"modules__arrs_8F90.html#ae8e13371b82ad223284aeac9d6ad9aae":[6,0,36,142], +"modules__arrs_8F90.html#aeabc918978c598efc0231fc59d2bfd24":[6,0,36,33], +"modules__arrs_8F90.html#aeb00e574adb63bf7cc809d540d5a02bc":[6,0,36,110], +"modules__arrs_8F90.html#aec0b91e9c09fffd506b27ea574b7da71":[6,0,36,105], +"modules__arrs_8F90.html#aedf59ef218e980c24d128aa7bc8884b1":[6,0,36,95], +"modules__arrs_8F90.html#aef82673973ab814f34658d9a1e5f3404":[6,0,36,155], +"modules__arrs_8F90.html#af081362974b0ae4f5be67c4bea20bae6":[6,0,36,71], +"modules__arrs_8F90.html#af0d2b78411b01dc1aabe9baf6c946b38":[6,0,36,25], +"modules__arrs_8F90.html#af1ca5281543dc4ce645d861f7f744c6d":[6,0,36,29], +"modules__arrs_8F90.html#af2710ff69575fa7a323c654e7998e142":[6,0,36,128], +"modules__arrs_8F90.html#af3c2aa97661a37d85840d480e611695e":[6,0,36,94], +"modules__arrs_8F90.html#af55ccb71d40a6980f3e18dee2ea3a9db":[6,0,36,52], +"modules__arrs_8F90.html#af59d63e63df8f925e55a922d70a37785":[6,0,36,66], +"modules__arrs_8F90.html#af5a5b5688cbfbea4a3d5d0705172fba3":[6,0,36,97], +"modules__arrs_8F90.html#afbc0cd7c0f91147bca16c7fd909a0d75":[6,0,36,13] }; diff --git a/navtreeindex3.js b/navtreeindex3.js index 6ed472112..080171989 100644 --- a/navtreeindex3.js +++ b/navtreeindex3.js @@ -1,253 +1,253 @@ var NAVTREEINDEX3 = { -"modules__arrs_8F90.html#a225d75cc454938f8da4ed39857ff2c5c":[6,0,125,71], -"modules__arrs_8F90.html#a2269ddd572fded029ca62080b38f6261":[6,0,125,148], -"modules__arrs_8F90.html#a243a2baa283f951be51ea9466cca35b8":[6,0,125,81], -"modules__arrs_8F90.html#a24e12e5c288360f0e7e6483094773db6":[6,0,125,33], -"modules__arrs_8F90.html#a2514f74da635c6ba7047ec108ce4e211":[6,0,125,109], -"modules__arrs_8F90.html#a25deca91911dc2223155e55c8b47f889":[6,0,125,149], -"modules__arrs_8F90.html#a2648b6b58fd6cf4c983b5c4c23b29574":[6,0,125,58], -"modules__arrs_8F90.html#a2784f03b6c19452c601b1377a3ed59a1":[6,0,125,35], -"modules__arrs_8F90.html#a2861db4fcd6083b5f6d194c92e873c95":[6,0,125,132], -"modules__arrs_8F90.html#a28b0f02b81a535890fc64ec13fdfc35b":[6,0,125,85], -"modules__arrs_8F90.html#a29788f9aef200e10d2f557c16abfaa56":[6,0,125,116], -"modules__arrs_8F90.html#a2a706219ab0edde0511570bfa32093ed":[6,0,125,159], -"modules__arrs_8F90.html#a31164f84ab9d27493a19afee2fda502a":[6,0,125,1], -"modules__arrs_8F90.html#a320a25005a0063e8a0713fc66973b655":[6,0,125,64], -"modules__arrs_8F90.html#a352a33aaf989dcaab7646f86aa41e27d":[6,0,125,93], -"modules__arrs_8F90.html#a36137a9a943b036fa381924821caf8e2":[6,0,125,101], -"modules__arrs_8F90.html#a37a325646f12fe6d0dd3ae3c341f20d7":[6,0,125,8], -"modules__arrs_8F90.html#a37df9d6a60023612be784db0b759da3b":[6,0,125,26], -"modules__arrs_8F90.html#a38470e8cca9ad2afce56dd577ddd5b51":[6,0,125,76], -"modules__arrs_8F90.html#a3baea9191da6d91a8590cba5181493a6":[6,0,125,98], -"modules__arrs_8F90.html#a43a1031d5c017c6f61ba6deabe22daad":[6,0,125,131], -"modules__arrs_8F90.html#a47438a5eff5e61065fce0dc3df1694a7":[6,0,125,18], -"modules__arrs_8F90.html#a481c60320ac88f9d5b5d85d1af3a60cf":[6,0,125,41], -"modules__arrs_8F90.html#a4910f483014af612d37ea34a1f477434":[6,0,125,19], -"modules__arrs_8F90.html#a4971d723fe9c86ed7741f7cfae61f2f0":[6,0,125,73], -"modules__arrs_8F90.html#a4c761088ff4243b661ec78773c07adaa":[6,0,125,3], -"modules__arrs_8F90.html#a4dfbf13c3d38b007276cb0f5c5418396":[6,0,125,142], -"modules__arrs_8F90.html#a4ff0c6b9328407caa52c08dd22d7525c":[6,0,125,157], -"modules__arrs_8F90.html#a52a37b6bcc7ed3492325f47e1f8018ab":[6,0,125,25], -"modules__arrs_8F90.html#a547378be8180b17844161916eca1e876":[6,0,125,87], -"modules__arrs_8F90.html#a549e012729bbc3cb18894d34380ce5bd":[6,0,125,118], -"modules__arrs_8F90.html#a55020aca1118bb6f09f8b3d1f68a5c74":[6,0,125,36], -"modules__arrs_8F90.html#a574b3c666f5e8aa725910e20a739f561":[6,0,125,136], -"modules__arrs_8F90.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb":[6,0,125,72], -"modules__arrs_8F90.html#a5a26b3bab3a4964256b56ff2a1522b27":[6,0,125,37], -"modules__arrs_8F90.html#a5a7267a967fec712c56a680893698965":[6,0,125,57], -"modules__arrs_8F90.html#a5ac2ef8f11fcf81b55a5353dbfda18cc":[6,0,125,117], -"modules__arrs_8F90.html#a5b960a10512f7450b54e1b728770bd58":[6,0,125,63], -"modules__arrs_8F90.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4":[6,0,125,153], -"modules__arrs_8F90.html#a5f77a3f33df1fc46f007160428b674d1":[6,0,125,126], -"modules__arrs_8F90.html#a5f80cd868154c06f202e5886d40750de":[6,0,125,154], -"modules__arrs_8F90.html#a61eaac2cb0e3dd6de4d02e9986cab602":[6,0,125,56], -"modules__arrs_8F90.html#a6530eb70f0a9131f659c61a74652c93d":[6,0,125,121], -"modules__arrs_8F90.html#a67590bc418c6aeb7792572c11a6bc793":[6,0,125,113], -"modules__arrs_8F90.html#a6ab1ee23535fd8b352c4f5d863a1c458":[6,0,125,40], -"modules__arrs_8F90.html#a6e28d53baf8dce1d6a5c4b91546cfcca":[6,0,125,30], -"modules__arrs_8F90.html#a6e3f292bfc1ab7b63b783bdf0266c812":[6,0,125,51], -"modules__arrs_8F90.html#a6e754cd1cdefe0c8c93ab497fcb33637":[6,0,125,127], -"modules__arrs_8F90.html#a6ed2bbddb1fe31a67e91755a97327a47":[6,0,125,69], -"modules__arrs_8F90.html#a6ee3ae8f4cfb91d15189834b8b62d41f":[6,0,125,137], -"modules__arrs_8F90.html#a74976394b2b70036d27222507ba4bfcc":[6,0,125,141], -"modules__arrs_8F90.html#a76b8845911215f91b5a91128facb7cbd":[6,0,125,50], -"modules__arrs_8F90.html#a77349b5f0a6f8916850dcb253aee1f30":[6,0,125,62], -"modules__arrs_8F90.html#a7797aca7884ff0e46979d4a5c120a576":[6,0,125,99], -"modules__arrs_8F90.html#a79bdd90460fa467a8e9130089d7963a5":[6,0,125,89], -"modules__arrs_8F90.html#a7ad9ef51fc135aad9fcecba2a636f486":[6,0,125,158], -"modules__arrs_8F90.html#a7d18bfabd11b41f2510a9bdd180976d3":[6,0,125,27], -"modules__arrs_8F90.html#a7dfdd248050c7cc36f38933711526888":[6,0,125,139], -"modules__arrs_8F90.html#a7e27d4bdf5a372fd7dac8ede033f969e":[6,0,125,42], -"modules__arrs_8F90.html#a7f37665c0422638e65824c8b9183169e":[6,0,125,134], -"modules__arrs_8F90.html#a80378e3ec74ac01799783b12a2d93218":[6,0,125,74], -"modules__arrs_8F90.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08":[6,0,125,67], -"modules__arrs_8F90.html#a81b647a972ded879adf10cb98bfaab2e":[6,0,125,54], -"modules__arrs_8F90.html#a821fcf75cf865aaebdba3527d04190e0":[6,0,125,77], -"modules__arrs_8F90.html#a875c0ff90cd5fdc88e3f10ae7b5bc556":[6,0,125,145], -"modules__arrs_8F90.html#a8be10a997d67944a328d256bfc60bf02":[6,0,125,162], -"modules__arrs_8F90.html#a8c052fc732472f6f329209ac2db75cf9":[6,0,125,21], -"modules__arrs_8F90.html#a8ecc5d87d79c8c3aa778665041bcb522":[6,0,125,61], -"modules__arrs_8F90.html#a8f322e3d7724bb96f7ce06beec989c0f":[6,0,125,144], -"modules__arrs_8F90.html#a90cc348c7156330efc75a45e5e5860ca":[6,0,125,48], -"modules__arrs_8F90.html#a945fc956c1c6ba8c37bfe63c04837b36":[6,0,125,78], -"modules__arrs_8F90.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3":[6,0,125,129], -"modules__arrs_8F90.html#a94ea2c3cfc88079d837ac29324d61937":[6,0,125,0], -"modules__arrs_8F90.html#a9905d8bc2ddc7681086ea0319442d0d9":[6,0,125,108], -"modules__arrs_8F90.html#a99268fc2b9168fcbbd5f8ab70e6da0b7":[6,0,125,120], -"modules__arrs_8F90.html#a9c4d7ff754fd79feb908c6858f7e4e5f":[6,0,125,138], -"modules__arrs_8F90.html#a9e14841d9a084410d3ee7d5d08d3bf5e":[6,0,125,32], -"modules__arrs_8F90.html#a9ec76b10297b2e9521682a1e2014370d":[6,0,125,79], -"modules__arrs_8F90.html#aa480a82940946343d0d30d8f65c27584":[6,0,125,155], -"modules__arrs_8F90.html#aa6ed42f02eb5933c83e7acf1422b8d99":[6,0,125,43], -"modules__arrs_8F90.html#aa768890377f016eaae82cb56404ecdc6":[6,0,125,123], -"modules__arrs_8F90.html#aa842e38ba6243a4ff1ab1e56404c2cb7":[6,0,125,2], -"modules__arrs_8F90.html#aa92c2a9b9faf87958775d45a00ee866f":[6,0,125,90], -"modules__arrs_8F90.html#aa945d27bc1c5cf32ea5ba624ef289808":[6,0,125,65], -"modules__arrs_8F90.html#aab2cc4c7c57e7c7d111f49187aff44ea":[6,0,125,4], -"modules__arrs_8F90.html#aad8a1595878ac1a9907c708067c4c050":[6,0,125,102], -"modules__arrs_8F90.html#aadd51c4f00c0c4a12b922aace0ed04f7":[6,0,125,46], -"modules__arrs_8F90.html#aaf25479459e35ef12ce20eecfc632295":[6,0,125,115], -"modules__arrs_8F90.html#ab05877244c7131b445de4326efd8aa8a":[6,0,125,135], -"modules__arrs_8F90.html#ab09abac79a48acf677cf36764ffe5db5":[6,0,125,31], -"modules__arrs_8F90.html#ab0dfe362eac51af76fd38ba7ecd3bbc6":[6,0,125,88], -"modules__arrs_8F90.html#ab12171885e93720ae2716b4b1ecae251":[6,0,125,60], -"modules__arrs_8F90.html#ab1873371ca3b5f3e44a5d19ebf30af23":[6,0,125,128], -"modules__arrs_8F90.html#ab23685bcce40ee0d9f71f881bdfa0d07":[6,0,125,68], -"modules__arrs_8F90.html#ab26bcc9dccfa0b250af20392755adf93":[6,0,125,34], -"modules__arrs_8F90.html#ab2e77035e8e8a5f8e6a2f544279ab168":[6,0,125,7], -"modules__arrs_8F90.html#ab3096b8b9d713e5183ac8275305e002a":[6,0,125,23], -"modules__arrs_8F90.html#ab5ade5e51c2620a6e6be9cad890baf7a":[6,0,125,103], -"modules__arrs_8F90.html#ab7e403dca694be4ae4d4c3803e7bc4c7":[6,0,125,13], -"modules__arrs_8F90.html#ab8fe0a01ea7ba06916fd450273c1c38f":[6,0,125,12], -"modules__arrs_8F90.html#ab991cce44554fb17b1c1cd0474929a94":[6,0,125,105], -"modules__arrs_8F90.html#abc7e7be12befacea858a7f249c9425ca":[6,0,125,114], -"modules__arrs_8F90.html#abe572c04d3aa498e8135d20e656d0e6a":[6,0,125,106], -"modules__arrs_8F90.html#abe63e3ddf9a739b073e8dd5b01460ddf":[6,0,125,110], -"modules__arrs_8F90.html#abf94758379c91be61fcf18f6c9dae5cf":[6,0,125,97], -"modules__arrs_8F90.html#ac0c5953da2d8867d81acad1800fec53c":[6,0,125,92], -"modules__arrs_8F90.html#ac17dd8dc0aeb695a1046a884673b1fc3":[6,0,125,96], -"modules__arrs_8F90.html#ac23d0e71777440374b51773ab34d31c7":[6,0,125,44], -"modules__arrs_8F90.html#ac34001b0c39f1c7b156214adaf3381d0":[6,0,125,5], -"modules__arrs_8F90.html#ac38651460e5e05dd70fe8c19fc1a9caa":[6,0,125,107], -"modules__arrs_8F90.html#ac3bbd45f25c8071e161bf7898230695a":[6,0,125,53], -"modules__arrs_8F90.html#ac477545b5d44685da84af7f23d7baa59":[6,0,125,140], -"modules__arrs_8F90.html#acaa72aa1ab54d9a7a82f83e58c8aeed1":[6,0,125,15], -"modules__arrs_8F90.html#accaa0826b48e876c29f6bb8ebe21c83e":[6,0,125,94], -"modules__arrs_8F90.html#acd6cd1e5190bdc17381e81624a7e2e80":[6,0,125,91], -"modules__arrs_8F90.html#acfcd2b4391b00ae43bdb026de8573c7a":[6,0,125,104], -"modules__arrs_8F90.html#ad03b1bbbb4eb8366a77af6da12f0793c":[6,0,125,122], -"modules__arrs_8F90.html#ad3fddde254d512cae401fc3f5532fe7c":[6,0,125,151], -"modules__arrs_8F90.html#ad4299c9b916b83272f07cba8d2d22d4f":[6,0,125,39], -"modules__arrs_8F90.html#ad4937a8d8159f5b7fff9d51b59c6324b":[6,0,125,160], -"modules__arrs_8F90.html#ad51ebce67c88b36c4ad4a07ee1a49732":[6,0,125,83], -"modules__arrs_8F90.html#ad9b27559a7e05f9939764fa6688d7147":[6,0,125,80], -"modules__arrs_8F90.html#ada2721216de79b6527d89323df61956d":[6,0,125,163], -"modules__arrs_8F90.html#adbe38c29980443a65ff0bb0cfa1bb753":[6,0,125,17], -"modules__arrs_8F90.html#adff426f406bb1f795e94c0af6d68d856":[6,0,125,66], -"modules__arrs_8F90.html#ae8e13371b82ad223284aeac9d6ad9aae":[6,0,125,133], -"modules__arrs_8F90.html#aeabc918978c598efc0231fc59d2bfd24":[6,0,125,28], -"modules__arrs_8F90.html#aeb00e574adb63bf7cc809d540d5a02bc":[6,0,125,100], -"modules__arrs_8F90.html#aec0b91e9c09fffd506b27ea574b7da71":[6,0,125,95], -"modules__arrs_8F90.html#aedf59ef218e980c24d128aa7bc8884b1":[6,0,125,84], -"modules__arrs_8F90.html#aef82673973ab814f34658d9a1e5f3404":[6,0,125,146], -"modules__arrs_8F90.html#af0d2b78411b01dc1aabe9baf6c946b38":[6,0,125,20], -"modules__arrs_8F90.html#af1ca5281543dc4ce645d861f7f744c6d":[6,0,125,24], -"modules__arrs_8F90.html#af2710ff69575fa7a323c654e7998e142":[6,0,125,119], -"modules__arrs_8F90.html#af3bfb995ad7362f75b23ef21cc384e3c":[6,0,125,125], -"modules__arrs_8F90.html#af55ccb71d40a6980f3e18dee2ea3a9db":[6,0,125,45], -"modules__arrs_8F90.html#af59d63e63df8f925e55a922d70a37785":[6,0,125,59], -"modules__arrs_8F90.html#af5a5b5688cbfbea4a3d5d0705172fba3":[6,0,125,86], -"modules__arrs_8F90.html#afbc0cd7c0f91147bca16c7fd909a0d75":[6,0,125,10], -"modules__arrs_8F90.html#afcc556a5fac9b693f0be507fafccf973":[6,0,125,161], -"modules__arrs_8F90_source.html":[6,0,125], -"modules__vars_8F90.html":[6,0,126], -"modules__vars_8F90.html#a00da6b40b76b72a75b2948b026e8ad46":[6,0,126,6], -"modules__vars_8F90.html#a0109e3f912cb9a045bd0bdbc2c3599a2":[6,0,126,8], -"modules__vars_8F90.html#a0523fa736e5303f831ba35f28f0e12e3":[6,0,126,32], -"modules__vars_8F90.html#a1d1180c7ebc57b9027adad1c8416b363":[6,0,126,24], -"modules__vars_8F90.html#a23decd12e10b603556fb90d309b32f51":[6,0,126,29], -"modules__vars_8F90.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1":[6,0,126,5], -"modules__vars_8F90.html#a2f7d0410150f8171819ce9dd08a04ce9":[6,0,126,21], -"modules__vars_8F90.html#a32acff1af258eba800833e352391e17c":[6,0,126,16], -"modules__vars_8F90.html#a39326be0f9fc667b811dbe4f49588e71":[6,0,126,1], -"modules__vars_8F90.html#a4a04738aa454a7cad1dbc581f50d0ff7":[6,0,126,14], -"modules__vars_8F90.html#a4bcae72ec91bf4e2aa24ded587ee0b2e":[6,0,126,25], -"modules__vars_8F90.html#a5485fe7cfc03d43037332374b6978139":[6,0,126,22], -"modules__vars_8F90.html#a5cbb45a528e6d0aa7c0920ad894d51ac":[6,0,126,13], -"modules__vars_8F90.html#a5f1a9fea4a54d99b9967c8aec183f884":[6,0,126,17], -"modules__vars_8F90.html#a5f5b13fe947cc288f30e436dd890b886":[6,0,126,18], -"modules__vars_8F90.html#a64a2fe94d8f8c4459f811370e8ff71f2":[6,0,126,10], -"modules__vars_8F90.html#a72f17d1827d2fafc9ea4f8fc4effe375":[6,0,126,28], -"modules__vars_8F90.html#a73203ec7925d5389a84367c937d3da97":[6,0,126,27], -"modules__vars_8F90.html#a765c07216d8fe91b2876890e540f1519":[6,0,126,0], -"modules__vars_8F90.html#a9a0e83b3c30a94df1f775cbac21909ea":[6,0,126,23], -"modules__vars_8F90.html#a9a6ec441e7b71d30945ad61d917eda81":[6,0,126,31], -"modules__vars_8F90.html#a9ba251d03efb6ce30eb35ccefa5fee1e":[6,0,126,7], -"modules__vars_8F90.html#a9de0bfc19c54f103e9edb2864d8778f8":[6,0,126,3], -"modules__vars_8F90.html#aa365d7315624259a7a21adeb3a628cd3":[6,0,126,15], -"modules__vars_8F90.html#aae993775b8e9aac22197a7636a31b8af":[6,0,126,19], -"modules__vars_8F90.html#ab4a909f2f76ec550ae2776645a8df46f":[6,0,126,12], -"modules__vars_8F90.html#ac5b7bef2c4078bf74e81a1773767624a":[6,0,126,9], -"modules__vars_8F90.html#ad92fefa0c5524719c3c05092dbc55050":[6,0,126,26], -"modules__vars_8F90.html#adb7e2a387689aae3a964d3f379e14d61":[6,0,126,4], -"modules__vars_8F90.html#ade76aa5db387438d3bd279e599df3e11":[6,0,126,30], -"modules__vars_8F90.html#af0bace2fd3fb04c6d0243ca4004616e0":[6,0,126,11], -"modules__vars_8F90.html#af27eca23c1db9f9eaa447523aacb9ccc":[6,0,126,20], -"modules__vars_8F90.html#af89ce869fc472b48531a4356395ca8af":[6,0,126,2], -"modules__vars_8F90_source.html":[6,0,126], -"mrginv_8f.html":[6,0,127], -"mrginv_8f.html#ad2b1b1578991d75d98e005d2678bef78":[6,0,127,0], -"mrginv_8f_source.html":[6,0,127], -"msgfull_8f.html":[6,0,128], -"msgfull_8f.html#a3808cd2ad652b38673d5ac6906cfe73f":[6,0,128,0], -"msgfull_8f_source.html":[6,0,128], -"msgini_8f.html":[6,0,129], -"msgini_8f.html#ae73a0a9e7bba8f7dfeb673f2bca0820b":[6,0,129,0], -"msgini_8f_source.html":[6,0,129], -"msgupd_8f.html":[6,0,130], -"msgupd_8f.html#adf75cb2bc2a217eb33ffc8e45b1a5350":[6,0,130,0], -"msgupd_8f_source.html":[6,0,130], -"msgwrt_8f.html":[6,0,131], -"msgwrt_8f.html#ac95ecf1436ba14805a33efd29fab1e5d":[6,0,131,0], -"msgwrt_8f_source.html":[6,0,131], -"mstabs_8h.html":[6,0,132], -"mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc":[6,0,132,5], -"mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab":[6,0,132,10], -"mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51":[6,0,132,6], -"mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d":[6,0,132,1], -"mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26":[6,0,132,11], -"mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff":[6,0,132,13], -"mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0":[6,0,132,9], -"mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0":[6,0,132,0], -"mstabs_8h.html#a944736d6f549e144e77482a27d57d54f":[6,0,132,4], -"mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2":[6,0,132,7], -"mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad":[6,0,132,8], -"mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0":[6,0,132,12], -"mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47":[6,0,132,3], -"mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b":[6,0,132,2], -"mstabs_8h_source.html":[6,0,132], -"mtfnam_8f.html":[6,0,133], -"mtfnam_8f.html#a9991cbb64b79f8c3f07d1037344ab143":[6,0,133,0], -"mtfnam_8f_source.html":[6,0,133], -"mtinfo_8f.html":[6,0,134], -"mtinfo_8f.html#a5bc13da9cf85f0bf6a8010842707d271":[6,0,134,0], -"mtinfo_8f_source.html":[6,0,134], -"mvb_8f.html":[6,0,135], -"mvb_8f.html#a3fb4ee7c2a5cf7725257dcdd71826ba2":[6,0,135,0], -"mvb_8f_source.html":[6,0,135], +"modules__arrs_8F90.html#afcc556a5fac9b693f0be507fafccf973":[6,0,36,170], +"modules__arrs_8F90_source.html":[6,0,36], +"modules__vars_8F90.html":[6,0,37], +"modules__vars_8F90.html#a009fea23b90695d1556e33a557d4b7f1":[6,0,37,35], +"modules__vars_8F90.html#a009fea23b90695d1556e33a557d4b7f1":[4,0,43,35], +"modules__vars_8F90.html#a14452fc0317594bd880c9abba582ae74":[6,0,37,19], +"modules__vars_8F90.html#a14452fc0317594bd880c9abba582ae74":[4,0,43,19], +"modules__vars_8F90.html#a179ebe33ab923f74ef05e2851a86d33b":[6,0,37,26], +"modules__vars_8F90.html#a179ebe33ab923f74ef05e2851a86d33b":[4,0,43,26], +"modules__vars_8F90.html#a181516c96f53bedb9774c83ebfeb0a23":[6,0,37,4], +"modules__vars_8F90.html#a181516c96f53bedb9774c83ebfeb0a23":[4,0,43,4], +"modules__vars_8F90.html#a18a87ef02ab98d62e7fa272b20acd77a":[6,0,37,41], +"modules__vars_8F90.html#a18a87ef02ab98d62e7fa272b20acd77a":[4,0,43,41], +"modules__vars_8F90.html#a2588ca33cb30f0316759c9ca7735bbb3":[6,0,37,7], +"modules__vars_8F90.html#a2588ca33cb30f0316759c9ca7735bbb3":[4,0,43,7], +"modules__vars_8F90.html#a2b80f794fded7bf159ff58796ec31a7c":[6,0,37,42], +"modules__vars_8F90.html#a2b80f794fded7bf159ff58796ec31a7c":[4,0,43,42], +"modules__vars_8F90.html#a3eaffbddfb28ae6f90cff4ec580463c1":[6,0,37,10], +"modules__vars_8F90.html#a3eaffbddfb28ae6f90cff4ec580463c1":[4,0,43,10], +"modules__vars_8F90.html#a4ff59bf9f9ee31e187bf7f8ecb61f4dd":[6,0,37,6], +"modules__vars_8F90.html#a4ff59bf9f9ee31e187bf7f8ecb61f4dd":[4,0,43,6], +"modules__vars_8F90.html#a59f64f9f847d2171ecac822482b2f0a9":[6,0,37,27], +"modules__vars_8F90.html#a59f64f9f847d2171ecac822482b2f0a9":[4,0,43,27], +"modules__vars_8F90.html#a5a89be3220392c5b182d4d475d22e3e1":[6,0,37,30], +"modules__vars_8F90.html#a5a89be3220392c5b182d4d475d22e3e1":[4,0,43,30], +"modules__vars_8F90.html#a5b163d0f13c16e94bdac566d2495faf7":[6,0,37,44], +"modules__vars_8F90.html#a5b163d0f13c16e94bdac566d2495faf7":[4,0,43,44], +"modules__vars_8F90.html#a6007e8a5d98440d7bb16ce63bbf007e6":[6,0,37,5], +"modules__vars_8F90.html#a6007e8a5d98440d7bb16ce63bbf007e6":[4,0,43,5], +"modules__vars_8F90.html#a6062176c0f51fa9f593310f46cc14fe0":[6,0,37,29], +"modules__vars_8F90.html#a6062176c0f51fa9f593310f46cc14fe0":[4,0,43,29], +"modules__vars_8F90.html#a61162c966b964b3039b9180818d0e7ee":[6,0,37,14], +"modules__vars_8F90.html#a61162c966b964b3039b9180818d0e7ee":[4,0,43,14], +"modules__vars_8F90.html#a61b398d330ce6937423db44f080b93fd":[6,0,37,38], +"modules__vars_8F90.html#a61b398d330ce6937423db44f080b93fd":[4,0,43,38], +"modules__vars_8F90.html#a656c690a79e927a6d824a1e8cef901e9":[6,0,37,16], +"modules__vars_8F90.html#a656c690a79e927a6d824a1e8cef901e9":[4,0,43,16], +"modules__vars_8F90.html#a6780f1f07eeec5333e01ca17588f7d39":[6,0,37,25], +"modules__vars_8F90.html#a6780f1f07eeec5333e01ca17588f7d39":[4,0,43,25], +"modules__vars_8F90.html#a68ea76a4751743e58280e061b43313e7":[6,0,37,40], +"modules__vars_8F90.html#a68ea76a4751743e58280e061b43313e7":[4,0,43,40], +"modules__vars_8F90.html#a695fe6ca7714604e88e1fc4d21cc839d":[6,0,37,37], +"modules__vars_8F90.html#a695fe6ca7714604e88e1fc4d21cc839d":[4,0,43,37], +"modules__vars_8F90.html#a6c14025516cc65ace5f17fc2c4e4a9a3":[6,0,37,15], +"modules__vars_8F90.html#a6c14025516cc65ace5f17fc2c4e4a9a3":[4,0,43,15], +"modules__vars_8F90.html#a7376f8406ce5e5e420d4d012aea93416":[6,0,37,8], +"modules__vars_8F90.html#a7376f8406ce5e5e420d4d012aea93416":[4,0,43,8], +"modules__vars_8F90.html#a739ea87803beaa51dd172adb95af9b86":[6,0,37,28], +"modules__vars_8F90.html#a739ea87803beaa51dd172adb95af9b86":[4,0,43,28], +"modules__vars_8F90.html#a745e8be4bf52246db47090996854736b":[6,0,37,1], +"modules__vars_8F90.html#a745e8be4bf52246db47090996854736b":[4,0,43,1], +"modules__vars_8F90.html#a7a129734d8b06649619e8e9ee42eca62":[4,0,43,0], +"modules__vars_8F90.html#a7a129734d8b06649619e8e9ee42eca62":[6,0,37,0], +"modules__vars_8F90.html#a7b92c0b0ed1fb2b80b048414fa1e54ce":[6,0,37,34], +"modules__vars_8F90.html#a7b92c0b0ed1fb2b80b048414fa1e54ce":[4,0,43,34], +"modules__vars_8F90.html#a7db5428bb409dc91391908e3f6005da0":[6,0,37,2], +"modules__vars_8F90.html#a7db5428bb409dc91391908e3f6005da0":[4,0,43,2], +"modules__vars_8F90.html#a85bed6c0b0a9aa339abd8fb7b3a136b5":[4,0,43,39], +"modules__vars_8F90.html#a85bed6c0b0a9aa339abd8fb7b3a136b5":[6,0,37,39], +"modules__vars_8F90.html#a8623e746f63272cf61b014607d998345":[4,0,43,3], +"modules__vars_8F90.html#a8623e746f63272cf61b014607d998345":[6,0,37,3], +"modules__vars_8F90.html#a9242cd091e5ab5d3956740035f6b6207":[6,0,37,33], +"modules__vars_8F90.html#a9242cd091e5ab5d3956740035f6b6207":[4,0,43,33], +"modules__vars_8F90.html#a9776bd15698bdb2c211a2326f0ca61dc":[6,0,37,9], +"modules__vars_8F90.html#a9776bd15698bdb2c211a2326f0ca61dc":[4,0,43,9], +"modules__vars_8F90.html#a9c06e9ba0f47cbeecfb1e6d1972e1e4f":[6,0,37,21], +"modules__vars_8F90.html#a9c06e9ba0f47cbeecfb1e6d1972e1e4f":[4,0,43,21], +"modules__vars_8F90.html#a9d4bd8b03fd20102645f0a43d8867bff":[6,0,37,45], +"modules__vars_8F90.html#a9d4bd8b03fd20102645f0a43d8867bff":[4,0,43,45], +"modules__vars_8F90.html#aa7b24da237033a528cb05754d5736cc6":[6,0,37,22], +"modules__vars_8F90.html#aa7b24da237033a528cb05754d5736cc6":[4,0,43,22], +"modules__vars_8F90.html#aa9124552f5c640e47f8decc9499688d8":[6,0,37,43], +"modules__vars_8F90.html#aa9124552f5c640e47f8decc9499688d8":[4,0,43,43], +"modules__vars_8F90.html#ab2c78405872b159e107674c2fc2a12f7":[6,0,37,31], +"modules__vars_8F90.html#ab2c78405872b159e107674c2fc2a12f7":[4,0,43,31], +"modules__vars_8F90.html#ab5934a6a2f8cd3e09418203c1d3c20de":[6,0,37,13], +"modules__vars_8F90.html#ab5934a6a2f8cd3e09418203c1d3c20de":[4,0,43,13], +"modules__vars_8F90.html#ab5fc7a78bb32e9a0fa7cbb1f402e7528":[6,0,37,20], +"modules__vars_8F90.html#ab5fc7a78bb32e9a0fa7cbb1f402e7528":[4,0,43,20], +"modules__vars_8F90.html#ad2e54a398ee4fd5c87669a2883e7a37d":[6,0,37,12], +"modules__vars_8F90.html#ad2e54a398ee4fd5c87669a2883e7a37d":[4,0,43,12], +"modules__vars_8F90.html#ad5cda585f8b55a9e6e3a81808c23630f":[6,0,37,24], +"modules__vars_8F90.html#ad5cda585f8b55a9e6e3a81808c23630f":[4,0,43,24], +"modules__vars_8F90.html#adaae2c5fadf243ece139cc7e84688d75":[6,0,37,17], +"modules__vars_8F90.html#adaae2c5fadf243ece139cc7e84688d75":[4,0,43,17], +"modules__vars_8F90.html#ae0bf7b02df4e070e72a90672e3eded90":[4,0,43,32], +"modules__vars_8F90.html#ae0bf7b02df4e070e72a90672e3eded90":[6,0,37,32], +"modules__vars_8F90.html#ae2e923a33b968adc577317f6cef8f24e":[4,0,43,36], +"modules__vars_8F90.html#ae2e923a33b968adc577317f6cef8f24e":[6,0,37,36], +"modules__vars_8F90.html#ae330052e2bcc0a81949c5ef8d6e7cc9e":[6,0,37,23], +"modules__vars_8F90.html#ae330052e2bcc0a81949c5ef8d6e7cc9e":[4,0,43,23], +"modules__vars_8F90.html#ae8a681bd9096d6c9a2466b3c71f6ec7e":[6,0,37,11], +"modules__vars_8F90.html#ae8a681bd9096d6c9a2466b3c71f6ec7e":[4,0,43,11], +"modules__vars_8F90.html#aec19b6418a5d88f574f4b196b93a5cf5":[6,0,37,18], +"modules__vars_8F90.html#aec19b6418a5d88f574f4b196b93a5cf5":[4,0,43,18], +"modules__vars_8F90_source.html":[6,0,37], +"mstabs_8h.html":[6,0,38], +"mstabs_8h.html#a006ec50bbb9f20fad017eb980cc7afa0":[6,0,38,10], +"mstabs_8h.html#a1209038da13334a450146c0caa5ae9ad":[6,0,38,4], +"mstabs_8h.html#a19c8207a7b2c18f50438f51f066bad7b":[6,0,38,1], +"mstabs_8h.html#a2798d24f3443eeee2999eddf34d24c19":[6,0,38,11], +"mstabs_8h.html#a309b9730283bc44b297b44f4e32db7f1":[6,0,38,6], +"mstabs_8h.html#a3e8f3bcd901b3809309c431d2825d636":[6,0,38,7], +"mstabs_8h.html#a49e37dddeae6e1e71da2444d40c6d232":[6,0,38,3], +"mstabs_8h.html#a558051c0c39c5c6181019fb4231797d1":[6,0,38,5], +"mstabs_8h.html#a7c0149a5419b96753491953e92ce35b0":[6,0,38,2], +"mstabs_8h.html#aa0f8eb7c3a1ca9a66a0933d97a3422ab":[6,0,38,0], +"mstabs_8h.html#aaa17913e195f9e3cf457d748d2c8f60e":[6,0,38,14], +"mstabs_8h.html#aaa7c3e504e98938c63caeb866c071c59":[6,0,38,8], +"mstabs_8h.html#acdfc509abed04b3bc643a4171c419fa4":[6,0,38,9], +"mstabs_8h.html#ad93c9a8906bf4b63fba3143c8d9d5da5":[6,0,38,13], +"mstabs_8h.html#ad9af08676809848df12a73ece2a37182":[6,0,38,12], +"mstabs_8h_source.html":[6,0,38], "namespacebufr__c2f__interface.html":[4,0,0], "namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102":[4,0,0,14], -"namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53":[4,0,0,43], +"namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53":[4,0,0,42], "namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6":[4,0,0,23], "namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503":[4,0,0,18], "namespacebufr__c2f__interface.html#a139959903905b228c3228e3b3a09e025":[4,0,0,7], -"namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6":[4,0,0,49], -"namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0":[4,0,0,48], -"namespacebufr__c2f__interface.html#a2b81bdfdb8a2380ba294b375c67d343a":[4,0,0,57], -"namespacebufr__c2f__interface.html#a2efc35235defecb306c8324c0599d0b9":[4,0,0,56], +"namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6":[4,0,0,48], +"namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0":[4,0,0,47], +"namespacebufr__c2f__interface.html#a2b81bdfdb8a2380ba294b375c67d343a":[4,0,0,55], +"namespacebufr__c2f__interface.html#a2efc35235defecb306c8324c0599d0b9":[4,0,0,54], "namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b":[4,0,0,29], "namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b":[4,0,0,26], "namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d":[4,0,0,4], "namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3":[4,0,0,5], -"namespacebufr__c2f__interface.html#a415acfb9ec053e0ef1a931b0eac2ee4a":[4,0,0,60], +"namespacebufr__c2f__interface.html#a415acfb9ec053e0ef1a931b0eac2ee4a":[4,0,0,58], "namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c":[4,0,0,22], -"namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67":[4,0,0,51], -"namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364":[4,0,0,37], +"namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67":[4,0,0,50], +"namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364":[4,0,0,36], "namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e":[4,0,0,25], -"namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93":[4,0,0,52], -"namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd":[4,0,0,35], -"namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55":[4,0,0,39], -"namespacebufr__c2f__interface.html#a5c0b51f6d15b30a289d69c36e19b1264":[4,0,0,58], +"namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93":[4,0,0,51], +"namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd":[4,0,0,34], +"namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55":[4,0,0,38], +"namespacebufr__c2f__interface.html#a5c0b51f6d15b30a289d69c36e19b1264":[4,0,0,56], "namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab":[4,0,0,10], "namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d":[4,0,0,27], "namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6":[4,0,0,12], "namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a":[4,0,0,19], "namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5":[4,0,0,3], -"namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d":[4,0,0,44], +"namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d":[4,0,0,43], "namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f":[4,0,0,0], "namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae":[4,0,0,33], "namespacebufr__c2f__interface.html#a7c95d71e3921bb7093e56dbc458de10c":[4,0,0,2], -"namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48":[4,0,0,38], -"namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102":[4,0,0,20] +"namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48":[4,0,0,37], +"namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102":[4,0,0,20], +"namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7":[4,0,0,30], +"namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0":[4,0,0,45], +"namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241":[4,0,0,9], +"namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea":[4,0,0,53], +"namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f":[4,0,0,28], +"namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42":[4,0,0,35], +"namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f":[4,0,0,16], +"namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44":[4,0,0,44], +"namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f":[4,0,0,11], +"namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e":[4,0,0,8], +"namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64":[4,0,0,41], +"namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9":[4,0,0,39], +"namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1":[4,0,0,31], +"namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9":[4,0,0,17], +"namespacebufr__c2f__interface.html#acc6413f0b94cba90a23f594d70e11291":[4,0,0,6], +"namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc":[4,0,0,46], +"namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490":[4,0,0,32], +"namespacebufr__c2f__interface.html#ad33aa8215beed2cd017faf769a7a2dc2":[4,0,0,59], +"namespacebufr__c2f__interface.html#ad5ac970a71d7050263e85a2e17d11cf6":[4,0,0,57], +"namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0":[4,0,0,1], +"namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d":[4,0,0,15], +"namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2":[4,0,0,40], +"namespacebufr__c2f__interface.html#aea7e3ac1560fbe3760ff6c4c3f72b78b":[4,0,0,60], +"namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca":[4,0,0,52], +"namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb":[4,0,0,24], +"namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252":[4,0,0,13], +"namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54":[4,0,0,21], +"namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2":[4,0,0,49], +"namespacebufr__interface.html":[4,0,1], +"namespacebufrlib.html":[4,0,2], +"namespacemembers.html":[4,1,0,0], +"namespacemembers.html":[4,1,0], +"namespacemembers_c.html":[4,1,0,1], +"namespacemembers_d.html":[4,1,0,2], +"namespacemembers_e.html":[4,1,0,3], +"namespacemembers_f.html":[4,1,0,4], +"namespacemembers_func.html":[4,1,1], +"namespacemembers_g.html":[4,1,0,5], +"namespacemembers_i.html":[4,1,0,6], +"namespacemembers_j.html":[4,1,0,7], +"namespacemembers_k.html":[4,1,0,8], +"namespacemembers_l.html":[4,1,0,9], +"namespacemembers_m.html":[4,1,0,10], +"namespacemembers_n.html":[4,1,0,11], +"namespacemembers_o.html":[4,1,0,12], +"namespacemembers_p.html":[4,1,0,13], +"namespacemembers_r.html":[4,1,0,14], +"namespacemembers_s.html":[4,1,0,15], +"namespacemembers_t.html":[4,1,0,16], +"namespacemembers_u.html":[4,1,0,17], +"namespacemembers_v.html":[4,1,0,18], +"namespacemembers_vars.html":[4,1,2], +"namespacemembers_w.html":[4,1,0,19], +"namespacemembers_x.html":[4,1,0,20], +"namespacemoda__bitbuf.html":[4,0,3], +"namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434":[4,0,3,0], +"namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9":[4,0,3,1], +"namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050":[4,0,3,3], +"namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a":[4,0,3,4], +"namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc":[4,0,3,2], +"namespacemoda__bitmaps.html":[4,0,4], +"namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574":[4,0,4,5], +"namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d":[4,0,4,7], +"namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf":[4,0,4,3], +"namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396":[4,0,4,11], +"namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965":[4,0,4,4], +"namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d":[4,0,4,9], +"namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458":[4,0,4,2], +"namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a":[4,0,4,1], +"namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e":[4,0,4,8], +"namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80":[4,0,4,6], +"namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c":[4,0,4,10], +"namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753":[4,0,4,0], +"namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404":[4,0,4,12], +"namespacemoda__bufrmg.html":[4,0,5], +"namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211":[4,0,5,0], +"namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793":[4,0,5,1], +"namespacemoda__bufrsr.html":[4,0,6], +"namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06":[4,0,6,3], +"namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c":[4,0,6,4], +"namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51":[4,0,6,6], +"namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0":[4,0,6,5], +"namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08":[4,0,6,1], +"namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0":[4,0,6,7], +"namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d":[4,0,6,8], +"namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07":[4,0,6,2], +"namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856":[4,0,6,0], +"namespacemoda__comprs.html":[4,0,7], +"namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133":[4,0,7,3], +"namespacemoda__comprs.html#a7e5d5589bde01337616f2527beed519f":[4,0,7,1], +"namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937":[4,0,7,0], +"namespacemoda__comprs.html#ac4fd15b3e268548d17edca4e1e5e5675":[4,0,7,2], +"namespacemoda__comprx.html":[4,0,8], +"namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf":[4,0,8,0], +"namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8":[4,0,8,7], +"namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7":[4,0,8,1], +"namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561":[4,0,8,12], +"namespacemoda__comprx.html#a7a0967a79c236a16f1fa11ebb8f99b0f":[4,0,8,2], +"namespacemoda__comprx.html#a7c3104f9c9731b91a8a105bcc5212542":[4,0,8,8], +"namespacemoda__comprx.html#a7caf741d65ff0b68932fa7d207c689ba":[4,0,8,5], +"namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02":[4,0,8,13], +"namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522":[4,0,8,3], +"namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808":[4,0,8,4] }; diff --git a/navtreeindex4.js b/navtreeindex4.js index de0cf9873..88cd571a3 100644 --- a/navtreeindex4.js +++ b/navtreeindex4.js @@ -1,120 +1,14 @@ var NAVTREEINDEX4 = { -"namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7":[4,0,0,30], -"namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0":[4,0,0,46], -"namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241":[4,0,0,9], -"namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea":[4,0,0,54], -"namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f":[4,0,0,28], -"namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42":[4,0,0,36], -"namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f":[4,0,0,16], -"namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44":[4,0,0,45], -"namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f":[4,0,0,11], -"namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e":[4,0,0,8], -"namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64":[4,0,0,42], -"namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9":[4,0,0,40], -"namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1":[4,0,0,31], -"namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9":[4,0,0,17], -"namespacebufr__c2f__interface.html#acc6413f0b94cba90a23f594d70e11291":[4,0,0,6], -"namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc":[4,0,0,47], -"namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe":[4,0,0,34], -"namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1":[4,0,0,55], -"namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490":[4,0,0,32], -"namespacebufr__c2f__interface.html#ad33aa8215beed2cd017faf769a7a2dc2":[4,0,0,61], -"namespacebufr__c2f__interface.html#ad5ac970a71d7050263e85a2e17d11cf6":[4,0,0,59], -"namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0":[4,0,0,1], -"namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d":[4,0,0,15], -"namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2":[4,0,0,41], -"namespacebufr__c2f__interface.html#aea7e3ac1560fbe3760ff6c4c3f72b78b":[4,0,0,62], -"namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca":[4,0,0,53], -"namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb":[4,0,0,24], -"namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252":[4,0,0,13], -"namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54":[4,0,0,21], -"namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2":[4,0,0,50], -"namespacebufr__interface.html":[4,0,1], -"namespacebufrlib.html":[4,0,2], -"namespacemembers.html":[4,1,0], -"namespacemembers.html":[4,1,0,0], -"namespacemembers_c.html":[4,1,0,1], -"namespacemembers_d.html":[4,1,0,2], -"namespacemembers_e.html":[4,1,0,3], -"namespacemembers_f.html":[4,1,0,4], -"namespacemembers_func.html":[4,1,1], -"namespacemembers_g.html":[4,1,0,5], -"namespacemembers_i.html":[4,1,0,6], -"namespacemembers_j.html":[4,1,0,7], -"namespacemembers_k.html":[4,1,0,8], -"namespacemembers_l.html":[4,1,0,9], -"namespacemembers_m.html":[4,1,0,10], -"namespacemembers_n.html":[4,1,0,11], -"namespacemembers_o.html":[4,1,0,12], -"namespacemembers_p.html":[4,1,0,13], -"namespacemembers_r.html":[4,1,0,14], -"namespacemembers_s.html":[4,1,0,15], -"namespacemembers_t.html":[4,1,0,16], -"namespacemembers_u.html":[4,1,0,17], -"namespacemembers_v.html":[4,1,0,18], -"namespacemembers_vars.html":[4,1,2], -"namespacemembers_w.html":[4,1,0,19], -"namespacemembers_x.html":[4,1,0,20], -"namespacemoda__bitbuf.html":[4,0,3], -"namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434":[4,0,3,0], -"namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9":[4,0,3,1], -"namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050":[4,0,3,3], -"namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a":[4,0,3,4], -"namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc":[4,0,3,2], -"namespacemoda__bitmaps.html":[4,0,4], -"namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574":[4,0,4,5], -"namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d":[4,0,4,7], -"namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf":[4,0,4,3], -"namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396":[4,0,4,11], -"namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965":[4,0,4,4], -"namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d":[4,0,4,9], -"namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458":[4,0,4,2], -"namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a":[4,0,4,1], -"namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e":[4,0,4,8], -"namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80":[4,0,4,6], -"namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c":[4,0,4,10], -"namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753":[4,0,4,0], -"namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404":[4,0,4,12], -"namespacemoda__bufrmg.html":[4,0,5], -"namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211":[4,0,5,0], -"namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793":[4,0,5,1], -"namespacemoda__bufrsr.html":[4,0,6], -"namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06":[4,0,6,4], -"namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c":[4,0,6,5], -"namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51":[4,0,6,8], -"namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0":[4,0,6,6], -"namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47":[4,0,6,3], -"namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218":[4,0,6,7], -"namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08":[4,0,6,1], -"namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0":[4,0,6,9], -"namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d":[4,0,6,10], -"namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6":[4,0,6,11], -"namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07":[4,0,6,2], -"namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856":[4,0,6,0], -"namespacemoda__comprs.html":[4,0,7], -"namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133":[4,0,7,3], -"namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27":[4,0,7,1], -"namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576":[4,0,7,2], -"namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937":[4,0,7,0], -"namespacemoda__comprx.html":[4,0,8], -"namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf":[4,0,8,0], -"namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71":[4,0,8,6], -"namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8":[4,0,8,5], -"namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7":[4,0,8,1], -"namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561":[4,0,8,10], -"namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02":[4,0,8,11], -"namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522":[4,0,8,2], -"namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808":[4,0,8,3], -"namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3":[4,0,8,9], -"namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732":[4,0,8,7], -"namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147":[4,0,8,4], -"namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1":[4,0,8,8], +"namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3":[4,0,8,11], +"namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147":[4,0,8,6], +"namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1":[4,0,8,10], +"namespacemoda__comprx.html#af3c2aa97661a37d85840d480e611695e":[4,0,8,9], "namespacemoda__dscach.html":[4,0,9], -"namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a":[4,0,9,0], -"namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3":[4,0,9,1], +"namespacemoda__dscach.html#a141173c549e506cd4637af33c4efdece":[4,0,9,0], "namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6":[4,0,9,2], -"namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c":[4,0,9,3], +"namespacemoda__dscach.html#ab79409e1e5c6d8e2542bac564283a5ef":[4,0,9,1], +"namespacemoda__dscach.html#abbb9e570ae869b4abdf6e18c14475485":[4,0,9,3], "namespacemoda__h4wlc.html":[4,0,10], "namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac":[4,0,10,2], "namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889":[4,0,10,3], @@ -123,7 +17,7 @@ var NAVTREEINDEX4 = "namespacemoda__idrdm.html":[4,0,11], "namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6":[4,0,11,0], "namespacemoda__ival.html":[4,0,12], -"namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58":[4,0,12,0], +"namespacemoda__ival.html#a354161b574c84bfd3401bc0b287335c7":[4,0,12,0], "namespacemoda__ivttmp.html":[4,0,13], "namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e":[4,0,13,1], "namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b":[4,0,13,2], @@ -134,120 +28,226 @@ var NAVTREEINDEX4 = "namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a":[4,0,15,0], "namespacemoda__mgwb.html":[4,0,16], "namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa":[4,0,16,0], -"namespacemoda__msgcwd.html":[4,0,17], -"namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa":[4,0,17,1], -"namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b":[4,0,17,0], -"namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad":[4,0,17,3], -"namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295":[4,0,17,2], -"namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59":[4,0,17,4], -"namespacemoda__msglim.html":[4,0,18], -"namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf":[4,0,18,0], -"namespacemoda__msgmem.html":[4,0,19], -"namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2":[4,0,19,8], -"namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536":[4,0,19,3], -"namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227":[4,0,19,9], -"namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab":[4,0,19,0], -"namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd":[4,0,19,11], -"namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74":[4,0,19,1], -"namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc":[4,0,19,10], -"namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637":[4,0,19,13], -"namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5":[4,0,19,4], -"namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9":[4,0,19,7], -"namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f":[4,0,19,5], -"namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23":[4,0,19,14], -"namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94":[4,0,19,6], -"namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142":[4,0,19,12], -"namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db":[4,0,19,2], -"namespacemoda__mstabs.html":[4,0,20], -"namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049":[4,0,20,10], -"namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b":[4,0,20,5], -"namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95":[4,0,20,12], -"namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a":[4,0,20,0], -"namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7":[4,0,20,7], -"namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa":[4,0,20,2], -"namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1":[4,0,20,11], -"namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7":[4,0,20,1], -"namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea":[4,0,20,3], -"namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168":[4,0,20,6], -"namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0":[4,0,20,4], -"namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae":[4,0,20,13], -"namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24":[4,0,20,9], -"namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38":[4,0,20,8], -"namespacemoda__nmikrp.html":[4,0,21], -"namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876":[4,0,21,1], -"namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812":[4,0,21,0], -"namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3":[4,0,21,2], -"namespacemoda__nrv203.html":[4,0,22], -"namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1":[4,0,22,1], -"namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de":[4,0,22,7], -"namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602":[4,0,22,4], -"namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e":[4,0,22,5], -"namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f":[4,0,22,6], -"namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7":[4,0,22,3], -"namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f":[4,0,22,2], -"namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d":[4,0,22,0], -"namespacemoda__nulbfr.html":[4,0,23], -"namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526":[4,0,23,0], -"namespacemoda__rdmtb.html":[4,0,24], -"namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653":[4,0,24,0], -"namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055":[4,0,24,1], -"namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93":[4,0,24,3], -"namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f":[4,0,24,2], -"namespacemoda__rlccmn.html":[4,0,25], -"namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f":[4,0,25,3], -"namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd":[4,0,25,2], -"namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca":[4,0,25,1], -"namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1":[4,0,25,0], -"namespacemoda__s01cm.html":[4,0,26], -"namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655":[4,0,26,1], -"namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888":[4,0,26,2], -"namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7":[4,0,26,0], -"namespacemoda__sc3bfr.html":[4,0,27], -"namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584":[4,0,27,1], -"namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a":[4,0,27,0], -"namespacemoda__stbfr.html":[4,0,28], -"namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99":[4,0,28,0], -"namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7":[4,0,28,1], -"namespacemoda__stcode.html":[4,0,29], -"namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e":[4,0,29,0], -"namespacemoda__tababd.html":[4,0,30], -"namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558":[4,0,30,4], -"namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c":[4,0,30,9], -"namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65":[4,0,30,7], -"namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56":[4,0,30,3], -"namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca":[4,0,30,0], -"namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556":[4,0,30,6], -"namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f":[4,0,30,5], -"namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e":[4,0,30,2], -"namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5":[4,0,30,1], -"namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c":[4,0,30,8], -"namespacemoda__tables.html":[4,0,31], -"namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6":[4,0,31,6], -"namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599":[4,0,31,1], -"namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901":[4,0,31,3], -"namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e":[4,0,31,2], -"namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2":[4,0,31,0], -"namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b":[4,0,31,8], -"namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed":[4,0,31,15], -"namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2":[4,0,31,11], -"namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c":[4,0,31,14], -"namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb":[4,0,31,5], -"namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4":[4,0,31,13], -"namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc":[4,0,31,12], -"namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36":[4,0,31,7], -"namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251":[4,0,31,4], -"namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c":[4,0,31,10], -"namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3":[4,0,31,9], -"namespacemoda__ufbcpl.html":[4,0,32], -"namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf":[4,0,32,0], -"namespacemoda__unptyp.html":[4,0,33], -"namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca":[4,0,33,0], -"namespacemoda__usrbit.html":[4,0,34], -"namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7":[4,0,34,1], -"namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a":[4,0,34,0], -"namespacemoda__usrint.html":[4,0,35], -"namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261":[4,0,35,2], -"namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486":[4,0,35,3], -"namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e":[4,0,35,0], -"namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a":[4,0,35,1] +"namespacemoda__msgcmp.html":[4,0,17], +"namespacemoda__msgcmp.html#a748ff156e2c817957765b05119f74270":[4,0,17,0], +"namespacemoda__msgcwd.html":[4,0,18], +"namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa":[4,0,18,1], +"namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b":[4,0,18,0], +"namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad":[4,0,18,3], +"namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295":[4,0,18,2], +"namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59":[4,0,18,4], +"namespacemoda__msglim.html":[4,0,19], +"namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf":[4,0,19,0], +"namespacemoda__msgmem.html":[4,0,20], +"namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2":[4,0,20,8], +"namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536":[4,0,20,3], +"namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227":[4,0,20,9], +"namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab":[4,0,20,0], +"namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd":[4,0,20,11], +"namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74":[4,0,20,1], +"namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc":[4,0,20,10], +"namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637":[4,0,20,13], +"namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5":[4,0,20,4], +"namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9":[4,0,20,7], +"namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f":[4,0,20,5], +"namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23":[4,0,20,14], +"namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94":[4,0,20,6], +"namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142":[4,0,20,12], +"namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db":[4,0,20,2], +"namespacemoda__msgstd.html":[4,0,21], +"namespacemoda__msgstd.html#a23356dfd7172ae4d2ff05d657234d6ab":[4,0,21,0], +"namespacemoda__mstabs.html":[4,0,22], +"namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049":[4,0,22,10], +"namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b":[4,0,22,5], +"namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95":[4,0,22,12], +"namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a":[4,0,22,0], +"namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7":[4,0,22,7], +"namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa":[4,0,22,2], +"namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1":[4,0,22,11], +"namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7":[4,0,22,1], +"namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea":[4,0,22,3], +"namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168":[4,0,22,6], +"namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0":[4,0,22,4], +"namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae":[4,0,22,13], +"namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24":[4,0,22,9], +"namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38":[4,0,22,8], +"namespacemoda__nmikrp.html":[4,0,23], +"namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876":[4,0,23,1], +"namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812":[4,0,23,0], +"namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3":[4,0,23,2], +"namespacemoda__nrv203.html":[4,0,24], +"namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1":[4,0,24,1], +"namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de":[4,0,24,7], +"namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602":[4,0,24,4], +"namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e":[4,0,24,5], +"namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f":[4,0,24,6], +"namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7":[4,0,24,3], +"namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f":[4,0,24,2], +"namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d":[4,0,24,0], +"namespacemoda__nulbfr.html":[4,0,25], +"namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526":[4,0,25,0], +"namespacemoda__rdmtb.html":[4,0,26], +"namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653":[4,0,26,0], +"namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055":[4,0,26,1], +"namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93":[4,0,26,3], +"namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f":[4,0,26,2], +"namespacemoda__rlccmn.html":[4,0,27], +"namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f":[4,0,27,3], +"namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd":[4,0,27,2], +"namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca":[4,0,27,1], +"namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1":[4,0,27,0], +"namespacemoda__s01cm.html":[4,0,28], +"namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655":[4,0,28,1], +"namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888":[4,0,28,2], +"namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7":[4,0,28,0], +"namespacemoda__s3list.html":[4,0,29], +"namespacemoda__s3list.html#a07f44b4772abffacaba7e9be5fbb7fda":[4,0,29,1], +"namespacemoda__s3list.html#a2ceee9741718460b614f37fb6b976259":[4,0,29,0], +"namespacemoda__sc3bfr.html":[4,0,30], +"namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584":[4,0,30,1], +"namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a":[4,0,30,0], +"namespacemoda__stbfr.html":[4,0,31], +"namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99":[4,0,31,0], +"namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7":[4,0,31,1], +"namespacemoda__stcode.html":[4,0,32], +"namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e":[4,0,32,0], +"namespacemoda__tababd.html":[4,0,33], +"namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558":[4,0,33,4], +"namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c":[4,0,33,9], +"namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65":[4,0,33,7], +"namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56":[4,0,33,3], +"namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca":[4,0,33,0], +"namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556":[4,0,33,6], +"namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f":[4,0,33,5], +"namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e":[4,0,33,2], +"namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5":[4,0,33,1], +"namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c":[4,0,33,8], +"namespacemoda__tablef.html":[4,0,34], +"namespacemoda__tablef.html#a61847a8129d1a6c6909c2ea4727d67f6":[4,0,34,0], +"namespacemoda__tables.html":[4,0,35], +"namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6":[4,0,35,6], +"namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599":[4,0,35,1], +"namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901":[4,0,35,3], +"namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e":[4,0,35,2], +"namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2":[4,0,35,0], +"namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b":[4,0,35,8], +"namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed":[4,0,35,14], +"namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c":[4,0,35,13], +"namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb":[4,0,35,5], +"namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4":[4,0,35,12], +"namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc":[4,0,35,11], +"namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36":[4,0,35,7], +"namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251":[4,0,35,4], +"namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c":[4,0,35,10], +"namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3":[4,0,35,9], +"namespacemoda__tnkrcp.html":[4,0,36], +"namespacemoda__tnkrcp.html#a12d35afcaacac53905061f928377d92b":[4,0,36,2], +"namespacemoda__tnkrcp.html#a3f402734944f1438bc986b0d877a0bd7":[4,0,36,5], +"namespacemoda__tnkrcp.html#a97f45bd4e10b6016c9ef17bbd0efc2ca":[4,0,36,1], +"namespacemoda__tnkrcp.html#aba2ec73dacc32807332a7c1e38468f38":[4,0,36,0], +"namespacemoda__tnkrcp.html#aceb65be824d657fa109be2d9059a3a2b":[4,0,36,3], +"namespacemoda__tnkrcp.html#af081362974b0ae4f5be67c4bea20bae6":[4,0,36,4], +"namespacemoda__ufbcpl.html":[4,0,37], +"namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf":[4,0,37,0], +"namespacemoda__unptyp.html":[4,0,38], +"namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca":[4,0,38,0], +"namespacemoda__usrbit.html":[4,0,39], +"namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7":[4,0,39,1], +"namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a":[4,0,39,0], +"namespacemoda__usrint.html":[4,0,40], +"namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261":[4,0,40,2], +"namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486":[4,0,40,3], +"namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e":[4,0,40,0], +"namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a":[4,0,40,1], +"namespacemoda__usrtmp.html":[4,0,41], +"namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30":[4,0,41,0], +"namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973":[4,0,41,1], +"namespacemoda__xtab.html":[4,0,42], +"namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d":[4,0,42,0], +"namespaces.html":[4,0], +"namespaceshare__table__info.html":[4,0,44], +"namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f":[4,0,44,1], +"namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c":[4,0,44,0], +"namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02":[4,0,44,2], +"openbt_8F90.html":[6,0,39], +"openbt_8F90.html#a7e64e80a4c6a00f66c7dc1cbdeab96ef":[6,0,39,0], +"openbt_8F90_source.html":[6,0,39], +"openclosebf_8F90.html":[6,0,40], +"openclosebf_8F90.html#a48a49bb82348400c1ba6af00c0138ab3":[6,0,40,0], +"openclosebf_8F90.html#a56b33c6538a8c0abf1b6a31584c68494":[6,0,40,5], +"openclosebf_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a":[6,0,40,2], +"openclosebf_8F90.html#a9dc7e4fb476a5528a958ee132ee6392d":[6,0,40,3], +"openclosebf_8F90.html#aa585324fae3ecf559d6f39507dde6715":[6,0,40,1], +"openclosebf_8F90.html#aac1b87fbbb688e4f5e2120012eaee382":[6,0,40,7], +"openclosebf_8F90.html#abceda08f9c29378d3ddadeb46e823d00":[6,0,40,6], +"openclosebf_8F90.html#ada4363a068f7df043d75b4519c55142f":[6,0,40,9], +"openclosebf_8F90.html#ae88bf9794ed98ec79e9de0faff0093af":[6,0,40,8], +"openclosebf_8F90.html#aeef6f5d08d9631dbe92c1821a9d02903":[6,0,40,4], +"openclosebf_8F90_source.html":[6,0,40], +"pages.html":[], +"readbp_8F90.html":[6,0,41], +"readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c":[6,0,41,0], +"readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b":[6,0,41,1], +"readbp_8F90_source.html":[6,0,41], +"readmp_8F90.html":[6,0,42], +"readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650":[6,0,42,0], +"readmp_8F90_source.html":[6,0,42], +"readwritemg_8F90.html":[6,0,43], +"readwritemg_8F90.html#a127f4e4664445595654494dea28d7d8f":[6,0,43,15], +"readwritemg_8F90.html#a1c8cdc47f69010cd4eaa20710e28f53d":[6,0,43,7], +"readwritemg_8F90.html#a44d876e69afb2688f364d8bdd0ca2400":[6,0,43,6], +"readwritemg_8F90.html#a47d4a63b5e7276a90eee0ce83237cb60":[6,0,43,8], +"readwritemg_8F90.html#a493ce59c1a2976e9714c2d9b283bdb11":[6,0,43,14], +"readwritemg_8F90.html#a5edbefade4e7194e4dd3ee42f394034b":[6,0,43,13], +"readwritemg_8F90.html#a63b37b74d9833df9d99e3937a2fa293a":[6,0,43,0], +"readwritemg_8F90.html#a7430cdcec381d86f72a4b60a6a7db982":[6,0,43,11], +"readwritemg_8F90.html#a7c7234f006ddb78fb82844c95b608002":[6,0,43,12], +"readwritemg_8F90.html#a87f1117bcbbc713c95bdca6f1bb1214c":[6,0,43,4], +"readwritemg_8F90.html#aa2a7bf49cad422b474a24edd3a1cb232":[6,0,43,17], +"readwritemg_8F90.html#aad947e23951efbcba54930d6f309e0a8":[6,0,43,18], +"readwritemg_8F90.html#ab6c6c3d1925977e2c4013b3da342dc37":[6,0,43,2], +"readwritemg_8F90.html#abb1acb6092b6e1f49737498c1f76f0d0":[6,0,43,3], +"readwritemg_8F90.html#ac23041847910e299fa2c89962597a312":[6,0,43,16], +"readwritemg_8F90.html#adc65969dd9c1cedbab0425827e241963":[6,0,43,1], +"readwritemg_8F90.html#ae023a7cc381f488ac7669dc3e3ee8236":[6,0,43,5], +"readwritemg_8F90.html#ae5477034329440d4127a5243305b81e4":[6,0,43,9], +"readwritemg_8F90.html#af49a08bdf36b69217da7571dcfc90624":[6,0,43,10], +"readwritemg_8F90_source.html":[6,0,43], +"readwritesb_8F90.html":[6,0,44], +"readwritesb_8F90.html#a178ebc9cfe70d3119632799fc3db25de":[6,0,44,12], +"readwritesb_8F90.html#a1ca33013e4c11f3c9d1fe614f9f1d585":[6,0,44,6], +"readwritesb_8F90.html#a1dab1c658cb8511cfd1cc6a360221da8":[6,0,44,9], +"readwritesb_8F90.html#a2324e7f253ba3ad6209d7ab0fce5bc0e":[6,0,44,16], +"readwritesb_8F90.html#a237f33069932c5fae473ac718c2eae9a":[6,0,44,4], +"readwritesb_8F90.html#a470af56bdf10d0b31292b0edac067597":[6,0,44,13], +"readwritesb_8F90.html#a4b62a40d2c2860279670bf59a68e8204":[6,0,44,14], +"readwritesb_8F90.html#a8a621b1996440ed233c796e49c8971f3":[6,0,44,1], +"readwritesb_8F90.html#a90ab4c66c5564da3a326c66cc42d067f":[6,0,44,5], +"readwritesb_8F90.html#aa2218d1cd25f8d558448bdc3061b3a04":[6,0,44,15], +"readwritesb_8F90.html#aa926be9632b9da3990e2591f0386ee94":[6,0,44,0], +"readwritesb_8F90.html#aae33d6dd74331ba0a2a34ba22e8e56ab":[6,0,44,2], +"readwritesb_8F90.html#ab4b6c52feffa76d2a4d8fab6e3547f3c":[6,0,44,11], +"readwritesb_8F90.html#abb101b31fac13895d22320a918215372":[6,0,44,7], +"readwritesb_8F90.html#acd820000e0fca0bc8d4ca0abac7b81fd":[6,0,44,3], +"readwritesb_8F90.html#ad3f468fd2fbb1a36ebfff82d32674953":[6,0,44,8], +"readwritesb_8F90.html#aeb1fdb4af8ca100d3d80c52a221f1de8":[6,0,44,10], +"readwritesb_8F90_source.html":[6,0,44], +"readwriteval_8F90.html":[6,0,45], +"readwriteval_8F90.html#a10cd831e6dc0a773534c5c2787da56c8":[6,0,45,1], +"readwriteval_8F90.html#a1ac6ef2be222bff2bab58e3f58f5d67e":[6,0,45,9], +"readwriteval_8F90.html#a1d88d30e5ee23d6d86cbfb66537b512f":[6,0,45,11], +"readwriteval_8F90.html#a2017ce90611078ae96c6bc12da4e8e02":[6,0,45,3], +"readwriteval_8F90.html#a3f676e2267d902f8bc913a6d9d1a6aac":[6,0,45,14], +"readwriteval_8F90.html#a4895b24addb0b3e23f5bd92fd891656e":[6,0,45,16], +"readwriteval_8F90.html#a543d19ccf3a36ded022cbbe8db66ee85":[6,0,45,15], +"readwriteval_8F90.html#a551fbe590397eacf06bb471b738dd6a5":[6,0,45,2], +"readwriteval_8F90.html#a62aacb5a102aaf1ee01deef68c63cdb8":[6,0,45,12], +"readwriteval_8F90.html#a6eb38e7aa610c36787b90e50b290eea7":[6,0,45,10], +"readwriteval_8F90.html#a7281bf7fbd6efa3a9be946f7d63cffad":[6,0,45,17], +"readwriteval_8F90.html#a79d01683a99ab7e6a31359c00c317bd8":[6,0,45,6], +"readwriteval_8F90.html#a8a84d615371869d93f16c8617575dee2":[6,0,45,0], +"readwriteval_8F90.html#a921e4820b81e9f33e28a0d0452785a14":[6,0,45,18], +"readwriteval_8F90.html#aad0d9cae550b97bc950c739ff44ca6b2":[6,0,45,4], +"readwriteval_8F90.html#ac8bbcb32a65a5acdf50e0f5d835c6ac2":[6,0,45,5], +"readwriteval_8F90.html#ad0c9f5c0f8e4dc0e1ebd7c685b9a5ba9":[6,0,45,7] }; diff --git a/navtreeindex5.js b/navtreeindex5.js index 592d4bd4f..b3529c629 100644 --- a/navtreeindex5.js +++ b/navtreeindex5.js @@ -1,253 +1,70 @@ var NAVTREEINDEX5 = { -"namespacemoda__usrtmp.html":[4,0,36], -"namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30":[4,0,36,0], -"namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973":[4,0,36,1], -"namespacemoda__xtab.html":[4,0,37], -"namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d":[4,0,37,0], -"namespacemodv__bmiss.html":[4,0,38], -"namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519":[4,0,38,0], -"namespacemodv__ifopbf.html":[4,0,39], -"namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71":[4,0,39,0], -"namespacemodv__im8b.html":[4,0,40], -"namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af":[4,0,40,0], -"namespacemodv__maxcd.html":[4,0,41], -"namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8":[4,0,41,0], -"namespacemodv__maxjl.html":[4,0,42], -"namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61":[4,0,42,0], -"namespacemodv__maxmem.html":[4,0,43], -"namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1":[4,0,43,0], -"namespacemodv__maxmsg.html":[4,0,44], -"namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46":[4,0,44,0], -"namespacemodv__maxnc.html":[4,0,45], -"namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e":[4,0,45,0], -"namespacemodv__maxss.html":[4,0,46], -"namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2":[4,0,46,0], -"namespacemodv__maxtba.html":[4,0,47], -"namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a":[4,0,47,0], -"namespacemodv__maxtbb.html":[4,0,48], -"namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2":[4,0,48,0], -"namespacemodv__maxtbd.html":[4,0,49], -"namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0":[4,0,49,0], -"namespacemodv__mxbtm.html":[4,0,50], -"namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f":[4,0,50,0], -"namespacemodv__mxbtmse.html":[4,0,51], -"namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac":[4,0,51,0], -"namespacemodv__mxcdv.html":[4,0,52], -"namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7":[4,0,52,0], -"namespacemodv__mxcnem.html":[4,0,53], -"namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3":[4,0,53,0], -"namespacemodv__mxcsb.html":[4,0,54], -"namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c":[4,0,54,0], -"namespacemodv__mxdxts.html":[4,0,55], -"namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884":[4,0,55,0], -"namespacemodv__mxh4wlc.html":[4,0,56], -"namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886":[4,0,56,0], -"namespacemodv__mxlcc.html":[4,0,57], -"namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af":[4,0,57,0], -"namespacemodv__mxmsgl.html":[4,0,58], -"namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9":[4,0,58,1], -"namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc":[4,0,58,0], -"namespacemodv__mxmtbb.html":[4,0,59], -"namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139":[4,0,59,0], -"namespacemodv__mxmtbd.html":[4,0,60], -"namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea":[4,0,60,0], -"namespacemodv__mxmtbf.html":[4,0,61], -"namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363":[4,0,61,0], -"namespacemodv__mxnaf.html":[4,0,62], -"namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e":[4,0,62,0], -"namespacemodv__mxnrv.html":[4,0,63], -"namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050":[4,0,63,0], -"namespacemodv__mxrst.html":[4,0,64], -"namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97":[4,0,64,0], -"namespacemodv__mxs.html":[4,0,65], -"namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375":[4,0,65,0], -"namespacemodv__mxs01v.html":[4,0,66], -"namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51":[4,0,66,0], -"namespacemodv__mxtamc.html":[4,0,67], -"namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11":[4,0,67,0], -"namespacemodv__mxtco.html":[4,0,68], -"namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81":[4,0,68,0], -"namespacemodv__nfiles.html":[4,0,69], -"namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3":[4,0,69,0], -"namespaces.html":[4,0], -"namespaceshare__table__info.html":[4,0,70], -"namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f":[4,0,70,1], -"namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c":[4,0,70,0], -"namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02":[4,0,70,2], -"nemdefs_8f.html":[6,0,136], -"nemdefs_8f.html#ac552350372c0023b612907e7f2445434":[6,0,136,0], -"nemdefs_8f_source.html":[6,0,136], -"nemock_8f.html":[6,0,137], -"nemock_8f.html#a4cd0d5caf72ff1f2acb4747d11494dd2":[6,0,137,0], -"nemock_8f_source.html":[6,0,137], -"nemspecs_8f.html":[6,0,138], -"nemspecs_8f.html#afc40b65878e8f8537a6bd6d804b5b650":[6,0,138,0], -"nemspecs_8f_source.html":[6,0,138], -"nemtab_8f.html":[6,0,139], -"nemtab_8f.html#a3f3fb5a378c52dac83cb4fce27ceb712":[6,0,139,0], -"nemtab_8f_source.html":[6,0,139], -"nemtba_8f.html":[6,0,140], -"nemtba_8f.html#a1038fd60bc3fa89eff9ff79ed996a7e1":[6,0,140,0], -"nemtba_8f_source.html":[6,0,140], -"nemtbax_8f.html":[6,0,141], -"nemtbax_8f.html#adec9ab84d3bc51e082325e710354192e":[6,0,141,0], -"nemtbax_8f_source.html":[6,0,141], -"nemtbb_8f.html":[6,0,142], -"nemtbb_8f.html#a6a5cf8bb2726a59eeb87fbbef58764be":[6,0,142,0], -"nemtbb_8f_source.html":[6,0,142], -"nemtbd_8f.html":[6,0,143], -"nemtbd_8f.html#ac3fb25908c829f741ccd1d440d6051d9":[6,0,143,0], -"nemtbd_8f_source.html":[6,0,143], -"nenubd_8f.html":[6,0,144], -"nenubd_8f.html#a41014913489bdc74d7a2af0fa44159ba":[6,0,144,0], -"nenubd_8f_source.html":[6,0,144], -"nevn_8f.html":[6,0,145], -"nevn_8f.html#abcd7250eb3adfa82e54d118e60ad88e3":[6,0,145,0], -"nevn_8f_source.html":[6,0,145], -"newwin_8f.html":[6,0,146], -"newwin_8f.html#a7c72d9d0b9a4769b7d930b705490e057":[6,0,146,0], -"newwin_8f_source.html":[6,0,146], -"nmsub_8f.html":[6,0,147], -"nmsub_8f.html#a9813b6374eac55f642fc568b45c7dfe8":[6,0,147,0], -"nmsub_8f_source.html":[6,0,147], -"nmwrd_8f.html":[6,0,148], -"nmwrd_8f.html#a462c3b8304f953dff1021ace791b8cc0":[6,0,148,0], -"nmwrd_8f_source.html":[6,0,148], -"numbck_8f.html":[6,0,149], -"numbck_8f.html#abfd2a53dd5457f38bb1aa40284f2475a":[6,0,149,0], -"numbck_8f_source.html":[6,0,149], -"numtab_8f.html":[6,0,150], -"numtab_8f.html#abe719d38067d3f869c1b200530fc92f9":[6,0,150,0], -"numtab_8f_source.html":[6,0,150], -"numtbd_8f.html":[6,0,151], -"numtbd_8f.html#aae71d3919c5fc05ca4915e7b61aa3735":[6,0,151,0], -"numtbd_8f_source.html":[6,0,151], -"nvnwin_8f.html":[6,0,152], -"nvnwin_8f.html#a4f52a9be063d9dd781de4077c5e9f985":[6,0,152,0], -"nvnwin_8f_source.html":[6,0,152], -"nwords_8f.html":[6,0,153], -"nwords_8f.html#ae6b70eaecec6c57bd71c611cb5bb1e8b":[6,0,153,0], -"nwords_8f_source.html":[6,0,153], -"nxtwin_8f.html":[6,0,154], -"nxtwin_8f.html#a1b2e79163137c3e4decd8b9219337f27":[6,0,154,0], -"nxtwin_8f_source.html":[6,0,154], -"openbf_8f.html":[6,0,155], -"openbf_8f.html#abcc4f481b8758da104eb75575431128e":[6,0,155,0], -"openbf_8f_source.html":[6,0,155], -"openbt_8f.html":[6,0,156], -"openbt_8f.html#a3c78756de851568b7315bb084e1fd152":[6,0,156,0], -"openbt_8f_source.html":[6,0,156], -"openmb_8f.html":[6,0,157], -"openmb_8f.html#aee65c9d9bb626bfd51c3f904c2e4f86c":[6,0,157,0], -"openmb_8f_source.html":[6,0,157], -"openmg_8f.html":[6,0,158], -"openmg_8f.html#a2408d74e1c5a3dc2bdbe35ec66a5e35c":[6,0,158,0], -"openmg_8f_source.html":[6,0,158], -"pad_8f.html":[6,0,159], -"pad_8f.html#ab92ba263e51623b46cb4a7c9dee641f0":[6,0,159,0], -"pad_8f_source.html":[6,0,159], -"padmsg_8f.html":[6,0,160], -"padmsg_8f.html#af8c53e62375434d43ee476856388ee1c":[6,0,160,0], -"padmsg_8f_source.html":[6,0,160], -"pages.html":[], -"parstr_8f.html":[6,0,161], -"parstr_8f.html#a3379a342ab3d92dd01eef1f3172f9b86":[6,0,161,0], -"parstr_8f_source.html":[6,0,161], -"parusr_8f.html":[6,0,162], -"parusr_8f.html#a8c7afcc8ef3c345d51b9e902be92f9e5":[6,0,162,0], -"parusr_8f_source.html":[6,0,162], -"parutg_8f.html":[6,0,163], -"parutg_8f.html#a48496d3ac23b5e7d75a524f4ae62e181":[6,0,163,0], -"parutg_8f_source.html":[6,0,163], -"pkb8_8f.html":[6,0,165], -"pkb8_8f.html#ad41a6d2e1a35c122af15bbc6dffe8eaa":[6,0,165,0], -"pkb8_8f_source.html":[6,0,165], -"pkb_8f.html":[6,0,164], -"pkb_8f.html#a35aa2e691ff3ad32de9d8721cae613f7":[6,0,164,0], -"pkb_8f_source.html":[6,0,164], -"pkbs1_8f.html":[6,0,166], -"pkbs1_8f.html#a03b8cfb3af6b1f310462a3e40adc622c":[6,0,166,0], -"pkbs1_8f_source.html":[6,0,166], -"pkc_8f.html":[6,0,167], -"pkc_8f.html#a0376a4af04f7be036484c666ebbb8ef9":[6,0,167,0], -"pkc_8f_source.html":[6,0,167], -"pkftbv_8f.html":[6,0,168], -"pkftbv_8f.html#a13ca3b23c3ea896eea3ac3d3dcb1e35f":[6,0,168,0], -"pkftbv_8f_source.html":[6,0,168], -"pktdd_8f.html":[6,0,169], -"pktdd_8f.html#a5a9bc43ec2b7b51ae5097fd7b828dd84":[6,0,169,0], -"pktdd_8f_source.html":[6,0,169], -"pkvs01_8f.html":[6,0,170], -"pkvs01_8f.html#aa2b468d76d4b2710f7b777bf4ffcb3af":[6,0,170,0], -"pkvs01_8f_source.html":[6,0,170], -"posapx_8f.html":[6,0,171], -"posapx_8f.html#ad32a5730c46c657f5fde47244bd1ebd5":[6,0,171,0], -"posapx_8f_source.html":[6,0,171], -"rcstpl_8f.html":[6,0,172], -"rcstpl_8f.html#a6051cb3fd10cab351aaade691f06ffd1":[6,0,172,0], -"rcstpl_8f_source.html":[6,0,172], -"rdbfdx_8f.html":[6,0,173], -"rdbfdx_8f.html#a7d7beabef509022d4d98ebfb79f06dec":[6,0,173,0], -"rdbfdx_8f_source.html":[6,0,173], -"rdcmps_8f.html":[6,0,174], -"rdcmps_8f.html#a4592f4f71832d5bc80939cfd8095ad09":[6,0,174,0], -"rdcmps_8f_source.html":[6,0,174], -"rdmemm_8f.html":[6,0,175], -"rdmemm_8f.html#acdadcefdf7f3d9e0a9271ece060ec193":[6,0,175,0], -"rdmemm_8f_source.html":[6,0,175], -"rdmems_8f.html":[6,0,176], -"rdmems_8f.html#a4af6fe463b8e15affa23de1f1ac4358e":[6,0,176,0], -"rdmems_8f_source.html":[6,0,176], -"rdmgsb_8f.html":[6,0,177], -"rdmgsb_8f.html#ae4f5dbd64255fa37c9616ff72289897c":[6,0,177,0], -"rdmgsb_8f_source.html":[6,0,177], -"rdmsgw_8F90.html":[6,0,178], -"rdmsgw_8F90.html#ac23041847910e299fa2c89962597a312":[6,0,178,0], -"rdmsgw_8F90_source.html":[6,0,178], -"rdmtbb_8f.html":[6,0,179], -"rdmtbb_8f.html#a500535fb51e5caae61f0fd3627a211da":[6,0,179,0], -"rdmtbb_8f_source.html":[6,0,179], -"rdmtbd_8f.html":[6,0,180], -"rdmtbd_8f.html#a46cfbed2b4e693c0bc7e4792c47d5692":[6,0,180,0], -"rdmtbd_8f_source.html":[6,0,180], -"rdmtbf_8f.html":[6,0,181], -"rdmtbf_8f.html#a5ca890fe454d0615933e8b535e28ac00":[6,0,181,0], -"rdmtbf_8f_source.html":[6,0,181], -"rdtree_8f.html":[6,0,182], -"rdtree_8f.html#a517c48e080eadc5e9a88fff47ffe4c34":[6,0,182,0], -"rdtree_8f_source.html":[6,0,182], -"rdusdx_8f.html":[6,0,183], -"rdusdx_8f.html#ab4869b52a96f03ad2eb5328e71c25764":[6,0,183,0], -"rdusdx_8f_source.html":[6,0,183], -"readbp_8F90.html":[6,0,184], -"readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c":[6,0,184,0], -"readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b":[6,0,184,1], -"readbp_8F90_source.html":[6,0,184], -"readdx_8f.html":[6,0,185], -"readdx_8f.html#aa40c216c00c44fefb183a3d2641f5077":[6,0,185,0], -"readdx_8f_source.html":[6,0,185], -"readerme_8f.html":[6,0,186], -"readerme_8f.html#a3d8860f8a5fe519e8d84afbe68dc67b5":[6,0,186,0], -"readerme_8f_source.html":[6,0,186], -"readlc_8f.html":[6,0,187], -"readlc_8f.html#a6ab327a73098c106cbad611b396ea2f1":[6,0,187,0], -"readlc_8f_source.html":[6,0,187], -"readmg_8f.html":[6,0,188], -"readmg_8f.html#a6471e41b4b7e505d6659c1fd45cc195d":[6,0,188,0], -"readmg_8f_source.html":[6,0,188], -"readmm_8f.html":[6,0,189], -"readmm_8f.html#aa4e6aa0249e0a5d5b56698c8cd39806c":[6,0,189,0], -"readmm_8f_source.html":[6,0,189], -"readmp_8F90.html":[6,0,190], -"readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650":[6,0,190,0], -"readmp_8F90_source.html":[6,0,190], -"readns_8f.html":[6,0,191], -"readns_8f.html#acfb34cc5575782a332a5490cb07ef700":[6,0,191,0], -"readns_8f_source.html":[6,0,191], -"reads3_8f.html":[6,0,192], -"reads3_8f.html#a57a4b386c104472c2df89ca9217d0d4b":[6,0,192,0], -"reads3_8f_source.html":[6,0,192], -"readsb_8f.html":[6,0,193], -"readsb_8f.html#a7487962744f372041e729f0b754b7a92":[6,0,193,0] +"readwriteval_8F90.html#aecfa08f631e1af46b472c007b93b2955":[6,0,45,19], +"readwriteval_8F90.html#aee2899967d88055f73e4d5ad954d7b5a":[6,0,45,8], +"readwriteval_8F90.html#af46dec3ef4cc6f467323b40eb14a4024":[6,0,45,13], +"readwriteval_8F90_source.html":[6,0,45], +"restd_8c.html":[6,0,46], +"restd_8c.html#ab9426972c9b597e6b7382b00416dd572":[6,0,46,1], +"restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3":[6,0,46,0], +"restd_8c_source.html":[6,0,46], +"s013vals_8F90.html":[6,0,47], +"s013vals_8F90.html#a1f8f8b7d0f3b0eb6042e170c0c84c18f":[6,0,47,0], +"s013vals_8F90.html#a28944a4d73587a3943964a95619cb8a2":[6,0,47,7], +"s013vals_8F90.html#a311f8836440703db774ee651425337b4":[6,0,47,1], +"s013vals_8F90.html#a3b1a6e580f306826c680ff0a71d883f8":[6,0,47,9], +"s013vals_8F90.html#a5522b3ec85470f1def91880bbc5df5e6":[6,0,47,13], +"s013vals_8F90.html#a6060b7b617646ee396097f20317e2f4d":[6,0,47,8], +"s013vals_8F90.html#a70447e085c4523fa53796c5317f63ae8":[6,0,47,12], +"s013vals_8F90.html#a7bf4d22f9bb27412a9d041f7a5d7bca6":[6,0,47,16], +"s013vals_8F90.html#a837bd14b4718718edb57b5f53c7bbcbe":[6,0,47,11], +"s013vals_8F90.html#a867795708832230010199b5a31f687a8":[6,0,47,4], +"s013vals_8F90.html#aadd84c217cf5fab0d94564da3f377ebe":[6,0,47,2], +"s013vals_8F90.html#ac2e40c9d462d2855dd693d9498f55342":[6,0,47,3], +"s013vals_8F90.html#ac3a5070d2415122d7a93471e5f019247":[6,0,47,10], +"s013vals_8F90.html#ac8fa984389323f08dd1cbd3aa6b57da9":[6,0,47,14], +"s013vals_8F90.html#ac96e5200de4ecc84f79caa98177e60f6":[6,0,47,15], +"s013vals_8F90.html#ada4930358eb16c05c65c2df068db90c1":[6,0,47,5], +"s013vals_8F90.html#aedbe120baa1a1058174325c5e2d0e487":[6,0,47,6], +"s013vals_8F90_source.html":[6,0,47], +"sinv_8F90.html":[6,0,48], +"sinv_8F90.html#a4ab4fad455062f4d66f23adb61d13c7c":[6,0,48,0], +"sinv_8F90.html#add80e304e2ffa251811ac6a19162f807":[6,0,48,1], +"sinv_8F90_source.html":[6,0,48], +"split__by__subset_8F90.html":[6,0,49], +"split__by__subset_8F90.html#ae5d45e2086aa783d8ca85e2fd47c8118":[6,0,49,0], +"split__by__subset_8F90_source.html":[6,0,49], +"standard_8F90.html":[6,0,50], +"standard_8F90.html#a1f7f89920afdd318ec3ff39559c42ecd":[6,0,50,1], +"standard_8F90.html#a543c53880e96f04934213352ea77a7ab":[6,0,50,2], +"standard_8F90.html#af4f78acf5cbb9eda9a8ef03d03030aaf":[6,0,50,0], +"standard_8F90_source.html":[6,0,50], +"strings_8F90.html":[6,0,51], +"strings_8F90.html#a19c92d247281ffcad8aab45d7debb54f":[6,0,51,3], +"strings_8F90.html#a1d493e7de1c23739a0fcd06089139f35":[6,0,51,0], +"strings_8F90.html#a2da1c300ec049ee215d937b5ab545f53":[6,0,51,2], +"strings_8F90.html#aa3112b3661ec475fe7949d9ae5bafb40":[6,0,51,4], +"strings_8F90.html#ae49e5fa3610c743607ca6288d4107d28":[6,0,51,1], +"strings_8F90_source.html":[6,0,51], +"stseq_8c.html":[6,0,52], +"stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e":[6,0,52,1], +"stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40":[6,0,52,2], +"stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29":[6,0,52,0], +"stseq_8c_source.html":[6,0,52], +"tankrcpt_8F90.html":[6,0,53], +"tankrcpt_8F90.html#a24ba916e2d398ca162381b0d8b3f54fe":[6,0,53,3], +"tankrcpt_8F90.html#a5d6fa241d34622347252bf41b73d8610":[6,0,53,1], +"tankrcpt_8F90.html#a9ae992beefc572ef3ae02a330b221ffa":[6,0,53,2], +"tankrcpt_8F90.html#adca31c0fc592e5bf04c10572b26c85b1":[6,0,53,0], +"tankrcpt_8F90_source.html":[6,0,53], +"x4884_8F90.html":[6,0,54], +"x4884_8F90.html#a156e77d86141acd042efd97146dd18cf":[6,0,54,0], +"x4884_8F90.html#a5b19b8932da48639e6bcaeefc4d03bfb":[6,0,54,1], +"x4884_8F90.html#aa1e012dbd8da45797592cc65a399d71d":[6,0,54,2], +"x4884_8F90_source.html":[6,0,54], +"xbfmg_8c.html":[6,0,55], +"xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97":[6,0,55,0], +"xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d":[6,0,55,1], +"xbfmg_8c_source.html":[6,0,55], +"":[4,0,43] }; diff --git a/openbt_8F90.html b/openbt_8F90.html new file mode 100644 index 000000000..5381da65b --- /dev/null +++ b/openbt_8F90.html @@ -0,0 +1,173 @@ + + + + + + + +NCEPLIBS-bufr: openbt.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              openbt.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Specify DX BUFR table file of last resort. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Functions/Subroutines

                                                              recursive subroutine openbt (lundx, mtyp)
                                                               Specify a DX BUFR table of last resort, in case subroutine cktaba() is unable to locate a DX BUFR table on its own when reading/decoding a BUFR message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Specify DX BUFR table file of last resort.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1998-07-08
                                                              + +

                                                              Definition in file openbt.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ openbt()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine openbt (integer, intent(out) lundx,
                                                              integer, intent(in) mtyp 
                                                              )
                                                              +
                                                              + +

                                                              Specify a DX BUFR table of last resort, in case subroutine cktaba() is unable to locate a DX BUFR table on its own when reading/decoding a BUFR message.

                                                              +

                                                              Within the NCEPLIBS-bufr distribution package, this subroutine is a default placeholder which always returns lundx = 0 and is only included to allow application programs to compile without generating a link error for an unresolved external reference. However, users are free to define their own inline version of this subroutine with the same name and calling sequence and include it within the compilation of their application program in order to override the default placeholder version of this subroutine. In such cases, subroutine cktaba() will then use the inline version of this subroutine as a last resort when attempting to locate the required DX BUFR table file.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              mtyp- Data category of BUFR message for which subroutine cktaba() was unable to locate a DX BUFR table file
                                                              lundx- Fortran logical unit number for file containing DX BUFR table information to be used in decoding message
                                                                +
                                                              • 0 = No such file is available
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Remarks
                                                                +
                                                              • See DX BUFR Tables for more information about the format and contents of DX BUFR table files.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1998-07-08
                                                              + +

                                                              Definition at line 30 of file openbt.F90.

                                                              + +

                                                              References errwrt(), x48(), and x84().

                                                              + +

                                                              Referenced by cktaba().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/openbt_8F90.js b/openbt_8F90.js new file mode 100644 index 000000000..6585aad73 --- /dev/null +++ b/openbt_8F90.js @@ -0,0 +1,4 @@ +var openbt_8F90 = +[ + [ "openbt", "openbt_8F90.html#a7e64e80a4c6a00f66c7dc1cbdeab96ef", null ] +]; \ No newline at end of file diff --git a/openbt_8F90_source.html b/openbt_8F90_source.html new file mode 100644 index 000000000..17ac047cc --- /dev/null +++ b/openbt_8F90_source.html @@ -0,0 +1,142 @@ + + + + + + + +NCEPLIBS-bufr: openbt.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              openbt.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              30 recursive subroutine openbt(lundx,mtyp)
                                                              +
                                                              31 
                                                              +
                                                              32  use modv_vars, only: im8b
                                                              +
                                                              33 
                                                              +
                                                              34  implicit none
                                                              +
                                                              35 
                                                              +
                                                              36  integer, intent(in) :: mtyp
                                                              +
                                                              37  integer, intent(out) :: lundx
                                                              +
                                                              38  integer iprt, my_mtyp
                                                              +
                                                              39 
                                                              +
                                                              40  common /quiet/ iprt
                                                              +
                                                              41 
                                                              +
                                                              42  character*128 errstr
                                                              +
                                                              43 
                                                              +
                                                              44  ! Check for I8 integers
                                                              +
                                                              45  if(im8b) then
                                                              +
                                                              46  im8b=.false.
                                                              +
                                                              47  call x84(mtyp,my_mtyp,1)
                                                              +
                                                              48  call openbt(lundx,my_mtyp)
                                                              +
                                                              49  call x48(lundx,lundx,1)
                                                              +
                                                              50  im8b=.true.
                                                              +
                                                              51  return
                                                              +
                                                              52  endif
                                                              +
                                                              53 
                                                              +
                                                              54  if(iprt>=0) then
                                                              +
                                                              55  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              56  errstr = 'BUFRLIB: OPENBT - THIS IS A DUMMY BUFRLIB ROUTINE'// &
                                                              +
                                                              57  ' CALLED BY CKTABA OR APPL. PGM; OPENBT SHOULD BE INCL. IN-LINE IN APPL. PGM'
                                                              +
                                                              58  call errwrt(errstr)
                                                              +
                                                              59  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              60  call errwrt(' ')
                                                              +
                                                              61  endif
                                                              +
                                                              62 
                                                              +
                                                              63  lundx = 0
                                                              +
                                                              64 
                                                              +
                                                              65  return
                                                              +
                                                              66 end subroutine openbt
                                                              +
                                                              subroutine errwrt(str)
                                                              Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                                              Definition: errwrt.F90:32
                                                              +
                                                              recursive subroutine openbt(lundx, mtyp)
                                                              Specify a DX BUFR table of last resort, in case subroutine cktaba() is unable to locate a DX BUFR tab...
                                                              Definition: openbt.F90:31
                                                              +
                                                              subroutine x48(iin4, iout8, nval)
                                                              Encode one or more 4-byte integer values as 8-byte integer values.
                                                              Definition: x4884.F90:18
                                                              +
                                                              subroutine x84(iin8, iout4, nval)
                                                              Encode one or more 8-byte integer values as 4-byte integer values.
                                                              Definition: x4884.F90:65
                                                              +
                                                              +
                                                              + + + + diff --git a/openclosebf_8F90.html b/openclosebf_8F90.html new file mode 100644 index 000000000..2e098ec7f --- /dev/null +++ b/openclosebf_8F90.html @@ -0,0 +1,753 @@ + + + + + + + +NCEPLIBS-bufr: openclosebf.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              openclosebf.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Open or close a file to the library. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions/Subroutines

                                                              recursive subroutine closbf (lunit)
                                                               Close the connection between logical unit lunit and the NCEPLIBS-bufr software. More...
                                                               
                                                              recursive subroutine fortran_close (lunit, iret)
                                                               Close a Fortran file on the local system. More...
                                                               
                                                              recursive subroutine fortran_open (filename, lunit, format, position, iret)
                                                               Open a Fortran file on the local system. More...
                                                               
                                                              recursive subroutine openbf (lunit, io, lundx)
                                                               Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the library without connecting to a file, or change the verbosity of the library for an already-connected BUFR file. More...
                                                               
                                                              subroutine posapx (lunxx)
                                                               Position an output BUFR file for appending. More...
                                                               
                                                              subroutine rewnbf (lunit, isr)
                                                               Store or restore parameters associated with a BUFR file. More...
                                                               
                                                              recursive subroutine status (lunit, lun, il, im)
                                                               Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr software. More...
                                                               
                                                              recursive subroutine ufbcnt (lunit, kmsg, ksub)
                                                               Get the current location of the file pointer within a BUFR file, in terms of a message number counting from the beginning of the file, and a data subset number counting from the beginning of that message. More...
                                                               
                                                              recursive subroutine ufbtab (lunin, tab, i1, i2, iret, str)
                                                               Read through every data subset in a BUFR file and return one or more specified data values from each subset. More...
                                                               
                                                              subroutine wtstat (lunit, lun, il, im)
                                                               Update file status in library internals. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Open or close a file to the library.

                                                              +
                                                              Authors
                                                              J. Woollen, J. Ator, D. Keyser
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition in file openclosebf.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ closbf()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive subroutine closbf (integer, intent(in) lunit)
                                                              +
                                                              + +

                                                              Close the connection between logical unit lunit and the NCEPLIBS-bufr software.

                                                              +
                                                              Remarks
                                                                +
                                                              • This subroutine will execute a Fortran "CLOSE" on logical unit lunit, even though subroutine openbf() didn't previously handle the corresponding Fortran "OPEN" of the same file.
                                                              • +
                                                              • It's a good idea to call this subroutine for every lunit that was opened to the software via openbf(); however, it's especially important to do so when writing/encoding a BUFR file, in order to ensure that all output is properly flushed to lunit.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen, J. Ator
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 337 of file openclosebf.F90.

                                                              + +

                                                              References closmg(), errwrt(), moda_nulbfr::null, status(), wtstat(), and x84().

                                                              + +

                                                              Referenced by apxdx(), bufr_c2f_interface::closbf_c(), copybf(), datebf(), dumpbf(), exitbufr(), gettab(), mesgbc(), mesgbf(), split_by_subset(), ufbinx(), ufbmem(), ufbmex(), and ufbtab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ fortran_close()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine fortran_close (integer, intent(in) lunit,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Close a Fortran file on the local system.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lunit- Fortran logical unit number for Fortran file
                                                              iret- return code from the Fortran close statement
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Jeff Whitaker
                                                              +
                                                              Date
                                                              2015-08-30
                                                              + +

                                                              Definition at line 48 of file openclosebf.F90.

                                                              + +

                                                              References x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ fortran_open()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine fortran_open (character*(*), intent(in) filename,
                                                              integer, intent(in) lunit,
                                                              character*(*), intent(in) format,
                                                              character*(*), intent(in) position,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Open a Fortran file on the local system.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              filename- name of the file to be opened
                                                              lunit- Fortran logical unit number for Fortran file
                                                              format- format of the Fortran file
                                                              position- to rewind or continue with open file
                                                              iret- return code from the Fortran open statement
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Jeff Whitaker
                                                              +
                                                              Date
                                                              2015-08-30
                                                              + +

                                                              Definition at line 15 of file openclosebf.F90.

                                                              + +

                                                              References x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openbf()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine openbf (integer, intent(in) lunit,
                                                              character*(*), intent(in) io,
                                                              integer, intent(in) lundx 
                                                              )
                                                              +
                                                              + +

                                                              Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the library without connecting to a file, or change the verbosity of the library for an already-connected BUFR file.

                                                              +

                                                              The logical unit numbers lunit and lundx must already be associated with actual filenames on the local system, typically via a Fortran "OPEN" statement. Multiple logical units can be connected to the NCEPLIBS-bufr software at any one time.

                                                              +

                                                              The argument io is a character string describing how the file connected to lunit will be used, e.g. 'IN' is used to access an existing file of BUFR messages for input (i.e. reading/decoding BUFR), and 'OUT' is used to access a new file for output (i.e. writing/encoding BUFR). An option 'APX' is also available which behaves like 'OUT', except that output is then appended to an existing BUFR file rather than creating a new one from scratch, and there are also some additional options 'NUL' and 'NODX' which can likewise be used instead of 'OUT' for some very special cases as needed. There's also an option 'SEC3' which can be used in place of 'IN' for certain cases when the user is attempting to read BUFR messages whose content and descriptor layout are unknown in advance. However, all of these additional options are basically just variations of 'IN' or 'OUT', again depending on whether the intent is to read or write BUFR messages from the file connected to lunit. The only exceptions are when io = 'FIRST' or 'QUIET'. When io = 'FIRST', the subroutine simply checks whether it has already been called from within the application program and, if not, goes ahead and initializes the library without actually connecting any files in lunit or lundx.

                                                              +

                                                              Alternatively, when io = 'QUIET', the subroutine simply sets or resets the internal print verbosity switch to the value of input argument lundx, overriding its previous value and/or its internal default value of 0.

                                                              +

                                                              The third and final call argument lundx identifies the logical unit which contains the definition of the DX BUFR tables to be associated with unit lunit. Except when io = 'SEC3', every BUFR file that is linked to the NCEPLIBS-bufr software must have a DX BUFR tables file associated with it, and these tables may be defined within a separate ASCII text file (see Description and Format of DX BUFR Tables for more info.) or, in the case of an existing BUFR file, may be embedded within the first few BUFR messages of the file itself, and in which case the user can denote this to the subroutine by setting lundx to the same value as lunit.

                                                              +
                                                              Remarks
                                                                +
                                                              • When an existing BUFR file is accessed for input (i.e. reading/decoding BUFR), the associated DX BUFR tables defined by lundx are stored internally within the NCEPLIBS-bufr software and are referenced during all subsequent processing of the file. Likewise, when a file is accessed for output (i.e. writing/encoding BUFR), the associated DX BUFR tables are still stored internally for subsequent reference; however, the output file itself is also initialized by writing the BUFR table information (as one or more BUFR messages) to the beginning of the file, except when io = 'NODX', and in which case the writing of these additional messages is suppressed.
                                                              • +
                                                              • As noted above, 'SEC3' is the only value of io (other than 'FIRST' or 'QUIET') where it's not necessary to provide pre-defined DX BUFR tables via lundx. Instead, this option instructs the NCEPLIBS-bufr software to unpack the data description section (Section 3) from each BUFR message it reads and then decode the contents accordingly. In this case, it's necessary to provide a set of BUFR master tables containing listings of all possible BUFR descriptors (see Description and Format of master BUFR Tables for more info.), but otherwise no prior knowledge is required of the contents of the messages to be decoded.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file (unless io is set to 'FIRST' or 'QUIET', in which case this is a dummy argument)
                                                              io- flag indicating how lunit is to be used by the software:
                                                                +
                                                              • 'IN' = input operations with table processing
                                                              • +
                                                              • 'INX' = input operations w/o table processing
                                                              • +
                                                              • 'OUX' = output operations w/o table processing
                                                              • +
                                                              • 'OUT' = output operations with table processing
                                                              • +
                                                              • 'SEC3' = same as 'IN', except use Section 3 of input messages for decoding rather than DX BUFR table information from lundx; in this case lundx is ignored, and the user must provide appropriate master BUFR tables within the directory specified by a subsequent call to subroutine mtinfo()
                                                              • +
                                                              • 'NODX' = same as 'OUT', except don't write DX BUFR table messages to lunit
                                                              • +
                                                              • 'APN' = same as 'NODX', except begin writing at end of file ("append")
                                                              • +
                                                              • 'APX' = same as 'APN', except backspace before appending
                                                              • +
                                                              • 'NUL' = same as 'OUT', except don't write any messages whatsoever to lunit (e.g. when subroutine writsa() is to be used)
                                                              • +
                                                              • 'INUL' = same as 'IN', except don't read any messages whatsoever from lunit (e.g. when subroutine readerme() is to be used)
                                                              • +
                                                              • 'QUIET' = lunit is ignored; this is an indicator that the value for iprt in common block /quiet/ is being reset to the value in lundx
                                                              • +
                                                              • 'FIRST' = lunit and lundx are ignored; this is an indicator to initialize the NCEPLIBS-bufr software, in case this subroutine was never previously called
                                                              • +
                                                              +
                                                              lundx- Fortran logical unit number containing DX BUFR table information, except as noted below:
                                                                +
                                                              • If io is not set to 'FIRST' or 'QUIET' = Fortran logical unit number containing DX BUFR table information to be used in reading/writing from/to lunit (depending on the case); this value may be set equal to lunit if DX BUFR table information is already embedded in lunit
                                                              • +
                                                              • If io is set to 'QUIET' = indicator for degree of printout:
                                                                  +
                                                                • -1 = no printout except for ABORT messages
                                                                • +
                                                                • 0 = limited printout (default)
                                                                • +
                                                                • 1 = all warning messages are printed
                                                                • +
                                                                • 2 = all warning and info messages are printed
                                                                • +
                                                                • 3 = all warning, info and debug messages are printed
                                                                • +
                                                                +
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Authors
                                                              J. Woollen, J. Ator, D. Keyser
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 168 of file openclosebf.F90.

                                                              + +

                                                              References arallocf(), bfrini(), bort(), errwrt(), moda_msgcwd::idate, moda_msgcwd::inode, moda_sc3bfr::isc3, moda_stcode::iscodes, moda_lushr::lus, moda_msgcwd::msub, moda_msgcwd::nmsg, moda_msgcwd::nsub, moda_nulbfr::null, posapx(), readdx(), status(), writdx(), wtstat(), and x84().

                                                              + +

                                                              Referenced by apxdx(), binv(), cmpbqm(), copybf(), datebf(), dumpbf(), fdebufr_c(), gettab(), mesgbc(), mesgbf(), bufr_c2f_interface::openbf_c(), pkvs01(), rdmgsb(), readbp(), readmp(), sinv(), split_by_subset(), ufbinx(), ufbmem(), ufbmex(), and ufbtab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ posapx()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine posapx (integer, intent(in) lunxx)
                                                              +
                                                              + +

                                                              Position an output BUFR file for appending.

                                                              +

                                                              Read to the end of the file pointed to by abs(lunxx) and position it for appending. The file must have already been opened for output operations. If lunxx < 0, then the file is not backspaced before being positioned for append.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunxx- Absolute value is Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 630 of file openclosebf.F90.

                                                              + +

                                                              References bort(), moda_mgwa::mgwa, rdbfdx(), rdmsgw(), and status().

                                                              + +

                                                              Referenced by openbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ rewnbf()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine rewnbf (integer, intent(in) lunit,
                                                              integer, intent(in) isr 
                                                              )
                                                              +
                                                              + +

                                                              Store or restore parameters associated with a BUFR file.

                                                              +

                                                              Depending on the value of isr, either:

                                                                +
                                                              • Store the current parameters associated with a BUFR file connected to lunit (read/write pointers, etc.), set the file status to read, then rewind the BUFR file and position it such that the next BUFR message read will be the first message in the file containing actual subsets with data; or
                                                              • +
                                                              • Restore the BUFR file connected to lunit to the parameters it had prior to the previous call, and using the information that was saved previously
                                                              • +
                                                              +

                                                              This allows information to be extracted from a particular subset in a BUFR file which is in the midst of being read from or written to by an application program. Note that, for any given BUFR file, a call to this subroutine with isr = 0 must precede a call to this same subroutine with isr = 1. An application program might first call this subroutine with isr = 0, then call either subroutine rdmgsb() or ufbinx() to get information from a subset, then call this routine again with isr = 1 to restore the pointers in the BUFR file to their original location. For example, this subroutine is called internally by subroutine ufbtab() whenever the BUFR file it is acting upon is already open for input or output.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lunit- Fortran logical unit number for BUFR file.
                                                              isr- Switch:
                                                                +
                                                              • 0 = Store current parameters associated with BUFR file, set file status to read, and rewind file such that next message read is first message containing subset data
                                                              • +
                                                              • 1 = Restore BUFR file with parameters saved from the previous call to this routine with isr = 0
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 693 of file openclosebf.F90.

                                                              + +

                                                              References bort(), moda_bitbuf::ibit, moda_bufrsr::jbay, moda_bufrsr::jbit, moda_bufrsr::jbyt, moda_bufrsr::jill, moda_bufrsr::jimm, moda_bufrsr::jmsg, moda_bufrsr::jsr, moda_bufrsr::jsub, moda_bufrsr::junn, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_msgcwd::nmsg, moda_msgcwd::nsub, readmg(), readsb(), status(), and wtstat().

                                                              + +

                                                              Referenced by ufbinx(), and ufbtab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ status()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine status (integer, intent(in) lunit,
                                                              integer, intent(out) lun,
                                                              integer, intent(out) il,
                                                              integer, intent(out) im 
                                                              )
                                                              +
                                                              + +

                                                              Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr software.

                                                              +

                                                              If the unit number is already connected, then the subroutine returns information about the associated file. Otherwise, it returns the next available file ID that could be used to connect the associated file to the software via a subsequent call to subroutine wtstat().

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              lun- File ID associated with lunit
                                                                +
                                                              • 0 = lunit is not already connected to the software, and there is no remaining internal space available that could be used to connect it
                                                              • +
                                                              +
                                                              il- File status:
                                                                +
                                                              • 0 = lunit is not already connected to the software, but lun contains a file ID that could be used to connect it via a subsequent call to subroutine wtstat()
                                                              • +
                                                              • 1 = lunit is already connected to the software for output operations (i.e. writing/encoding BUFR)
                                                              • +
                                                              • -1 = lunit is already connected to the software for input operations (i.e. reading/decoding BUFR)
                                                              • +
                                                              +
                                                              im- Message status, indicating whether there is already a message open within internal arrays for lunit:
                                                                +
                                                              • 0 = No
                                                              • +
                                                              • 1 = Yes
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 405 of file openclosebf.F90.

                                                              + +

                                                              References bort(), errwrt(), moda_stbfr::iolun, moda_stbfr::iomsg, x48(), and x84().

                                                              + +

                                                              Referenced by closbf(), closmg(), copybf(), copymg(), copysb(), cpdxmm(), cpymem(), datebf(), drfini(), dumpbf(), dxdump(), getabdb(), getcfmng(), gettab(), gettagpr(), gettagre(), getvalnb(), ifbget(), igetsc(), invmrg(), iupvs01(), lcmgdf(), mesgbc(), minimg(), msgwrt(), nemdefs(), nemspecs(), nmsub(), openbf(), openmb(), openmg(), posapx(), rdmemm(), rdmems(), rdmgsb(), rdmsgw(), readdx(), readerme(), readlc(), readmg(), readns(), readsb(), rewnbf(), rtrcpt(), setvalnb(), bufr_c2f_interface::status_c(), stndrd(), ufbcnt(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbget(), ufbin3(), ufbint(), ufbinx(), ufbmem(), ufbmms(), ufbovr(), ufbpos(), ufbqcd(), ufbqcp(), ufbrep(), ufbrms(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), ufdump(), upftbv(), wrcmps(), wrdxtb(), writlc(), writsa(), and writsb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbcnt()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbcnt (integer, intent(in) lunit,
                                                              integer, intent(out) kmsg,
                                                              integer, intent(out) ksub 
                                                              )
                                                              +
                                                              + +

                                                              Get the current location of the file pointer within a BUFR file, in terms of a message number counting from the beginning of the file, and a data subset number counting from the beginning of that message.

                                                              +
                                                              Remarks
                                                                +
                                                              • Logical unit lunit should have already been opened via a previous call to subroutine openbf(). If lunit was opened for input operations, then kmsg is incremented with each call to any of the message-reading subroutines, and ksub is incremented with each call to any of the subset-reading subroutines for that message. Otherwise, if lunit was opened for output operations, then kmsg is incremented with each call to any of the message-writing subroutines, and ksub is incremented with each call to any of the subset-writing subroutines for that message.
                                                              • +
                                                              • The value returned for kmsg does not include any messages which contain DX BUFR tables information.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              kmsg- Ordinal number of current message, counting from the beginning of the BUFR file, but not counting any messages which contain DX BUFR tables information
                                                              ksub- Ordinal number of current data subset within (kmsg)th message, counting from the beginning of the message
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 585 of file openclosebf.F90.

                                                              + +

                                                              References bort(), moda_msgcwd::nmsg, moda_msgcwd::nsub, status(), x48(), and x84().

                                                              + +

                                                              Referenced by cmpbqm(), readbp(), and ufbpos().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbtab()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbtab (integer, intent(in) lunin,
                                                              real*8, dimension(i1,i2), intent(out) tab,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read through every data subset in a BUFR file and return one or more specified data values from each subset.

                                                              +

                                                              This provides a useful way to scan the ranges of one or more specified data values across all of the data subsets within an entire BUFR file. It is similar to subroutine ufbtam(), except that ufbtam() works on data subsets within internal arrays.

                                                              +

                                                              It is the user's responsibility to ensure that tab is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from the BUFR file. Specifically, each row of tab will contain the data values read from a different data subset, so the value i2 must be at least as large as the total number of data subsets in the BUFR file.

                                                              +

                                                              If logical unit abs(lunin) has already been opened via a previous call to subroutine openbf(), then this subroutine will save the current file position, rewind the file to the beginning, read through the entire file, and then restore it to its previous file position. Otherwise, if logical unit abs(lunin) has not already been opened via a previous call to subroutine openbf(), then this subroutine will open it via an internal call to subroutine openbf(), read through the entire file, and then close it via an internal call to subroutine closbf().

                                                              +
                                                              Remarks
                                                                +
                                                              • If lunin < 0, the number of data subsets in the BUFR file will still be returned in iret; however, str will be ignored, and all of the values returned in tab will contain the current placeholder value for "missing" data.
                                                              • +
                                                              • If any of the Table B mnemonics in str are replicated within the data subset definition for the BUFR file, then this subroutine will only return the value corresponding to the first occurrence of each such mnemonic (counting from the beginning of the data subset definition) within the corresponding row of tab.
                                                              • +
                                                              • There are a few additional special mnemonics that can be included within str when calling this subroutine, and which in turn will result in special information being returned within the corresponding location in tab:
                                                                  +
                                                                • IREC - returns the number of the BUFR message within the file pointed to by abs(lunin) (counting from the beginning of the file) in which the current data subset resides
                                                                • +
                                                                • ISUB - returns the number of the current data subset within the BUFR message pointed to by IREC, counting from the beginning of the message
                                                                • +
                                                                +
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lunin- Absolute value is Fortran logical unit number for BUFR file
                                                              tab- Data values
                                                              i1- First dimension of tab as allocated within the calling program
                                                              i2- Second dimension of tab as allocated within the calling program
                                                              iret- Number of data subsets in BUFR file
                                                              str- String of blank-separated Table B mnemonics, in one-to-one correspondence with the number of data values that will be read from each data subset within the first dimension of tab (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 856 of file openclosebf.F90.

                                                              + +

                                                              References bort(), closbf(), errwrt(), moda_bitbuf::ibit, moda_tables::ibt, moda_usrint::inv, ireadmg(), ireadsb(), moda_tables::itp, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_unptyp::msgunp, moda_msgcwd::msub, moda_msgcwd::nmsg, nmsub(), moda_msgcwd::nsub, moda_usrint::nval, openbf(), parstr(), rewnbf(), status(), string(), up8(), upb(), upb8(), upc(), ups(), usrtpl(), x48(), and x84().

                                                              + +

                                                              Referenced by sinv().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ wtstat()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine wtstat (integer, intent(in) lunit,
                                                              integer, intent(in) lun,
                                                              integer, intent(in) il,
                                                              integer, intent(in) im 
                                                              )
                                                              +
                                                              + +

                                                              Update file status in library internals.

                                                              +

                                                              This subroutine can be used to connect or disconnect a specified Fortran logical unit number to/from the NCEPLIBS-bufr software, and it can also be used to set or reset the internal message status associated with that logical unit number.

                                                              +
                                                              Note
                                                              Before this subroutine is called to connect any lunit to the software, a previous call should have been made to subroutine status() to confirm that internal space is available to connect the associated file, as well as to obtain an lun value to use in connecting it. Once a file is connected, the corresponding lunit and lun values remain linked to each other for as long as the file is connected to the software.
                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              lun- File ID associated with lunit
                                                              il- File status update option:
                                                                +
                                                              • 0 Disconnect lunit from the software
                                                              • +
                                                              • 1 Connect lunit to the software for output operations (i.e. writing/encoding BUFR), if not already connected
                                                              • +
                                                              • -1 Connect lunit to the software for input operations (i.e. reading/decoding BUFR), if not already connected
                                                              • +
                                                              +
                                                              im- Message status update option, indicating whether a message is currently open within the internal arrays for lunit:
                                                                +
                                                              • 0 No
                                                              • +
                                                              • 1 Yes
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 508 of file openclosebf.F90.

                                                              + +

                                                              References bort(), moda_stbfr::iolun, and moda_stbfr::iomsg.

                                                              + +

                                                              Referenced by closbf(), closmg(), openbf(), openmb(), openmg(), rdmemm(), readerme(), readmg(), and rewnbf().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/openclosebf_8F90.js b/openclosebf_8F90.js new file mode 100644 index 000000000..94d26d51a --- /dev/null +++ b/openclosebf_8F90.js @@ -0,0 +1,13 @@ +var openclosebf_8F90 = +[ + [ "closbf", "openclosebf_8F90.html#a48a49bb82348400c1ba6af00c0138ab3", null ], + [ "fortran_close", "openclosebf_8F90.html#aa585324fae3ecf559d6f39507dde6715", null ], + [ "fortran_open", "openclosebf_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a", null ], + [ "openbf", "openclosebf_8F90.html#a9dc7e4fb476a5528a958ee132ee6392d", null ], + [ "posapx", "openclosebf_8F90.html#aeef6f5d08d9631dbe92c1821a9d02903", null ], + [ "rewnbf", "openclosebf_8F90.html#a56b33c6538a8c0abf1b6a31584c68494", null ], + [ "status", "openclosebf_8F90.html#abceda08f9c29378d3ddadeb46e823d00", null ], + [ "ufbcnt", "openclosebf_8F90.html#aac1b87fbbb688e4f5e2120012eaee382", null ], + [ "ufbtab", "openclosebf_8F90.html#ae88bf9794ed98ec79e9de0faff0093af", null ], + [ "wtstat", "openclosebf_8F90.html#ada4363a068f7df043d75b4519c55142f", null ] +]; \ No newline at end of file diff --git a/openclosebf_8F90_source.html b/openclosebf_8F90_source.html new file mode 100644 index 000000000..8c9c9a3a7 --- /dev/null +++ b/openclosebf_8F90_source.html @@ -0,0 +1,1049 @@ + + + + + + + +NCEPLIBS-bufr: openclosebf.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              openclosebf.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              15 recursive subroutine fortran_open(filename, lunit, format, position, iret)
                                                              +
                                                              16 
                                                              +
                                                              17  use modv_vars, only: im8b
                                                              +
                                                              18 
                                                              +
                                                              19  implicit none
                                                              +
                                                              20  character*(*), intent(in) :: filename, format, position
                                                              +
                                                              21  integer, intent(in) :: lunit
                                                              +
                                                              22  integer, intent(out) :: iret
                                                              +
                                                              23  integer my_lunit
                                                              +
                                                              24 
                                                              +
                                                              25  ! check for i8 integers
                                                              +
                                                              26 
                                                              +
                                                              27  if(im8b) then
                                                              +
                                                              28  im8b=.false.
                                                              +
                                                              29 
                                                              +
                                                              30  call x84(lunit,my_lunit,1)
                                                              +
                                                              31  call fortran_open(filename,my_lunit,format,position,iret)
                                                              +
                                                              32  call x48(iret,iret,1)
                                                              +
                                                              33 
                                                              +
                                                              34  im8b=.true.
                                                              +
                                                              35  return
                                                              +
                                                              36  endif
                                                              +
                                                              37 
                                                              +
                                                              38  open(lunit, file=trim(filename), form=trim(format), position=trim(position), iostat=iret)
                                                              +
                                                              39  return
                                                              +
                                                              40 end subroutine fortran_open
                                                              +
                                                              41 
                                                              +
                                                              48 recursive subroutine fortran_close(lunit, iret)
                                                              +
                                                              49 
                                                              +
                                                              50  use modv_vars, only: im8b
                                                              +
                                                              51 
                                                              +
                                                              52  implicit none
                                                              +
                                                              53  integer, intent(in) :: lunit
                                                              +
                                                              54  integer, intent(out) :: iret
                                                              +
                                                              55  integer my_lunit
                                                              +
                                                              56 
                                                              +
                                                              57  ! check for i8 integers
                                                              +
                                                              58 
                                                              +
                                                              59  if(im8b) then
                                                              +
                                                              60  im8b=.false.
                                                              +
                                                              61 
                                                              +
                                                              62  call x84(lunit,my_lunit,1)
                                                              +
                                                              63  call fortran_close(my_lunit,iret)
                                                              +
                                                              64  call x48(iret,iret,1)
                                                              +
                                                              65 
                                                              +
                                                              66  im8b=.true.
                                                              +
                                                              67  return
                                                              +
                                                              68  endif
                                                              +
                                                              69 
                                                              +
                                                              70  close(lunit, iostat=iret)
                                                              +
                                                              71  return
                                                              +
                                                              72 end subroutine fortran_close
                                                              +
                                                              73 
                                                              +
                                                              168 recursive subroutine openbf(lunit,io,lundx)
                                                              +
                                                              169 
                                                              +
                                                              170  use bufrlib
                                                              +
                                                              171 
                                                              +
                                                              172  use modv_vars, only: im8b, ifopbf, nfiles
                                                              +
                                                              173 
                                                              +
                                                              174  use moda_msgcwd
                                                              +
                                                              175  use moda_stbfr
                                                              +
                                                              176  use moda_sc3bfr
                                                              +
                                                              177  use moda_lushr
                                                              +
                                                              178  use moda_nulbfr
                                                              +
                                                              179  use moda_stcode
                                                              +
                                                              180 
                                                              +
                                                              181  implicit none
                                                              +
                                                              182 
                                                              +
                                                              183  integer, intent(in) :: lunit, lundx
                                                              +
                                                              184  integer my_lunit, my_lundx, iprt, iprtprv, lun, il, im
                                                              +
                                                              185 
                                                              +
                                                              186  character*(*), intent(in) :: io
                                                              +
                                                              187  character*255 filename, fileacc
                                                              +
                                                              188  character*128 bort_str, errstr
                                                              +
                                                              189  character*28 cprint(0:4)
                                                              +
                                                              190 
                                                              +
                                                              191  common /quiet/ iprt
                                                              +
                                                              192 
                                                              +
                                                              193  data cprint/ &
                                                              +
                                                              194  ' (only ABORTs) ', &
                                                              +
                                                              195  ' (limited -default) ', &
                                                              +
                                                              196  ' (all warnings) ', &
                                                              +
                                                              197  ' (all warnings+infos) ', &
                                                              +
                                                              198  ' (all warnings+infos+debugs)'/
                                                              +
                                                              199 
                                                              +
                                                              200  ! Check for i8 integers
                                                              +
                                                              201 
                                                              +
                                                              202  if(im8b) then
                                                              +
                                                              203  im8b=.false.
                                                              +
                                                              204 
                                                              +
                                                              205  call x84(lunit,my_lunit,1)
                                                              +
                                                              206  call x84(lundx,my_lundx,1)
                                                              +
                                                              207  call openbf(my_lunit,io,my_lundx)
                                                              +
                                                              208 
                                                              +
                                                              209  im8b=.true.
                                                              +
                                                              210  return
                                                              +
                                                              211  endif
                                                              +
                                                              212 
                                                              +
                                                              213  ! If this is the first call to this subroutine, initialize iprt in /quiet/ as 0
                                                              +
                                                              214 
                                                              +
                                                              215  if(ifopbf==0) iprt = 0
                                                              +
                                                              216 
                                                              +
                                                              217  if(io=='QUIET') then
                                                              +
                                                              218  ! override previous iprt value (printout indicator)
                                                              +
                                                              219  iprtprv = iprt
                                                              +
                                                              220  iprt = lundx
                                                              +
                                                              221  if(iprt<-1) iprt = -1
                                                              +
                                                              222  if(iprt>3) iprt = 3
                                                              +
                                                              223  if(iprt>=0) then
                                                              +
                                                              224  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              225  write ( unit=errstr, fmt='(A,I3,A,A,I3,A)' ) 'BUFRLIB: OPENBF - DEGREE OF MESSAGE PRINT INDICATOR CHNGED FROM', &
                                                              +
                                                              226  iprtprv,cprint(iprtprv+1),' TO',iprt,cprint(iprt+1)
                                                              +
                                                              227  call errwrt(errstr)
                                                              +
                                                              228  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              229  call errwrt(' ')
                                                              +
                                                              230  endif
                                                              +
                                                              231  endif
                                                              +
                                                              232 
                                                              +
                                                              233  if(ifopbf==0) then
                                                              +
                                                              234  ! This is the first call to this subroutine, so take care of some initial housekeeping tasks.
                                                              +
                                                              235  ! Note that arallocf and arallocc_c must be called before calling bfrini.
                                                              +
                                                              236 
                                                              +
                                                              237  ! Allocate internal arrays.
                                                              +
                                                              238  call arallocf
                                                              +
                                                              239  call arallocc_c
                                                              +
                                                              240 
                                                              +
                                                              241  ! Initialize some global variables.
                                                              +
                                                              242  call bfrini
                                                              +
                                                              243 
                                                              +
                                                              244  ifopbf = 1
                                                              +
                                                              245  endif
                                                              +
                                                              246  if( (io=='FIRST') .or. (io=='QUIET') ) return
                                                              +
                                                              247 
                                                              +
                                                              248  ! See if a file can be opened
                                                              +
                                                              249 
                                                              +
                                                              250  call status(lunit,lun,il,im)
                                                              +
                                                              251  if(lun==0) then
                                                              +
                                                              252  write(bort_str,'("BUFRLIB: OPENBF - THERE ARE ALREADY",I3," BUFR FILES OPENED, CANNOT OPEN FILE CONNECTED TO UNIT",I4)') &
                                                              +
                                                              253  nfiles,lunit
                                                              +
                                                              254  call bort(bort_str)
                                                              +
                                                              255  endif
                                                              +
                                                              256  if(il/=0) then
                                                              +
                                                              257  write(bort_str,'("BUFRLIB: OPENBF - THE FILE CONNECTED TO UNIT",I5," IS ALREADY OPEN")') lunit
                                                              +
                                                              258  call bort(bort_str)
                                                              +
                                                              259  endif
                                                              +
                                                              260  null(lun) = 0
                                                              +
                                                              261  isc3(lun) = 0
                                                              +
                                                              262  iscodes(lun) = 0
                                                              +
                                                              263  lus(lun) = 0
                                                              +
                                                              264 
                                                              +
                                                              265  ! Use inquire to obtain the filename associated with unit lunit
                                                              +
                                                              266 
                                                              +
                                                              267  if (io/='NUL' .and. io/='INUL') then
                                                              +
                                                              268  inquire(lunit,access=fileacc)
                                                              +
                                                              269  if(fileacc=='UNDEFINED') open(lunit)
                                                              +
                                                              270  inquire(lunit,name=filename)
                                                              +
                                                              271  filename=trim(filename)//char(0)
                                                              +
                                                              272  endif
                                                              +
                                                              273 
                                                              +
                                                              274  nmsg(lun) = 0
                                                              +
                                                              275  nsub(lun) = 0
                                                              +
                                                              276  msub(lun) = 0
                                                              +
                                                              277  inode(lun) = 0
                                                              +
                                                              278  idate(lun) = 0
                                                              +
                                                              279 
                                                              +
                                                              280  ! Decide how to open the file and setup the dictionary
                                                              +
                                                              281 
                                                              +
                                                              282  if(io=='IN') then
                                                              +
                                                              283  call openrb_c(lun,filename)
                                                              +
                                                              284  call wtstat(lunit,lun,-1,0)
                                                              +
                                                              285  call readdx(lunit,lun,lundx)
                                                              +
                                                              286  else if(io=='INUL') then
                                                              +
                                                              287  call wtstat(lunit,lun,-1,0)
                                                              +
                                                              288  if(lunit/=lundx) call readdx(lunit,lun,lundx)
                                                              +
                                                              289  null(lun) = 1
                                                              +
                                                              290  else if(io=='NUL') then
                                                              +
                                                              291  call wtstat(lunit,lun,1,0)
                                                              +
                                                              292  if(lunit/=lundx) call readdx(lunit,lun,lundx)
                                                              +
                                                              293  null(lun) = 1
                                                              +
                                                              294  else if(io=='INX') then
                                                              +
                                                              295  call openrb_c(lun,filename)
                                                              +
                                                              296  call wtstat(lunit,lun,-1,0)
                                                              +
                                                              297  null(lun) = 1
                                                              +
                                                              298  else if(io=='OUX') then
                                                              +
                                                              299  call openwb_c(lun,filename)
                                                              +
                                                              300  call wtstat(lunit,lun,1,0)
                                                              +
                                                              301  else if(io=='SEC3') then
                                                              +
                                                              302  call openrb_c(lun,filename)
                                                              +
                                                              303  call wtstat(lunit,lun,-1,0)
                                                              +
                                                              304  isc3(lun) = 1
                                                              +
                                                              305  else if(io=='OUT') then
                                                              +
                                                              306  call openwb_c(lun,filename)
                                                              +
                                                              307  call wtstat(lunit,lun,1,0)
                                                              +
                                                              308  call writdx(lunit,lun,lundx)
                                                              +
                                                              309  else if(io=='NODX') then
                                                              +
                                                              310  call openwb_c(lun,filename)
                                                              +
                                                              311  call wtstat(lunit,lun,1,0)
                                                              +
                                                              312  call readdx(lunit,lun,lundx)
                                                              +
                                                              313  else if(io=='APN' .or. io=='APX') then
                                                              +
                                                              314  call openab_c(lun,filename)
                                                              +
                                                              315  call wtstat(lunit,lun,1,0)
                                                              +
                                                              316  if(lunit/=lundx) call readdx(lunit,lun,lundx)
                                                              +
                                                              317  call posapx(lunit)
                                                              +
                                                              318  else
                                                              +
                                                              319  call bort('BUFRLIB: OPENBF - ILLEGAL SECOND (INPUT) ARGUMENT')
                                                              +
                                                              320  endif
                                                              +
                                                              321 
                                                              +
                                                              322  return
                                                              +
                                                              323 end subroutine openbf
                                                              +
                                                              324 
                                                              +
                                                              337 recursive subroutine closbf(lunit)
                                                              +
                                                              338 
                                                              +
                                                              339  use bufrlib
                                                              +
                                                              340 
                                                              +
                                                              341  use modv_vars, only: im8b
                                                              +
                                                              342 
                                                              +
                                                              343  use moda_nulbfr
                                                              +
                                                              344 
                                                              +
                                                              345  implicit none
                                                              +
                                                              346 
                                                              +
                                                              347  character*128 errstr
                                                              +
                                                              348 
                                                              +
                                                              349  integer, intent(in) :: lunit
                                                              +
                                                              350  integer my_lunit, lun, il, im
                                                              +
                                                              351 
                                                              +
                                                              352  ! Check for i8 integers
                                                              +
                                                              353 
                                                              +
                                                              354  if(im8b) then
                                                              +
                                                              355  im8b=.false.
                                                              +
                                                              356 
                                                              +
                                                              357  call x84(lunit,my_lunit,1)
                                                              +
                                                              358  call closbf(my_lunit)
                                                              +
                                                              359 
                                                              +
                                                              360  im8b=.true.
                                                              +
                                                              361  return
                                                              +
                                                              362  endif
                                                              +
                                                              363 
                                                              +
                                                              364  if ( .not. allocated(null) ) then
                                                              +
                                                              365  call errwrt('++++++++++++++++++++WARNING++++++++++++++++++++++')
                                                              +
                                                              366  errstr = 'BUFRLIB: CLOSBF WAS CALLED WITHOUT HAVING PREVIOUSLY CALLED OPENBF'
                                                              +
                                                              367  call errwrt(errstr)
                                                              +
                                                              368  call errwrt('++++++++++++++++++++WARNING++++++++++++++++++++++')
                                                              +
                                                              369  return
                                                              +
                                                              370  endif
                                                              +
                                                              371 
                                                              +
                                                              372  call status(lunit,lun,il,im)
                                                              +
                                                              373  if(il>0 .and. im/=0) call closmg(lunit)
                                                              +
                                                              374  if(il/=0 .and. null(lun)==0) call closfb_c(lun)
                                                              +
                                                              375  call wtstat(lunit,lun,0,0)
                                                              +
                                                              376 
                                                              +
                                                              377  ! Close Fortran unit if null(lun) = 0
                                                              +
                                                              378 
                                                              +
                                                              379  if(null(lun)==0) close(lunit)
                                                              +
                                                              380 
                                                              +
                                                              381  return
                                                              +
                                                              382 end subroutine closbf
                                                              +
                                                              383 
                                                              +
                                                              405 recursive subroutine status(lunit,lun,il,im)
                                                              +
                                                              406 
                                                              +
                                                              407  use modv_vars, only: im8b, nfiles
                                                              +
                                                              408 
                                                              +
                                                              409  use moda_stbfr
                                                              +
                                                              410 
                                                              +
                                                              411  implicit none
                                                              +
                                                              412 
                                                              +
                                                              413  integer, intent(in) :: lunit
                                                              +
                                                              414  integer, intent(out) :: lun, il, im
                                                              +
                                                              415  integer my_lunit, i
                                                              +
                                                              416 
                                                              +
                                                              417  character*128 bort_str, errstr
                                                              +
                                                              418 
                                                              +
                                                              419  ! Check for I8 integers
                                                              +
                                                              420 
                                                              +
                                                              421  if(im8b) then
                                                              +
                                                              422  im8b=.false.
                                                              +
                                                              423 
                                                              +
                                                              424  call x84(lunit,my_lunit,1)
                                                              +
                                                              425  call status(my_lunit,lun,il,im)
                                                              +
                                                              426  call x48(lun,lun,1)
                                                              +
                                                              427  call x48(il,il,1)
                                                              +
                                                              428  call x48(im,im,1)
                                                              +
                                                              429 
                                                              +
                                                              430  im8b=.true.
                                                              +
                                                              431  return
                                                              +
                                                              432  endif
                                                              +
                                                              433 
                                                              +
                                                              434  if(lunit<=0 .or. lunit>99) then
                                                              +
                                                              435  write(bort_str,'("BUFRLIB: STATUS - INPUT UNIT NUMBER (",I3,") OUTSIDE LEGAL RANGE OF 1-99")') lunit
                                                              +
                                                              436  call bort(bort_str)
                                                              +
                                                              437  endif
                                                              +
                                                              438 
                                                              +
                                                              439  ! Clear the status indicators
                                                              +
                                                              440 
                                                              +
                                                              441  lun = 0
                                                              +
                                                              442  il = 0
                                                              +
                                                              443  im = 0
                                                              +
                                                              444 
                                                              +
                                                              445  ! See if the unit is already connected to the library
                                                              +
                                                              446 
                                                              +
                                                              447  if ( .not. allocated(iolun) ) then
                                                              +
                                                              448  call errwrt('++++++++++++++++++++WARNING++++++++++++++++++++++')
                                                              +
                                                              449  errstr = 'BUFRLIB: STATUS WAS CALLED WITHOUT HAVING PREVIOUSLY CALLED OPENBF'
                                                              +
                                                              450  call errwrt(errstr)
                                                              +
                                                              451  call errwrt('++++++++++++++++++++WARNING++++++++++++++++++++++')
                                                              +
                                                              452  return
                                                              +
                                                              453  endif
                                                              +
                                                              454 
                                                              +
                                                              455  do i=1,nfiles
                                                              +
                                                              456  if(abs(iolun(i))==lunit) lun = i
                                                              +
                                                              457  enddo
                                                              +
                                                              458 
                                                              +
                                                              459  ! If not, try to define it so as to connect it to the library
                                                              +
                                                              460 
                                                              +
                                                              461  if(lun==0) then
                                                              +
                                                              462  do i=1,nfiles
                                                              +
                                                              463  if(iolun(i)==0) then
                                                              +
                                                              464  ! File space is available, return with lun > 0, il and im remain 0
                                                              +
                                                              465  lun = i
                                                              +
                                                              466  return
                                                              +
                                                              467  endif
                                                              +
                                                              468  enddo
                                                              +
                                                              469  ! File space is NOT available, return with lun, il and im all 0
                                                              +
                                                              470  return
                                                              +
                                                              471  endif
                                                              +
                                                              472 
                                                              +
                                                              473  ! If the unit was already connected to the library prior to this call, then return statuses
                                                              +
                                                              474 
                                                              +
                                                              475  il = sign(1,iolun(lun))
                                                              +
                                                              476  im = iomsg(lun)
                                                              +
                                                              477 
                                                              +
                                                              478  return
                                                              +
                                                              479 end subroutine status
                                                              +
                                                              480 
                                                              +
                                                              508 subroutine wtstat(lunit,lun,il,im)
                                                              +
                                                              509 
                                                              +
                                                              510  use moda_stbfr
                                                              +
                                                              511 
                                                              +
                                                              512  implicit none
                                                              +
                                                              513 
                                                              +
                                                              514  integer, intent(in) :: lunit, lun, il, im
                                                              +
                                                              515 
                                                              +
                                                              516  character*128 bort_str
                                                              +
                                                              517 
                                                              +
                                                              518  ! Check on the arguments
                                                              +
                                                              519 
                                                              +
                                                              520  if(lunit<=0) then
                                                              +
                                                              521  write(bort_str,'("BUFRLIB: WTSTAT - INVALID UNIT NUMBER PASSED INTO FIRST ARGUMENT (INPUT) (=",I3,")")') lunit
                                                              +
                                                              522  call bort(bort_str)
                                                              +
                                                              523  endif
                                                              +
                                                              524  if(lun<=0) then
                                                              +
                                                              525  write(bort_str,'("BUFRLIB: WTSTAT - INVALID FILE ID PASSED INTO SECOND ARGUMENT (INPUT) (=",I3,")")') lun
                                                              +
                                                              526  call bort(bort_str)
                                                              +
                                                              527  endif
                                                              +
                                                              528  if(il<-1 .or. il>1) then
                                                              +
                                                              529  write(bort_str,'("BUFRLIB: WTSTAT - INVALID LOGICAL UNIT STATUS INDICATOR PASSED INTO THIRD ARGUMENT '// &
                                                              +
                                                              530  '(INPUT) (=",I4,")")') il
                                                              +
                                                              531  call bort(bort_str)
                                                              +
                                                              532  endif
                                                              +
                                                              533  if(im< 0 .or. im>1) then
                                                              +
                                                              534  write(bort_str,'("BUFRLIB: WTSTAT - INVALID BUFR MESSAGE STATUS INDICATOR PASSED INTO FOURTH ARGUMENT '// &
                                                              +
                                                              535  '(INPUT) (=",I4,")")') im
                                                              +
                                                              536  call bort(bort_str)
                                                              +
                                                              537  endif
                                                              +
                                                              538 
                                                              +
                                                              539  ! Check on lunit-lun combination
                                                              +
                                                              540 
                                                              +
                                                              541  if(abs(iolun(lun))/=lunit .and. (iolun(lun)/=0)) then
                                                              +
                                                              542  write(bort_str,'("BUFRLIB: WTSTAT - ATTEMPTING TO REDEFINE EXISTING FILE UNIT (LOGICAL UNIT '// &
                                                              +
                                                              543  'NUMBER ",I3,")")') iolun(lun)
                                                              +
                                                              544  call bort(bort_str)
                                                              +
                                                              545  endif
                                                              +
                                                              546 
                                                              +
                                                              547  ! Reset the file statuses
                                                              +
                                                              548 
                                                              +
                                                              549  if(il/=0) then
                                                              +
                                                              550  iolun(lun) = sign(lunit,il)
                                                              +
                                                              551  iomsg(lun) = im
                                                              +
                                                              552  else
                                                              +
                                                              553  iolun(lun) = 0
                                                              +
                                                              554  iomsg(lun) = 0
                                                              +
                                                              555  endif
                                                              +
                                                              556 
                                                              +
                                                              557  return
                                                              +
                                                              558 end subroutine wtstat
                                                              +
                                                              559 
                                                              +
                                                              585 recursive subroutine ufbcnt(lunit,kmsg,ksub)
                                                              +
                                                              586 
                                                              +
                                                              587  use modv_vars, only: im8b
                                                              +
                                                              588 
                                                              +
                                                              589  use moda_msgcwd
                                                              +
                                                              590 
                                                              +
                                                              591  implicit none
                                                              +
                                                              592 
                                                              +
                                                              593  integer, intent(in) :: lunit
                                                              +
                                                              594  integer, intent(out) :: kmsg, ksub
                                                              +
                                                              595  integer my_lunit, lun, il, im
                                                              +
                                                              596 
                                                              +
                                                              597  ! Check for I8 integers
                                                              +
                                                              598 
                                                              +
                                                              599  if(im8b) then
                                                              +
                                                              600  im8b=.false.
                                                              +
                                                              601  call x84(lunit,my_lunit,1)
                                                              +
                                                              602  call ufbcnt(my_lunit,kmsg,ksub)
                                                              +
                                                              603  call x48(kmsg,kmsg,1)
                                                              +
                                                              604  call x48(ksub,ksub,1)
                                                              +
                                                              605  im8b=.true.
                                                              +
                                                              606  return
                                                              +
                                                              607  endif
                                                              +
                                                              608 
                                                              +
                                                              609  ! Check the file status - return the message and subset counters
                                                              +
                                                              610 
                                                              +
                                                              611  call status(lunit,lun,il,im)
                                                              +
                                                              612  if(il==0) call bort('BUFRLIB: UFBCNT - BUFR FILE IS CLOSED, IT MUST BE OPEN FOR EITHER INPUT OR OUTPUT')
                                                              +
                                                              613  kmsg = nmsg(lun)
                                                              +
                                                              614  ksub = nsub(lun)
                                                              +
                                                              615 
                                                              +
                                                              616  return
                                                              +
                                                              617 end subroutine ufbcnt
                                                              +
                                                              618 
                                                              +
                                                              630 subroutine posapx(lunxx)
                                                              +
                                                              631 
                                                              +
                                                              632  use bufrlib
                                                              +
                                                              633 
                                                              +
                                                              634  use moda_mgwa
                                                              +
                                                              635 
                                                              +
                                                              636  implicit none
                                                              +
                                                              637 
                                                              +
                                                              638  integer, intent(in) :: lunxx
                                                              +
                                                              639  integer lunit, lun, il, im, ier, idxmsg
                                                              +
                                                              640 
                                                              +
                                                              641  lunit = abs(lunxx)
                                                              +
                                                              642 
                                                              +
                                                              643  call status(lunit,lun,il,im)
                                                              +
                                                              644  if(il==0) call bort('BUFRLIB: POSAPX - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              645  if(il<0) call bort('BUFRLIB: POSAPX - INPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              646 
                                                              +
                                                              647  ! Try to read to the end of the file
                                                              +
                                                              648 
                                                              +
                                                              649  do while (.true.)
                                                              +
                                                              650  call rdmsgw(lunit,mgwa,ier)
                                                              +
                                                              651  if(ier<0) return
                                                              +
                                                              652  if(idxmsg(mgwa)==1) then
                                                              +
                                                              653  ! This is an internal dictionary message that was generated by the NCEPLIBS-bufr software. Backspace the file pointer
                                                              +
                                                              654  ! and then read and store all such dictionary messages (they should be stored consecutively!) and reset the internal tables.
                                                              +
                                                              655  call backbufr_c(lun)
                                                              +
                                                              656  call rdbfdx(lunit,lun)
                                                              +
                                                              657  endif
                                                              +
                                                              658  enddo
                                                              +
                                                              659 
                                                              +
                                                              660 end subroutine posapx
                                                              +
                                                              661 
                                                              +
                                                              693 subroutine rewnbf(lunit,isr)
                                                              +
                                                              694 
                                                              +
                                                              695  use bufrlib
                                                              +
                                                              696 
                                                              +
                                                              697  use moda_msgcwd
                                                              +
                                                              698  use moda_bitbuf
                                                              +
                                                              699  use moda_bufrsr
                                                              +
                                                              700 
                                                              +
                                                              701  implicit none
                                                              +
                                                              702 
                                                              +
                                                              703  integer, intent(in) :: lunit, isr
                                                              +
                                                              704  integer lun, il, im, i, kdate, ier
                                                              +
                                                              705 
                                                              +
                                                              706  character*128 bort_str
                                                              +
                                                              707  character*8 subset
                                                              +
                                                              708 
                                                              +
                                                              709  ! Try to trap bad call problems
                                                              +
                                                              710  if(isr==0) then
                                                              +
                                                              711  call status(lunit,lun,il,im)
                                                              +
                                                              712  if(jsr(lun)/=0) then
                                                              +
                                                              713  write(bort_str,'("BUFRLIB: REWNBF - ATTEMPING TO SAVE '// &
                                                              +
                                                              714  'PARAMETERS FOR FILE FOR WHICH THEY HAVE ALREADY BEEN SAVED (AND NOT YET RESTORED) (UNIT",I3,")")') lunit
                                                              +
                                                              715  call bort(bort_str)
                                                              +
                                                              716  endif
                                                              +
                                                              717  if(il==0) then
                                                              +
                                                              718  write(bort_str,'("BUFRLIB: REWNBF - ATTEMPING TO SAVE '// &
                                                              +
                                                              719  'PARAMETERS FOR BUFR FILE WHICH IS NOT OPENED FOR EITHER INPUT OR OUTPUT) (UNIT",I3,")")') lunit
                                                              +
                                                              720  call bort(bort_str)
                                                              +
                                                              721  endif
                                                              +
                                                              722  elseif(isr==1) then
                                                              +
                                                              723  if(junn==0 .or. jsr(junn)/=1) then
                                                              +
                                                              724  write(bort_str,'("BUFRLIB: REWNBF - ATTEMPING TO RESTORE '// &
                                                              +
                                                              725  'PARAMETERS TO BUFR FILE WHICH WERE NEVER SAVED (UNIT",I3,")")') lunit
                                                              +
                                                              726  call bort(bort_str)
                                                              +
                                                              727  endif
                                                              +
                                                              728  lun = junn
                                                              +
                                                              729  else
                                                              +
                                                              730  write(bort_str,'("BUFRLIB: REWNBF - SAVE/RESTORE SWITCH (INPUT '// &
                                                              +
                                                              731  'ARGUMENT ISR) IS NOT ZERO OR ONE (HERE =",I4,") (UNIT",I3,")")') isr, lunit
                                                              +
                                                              732  call bort(bort_str)
                                                              +
                                                              733  endif
                                                              +
                                                              734 
                                                              +
                                                              735  if(isr==0) then
                                                              +
                                                              736  ! Store the existing file parameters
                                                              +
                                                              737  jmsg = nmsg(lun)
                                                              +
                                                              738  jsub = nsub(lun)
                                                              +
                                                              739  if ( il > 0 ) then
                                                              +
                                                              740  ! The file is open for writing
                                                              +
                                                              741  jbit = ibit
                                                              +
                                                              742  jbyt = mbyt(lun)
                                                              +
                                                              743  do i=1,jbyt
                                                              +
                                                              744  jbay(i) = mbay(i,lun)
                                                              +
                                                              745  enddo
                                                              +
                                                              746  endif
                                                              +
                                                              747  junn = lun
                                                              +
                                                              748  jill = il
                                                              +
                                                              749  jimm = im
                                                              +
                                                              750  ! Reset the file for reading
                                                              +
                                                              751  call wtstat(lunit,lun,-1,0)
                                                              +
                                                              752  endif
                                                              +
                                                              753 
                                                              +
                                                              754  ! Rewind the file
                                                              +
                                                              755  call cewind_c(lun)
                                                              +
                                                              756 
                                                              +
                                                              757  if(isr==1) then
                                                              +
                                                              758  ! Restore the previous file parameters. Note that we already restored the previous value of lun earlier in this routine.
                                                              +
                                                              759 
                                                              +
                                                              760  ! Reset nmsg(lun) to 0, so that the below calls to readmg() will internally restore nmsg(lun) to the correct value.
                                                              +
                                                              761  nmsg(lun) = 0
                                                              +
                                                              762 
                                                              +
                                                              763  ! Note that the below calls to readmg() are valid even if the file was previously open for writing, because we haven't yet
                                                              +
                                                              764  ! called wtstat() to restore the file to its previous I/O status. So until then we can still read from it as though it
                                                              +
                                                              765  ! was an input file.
                                                              +
                                                              766  do i=1,jmsg
                                                              +
                                                              767  call readmg(lunit,subset,kdate,ier)
                                                              +
                                                              768  if(ier<0) then
                                                              +
                                                              769  write(bort_str,'("BUFRLIB: REWNBF - HIT END OF FILE BEFORE '// &
                                                              +
                                                              770  'REPOSITIONING BUFR FILE IN UNIT",I3," TO ORIGINAL MESSAGE NO.",I5)') lunit, jmsg
                                                              +
                                                              771  call bort(bort_str)
                                                              +
                                                              772  endif
                                                              +
                                                              773  enddo
                                                              +
                                                              774 
                                                              +
                                                              775  if ( jill < 0 ) then
                                                              +
                                                              776  ! The file was previously open for reading
                                                              +
                                                              777  do i=1,jsub
                                                              +
                                                              778  call readsb(lunit,ier)
                                                              +
                                                              779  enddo
                                                              +
                                                              780  else
                                                              +
                                                              781  ! The file was previously open for writing
                                                              +
                                                              782  do i=1,jbyt
                                                              +
                                                              783  mbay(i,lun) = jbay(i)
                                                              +
                                                              784  enddo
                                                              +
                                                              785  nsub(lun) = jsub
                                                              +
                                                              786  mbyt(lun) = jbyt
                                                              +
                                                              787  ibit = jbit
                                                              +
                                                              788  endif
                                                              +
                                                              789 
                                                              +
                                                              790  ! Now restore the file to its previous I/O status
                                                              +
                                                              791  il = jill
                                                              +
                                                              792  im = jimm
                                                              +
                                                              793  call wtstat(lunit,lun,il,im)
                                                              +
                                                              794  endif
                                                              +
                                                              795 
                                                              +
                                                              796  ! Toggle the stack status indicator
                                                              +
                                                              797  jsr(lun) = mod(jsr(lun)+1,2)
                                                              +
                                                              798 
                                                              +
                                                              799  return
                                                              +
                                                              800 end subroutine rewnbf
                                                              +
                                                              801 
                                                              +
                                                              856 recursive subroutine ufbtab(lunin,tab,i1,i2,iret,str)
                                                              +
                                                              857 
                                                              +
                                                              858  use modv_vars, only: im8b, bmiss, iac
                                                              +
                                                              859 
                                                              +
                                                              860  use moda_usrint
                                                              +
                                                              861  use moda_msgcwd
                                                              +
                                                              862  use moda_unptyp
                                                              +
                                                              863  use moda_bitbuf
                                                              +
                                                              864  use moda_tables
                                                              +
                                                              865 
                                                              +
                                                              866  implicit none
                                                              +
                                                              867 
                                                              +
                                                              868  integer*8 ival, lref, ninc, mps, lps
                                                              +
                                                              869  integer, intent(in) :: lunin, i1, i2
                                                              +
                                                              870  integer, intent(out) :: iret
                                                              +
                                                              871  integer, parameter :: maxtg = 100
                                                              +
                                                              872  integer nnod, ncon, nods, nodc, ivls, kons, iprt, my_lunin, my_i1, my_i2, lunit, lun, il, im, irec, isub, i, j, n, ntg, &
                                                              +
                                                              873  jdate, jbit, kbit, lbit, mbit, nbit, nibit, nbyt, nsb, node, nbmp, nrep, lret, linc, iac_prev, ityp, &
                                                              + +
                                                              875 
                                                              +
                                                              876  character*(*), intent(in) :: str
                                                              +
                                                              877  character*128 errstr
                                                              +
                                                              878  character*40 cref
                                                              +
                                                              879  character*10 tgs(maxtg)
                                                              +
                                                              880  character*8 subset, cval
                                                              +
                                                              881 
                                                              +
                                                              882  logical openit, overflow, just_count, need_node
                                                              +
                                                              883 
                                                              +
                                                              884  real*8, intent(out) :: tab(i1,i2)
                                                              +
                                                              885  real*8 rval, ups
                                                              +
                                                              886 
                                                              +
                                                              887  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              888  common /quiet/ iprt
                                                              +
                                                              889 
                                                              +
                                                              890  equivalence(cval,rval)
                                                              +
                                                              891 
                                                              +
                                                              892  ! Statement functions
                                                              +
                                                              893  mps(node) = 2_8**(ibt(node))-1
                                                              +
                                                              894  lps(lbit) = max(2_8**(lbit)-1,1)
                                                              +
                                                              895 
                                                              +
                                                              896  ! Check for I8 integers
                                                              +
                                                              897  if(im8b) then
                                                              +
                                                              898  im8b=.false.
                                                              +
                                                              899  call x84(lunin,my_lunin,1)
                                                              +
                                                              900  call x84(i1,my_i1,1)
                                                              +
                                                              901  call x84(i2,my_i2,1)
                                                              +
                                                              902  call ufbtab(my_lunin,tab,my_i1,my_i2,iret,str)
                                                              +
                                                              903  call x48(iret,iret,1)
                                                              +
                                                              904  im8b=.true.
                                                              +
                                                              905  return
                                                              +
                                                              906  endif
                                                              +
                                                              907 
                                                              +
                                                              908  ! Make sure subroutine openbf() has been called at least once before trying to call subroutine status(); otherwise,
                                                              +
                                                              909  ! status() might try to access array space that hasn't yet been dynamically allocated.
                                                              +
                                                              910  call openbf(0,'FIRST',0)
                                                              +
                                                              911 
                                                              +
                                                              912  lunit = abs(lunin)
                                                              +
                                                              913  call status(lunit,lun,il,im)
                                                              +
                                                              914  openit = il==0
                                                              +
                                                              915 
                                                              +
                                                              916  if(openit) then
                                                              +
                                                              917  ! Open BUFR file connected to unit lunit if it isn't already open
                                                              +
                                                              918  call openbf(lunit,'INX',lunit)
                                                              +
                                                              919  else
                                                              +
                                                              920  ! If BUFR file already opened, save position and rewind to first data message
                                                              +
                                                              921  call rewnbf(lunit,0)
                                                              +
                                                              922  endif
                                                              +
                                                              923 
                                                              +
                                                              924  ! Initialize all of the output array values to the current value for "missing"
                                                              +
                                                              925  do j=1,i2
                                                              +
                                                              926  do i=1,i1
                                                              +
                                                              927  tab(i,j) = bmiss
                                                              +
                                                              928  enddo
                                                              +
                                                              929  enddo
                                                              +
                                                              930 
                                                              +
                                                              931  ! Set counters to zero
                                                              +
                                                              932  iret = 0
                                                              +
                                                              933  irec = 0
                                                              +
                                                              934  isub = 0
                                                              +
                                                              935 
                                                              +
                                                              936  iac_prev = iac
                                                              +
                                                              937  iac = 1
                                                              +
                                                              938 
                                                              +
                                                              939  overflow = .false.
                                                              +
                                                              940 
                                                              +
                                                              941  ! Check for count subset only option
                                                              +
                                                              942  just_count = lunin<lunit
                                                              +
                                                              943  if(just_count) then
                                                              +
                                                              944  do while(ireadmg(-lunit,subset,jdate)>=0)
                                                              +
                                                              945  iret = iret+nmsub(lunit)
                                                              +
                                                              946  enddo
                                                              +
                                                              947  else
                                                              +
                                                              948  ! Check for special tags in string
                                                              +
                                                              949  call parstr(str,tgs,maxtg,ntg,' ',.true.)
                                                              +
                                                              950  do i=1,ntg
                                                              +
                                                              951  if(tgs(i)=='IREC') irec = i
                                                              +
                                                              952  if(tgs(i)=='ISUB') isub = i
                                                              +
                                                              953  enddo
                                                              +
                                                              954  endif
                                                              +
                                                              955 
                                                              +
                                                              956  outer: do while (.not. just_count)
                                                              +
                                                              957  ! Read the next message from the file
                                                              +
                                                              958  if(ireadmg(-lunit,subset,jdate)<0) exit
                                                              +
                                                              959  call string(str,lun,i1,0)
                                                              +
                                                              960  if(irec>0) nods(irec) = 0
                                                              +
                                                              961  if(isub>0) nods(isub) = 0
                                                              +
                                                              962 
                                                              +
                                                              963  if(msgunp(lun)/=2) then
                                                              +
                                                              964  ! The message is uncompressed
                                                              +
                                                              965 
                                                              +
                                                              966  inner1: do while (.true.)
                                                              +
                                                              967  ! Get the next subset from the message
                                                              +
                                                              968  if(nsub(lun)==msub(lun)) cycle outer
                                                              +
                                                              969  if(iret+1>i2) then
                                                              +
                                                              970  overflow = .true.
                                                              +
                                                              971  exit outer
                                                              +
                                                              972  endif
                                                              +
                                                              973  iret = iret+1
                                                              +
                                                              974  do i=1,nnod
                                                              +
                                                              975  nods(i) = abs(nods(i))
                                                              +
                                                              976  enddo
                                                              +
                                                              977  if(msgunp(lun)==0) then
                                                              +
                                                              978  mbit = mbyt(lun)*8 + 16
                                                              +
                                                              979  else
                                                              +
                                                              980  mbit = mbyt(lun)
                                                              +
                                                              981  endif
                                                              +
                                                              982  nbit = 0
                                                              +
                                                              983  n = 1
                                                              +
                                                              984  call usrtpl(lun,n,n)
                                                              +
                                                              985  inner2: do while (.true.)
                                                              +
                                                              986  ! Cycle through each node of the subset to look for the requested values
                                                              +
                                                              987  if(n+1<=nval(lun)) then
                                                              +
                                                              988  n = n+1
                                                              +
                                                              989  node = inv(n,lun)
                                                              +
                                                              990  mbit = mbit+nbit
                                                              +
                                                              991  nbit = ibt(node)
                                                              +
                                                              992  if(itp(node)==1) then
                                                              +
                                                              993  call upb8(ival,nbit,mbit,mbay(1,lun))
                                                              +
                                                              994  nbmp=int(ival)
                                                              +
                                                              995  call usrtpl(lun,n,nbmp)
                                                              +
                                                              996  endif
                                                              +
                                                              997  do i=1,nnod
                                                              +
                                                              998  if(nods(i)==node) then
                                                              +
                                                              999  if(itp(node)==1) then
                                                              +
                                                              1000  call upb8(ival,nbit,mbit,mbay(1,lun))
                                                              +
                                                              1001  tab(i,iret) = ival
                                                              +
                                                              1002  elseif(itp(node)==2) then
                                                              +
                                                              1003  call upb8(ival,nbit,mbit,mbay(1,lun))
                                                              +
                                                              1004  if(ival<mps(node)) tab(i,iret) = ups(ival,node)
                                                              +
                                                              1005  elseif(itp(node)==3) then
                                                              +
                                                              1006  cval = ' '
                                                              +
                                                              1007  kbit = mbit
                                                              +
                                                              1008  call upc(cval,nbit/8,mbay(1,lun),kbit,.true.)
                                                              +
                                                              1009  tab(i,iret) = rval
                                                              +
                                                              1010  endif
                                                              +
                                                              1011  nods(i) = -nods(i)
                                                              +
                                                              1012  cycle inner2
                                                              +
                                                              1013  endif
                                                              +
                                                              1014  enddo
                                                              +
                                                              1015  do i=1,nnod
                                                              +
                                                              1016  if(nods(i)>0) cycle inner2
                                                              +
                                                              1017  enddo
                                                              +
                                                              1018  endif
                                                              +
                                                              1019  exit
                                                              +
                                                              1020  enddo inner2
                                                              +
                                                              1021  ! Update the subset pointers
                                                              +
                                                              1022  if(msgunp(lun)==0) then
                                                              +
                                                              1023  ibit = mbyt(lun)*8
                                                              +
                                                              1024  call upb(nbyt,16,mbay(1,lun),ibit)
                                                              +
                                                              1025  mbyt(lun) = mbyt(lun) + nbyt
                                                              +
                                                              1026  else
                                                              +
                                                              1027  mbyt(lun) = mbit
                                                              +
                                                              1028  endif
                                                              +
                                                              1029  nsub(lun) = nsub(lun) + 1
                                                              +
                                                              1030  if(irec>0) tab(irec,iret) = nmsg(lun)
                                                              +
                                                              1031  if(isub>0) tab(isub,iret) = nsub(lun)
                                                              +
                                                              1032  enddo inner1
                                                              +
                                                              1033 
                                                              +
                                                              1034  else
                                                              +
                                                              1035  ! The message is compressed
                                                              +
                                                              1036 
                                                              +
                                                              1037  if(iret+msub(lun)>i2) then
                                                              +
                                                              1038  overflow = .true.
                                                              +
                                                              1039  exit outer
                                                              +
                                                              1040  endif
                                                              +
                                                              1041  if(irec>0.or.isub>0) then
                                                              +
                                                              1042  do nsb=1,msub(lun)
                                                              +
                                                              1043  if(irec>0) tab(irec,iret+nsb) = nmsg(lun)
                                                              +
                                                              1044  if(isub>0) tab(isub,iret+nsb) = nsb
                                                              +
                                                              1045  enddo
                                                              +
                                                              1046  endif
                                                              +
                                                              1047  call usrtpl(lun,1,1)
                                                              +
                                                              1048  ibit = mbyt(lun)
                                                              +
                                                              1049  n = 0
                                                              +
                                                              1050  inner3: do n = n+1,nval(lun)
                                                              +
                                                              1051  ! Cycle through each node of each subset to look for the requested values
                                                              +
                                                              1052  node = inv(n,lun)
                                                              +
                                                              1053  nbit = ibt(node)
                                                              +
                                                              1054  ityp = itp(node)
                                                              +
                                                              1055  if(n==1) then
                                                              +
                                                              1056  ! Reset the node indices
                                                              +
                                                              1057  do i=1,nnod
                                                              +
                                                              1058  nods(i) = abs(nods(i))
                                                              +
                                                              1059  enddo
                                                              +
                                                              1060  else
                                                              +
                                                              1061  ! Are we still looking for more values?
                                                              +
                                                              1062  need_node = .false.
                                                              +
                                                              1063  do i=1,nnod
                                                              +
                                                              1064  if(nods(i)>0) then
                                                              +
                                                              1065  need_node = .true.
                                                              +
                                                              1066  exit
                                                              +
                                                              1067  endif
                                                              +
                                                              1068  enddo
                                                              +
                                                              1069  if(.not. need_node) exit inner3
                                                              +
                                                              1070  endif
                                                              +
                                                              1071  if(ityp==1 .or. ityp==2) then
                                                              +
                                                              1072  call up8(lref,nbit,mbay(1,lun),ibit)
                                                              +
                                                              1073  call upb(linc,6,mbay(1,lun),ibit)
                                                              +
                                                              1074  nibit = ibit + linc*msub(lun)
                                                              +
                                                              1075  elseif(ityp==3) then
                                                              +
                                                              1076  cref=' '
                                                              +
                                                              1077  call upc(cref,nbit/8,mbay(1,lun),ibit,.true.)
                                                              +
                                                              1078  call upb(linc,6,mbay(1,lun),ibit)
                                                              +
                                                              1079  nibit = ibit + 8*linc*msub(lun)
                                                              +
                                                              1080  else
                                                              +
                                                              1081  cycle
                                                              +
                                                              1082  endif
                                                              +
                                                              1083  if(ityp==1) then
                                                              +
                                                              1084  ! This is a delayed replication node
                                                              +
                                                              1085  jbit = ibit + linc
                                                              +
                                                              1086  call up8(ninc,linc,mbay(1,lun),jbit)
                                                              +
                                                              1087  ival = lref+ninc
                                                              +
                                                              1088  call usrtpl(lun,n,int(ival))
                                                              +
                                                              1089  cycle
                                                              +
                                                              1090  endif
                                                              +
                                                              1091  do i=1,nnod
                                                              +
                                                              1092  if(node==nods(i)) then
                                                              +
                                                              1093  ! This is one of the requested values, so store the corresponding value from each subset in the message
                                                              +
                                                              1094  nods(i) = -nods(i)
                                                              +
                                                              1095  lret = iret
                                                              +
                                                              1096  if(ityp==1 .or. ityp==2) then
                                                              +
                                                              1097  do nsb=1,msub(lun)
                                                              +
                                                              1098  jbit = ibit + linc*(nsb-1)
                                                              +
                                                              1099  call up8(ninc,linc,mbay(1,lun),jbit)
                                                              +
                                                              1100  ival = lref+ninc
                                                              +
                                                              1101  lret = lret+1
                                                              +
                                                              1102  if(ninc<lps(linc)) tab(i,lret) = ups(ival,node)
                                                              +
                                                              1103  enddo
                                                              +
                                                              1104  elseif(ityp==3) then
                                                              +
                                                              1105  do nsb=1,msub(lun)
                                                              +
                                                              1106  if(linc==0) then
                                                              +
                                                              1107  cval = cref(1:8)
                                                              +
                                                              1108  else
                                                              +
                                                              1109  jbit = ibit + linc*(nsb-1)*8
                                                              +
                                                              1110  cval = ' '
                                                              +
                                                              1111  call upc(cval,linc,mbay(1,lun),jbit,.true.)
                                                              +
                                                              1112  endif
                                                              +
                                                              1113  lret = lret+1
                                                              +
                                                              1114  tab(i,lret) = rval
                                                              +
                                                              1115  enddo
                                                              +
                                                              1116  else
                                                              +
                                                              1117  call bort('UFBTAB - INVALID ELEMENT TYPE SPECIFIED')
                                                              +
                                                              1118  endif
                                                              +
                                                              1119  endif
                                                              +
                                                              1120  enddo
                                                              +
                                                              1121  ibit = nibit
                                                              +
                                                              1122  enddo inner3
                                                              +
                                                              1123  iret = iret+msub(lun)
                                                              +
                                                              1124 
                                                              +
                                                              1125  endif
                                                              +
                                                              1126 
                                                              +
                                                              1127  enddo outer
                                                              +
                                                              1128 
                                                              +
                                                              1129  if(overflow) then
                                                              +
                                                              1130  nrep = iret
                                                              +
                                                              1131  do while(ireadsb(lunit)==0)
                                                              +
                                                              1132  nrep = nrep+1
                                                              +
                                                              1133  enddo
                                                              +
                                                              1134  do while(ireadmg(-lunit,subset,jdate)>=0)
                                                              +
                                                              1135  nrep = nrep+nmsub(lunit)
                                                              +
                                                              1136  enddo
                                                              +
                                                              1137  if(iprt>=0) then
                                                              +
                                                              1138  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1139  write ( unit=errstr, fmt='(A,A,I8,A)' ) 'BUFRLIB: UFBTAB - THE NO. OF DATA SUBSETS IN THE BUFR FILE ', &
                                                              +
                                                              1140  .GT.'IS LIMIT OF ', i2, ' IN THE 4TH ARG. (INPUT) - INCOMPLETE READ'
                                                              +
                                                              1141  call errwrt(errstr)
                                                              +
                                                              1142  write ( unit=errstr, fmt='(A,I8,A,I8,A)' ) '>>>UFBTAB STORED ', iret, ' REPORTS OUT OF ', nrep, '<<<'
                                                              +
                                                              1143  call errwrt(errstr)
                                                              +
                                                              1144  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1145  call errwrt(' ')
                                                              +
                                                              1146  endif
                                                              +
                                                              1147  endif
                                                              +
                                                              1148 
                                                              +
                                                              1149  if(openit) then
                                                              +
                                                              1150  ! Close BUFR file if it was opened here
                                                              +
                                                              1151  call closbf(lunit)
                                                              +
                                                              1152  else
                                                              +
                                                              1153  ! Restore BUFR file to its previous status and position
                                                              +
                                                              1154  call rewnbf(lunit,1)
                                                              +
                                                              1155  endif
                                                              +
                                                              1156 
                                                              +
                                                              1157  iac = iac_prev
                                                              +
                                                              1158 
                                                              +
                                                              1159  return
                                                              +
                                                              1160 end subroutine ufbtab
                                                              +
                                                              subroutine arallocf
                                                              Dynamically allocate Fortran language arrays.
                                                              Definition: arallocf.F90:19
                                                              +
                                                              subroutine bort(str)
                                                              Log an error message, then abort the application program.
                                                              Definition: borts.F90:15
                                                              +
                                                              subroutine upb(nval, nbits, ibay, ibit)
                                                              Decode an integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:202
                                                              +
                                                              subroutine upb8(nval, nbits, ibit, ibay)
                                                              Decode an 8-byte integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:80
                                                              +
                                                              real *8 function ups(ival, node)
                                                              Unpack a real*8 value from an integer by applying the proper scale and reference values.
                                                              Definition: cidecode.F90:319
                                                              +
                                                              subroutine up8(nval, nbits, ibay, ibit)
                                                              Decode an 8-byte integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:128
                                                              +
                                                              subroutine upc(chr, nchr, ibay, ibit, cnvnull)
                                                              Decode a character string from within a specified number of bytes of an integer array,...
                                                              Definition: cidecode.F90:26
                                                              +
                                                              subroutine writdx(lunit, lun, lundx)
                                                              Write DX BUFR table (dictionary) messages to the beginning of an output BUFR file in lunit.
                                                              Definition: dxtable.F90:812
                                                              +
                                                              subroutine readdx(lunit, lun, lundx)
                                                              Initialize modules moda_tababd and moda_msgcwd with DX BUFR (dictionary) tables.
                                                              Definition: dxtable.F90:29
                                                              +
                                                              subroutine rdbfdx(lunit, lun)
                                                              Beginning at the current file pointer location within lunit, read a complete DX BUFR table into inter...
                                                              Definition: dxtable.F90:121
                                                              +
                                                              subroutine errwrt(str)
                                                              Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                                              Definition: errwrt.F90:32
                                                              + + + + + + + +
                                                              subroutine bfrini
                                                              Initialize numerous global variables and arrays within internal modules and COMMON blocks throughout ...
                                                              Definition: misc.F90:16
                                                              +
                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                                              Definition: bufrlib.F90:11
                                                              +
                                                              Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                                              +
                                                              integer ibit
                                                              Bit pointer within ibay.
                                                              +
                                                              integer, dimension(:,:), allocatable mbay
                                                              Current BUFR message for each file ID.
                                                              +
                                                              integer, dimension(:), allocatable mbyt
                                                              Length (in bytes) of current BUFR message for each file ID.
                                                              +
                                                              Declare arrays and variables needed to store the current position within a BUFR file.
                                                              +
                                                              integer jill
                                                              File status indicator of BUFR file.
                                                              +
                                                              integer jimm
                                                              Message status indicator of BUFR file.
                                                              +
                                                              integer, dimension(:), allocatable jsr
                                                              Indicator of stack status when entering subroutine rewnbf().
                                                              +
                                                              integer jmsg
                                                              Sequential number of BUFR message, counting from the beginning of the file.
                                                              +
                                                              integer jbit
                                                              Bit pointer within BUFR message.
                                                              +
                                                              integer jsub
                                                              Sequential number of BUFR data subset, counting from the beginning of the current BUFR message.
                                                              +
                                                              integer junn
                                                              File ID of BUFR file.
                                                              +
                                                              integer jbyt
                                                              Length (in bytes) of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable jbay
                                                              BUFR message.
                                                              +
                                                              Declare an array used by subroutine makestab() to keep track of which logical units share DX BUFR tab...
                                                              +
                                                              integer, dimension(:), allocatable lus
                                                              Tracking index for each file ID.
                                                              +
                                                              Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                                              +
                                                              integer, dimension(:), allocatable mgwa
                                                              Temporary working copy of BUFR message.
                                                              +
                                                              Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                                              +
                                                              integer, dimension(:), allocatable inode
                                                              Table A mnemonic for type of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable idate
                                                              Section 1 date-time of message.
                                                              +
                                                              integer, dimension(:), allocatable nmsg
                                                              Current message pointer within logical unit.
                                                              +
                                                              integer, dimension(:), allocatable msub
                                                              Total number of data subsets in message.
                                                              +
                                                              integer, dimension(:), allocatable nsub
                                                              Current subset pointer within message.
                                                              +
                                                              Declare an array used to store a switch for each file ID, indicating whether any BUFR messages should...
                                                              +
                                                              integer, dimension(:), allocatable null
                                                              Output switch for each file ID:
                                                              +
                                                              Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from ...
                                                              +
                                                              integer, dimension(:), allocatable isc3
                                                              Section 3 switch for each file ID:
                                                              +
                                                              Declare arrays used to store file and message status indicators for all logical units that have been ...
                                                              +
                                                              integer, dimension(:), allocatable iolun
                                                              File status indicators.
                                                              +
                                                              integer, dimension(:), allocatable iomsg
                                                              Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
                                                              +
                                                              Declare an array used to store a status code for each file ID if an error or other abnormal result oc...
                                                              +
                                                              integer, dimension(:), allocatable iscodes
                                                              Abnormal status codes.
                                                              +
                                                              Declare arrays and variables used to store the internal jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable ibt
                                                              Bit widths corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable itp
                                                              Integer type values corresponding to typ:
                                                              +
                                                              Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
                                                              +
                                                              integer, dimension(:), allocatable msgunp
                                                              Flag indicating how to unpack data subsets from BUFR message:
                                                              +
                                                              Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                                              +
                                                              integer, dimension(:), allocatable nval
                                                              Number of data values in BUFR data subset.
                                                              +
                                                              integer, dimension(:,:), allocatable, target inv
                                                              Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                                              +
                                                              recursive subroutine closbf(lunit)
                                                              Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
                                                              +
                                                              subroutine rewnbf(lunit, isr)
                                                              Store or restore parameters associated with a BUFR file.
                                                              +
                                                              recursive subroutine fortran_open(filename, lunit, format, position, iret)
                                                              Open a Fortran file on the local system.
                                                              Definition: openclosebf.F90:16
                                                              +
                                                              recursive subroutine openbf(lunit, io, lundx)
                                                              Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                                              +
                                                              recursive subroutine fortran_close(lunit, iret)
                                                              Close a Fortran file on the local system.
                                                              Definition: openclosebf.F90:49
                                                              +
                                                              recursive subroutine ufbcnt(lunit, kmsg, ksub)
                                                              Get the current location of the file pointer within a BUFR file, in terms of a message number countin...
                                                              +
                                                              recursive subroutine status(lunit, lun, il, im)
                                                              Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                                              +
                                                              subroutine wtstat(lunit, lun, il, im)
                                                              Update file status in library internals.
                                                              +
                                                              recursive subroutine ufbtab(lunin, tab, i1, i2, iret, str)
                                                              Read through every data subset in a BUFR file and return one or more specified data values from each ...
                                                              +
                                                              subroutine posapx(lunxx)
                                                              Position an output BUFR file for appending.
                                                              +
                                                              recursive subroutine closmg(lunin)
                                                              Close the BUFR message that is currently open for writing within internal arrays associated with logi...
                                                              +
                                                              recursive integer function nmsub(lunit)
                                                              Get the total number of data subsets available within the BUFR message that was most recently opened ...
                                                              +
                                                              recursive subroutine readmg(lunxx, subset, jdate, iret)
                                                              Read the next BUFR message from logical unit abs(lunxx) into internal arrays.
                                                              Definition: readwritemg.F90:44
                                                              +
                                                              subroutine rdmsgw(lunit, mesg, iret)
                                                              Read the next BUFR message from logical unit lunit as an array of integer words.
                                                              +
                                                              recursive integer function ireadmg(lunit, subset, idate)
                                                              Call subroutine readmg() and pass back its return code as the function value.
                                                              +
                                                              subroutine usrtpl(lun, invn, nbmp)
                                                              Expand a subset template within internal arrays.
                                                              +
                                                              recursive integer function ireadsb(lunit)
                                                              Call subroutine readsb() and pass back its return code as the function value.
                                                              +
                                                              recursive subroutine readsb(lunit, iret)
                                                              Read the next data subset from a BUFR message.
                                                              Definition: readwritesb.F90:32
                                                              +
                                                              subroutine parstr(str, tags, mtag, ntag, sep, limit80)
                                                              Parse a string containing one or more substrings into an array of substrings.
                                                              Definition: strings.F90:473
                                                              +
                                                              subroutine string(str, lun, i1, io)
                                                              Check whether a string is in the internal mnemonic string cache.
                                                              Definition: strings.F90:25
                                                              +
                                                              subroutine x48(iin4, iout8, nval)
                                                              Encode one or more 4-byte integer values as 8-byte integer values.
                                                              Definition: x4884.F90:18
                                                              +
                                                              subroutine x84(iin8, iout4, nval)
                                                              Encode one or more 8-byte integer values as 4-byte integer values.
                                                              Definition: x4884.F90:65
                                                              +
                                                              +
                                                              + + + + diff --git a/pages.html b/pages.html index b4e3487af..ecf4f0a32 100644 --- a/pages.html +++ b/pages.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              diff --git a/adn30_8f.html b/previous_versions/v12.0.1/adn30_8f.html similarity index 100% rename from adn30_8f.html rename to previous_versions/v12.0.1/adn30_8f.html diff --git a/adn30_8f.js b/previous_versions/v12.0.1/adn30_8f.js similarity index 100% rename from adn30_8f.js rename to previous_versions/v12.0.1/adn30_8f.js diff --git a/adn30_8f_source.html b/previous_versions/v12.0.1/adn30_8f_source.html similarity index 100% rename from adn30_8f_source.html rename to previous_versions/v12.0.1/adn30_8f_source.html diff --git a/previous_versions/v12.0.1/annotated.html b/previous_versions/v12.0.1/annotated.html new file mode 100644 index 000000000..5ee93c54e --- /dev/null +++ b/previous_versions/v12.0.1/annotated.html @@ -0,0 +1,128 @@ + + + + + + + +NCEPLIBS-bufr: Data Types List + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              Data Types List
                                                              +
                                                              +
                                                              +
                                                              Here are the data types with brief descriptions:
                                                              +
                                                              [detail level 12]
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                               Nbufr_interfaceWrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs
                                                               Cccbfl_c
                                                               Ccobfl_c
                                                               Ccrbmg_c
                                                               Ccwbmg_c
                                                               Cdlloctbf_c
                                                               NbufrlibWrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library
                                                               Carallocc_c
                                                               Cardllocc_c
                                                               Cbackbufr_c
                                                               Cbort_exit_c
                                                               Ccewind_c
                                                               Cclosfb_c
                                                               Ccpmstabs_c
                                                               Ccrdbufr_c
                                                               Ccwrbufr_c
                                                               Cicvidx_c
                                                               Cinittbf_c
                                                               Copenab_c
                                                               Copenrb_c
                                                               Copenwb_c
                                                               Crestd_c
                                                               Csorttbf_c
                                                               Csrchtbf_c
                                                               Cstrtbfe_c
                                                               Cstseq_c
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/annotated_dup.js b/previous_versions/v12.0.1/annotated_dup.js new file mode 100644 index 000000000..1eab62f36 --- /dev/null +++ b/previous_versions/v12.0.1/annotated_dup.js @@ -0,0 +1,31 @@ +var annotated_dup = +[ + [ "bufr_interface", "namespacebufr__interface.html", [ + [ "ccbfl_c", "interfacebufr__interface_1_1ccbfl__c.html", "interfacebufr__interface_1_1ccbfl__c" ], + [ "cobfl_c", "interfacebufr__interface_1_1cobfl__c.html", "interfacebufr__interface_1_1cobfl__c" ], + [ "crbmg_c", "interfacebufr__interface_1_1crbmg__c.html", "interfacebufr__interface_1_1crbmg__c" ], + [ "cwbmg_c", "interfacebufr__interface_1_1cwbmg__c.html", "interfacebufr__interface_1_1cwbmg__c" ], + [ "dlloctbf_c", "interfacebufr__interface_1_1dlloctbf__c.html", "interfacebufr__interface_1_1dlloctbf__c" ] + ] ], + [ "bufrlib", "namespacebufrlib.html", [ + [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html", "interfacebufrlib_1_1arallocc__c" ], + [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html", "interfacebufrlib_1_1ardllocc__c" ], + [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html", "interfacebufrlib_1_1backbufr__c" ], + [ "bort_exit_c", "interfacebufrlib_1_1bort__exit__c.html", "interfacebufrlib_1_1bort__exit__c" ], + [ "cewind_c", "interfacebufrlib_1_1cewind__c.html", "interfacebufrlib_1_1cewind__c" ], + [ "closfb_c", "interfacebufrlib_1_1closfb__c.html", "interfacebufrlib_1_1closfb__c" ], + [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html", "interfacebufrlib_1_1cpmstabs__c" ], + [ "crdbufr_c", "interfacebufrlib_1_1crdbufr__c.html", "interfacebufrlib_1_1crdbufr__c" ], + [ "cwrbufr_c", "interfacebufrlib_1_1cwrbufr__c.html", "interfacebufrlib_1_1cwrbufr__c" ], + [ "icvidx_c", "interfacebufrlib_1_1icvidx__c.html", "interfacebufrlib_1_1icvidx__c" ], + [ "inittbf_c", "interfacebufrlib_1_1inittbf__c.html", "interfacebufrlib_1_1inittbf__c" ], + [ "openab_c", "interfacebufrlib_1_1openab__c.html", "interfacebufrlib_1_1openab__c" ], + [ "openrb_c", "interfacebufrlib_1_1openrb__c.html", "interfacebufrlib_1_1openrb__c" ], + [ "openwb_c", "interfacebufrlib_1_1openwb__c.html", "interfacebufrlib_1_1openwb__c" ], + [ "restd_c", "interfacebufrlib_1_1restd__c.html", "interfacebufrlib_1_1restd__c" ], + [ "sorttbf_c", "interfacebufrlib_1_1sorttbf__c.html", "interfacebufrlib_1_1sorttbf__c" ], + [ "srchtbf_c", "interfacebufrlib_1_1srchtbf__c.html", "interfacebufrlib_1_1srchtbf__c" ], + [ "strtbfe_c", "interfacebufrlib_1_1strtbfe__c.html", "interfacebufrlib_1_1strtbfe__c" ], + [ "stseq_c", "interfacebufrlib_1_1stseq__c.html", "interfacebufrlib_1_1stseq__c" ] + ] ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/arallocc_8c.html b/previous_versions/v12.0.1/arallocc_8c.html new file mode 100644 index 000000000..3b112f076 --- /dev/null +++ b/previous_versions/v12.0.1/arallocc_8c.html @@ -0,0 +1,177 @@ + + + + + + + +NCEPLIBS-bufr: arallocc.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              arallocc.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              Dynamically allocate C language arrays. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +#include "cread.h"
                                                              +#include "mstabs.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Macros

                                                              #define IN_ARALLOCC
                                                               Macro to control whether certain variables are explicitly declared or referenced as extern. More...
                                                               
                                                              + + + + +

                                                              +Functions

                                                              void arallocc (void)
                                                               Dynamically allocate C language arrays. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Dynamically allocate C language arrays.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition in file arallocc.c.

                                                              +

                                                              Macro Definition Documentation

                                                              + +

                                                              ◆ IN_ARALLOCC

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define IN_ARALLOCC
                                                              +
                                                              + +

                                                              Macro to control whether certain variables are explicitly declared or referenced as extern.

                                                              + +

                                                              Definition at line 10 of file arallocc.c.

                                                              + +
                                                              +
                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ arallocc()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void arallocc (void )
                                                              +
                                                              + +

                                                              Dynamically allocate C language arrays.

                                                              +

                                                              This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal C language arrays based on parameter values set during one or more previous calls to function isetprm().

                                                              +

                                                              All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition at line 29 of file arallocc.c.

                                                              + +

                                                              References bort_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, ibfxyn_c, idefxy_c, idfxyn_c, igetprm_f(), lstpos, modv_maxcd::maxcd, modv_mxmtbb::mxmtbb, modv_mxmtbd::mxmtbd, ndelem_c, modv_nfiles::nfiles, and pb.

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/arallocc_8c.js b/previous_versions/v12.0.1/arallocc_8c.js new file mode 100644 index 000000000..7e319ddb7 --- /dev/null +++ b/previous_versions/v12.0.1/arallocc_8c.js @@ -0,0 +1,5 @@ +var arallocc_8c = +[ + [ "IN_ARALLOCC", "arallocc_8c.html#a99a030277b9ff412087d1e599de3f730", null ], + [ "arallocc", "arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/arallocc_8c_source.html b/previous_versions/v12.0.1/arallocc_8c_source.html new file mode 100644 index 000000000..48830c468 --- /dev/null +++ b/previous_versions/v12.0.1/arallocc_8c_source.html @@ -0,0 +1,184 @@ + + + + + + + +NCEPLIBS-bufr: arallocc.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              arallocc.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 #include "bufrlib.h"
                                                              +
                                                              7 
                                                              +
                                                              10 #define IN_ARALLOCC
                                                              +
                                                              11 #include "cread.h"
                                                              +
                                                              12 #include "mstabs.h"
                                                              +
                                                              13 
                                                              +
                                                              28 void
                                                              +
                                                              29 arallocc(void)
                                                              +
                                                              30 {
                                                              +
                                                              31 
                                                              +
                                                              32  char brtstr[50] = "BUFRLIB: ARALLOCC FAILED ALLOCATING";
                                                              +
                                                              33 
                                                              +
                                                              34  int nfiles;
                                                              +
                                                              35 
                                                              +
                                                              36  int mxmtbb;
                                                              +
                                                              37  int mxmtbd;
                                                              +
                                                              38  int maxcd;
                                                              +
                                                              39 
                                                              +
                                                              40 /*
                                                              +
                                                              41 ** cread arrays
                                                              +
                                                              42 */
                                                              +
                                                              43 
                                                              +
                                                              44  nfiles = igetprm_f("NFILES");
                                                              +
                                                              45 
                                                              +
                                                              46  if (!(pb = malloc((nfiles+1) * sizeof(FILE *)))) bort_f(brtstr);
                                                              +
                                                              47 
                                                              +
                                                              48  if (!(lstpos = malloc((nfiles+1) * sizeof(fpos_t)))) bort_f(brtstr);
                                                              +
                                                              49 
                                                              +
                                                              50 /*
                                                              +
                                                              51 ** mstabs arrays
                                                              +
                                                              52 */
                                                              +
                                                              53 
                                                              +
                                                              54  mxmtbb = igetprm_f("MXMTBB");
                                                              +
                                                              55  mxmtbd = igetprm_f("MXMTBD");
                                                              +
                                                              56  maxcd = igetprm_f("MAXCD");
                                                              +
                                                              57 
                                                              +
                                                              58  if (!(ibfxyn_c = malloc(mxmtbb * sizeof(int)))) bort_f(brtstr);
                                                              +
                                                              59 
                                                              +
                                                              60  if (!(cbscl_c = malloc(mxmtbb * 4 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              61 
                                                              +
                                                              62  if (!(cbsref_c = malloc(mxmtbb * 12 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              63 
                                                              +
                                                              64  if (!(cbbw_c = malloc(mxmtbb * 4 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              65 
                                                              +
                                                              66  if (!(cbunit_c = malloc(mxmtbb * 24 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              67 
                                                              +
                                                              68  if (!(cbmnem_c = malloc(mxmtbb * 8 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              69 
                                                              +
                                                              70  if (!(cbelem_c = malloc(mxmtbb * 120 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              71 
                                                              +
                                                              72  if (!(idfxyn_c = malloc(mxmtbd * sizeof(int)))) bort_f(brtstr);
                                                              +
                                                              73 
                                                              +
                                                              74  if (!(cdseq_c = malloc(mxmtbd * 120 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              75 
                                                              +
                                                              76  if (!(cdmnem_c = malloc(mxmtbd * 8 * sizeof(char)))) bort_f(brtstr);
                                                              +
                                                              77 
                                                              +
                                                              78  if (!(ndelem_c = malloc(mxmtbd * sizeof(int)))) bort_f(brtstr);
                                                              +
                                                              79 
                                                              +
                                                              80  if (!(idefxy_c = malloc(mxmtbd * maxcd * sizeof(int)))) bort_f(brtstr);
                                                              +
                                                              81 }
                                                              +
                                                              void arallocc(void)
                                                              Dynamically allocate C language arrays.
                                                              Definition: arallocc.c:29
                                                              +
                                                              int igetprm_f(char *cprmnm)
                                                              Get the current value of a parameter.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              void bort_f(char *errstr)
                                                              Log one error message and abort application program.
                                                              +
                                                              Declare variables for reading or writing BUFR messages via a C language interface.
                                                              +
                                                              FILE ** pb
                                                              File pointers.
                                                              +
                                                              fpos_t * lstpos
                                                              Byte positions of last successful reads from files corresponding to pb, for files that were opened fo...
                                                              +
                                                              Declare variables for internal storage of master Table B and Table D entries.
                                                              +
                                                              char(* cbunit_c)[24]
                                                              Master Table B units; copied from Fortran cbunit array.
                                                              +
                                                              int * idfxyn_c
                                                              Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                                              +
                                                              char(* cdmnem_c)[8]
                                                              Master Table D mnemonics; copied from Fortran cdmnem array.
                                                              +
                                                              char(* cbelem_c)[120]
                                                              Master Table B element names; copied from Fortran cbelem array.
                                                              +
                                                              int * ndelem_c
                                                              Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
                                                              +
                                                              int * idefxy_c
                                                              Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
                                                              +
                                                              char(* cbbw_c)[4]
                                                              Master Table B bit widths; copied from Fortran cbbw array.
                                                              +
                                                              char(* cbsref_c)[12]
                                                              Master Table B reference value; copied from Fortran cbsref array.
                                                              +
                                                              char(* cdseq_c)[120]
                                                              Master Table D sequence names; copied from Fortran cdseq array.
                                                              +
                                                              int * ibfxyn_c
                                                              Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                                              +
                                                              char(* cbscl_c)[4]
                                                              Master Table B scale factors; copied from Fortran cbscl array.
                                                              +
                                                              char(* cbmnem_c)[8]
                                                              Master Table B mnemonics; copied from Fortran cbmnem array.
                                                              +
                                                              integer, public maxcd
                                                              Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
                                                              +
                                                              integer mxmtbb
                                                              Maximum number of entries in a master BUFR Table B.
                                                              +
                                                              integer mxmtbd
                                                              Maximum number of entries in a master BUFR Table D.
                                                              +
                                                              integer, public nfiles
                                                              Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...
                                                              +
                                                              +
                                                              + + + + diff --git a/arallocf_8f.html b/previous_versions/v12.0.1/arallocf_8f.html similarity index 100% rename from arallocf_8f.html rename to previous_versions/v12.0.1/arallocf_8f.html diff --git a/arallocf_8f.js b/previous_versions/v12.0.1/arallocf_8f.js similarity index 100% rename from arallocf_8f.js rename to previous_versions/v12.0.1/arallocf_8f.js diff --git a/arallocf_8f_source.html b/previous_versions/v12.0.1/arallocf_8f_source.html similarity index 100% rename from arallocf_8f_source.html rename to previous_versions/v12.0.1/arallocf_8f_source.html diff --git a/ardllocc_8c.html b/previous_versions/v12.0.1/ardllocc_8c.html similarity index 100% rename from ardllocc_8c.html rename to previous_versions/v12.0.1/ardllocc_8c.html diff --git a/ardllocc_8c.js b/previous_versions/v12.0.1/ardllocc_8c.js similarity index 100% rename from ardllocc_8c.js rename to previous_versions/v12.0.1/ardllocc_8c.js diff --git a/ardllocc_8c_source.html b/previous_versions/v12.0.1/ardllocc_8c_source.html similarity index 100% rename from ardllocc_8c_source.html rename to previous_versions/v12.0.1/ardllocc_8c_source.html diff --git a/ardllocf_8f.html b/previous_versions/v12.0.1/ardllocf_8f.html similarity index 100% rename from ardllocf_8f.html rename to previous_versions/v12.0.1/ardllocf_8f.html diff --git a/ardllocf_8f.js b/previous_versions/v12.0.1/ardllocf_8f.js similarity index 100% rename from ardllocf_8f.js rename to previous_versions/v12.0.1/ardllocf_8f.js diff --git a/ardllocf_8f_source.html b/previous_versions/v12.0.1/ardllocf_8f_source.html similarity index 100% rename from ardllocf_8f_source.html rename to previous_versions/v12.0.1/ardllocf_8f_source.html diff --git a/atrcpt_8f.html b/previous_versions/v12.0.1/atrcpt_8f.html similarity index 100% rename from atrcpt_8f.html rename to previous_versions/v12.0.1/atrcpt_8f.html diff --git a/atrcpt_8f.js b/previous_versions/v12.0.1/atrcpt_8f.js similarity index 100% rename from atrcpt_8f.js rename to previous_versions/v12.0.1/atrcpt_8f.js diff --git a/atrcpt_8f_source.html b/previous_versions/v12.0.1/atrcpt_8f_source.html similarity index 100% rename from atrcpt_8f_source.html rename to previous_versions/v12.0.1/atrcpt_8f_source.html diff --git a/previous_versions/v12.0.1/bc_s.png b/previous_versions/v12.0.1/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/bdwn.png b/previous_versions/v12.0.1/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +NCEPLIBS-bufr: bufr_c2f_interface.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_c2f_interface.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Modules

                                                              module  bufr_c2f_interface
                                                               Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C.
                                                               
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions/Subroutines

                                                              subroutine, public bufr_c2f_interface::bort_c (errstr)
                                                               Log one error message and abort application program. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::bvers_c (cverstr, cverstr_len)
                                                               Get the version number of the NCEPLIBS-bufr software. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::cadn30_c (idn, adn, adn_str_len)
                                                               Convert an FXY value from its WMO bit-wise representation to its six-character representation. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::closbf_c (bufr_unit)
                                                               Close a previously opened file and disconnect it from the library. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::close_c (lunit)
                                                               Close a Fortran file from a C program. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::delete_table_data_c ()
                                                               Deletes the copies of the moda_tables arrays. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::elemdx_c (card, lun)
                                                               Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::exitbufr_c ()
                                                               Reset the library. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_inode_c (lun, start_node)
                                                               Get the bufr node idx for the start node of the subset. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_inv_c (lun, inv_ptr, inv_size)
                                                               Get pointer to the moda_usrint INV array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_irf_c (irf_ptr, irf_size)
                                                               Get copy of the moda_tables IRF array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_isc_c (isc_ptr, isc_size)
                                                               Get copy of the moda_tables ISC array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_itp_c (itp_ptr, itp_size)
                                                               Get copy of the moda_tables ITP array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_jmpb_c (jmpb_ptr, jmpb_size)
                                                               Get copy of the moda_tables JMPB array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_link_c (link_ptr, link_size)
                                                               Get copy of the moda_tables LINK array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_nval_c (lun, num_nodes)
                                                               Get the number of values in the current subset. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_tag_c (tag_ptr, tag_len, mem_size)
                                                               Get copy of the moda_tables TAG array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_typ_c (typ_ptr, typ_len, mem_size)
                                                               Get copy of the moda_tables TYP array. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::get_val_c (lun, val_ptr, val_size)
                                                               Get pointer to the moda_usrint VAL array. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::ibfms_c (r8val)
                                                               Test whether a data value is "missing". More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::ifxy_c (cfxy)
                                                               Convert an FXY value from its 6 character representation to its WMO bit-wise representation. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::igetmxby_c ()
                                                               Get the maximum length of a BUFR message that can be written to an output file. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::igetntbi_c (lun, table_type)
                                                               Get the next index for storing an entry within an internal DX BUFR table. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::igetprm_c (cprmnm)
                                                               Get the current value of a parameter. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::igettdi_c (iflag)
                                                               Get the next usable Table D index for the current master table, or reset the index. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::imrkopr_c (nemo)
                                                               Check whether a specified mnemonic is a Table C marker operator. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::ireadmg_c (bufr_unit, c_subset, iddate, subset_str_len)
                                                               Read the next message from a BUFR file. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::ireadns_c (bufr_unit, c_subset, iddate, subset_str_len)
                                                               Read the next data subset from a BUFR file. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::ireadsb_c (bufr_unit)
                                                               Read the next data subset from a BUFR message. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::isetprm_c (cprmnm, ipval)
                                                               Define a customized parameter value for dynamic allocation. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::istdesc_c (idn)
                                                               Check whether a descriptor is WMO-standard. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::iupb_c (mbay, nbyt, nbit)
                                                               Decode an integer value from an integer array. More...
                                                               
                                                              integer(c_int) function, public bufr_c2f_interface::iupbs01_c (bufr, mnemonic)
                                                               Read a data value from Section 0 or Section 1 of a BUFR message. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::maxout_c (max0)
                                                               Define a customized maximum length for output BUFR messages. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::mtinfo_c (path, file_unit_1, file_unit_2)
                                                               Specify location of master BUFR tables on local file system. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::nemdefs_c (file_unit, mnemonic, unit_c, unit_str_len, desc_c, desc_str_len, iret)
                                                               Get the element name and units associated with a Table B mnemonic. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::nemspecs_c (file_unit, mnemonic, mnemonic_idx, scale, reference, bits, iret)
                                                               Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::nemtab_c (lun, mnemonic, descriptor, table_type, table_idx)
                                                               Get information about a descriptor. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::nemtbb_c (lun, table_idx, unit_str, unit_str_len, scale, reference, bits)
                                                               Get information about a Table B descriptor. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::numtbd_c (lun, idn, nemo, nemo_str_len, tab, iret)
                                                               Search for a Table B or Table D descriptor within the internal DX BUFR tables. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::open_c (lunit, filepath)
                                                               Open a Fortran file from a C program. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::openbf_c (bufr_unit, cio, table_file_id)
                                                               Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::openmb_c (bufr_unit, c_subset, iddate)
                                                               Open a new message for output in a BUFR file that was previously opened for writing. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::pktdd_c (id, lun, idn, iret)
                                                               Store information about a child mnemonic within the internal arrays. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::readlc_c (lunit, str_id, output_str, output_str_len)
                                                               Function used to get long strings from the BUFR file. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::status_c (file_unit, lun, il, im)
                                                               Check whether a file is connected to the library. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::stntbi_c (n, lun, numb, nemo, celsq)
                                                               Store a new entry within the internal BUFR Table B or D. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::strnum_c (str, num, iret)
                                                               Decode an integer from a character string. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::ufbint_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
                                                               Read/write one or more data values from/to a data subset. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::ufbrep_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
                                                               Read/write one or more data values from/to a data subset. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::ufbseq_c (bufr_unit, c_data, dim_1, dim_2, iret, table_d_mnemonic)
                                                               Read/write an entire sequence of data values from/to a data subset. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::uptdd_c (id, lun, ient, iret)
                                                               Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
                                                               
                                                              subroutine, public bufr_c2f_interface::wrdlen_c ()
                                                               Determine important information about the local machine. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C.

                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition in file bufr_c2f_interface.F90.

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufr__c2f__interface_8F90.js b/previous_versions/v12.0.1/bufr__c2f__interface_8F90.js new file mode 100644 index 000000000..87099531f --- /dev/null +++ b/previous_versions/v12.0.1/bufr__c2f__interface_8F90.js @@ -0,0 +1,66 @@ +var bufr__c2f__interface_8F90 = +[ + [ "bort_c", "bufr__c2f__interface_8F90.html#a70b99a494d9f5ef152ec115a139b1c1f", null ], + [ "bvers_c", "bufr__c2f__interface_8F90.html#adc050cbf79f756c7db30f7c4c6b129a0", null ], + [ "c_f_string", "bufr__c2f__interface_8F90.html#a7c95d71e3921bb7093e56dbc458de10c", null ], + [ "cadn30_c", "bufr__c2f__interface_8F90.html#a6a463f38336dcbedb5f125a242f69eb5", null ], + [ "closbf_c", "bufr__c2f__interface_8F90.html#a3ac93c0105f2d2e934b5fa1f6581c02d", null ], + [ "close_c", "bufr__c2f__interface_8F90.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3", null ], + [ "cmpmsg_c", "bufr__c2f__interface_8F90.html#acc6413f0b94cba90a23f594d70e11291", null ], + [ "copy_f_c_str", "bufr__c2f__interface_8F90.html#a139959903905b228c3228e3b3a09e025", null ], + [ "delete_table_data_c", "bufr__c2f__interface_8F90.html#ab653ca4701372fddd02deddbd1b8d88e", null ], + [ "elemdx_c", "bufr__c2f__interface_8F90.html#a9f5656efe692227be66cfc8e50e24241", null ], + [ "exitbufr_c", "bufr__c2f__interface_8F90.html#a5fc80078fb40ff91f250dbb9edb247ab", null ], + [ "get_inode_c", "bufr__c2f__interface_8F90.html#ab1ced3757361e769756fee2f722de32f", null ], + [ "get_inv_c", "bufr__c2f__interface_8F90.html#a60f38d89e2da19b4396ca8c3ec8ffff6", null ], + [ "get_irf_c", "bufr__c2f__interface_8F90.html#af73382fa68e368c201131fd89d1be252", null ], + [ "get_isc_c", "bufr__c2f__interface_8F90.html#a020cf7bcf489ecc2ade71dfa4b7db102", null ], + [ "get_itp_c", "bufr__c2f__interface_8F90.html#adffb9acbdd17d4ef3f35baee918c733d", null ], + [ "get_jmpb_c", "bufr__c2f__interface_8F90.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f", null ], + [ "get_link_c", "bufr__c2f__interface_8F90.html#ac9e08232d75383f1f64a36b9834598c9", null ], + [ "get_nval_c", "bufr__c2f__interface_8F90.html#a124b885560b4d31170993c7921f55503", null ], + [ "get_tag_c", "bufr__c2f__interface_8F90.html#a6515df3d0f5fdcccd422fcac3b2f700a", null ], + [ "get_typ_c", "bufr__c2f__interface_8F90.html#a86ce772b48d76dc923f9ae87dfd44102", null ], + [ "get_val_c", "bufr__c2f__interface_8F90.html#af7e6742b654813bd1922947049c42a54", null ], + [ "ibfms_c", "bufr__c2f__interface_8F90.html#a437d60612140092ed5cea7516b5b093c", null ], + [ "ifxy_c", "bufr__c2f__interface_8F90.html#a081831085335c5a2d1a60040bf4a68b6", null ], + [ "igetmxby_c", "bufr__c2f__interface_8F90.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb", null ], + [ "igetntbi_c", "bufr__c2f__interface_8F90.html#a558946e761c0246444bcd3c2fcdcb37e", null ], + [ "igetprm_c", "bufr__c2f__interface_8F90.html#a32a449b5c117d53b4b4374dd0e8bea8b", null ], + [ "igettdi_c", "bufr__c2f__interface_8F90.html#a606519361d6b6db6e153fd809387399d", null ], + [ "imrkopr_c", "bufr__c2f__interface_8F90.html#aa7df2e3f4575affeab5df95d00aad75f", null ], + [ "ireadmg_c", "bufr__c2f__interface_8F90.html#a31bb70cc0fe1b242d4dee68ed843391b", null ], + [ "ireadns_c", "bufr__c2f__interface_8F90.html#a89153453f5db4c56685d3b309a517da7", null ], + [ "ireadsb_c", "bufr__c2f__interface_8F90.html#ac349c058a2cd324d8cfe5a85ebf2acb1", null ], + [ "isetprm_c", "bufr__c2f__interface_8F90.html#ad1dcef9962b409b6448c928d0dfb9490", null ], + [ "istdesc_c", "bufr__c2f__interface_8F90.html#a7968999c9eda822f79eec9178762a2ae", null ], + [ "iupb_c", "bufr__c2f__interface_8F90.html#acd15fc54e3efbf1964f4216b8a2065fe", null ], + [ "iupbs01_c", "bufr__c2f__interface_8F90.html#a583019d0b109031d8f8aedb4d48e2afd", null ], + [ "maxout_c", "bufr__c2f__interface_8F90.html#aa7f319cef617f458cbaf40cdeea42d42", null ], + [ "mtinfo_c", "bufr__c2f__interface_8F90.html#a550c1c61605eca9fa6cf04aba7612364", null ], + [ "nemdefs_c", "bufr__c2f__interface_8F90.html#a7ee256962a48d99336f255aad04abf48", null ], + [ "nemspecs_c", "bufr__c2f__interface_8F90.html#a5b9e80deaefcabb2b18ecbf55cbc2c55", null ], + [ "nemtab_c", "bufr__c2f__interface_8F90.html#ac07a6f6ec1555c09041853d4c81081e9", null ], + [ "nemtbb_c", "bufr__c2f__interface_8F90.html#ae352def57bda0cd117486a03a8594cf2", null ], + [ "numtbd_c", "bufr__c2f__interface_8F90.html#ab70a5dfe76eb5f9bce5015c3bce3bf64", null ], + [ "open_c", "bufr__c2f__interface_8F90.html#a05ac8542818be260a3c1dc15d5dc2f53", null ], + [ "openbf_c", "bufr__c2f__interface_8F90.html#a6a97fe37e5caced81c5c6b769644832d", null ], + [ "openmb_c", "bufr__c2f__interface_8F90.html#aad56de517eff0435b805addbf0692f44", null ], + [ "pktdd_c", "bufr__c2f__interface_8F90.html#a9a8d8f66405c9b1679e92e0d908877e0", null ], + [ "readlc_c", "bufr__c2f__interface_8F90.html#acce5eddf8c8e56d5b47d45251ac75abc", null ], + [ "status_c", "bufr__c2f__interface_8F90.html#a233844a8f03de391d28d20a7bd5d8ef0", null ], + [ "stntbi_c", "bufr__c2f__interface_8F90.html#a1c04fd789a555e4a08d798172a07b2e6", null ], + [ "strnum_c", "bufr__c2f__interface_8F90.html#af9137b87796fbc3395e596227515c4f2", null ], + [ "ufbint_c", "bufr__c2f__interface_8F90.html#a4d3f0201945123b06c7d198065cf2f67", null ], + [ "ufbrep_c", "bufr__c2f__interface_8F90.html#a57a1b4956a89ed60a934a02d4140eb93", null ], + [ "ufbseq_c", "bufr__c2f__interface_8F90.html#af0b721af91340e7a261e8014455bd6ca", null ], + [ "uptdd_c", "bufr__c2f__interface_8F90.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea", null ], + [ "wrdlen_c", "bufr__c2f__interface_8F90.html#acf751dae4f6ef06f7340984fc5f0bec1", null ], + [ "irf_f", "bufr__c2f__interface_8F90.html#a2efc35235defecb306c8324c0599d0b9", null ], + [ "isc_f", "bufr__c2f__interface_8F90.html#a2b81bdfdb8a2380ba294b375c67d343a", null ], + [ "itp_f", "bufr__c2f__interface_8F90.html#a5c0b51f6d15b30a289d69c36e19b1264", null ], + [ "jmpb_f", "bufr__c2f__interface_8F90.html#ad5ac970a71d7050263e85a2e17d11cf6", null ], + [ "link_f", "bufr__c2f__interface_8F90.html#a415acfb9ec053e0ef1a931b0eac2ee4a", null ], + [ "tag_f", "bufr__c2f__interface_8F90.html#ad33aa8215beed2cd017faf769a7a2dc2", null ], + [ "typ_f", "bufr__c2f__interface_8F90.html#aea7e3ac1560fbe3760ff6c4c3f72b78b", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/bufr__c2f__interface_8F90_source.html b/previous_versions/v12.0.1/bufr__c2f__interface_8F90_source.html new file mode 100644 index 000000000..d2fc4eb78 --- /dev/null +++ b/previous_versions/v12.0.1/bufr__c2f__interface_8F90_source.html @@ -0,0 +1,811 @@ + + + + + + + +NCEPLIBS-bufr: bufr_c2f_interface.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              bufr_c2f_interface.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 
                                                              + +
                                                              17 
                                                              +
                                                              18  use iso_c_binding
                                                              +
                                                              19 
                                                              +
                                                              20  implicit none
                                                              +
                                                              21 
                                                              +
                                                              22  private
                                                              +
                                                              23  public :: open_c, close_c, openbf_c, closbf_c
                                                              +
                                                              24  public :: exitbufr_c, bort_c
                                                              + +
                                                              26  public :: ufbint_c, ufbrep_c, ufbseq_c
                                                              +
                                                              27  public :: mtinfo_c, bvers_c, status_c, ibfms_c
                                                              + + +
                                                              30  public :: delete_table_data_c
                                                              + +
                                                              32  public :: igetntbi_c, igettdi_c, stntbi_c
                                                              + + + +
                                                              36 
                                                              +
                                                              37  integer, allocatable, target, save :: isc_f(:), link_f(:), itp_f(:), jmpb_f(:), irf_f(:)
                                                              +
                                                              38  character(len=10), allocatable, target, save :: tag_f(:)
                                                              +
                                                              39  character(len=3), allocatable, target, save :: typ_f(:)
                                                              +
                                                              40 
                                                              +
                                                              41  contains
                                                              +
                                                              42 
                                                              +
                                                              53  function c_f_string(c_str) result(f_str)
                                                              +
                                                              54  character(kind=c_char,len=1), intent(in) :: c_str(*)
                                                              +
                                                              55  character(len=:), allocatable :: f_str
                                                              +
                                                              56  integer :: nchars
                                                              +
                                                              57 
                                                              +
                                                              58  nchars = 1
                                                              +
                                                              59  do while (c_str(nchars) /= c_null_char)
                                                              +
                                                              60  nchars = nchars + 1
                                                              +
                                                              61  end do
                                                              +
                                                              62  nchars = nchars - 1
                                                              +
                                                              63 
                                                              +
                                                              64  allocate(character(len=nchars) :: f_str)
                                                              +
                                                              65  f_str = transfer(c_str(1:nchars), f_str)
                                                              +
                                                              66  end function c_f_string
                                                              +
                                                              67 
                                                              +
                                                              75  subroutine copy_f_c_str(f_str, c_str, c_str_len)
                                                              +
                                                              76  character(len=*), target, intent(in) :: f_str
                                                              +
                                                              77  character(kind=c_char, len=1), intent(inout) :: c_str(*)
                                                              +
                                                              78  integer, intent(in) :: c_str_len
                                                              +
                                                              79  integer :: max_str_len
                                                              +
                                                              80 
                                                              +
                                                              81  if (c_str_len /= 0) then
                                                              +
                                                              82  max_str_len = c_str_len
                                                              +
                                                              83  c_str(1)(1:max_str_len) = f_str(1:max_str_len)
                                                              +
                                                              84  c_str(1)(max_str_len:max_str_len) = c_null_char
                                                              +
                                                              85  end if
                                                              +
                                                              86  end subroutine copy_f_c_str
                                                              +
                                                              87 
                                                              +
                                                              94  subroutine open_c(lunit, filepath) bind(C, name='open_f')
                                                              +
                                                              95  integer(c_int), value, intent(in) :: lunit
                                                              +
                                                              96  character(kind=c_char, len=1) :: filepath
                                                              +
                                                              97 
                                                              +
                                                              98  open(lunit, file=c_f_string(filepath))
                                                              +
                                                              99  end subroutine open_c
                                                              +
                                                              100 
                                                              +
                                                              106  subroutine close_c(lunit) bind(C, name='close_f')
                                                              +
                                                              107  integer(c_int), value, intent(in) :: lunit
                                                              +
                                                              108 
                                                              +
                                                              109  close(unit=lunit)
                                                              +
                                                              110  end subroutine close_c
                                                              +
                                                              111 
                                                              +
                                                              122  subroutine openbf_c(bufr_unit, cio, table_file_id) bind(C, name='openbf_f')
                                                              +
                                                              123  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              124  character(kind=c_char, len=1), intent(in) :: cio(*)
                                                              +
                                                              125  integer(c_int), value, intent(in) :: table_file_id
                                                              +
                                                              126 
                                                              +
                                                              127  call openbf(bufr_unit, c_f_string(cio), table_file_id)
                                                              +
                                                              128  end subroutine openbf_c
                                                              +
                                                              129 
                                                              +
                                                              137  subroutine closbf_c(bufr_unit) bind(C, name='closbf_f')
                                                              +
                                                              138  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              139 
                                                              +
                                                              140  call closbf(bufr_unit)
                                                              +
                                                              141  end subroutine closbf_c
                                                              +
                                                              142 
                                                              +
                                                              148  subroutine exitbufr_c() bind(C, name='exitbufr_f')
                                                              +
                                                              149  call exitbufr()
                                                              +
                                                              150  end subroutine exitbufr_c
                                                              +
                                                              151 
                                                              +
                                                              166  function ireadmg_c(bufr_unit, c_subset, iddate, subset_str_len) result(ires) bind(C, name='ireadmg_f')
                                                              +
                                                              167  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              168  character(kind=c_char, len=1), intent(out) :: c_subset(*)
                                                              +
                                                              169  integer(c_int), intent(out) :: iddate
                                                              +
                                                              170  integer(c_int), value, intent(in) :: subset_str_len
                                                              +
                                                              171  integer(c_int) :: ires
                                                              +
                                                              172  character(len=25) :: f_subset
                                                              +
                                                              173  integer :: ireadmg
                                                              +
                                                              174 
                                                              +
                                                              175  ires = ireadmg(bufr_unit, f_subset, iddate)
                                                              +
                                                              176 
                                                              +
                                                              177  if (ires == 0) then
                                                              +
                                                              178  call copy_f_c_str(f_subset, c_subset, int(subset_str_len))
                                                              +
                                                              179  end if
                                                              +
                                                              180  end function ireadmg_c
                                                              +
                                                              181 
                                                              +
                                                              192  function ireadsb_c(bufr_unit) result(ires) bind(C, name='ireadsb_f')
                                                              +
                                                              193  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              194  integer(c_int) :: ires
                                                              +
                                                              195  integer :: ireadsb
                                                              +
                                                              196 
                                                              +
                                                              197  ires = ireadsb(bufr_unit)
                                                              +
                                                              198  end function ireadsb_c
                                                              +
                                                              199 
                                                              +
                                                              211  subroutine ufbint_c(bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic) bind(C, name='ufbint_f')
                                                              +
                                                              212  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              213  type(c_ptr), intent(inout) :: c_data
                                                              +
                                                              214  integer(c_int), value, intent(in) :: dim_1, dim_2
                                                              +
                                                              215  integer(c_int), intent(out) :: iret
                                                              +
                                                              216  character(kind=c_char, len=1), intent(in) :: table_b_mnemonic(*)
                                                              +
                                                              217  real, pointer :: f_data
                                                              +
                                                              218 
                                                              +
                                                              219  call c_f_pointer(c_data, f_data)
                                                              +
                                                              220  call ufbint(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_b_mnemonic))
                                                              +
                                                              221  end subroutine ufbint_c
                                                              +
                                                              222 
                                                              +
                                                              234  subroutine ufbrep_c(bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic) bind(C, name='ufbrep_f')
                                                              +
                                                              235  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              236  type(c_ptr), intent(inout) :: c_data
                                                              +
                                                              237  integer(c_int), value, intent(in) :: dim_1, dim_2
                                                              +
                                                              238  integer(c_int), intent(out) :: iret
                                                              +
                                                              239  character(kind=c_char, len=1), intent(in) :: table_b_mnemonic(*)
                                                              +
                                                              240  real, pointer :: f_data
                                                              +
                                                              241 
                                                              +
                                                              242  call c_f_pointer(c_data, f_data)
                                                              +
                                                              243  call ufbrep(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_b_mnemonic))
                                                              +
                                                              244  end subroutine ufbrep_c
                                                              +
                                                              245 
                                                              +
                                                              255  subroutine mtinfo_c(path, file_unit_1, file_unit_2) bind(C, name='mtinfo_f')
                                                              +
                                                              256  character(kind=c_char, len=1), intent(in) :: path(*)
                                                              +
                                                              257  integer(c_int), value, intent(in) :: file_unit_1
                                                              +
                                                              258  integer(c_int), value, intent(in) :: file_unit_2
                                                              +
                                                              259 
                                                              +
                                                              260  call mtinfo(c_f_string(path), file_unit_1, file_unit_2)
                                                              +
                                                              261  end subroutine mtinfo_c
                                                              +
                                                              262 
                                                              +
                                                              273  subroutine status_c(file_unit, lun, il, im) bind(C, name='status_f')
                                                              +
                                                              274  integer(c_int), value, intent(in) :: file_unit
                                                              +
                                                              275  integer(c_int), intent(out) :: lun
                                                              +
                                                              276  integer(c_int), intent(out) :: il
                                                              +
                                                              277  integer(c_int), intent(out) :: im
                                                              +
                                                              278 
                                                              +
                                                              279  call status(file_unit, lun, il, im)
                                                              +
                                                              280  end subroutine status_c
                                                              +
                                                              281 
                                                              +
                                                              295  subroutine nemdefs_c(file_unit, mnemonic, unit_c, unit_str_len, desc_c, desc_str_len, iret) &
                                                              +
                                                              296  bind(c, name='nemdefs_f')
                                                              +
                                                              297  integer(c_int), value, intent(in) :: file_unit
                                                              +
                                                              298  character(kind=c_char,len=1), intent(in) :: mnemonic(*)
                                                              +
                                                              299  character(kind=c_char, len=1), intent(out) :: unit_c(*)
                                                              +
                                                              300  integer(c_int), value, intent(in) :: unit_str_len
                                                              +
                                                              301  character(kind=c_char, len=1), intent(out) :: desc_c(*)
                                                              +
                                                              302  integer(c_int), value, intent(in) :: desc_str_len
                                                              +
                                                              303  integer(c_int), intent(out) :: iret
                                                              +
                                                              304 
                                                              +
                                                              305  character(len=25) :: unit_f
                                                              +
                                                              306  character(len=55) :: desc_f
                                                              +
                                                              307 
                                                              +
                                                              308  ! Get the unit and description strings
                                                              +
                                                              309  call nemdefs ( file_unit, c_f_string(mnemonic), desc_f, unit_f, iret)
                                                              +
                                                              310 
                                                              +
                                                              311  if (iret == 0) then
                                                              +
                                                              312  ! Copy the unit Fortran string into the resulting C-style string.
                                                              +
                                                              313  call copy_f_c_str(unit_f, unit_c, min(len(unit_f), unit_str_len))
                                                              +
                                                              314  ! Copy the descriptor Fortran string into the resulting C-style string.
                                                              +
                                                              315  call copy_f_c_str(desc_f, desc_c, min(len(desc_f), desc_str_len))
                                                              +
                                                              316  end if
                                                              +
                                                              317  end subroutine nemdefs_c
                                                              +
                                                              318 
                                                              +
                                                              333  subroutine nemspecs_c(file_unit, mnemonic, mnemonic_idx, scale, reference, bits, iret) &
                                                              +
                                                              334  bind(c, name='nemspecs_f')
                                                              +
                                                              335  integer(c_int), value, intent(in) :: file_unit
                                                              +
                                                              336  character(kind=c_char,len=1), intent(in) :: mnemonic(*)
                                                              +
                                                              337  integer(c_int), value, intent(in) ::mnemonic_idx
                                                              +
                                                              338  integer(c_int), intent(out) :: scale
                                                              +
                                                              339  integer(c_int), intent(out) :: reference
                                                              +
                                                              340  integer(c_int), intent(out) :: bits
                                                              +
                                                              341  integer(c_int), intent(out) :: iret
                                                              +
                                                              342 
                                                              +
                                                              343  ! Get the scale, reference and bits
                                                              +
                                                              344  call nemspecs(file_unit, c_f_string(mnemonic), mnemonic_idx, scale, reference, bits, iret)
                                                              +
                                                              345  end subroutine nemspecs_c
                                                              +
                                                              346 
                                                              +
                                                              358  subroutine nemtab_c(lun, mnemonic, descriptor, table_type, table_idx) &
                                                              +
                                                              359  bind(c, name='nemtab_f')
                                                              +
                                                              360  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              361  character(kind=c_char,len=1), intent(in) :: mnemonic(*)
                                                              +
                                                              362  integer(c_int), intent(out) :: descriptor
                                                              +
                                                              363  character(kind=c_char,len=1), intent(out) :: table_type(*)
                                                              +
                                                              364  integer(c_int), intent(out) :: table_idx
                                                              +
                                                              365 
                                                              +
                                                              366  character(len=1) :: table_type_f
                                                              +
                                                              367 
                                                              +
                                                              368  call nemtab(lun, c_f_string(mnemonic), descriptor, table_type_f, table_idx)
                                                              +
                                                              369 
                                                              +
                                                              370  table_type(1)(1:1) = table_type_f(1:1)
                                                              +
                                                              371  end subroutine nemtab_c
                                                              +
                                                              372 
                                                              +
                                                              386  subroutine nemtbb_c(lun, table_idx, unit_str, unit_str_len, scale, reference, bits) &
                                                              +
                                                              387  bind(c, name='nemtbb_f')
                                                              +
                                                              388  integer(c_int), intent(in), value :: lun
                                                              +
                                                              389  integer(c_int), intent(in), value :: table_idx
                                                              +
                                                              390  character(kind=c_char,len=1), intent(out) :: unit_str(*)
                                                              +
                                                              391  integer(c_int), intent(in), value :: unit_str_len
                                                              +
                                                              392  integer(c_int), intent(out) :: scale
                                                              +
                                                              393  integer(c_int), intent(out) :: reference
                                                              +
                                                              394  integer(c_int), intent(out) :: bits
                                                              +
                                                              395 
                                                              +
                                                              396  character(len=25) :: unit_str_f
                                                              +
                                                              397 
                                                              +
                                                              398  ! Get the scale, reference and bits
                                                              +
                                                              399  call nemtbb( lun, table_idx, unit_str_f, scale, reference, bits)
                                                              +
                                                              400  call copy_f_c_str(unit_str_f, unit_str, min(len(unit_str_f), unit_str_len))
                                                              +
                                                              401  end subroutine nemtbb_c
                                                              +
                                                              402 
                                                              +
                                                              409  subroutine get_isc_c(isc_ptr, isc_size) bind(C, name='get_isc_f')
                                                              +
                                                              410  use moda_tables
                                                              +
                                                              411  type(c_ptr), intent(inout) :: isc_ptr
                                                              +
                                                              412  integer(c_int), intent(out) :: isc_size
                                                              +
                                                              413 
                                                              +
                                                              414  allocate(isc_f(ntab))
                                                              +
                                                              415  isc_f(1:ntab) = isc(1:ntab)
                                                              +
                                                              416  isc_size = size(isc_f)
                                                              +
                                                              417  isc_ptr = c_loc(isc_f(1))
                                                              +
                                                              418  end subroutine get_isc_c
                                                              +
                                                              419 
                                                              +
                                                              426  subroutine get_link_c(link_ptr, link_size) bind(C, name='get_link_f')
                                                              +
                                                              427  use moda_tables
                                                              +
                                                              428  type(c_ptr), intent(inout) :: link_ptr
                                                              +
                                                              429  integer(c_int), intent(out) :: link_size
                                                              +
                                                              430 
                                                              +
                                                              431  allocate(link_f(ntab))
                                                              +
                                                              432  link_f(1:ntab) = link(1:ntab)
                                                              +
                                                              433  link_size = size(link_f)
                                                              +
                                                              434  link_ptr = c_loc(link_f(1))
                                                              +
                                                              435  end subroutine get_link_c
                                                              +
                                                              436 
                                                              +
                                                              443  subroutine get_itp_c(itp_ptr, itp_size) bind(C, name='get_itp_f')
                                                              +
                                                              444  use moda_tables
                                                              +
                                                              445  type(c_ptr), intent(inout) :: itp_ptr
                                                              +
                                                              446  integer(c_int), intent(out) :: itp_size
                                                              +
                                                              447 
                                                              +
                                                              448  allocate(itp_f(ntab))
                                                              +
                                                              449  itp_f(1:ntab) = itp(1:ntab)
                                                              +
                                                              450  itp_size = size(itp_f)
                                                              +
                                                              451  itp_ptr = c_loc(itp_f(1))
                                                              +
                                                              452  end subroutine get_itp_c
                                                              +
                                                              453 
                                                              +
                                                              461  subroutine get_typ_c(typ_ptr, typ_len, mem_size) bind(C, name='get_typ_f')
                                                              +
                                                              462  use moda_tables
                                                              +
                                                              463  type(c_ptr), intent(inout) :: typ_ptr
                                                              +
                                                              464  integer(c_int), intent(out) :: typ_len
                                                              +
                                                              465  integer(c_int), intent(out) :: mem_size
                                                              +
                                                              466 
                                                              +
                                                              467  allocate(typ_f(ntab))
                                                              +
                                                              468  typ_f(1:ntab) = typ(1:ntab)
                                                              +
                                                              469  typ_len = len(typ(1))
                                                              +
                                                              470  mem_size = size(typ_f)
                                                              +
                                                              471  typ_ptr = c_loc(typ_f(1))
                                                              +
                                                              472  end subroutine get_typ_c
                                                              +
                                                              473 
                                                              +
                                                              481  subroutine get_tag_c(tag_ptr, tag_len, mem_size) bind(C, name='get_tag_f')
                                                              +
                                                              482  use moda_tables
                                                              +
                                                              483  type(c_ptr), intent(inout) :: tag_ptr
                                                              +
                                                              484  integer(c_int), intent(out) :: tag_len
                                                              +
                                                              485  integer(c_int), intent(out) :: mem_size
                                                              +
                                                              486 
                                                              +
                                                              487  allocate(tag_f(ntab))
                                                              +
                                                              488  tag_f(1:ntab) = tag(1:ntab)
                                                              +
                                                              489  tag_len = len(tag(1))
                                                              +
                                                              490  mem_size = size(tag_f)
                                                              +
                                                              491  tag_ptr = c_loc(tag_f(1))
                                                              +
                                                              492  end subroutine get_tag_c
                                                              +
                                                              493 
                                                              +
                                                              500  subroutine get_jmpb_c(jmpb_ptr, jmpb_size) bind(C, name='get_jmpb_f')
                                                              +
                                                              501  use moda_tables
                                                              +
                                                              502  type(c_ptr), intent(inout) :: jmpb_ptr
                                                              +
                                                              503  integer(c_int), intent(out) :: jmpb_size
                                                              +
                                                              504 
                                                              +
                                                              505  allocate(jmpb_f(ntab))
                                                              +
                                                              506  jmpb_f(1:ntab) = jmpb(1:ntab)
                                                              +
                                                              507  jmpb_size = size(jmpb_f)
                                                              +
                                                              508  jmpb_ptr = c_loc(jmpb_f(1))
                                                              +
                                                              509  end subroutine get_jmpb_c
                                                              +
                                                              510 
                                                              +
                                                              517  subroutine get_irf_c(irf_ptr, irf_size) bind(C, name='get_irf_f')
                                                              +
                                                              518  use moda_tables
                                                              +
                                                              519  type(c_ptr), intent(inout) :: irf_ptr
                                                              +
                                                              520  integer(c_int), intent(out) :: irf_size
                                                              +
                                                              521 
                                                              +
                                                              522  allocate(irf_f(ntab))
                                                              +
                                                              523  irf_f(1:ntab) = irf(1:ntab)
                                                              +
                                                              524  irf_size = size(irf_f)
                                                              +
                                                              525  irf_ptr = c_loc(irf_f(1))
                                                              +
                                                              526  end subroutine get_irf_c
                                                              +
                                                              527 
                                                              +
                                                              534  subroutine get_inode_c(lun, start_node) bind(C, name='get_inode_f')
                                                              +
                                                              535  use moda_msgcwd
                                                              +
                                                              536  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              537  integer(c_int), intent(out) :: start_node
                                                              +
                                                              538 
                                                              +
                                                              539  start_node = inode(lun)
                                                              +
                                                              540  end subroutine get_inode_c
                                                              +
                                                              541 
                                                              +
                                                              548  subroutine get_nval_c(lun, num_nodes) bind(C, name='get_nval_f')
                                                              +
                                                              549  use moda_usrint
                                                              +
                                                              550  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              551  integer(c_int), intent(out) :: num_nodes
                                                              +
                                                              552 
                                                              +
                                                              553  num_nodes = nval(lun)
                                                              +
                                                              554  end subroutine get_nval_c
                                                              +
                                                              555 
                                                              +
                                                              563  subroutine get_val_c(lun, val_ptr, val_size) bind(C, name='get_val_f')
                                                              +
                                                              564  use moda_usrint
                                                              +
                                                              565  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              566  type(c_ptr), intent(inout) :: val_ptr
                                                              +
                                                              567  integer(c_int), intent(out) :: val_size
                                                              +
                                                              568 
                                                              +
                                                              569  val_size = size(val(:, lun))
                                                              +
                                                              570  val_ptr = c_loc(val(1, lun))
                                                              +
                                                              571  end subroutine get_val_c
                                                              +
                                                              572 
                                                              +
                                                              580  subroutine get_inv_c(lun, inv_ptr, inv_size) bind(C, name='get_inv_f')
                                                              +
                                                              581  use moda_usrint
                                                              +
                                                              582  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              583  type(c_ptr), intent(inout) :: inv_ptr
                                                              +
                                                              584  integer(c_int), intent(out) :: inv_size
                                                              +
                                                              585 
                                                              +
                                                              586  inv_size = size(inv(:, lun))
                                                              +
                                                              587  inv_ptr = c_loc(inv(1, lun))
                                                              +
                                                              588  end subroutine get_inv_c
                                                              +
                                                              589 
                                                              +
                                                              599  subroutine readlc_c(lunit, str_id, output_str, output_str_len) bind(C, name='readlc_f')
                                                              +
                                                              600  use moda_rlccmn
                                                              +
                                                              601  integer(c_int), value, intent(in) :: lunit
                                                              +
                                                              602  character(kind=c_char, len=1), intent(in) :: str_id(*)
                                                              +
                                                              603  character(kind=c_char, len=1), intent(out) :: output_str(*)
                                                              +
                                                              604  integer(c_int), intent(in), value :: output_str_len
                                                              +
                                                              605 
                                                              +
                                                              606  character(len=120) :: output_str_f
                                                              +
                                                              607  integer :: output_str_len_f
                                                              +
                                                              608 
                                                              +
                                                              609  call readlc(lunit, output_str_f, c_f_string(str_id))
                                                              +
                                                              610  output_str_len_f = len(trim(output_str_f)) + 1 ! add 1 for the null terminator
                                                              +
                                                              611  call copy_f_c_str(output_str_f, output_str, min(output_str_len_f, output_str_len))
                                                              +
                                                              612  end subroutine readlc_c
                                                              +
                                                              613 
                                                              +
                                                              617  subroutine delete_table_data_c() bind(C, name='delete_table_data_f')
                                                              +
                                                              618  if (allocated(isc_f)) deallocate(isc_f)
                                                              +
                                                              619  if (allocated(link_f)) deallocate(link_f)
                                                              +
                                                              620  if (allocated(itp_f)) deallocate(itp_f)
                                                              +
                                                              621  if (allocated(typ_f)) deallocate(typ_f)
                                                              +
                                                              622  if (allocated(tag_f)) deallocate(tag_f)
                                                              +
                                                              623  if (allocated(jmpb_f)) deallocate(jmpb_f)
                                                              +
                                                              624  if (allocated(irf_f)) deallocate(irf_f)
                                                              +
                                                              625  end subroutine delete_table_data_c
                                                              +
                                                              626 
                                                              +
                                                              639  function iupbs01_c(bufr, mnemonic) result(ires) bind(C, name='iupbs01_f')
                                                              +
                                                              640  integer(c_int), intent(in) :: bufr(*)
                                                              +
                                                              641  character(kind=c_char, len=1), intent(in) :: mnemonic(*)
                                                              +
                                                              642  integer(c_int) :: ires
                                                              +
                                                              643  integer :: iupbs01
                                                              +
                                                              644 
                                                              +
                                                              645  ires = iupbs01(bufr,c_f_string(mnemonic))
                                                              +
                                                              646  end function iupbs01_c
                                                              +
                                                              647 
                                                              +
                                                              658  function igetprm_c(cprmnm) result(ires) bind(C, name='igetprm_f')
                                                              +
                                                              659  character(kind=c_char, len=1), intent(in) :: cprmnm(*)
                                                              +
                                                              660  integer(c_int) :: ires
                                                              +
                                                              661  integer :: igetprm
                                                              +
                                                              662 
                                                              +
                                                              663  ires = igetprm(c_f_string(cprmnm))
                                                              +
                                                              664  end function igetprm_c
                                                              +
                                                              665 
                                                              +
                                                              676  function isetprm_c(cprmnm,ipval) result(ires) bind(C, name='isetprm_f')
                                                              +
                                                              677  character(kind=c_char, len=1), intent(in) :: cprmnm(*)
                                                              +
                                                              678  integer(c_int), value, intent(in) :: ipval
                                                              +
                                                              679  integer(c_int) :: ires
                                                              +
                                                              680  integer :: isetprm
                                                              +
                                                              681 
                                                              +
                                                              682  ires = isetprm(c_f_string(cprmnm),ipval)
                                                              +
                                                              683  end function isetprm_c
                                                              +
                                                              684 
                                                              +
                                                              693  subroutine maxout_c(max0) bind(C, name='maxout_f')
                                                              +
                                                              694  integer(c_int), value, intent(in) :: max0
                                                              +
                                                              695 
                                                              +
                                                              696  call maxout(max0)
                                                              +
                                                              697  end subroutine maxout_c
                                                              +
                                                              698 
                                                              +
                                                              708  function igetmxby_c() result(ires) bind(C, name='igetmxby_f')
                                                              +
                                                              709  integer(c_int) :: ires
                                                              +
                                                              710  integer :: igetmxby
                                                              +
                                                              711 
                                                              +
                                                              712  ires = igetmxby()
                                                              +
                                                              713  end function igetmxby_c
                                                              +
                                                              714 
                                                              +
                                                              725  subroutine cadn30_c(idn, adn, adn_str_len) bind(C, name='cadn30_f')
                                                              +
                                                              726  integer(c_int), intent(in), value :: idn, adn_str_len
                                                              +
                                                              727  character(kind=c_char, len=1), intent(out) :: adn(*)
                                                              +
                                                              728  character(len=8) :: adn_f
                                                              +
                                                              729 
                                                              +
                                                              730  call cadn30(idn, adn_f)
                                                              +
                                                              731  call copy_f_c_str(adn_f, adn, adn_str_len)
                                                              +
                                                              732  end subroutine cadn30_c
                                                              +
                                                              733 
                                                              +
                                                              744  function igetntbi_c(lun, table_type) result(ires) bind(C, name='igetntbi_f')
                                                              +
                                                              745  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              746  character(kind=c_char,len=1), intent(in) :: table_type(*)
                                                              +
                                                              747  integer(c_int) :: ires
                                                              +
                                                              748  integer :: igetntbi
                                                              +
                                                              749  character(len=1) :: table_type_f
                                                              +
                                                              750 
                                                              +
                                                              751  table_type_f(1:1) = table_type(1)(1:1)
                                                              +
                                                              752 
                                                              +
                                                              753  ires = igetntbi(lun, table_type_f)
                                                              +
                                                              754  end function igetntbi_c
                                                              +
                                                              755 
                                                              +
                                                              765  subroutine elemdx_c(card,lun) bind(C, name='elemdx_f')
                                                              +
                                                              766  integer(c_int), value, intent(in) :: lun
                                                              +
                                                              767  character(kind=c_char, len=1), intent(in) :: card(*)
                                                              +
                                                              768  character(len=80) :: card_f
                                                              +
                                                              769  integer :: ii
                                                              +
                                                              770 
                                                              +
                                                              771  do ii = 1,80
                                                              +
                                                              772  card_f(ii:ii) = card(1)(ii:ii)
                                                              +
                                                              773  enddo
                                                              +
                                                              774  call elemdx(card_f, lun)
                                                              +
                                                              775  end subroutine elemdx_c
                                                              +
                                                              776 
                                                              +
                                                              789  subroutine numtbd_c(lun,idn,nemo,nemo_str_len,tab,iret) bind(C, name='numtbd_f')
                                                              +
                                                              790  integer(c_int), value, intent(in) :: lun, idn, nemo_str_len
                                                              +
                                                              791  character(kind=c_char,len=1), intent(out) :: nemo(*), tab(*)
                                                              +
                                                              792  integer(c_int), intent(out) :: iret
                                                              +
                                                              793 
                                                              +
                                                              794  character(len=9) :: nemo_f
                                                              +
                                                              795  character(len=1) :: tab_f
                                                              +
                                                              796 
                                                              +
                                                              797  call numtbd(lun, idn, nemo_f, tab_f, iret)
                                                              +
                                                              798 
                                                              +
                                                              799  call copy_f_c_str(nemo_f, nemo, nemo_str_len)
                                                              +
                                                              800  tab(1)(1:1) = tab_f(1:1)
                                                              +
                                                              801  end subroutine numtbd_c
                                                              +
                                                              802 
                                                              +
                                                              813  function ifxy_c(cfxy) result(ires) bind(C, name='ifxy_f')
                                                              +
                                                              814  character(kind=c_char, len=1), intent(in) :: cfxy(*)
                                                              +
                                                              815  integer(c_int) :: ires
                                                              +
                                                              816  integer :: ifxy
                                                              +
                                                              817 
                                                              +
                                                              818  ires = ifxy(c_f_string(cfxy))
                                                              +
                                                              819  end function ifxy_c
                                                              +
                                                              820 
                                                              +
                                                              837  subroutine uptdd_c(id, lun, ient, iret) bind(C, name='uptdd_f')
                                                              +
                                                              838  integer(c_int), intent(in), value :: id, lun, ient
                                                              +
                                                              839  integer(c_int), intent(out) :: iret
                                                              +
                                                              840 
                                                              +
                                                              841  call uptdd(id, lun, ient, iret)
                                                              +
                                                              842  end subroutine uptdd_c
                                                              +
                                                              843 
                                                              +
                                                              853  function imrkopr_c(nemo) result(ires) bind(C, name='imrkopr_f')
                                                              +
                                                              854  character(kind=c_char, len=1), intent(in) :: nemo(*)
                                                              +
                                                              855  integer(c_int) :: ires
                                                              +
                                                              856  integer :: imrkopr
                                                              +
                                                              857 
                                                              +
                                                              858  ires = imrkopr(c_f_string(nemo))
                                                              +
                                                              859  end function imrkopr_c
                                                              +
                                                              860 
                                                              +
                                                              870  function istdesc_c(idn) result(ires) bind(C, name='istdesc_f')
                                                              +
                                                              871  integer(c_int), intent(in), value :: idn
                                                              +
                                                              872  integer(c_int) :: ires
                                                              +
                                                              873  integer :: istdesc
                                                              +
                                                              874 
                                                              +
                                                              875  ires = istdesc(idn)
                                                              +
                                                              876  end function istdesc_c
                                                              +
                                                              877 
                                                              +
                                                              889  subroutine ufbseq_c(bufr_unit, c_data, dim_1, dim_2, iret, table_d_mnemonic) bind(C, name='ufbseq_f')
                                                              +
                                                              890  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              891  type(c_ptr), intent(inout) :: c_data
                                                              +
                                                              892  integer(c_int), value, intent(in) :: dim_1, dim_2
                                                              +
                                                              893  integer(c_int), intent(out) :: iret
                                                              +
                                                              894  character(kind=c_char, len=1), intent(in) :: table_d_mnemonic(*)
                                                              +
                                                              895  real, pointer :: f_data
                                                              +
                                                              896 
                                                              +
                                                              897  call c_f_pointer(c_data, f_data)
                                                              +
                                                              898  call ufbseq(bufr_unit, f_data, dim_1, dim_2, iret, c_f_string(table_d_mnemonic))
                                                              +
                                                              899  end subroutine ufbseq_c
                                                              +
                                                              900 
                                                              +
                                                              915  function ireadns_c(bufr_unit, c_subset, iddate, subset_str_len) result(ires) bind(C, name='ireadns_f')
                                                              +
                                                              916  integer(c_int), value, intent(in) :: bufr_unit
                                                              +
                                                              917  character(kind=c_char, len=1), intent(out) :: c_subset(*)
                                                              +
                                                              918  integer(c_int), intent(out) :: iddate
                                                              +
                                                              919  integer(c_int), value, intent(in) :: subset_str_len
                                                              +
                                                              920  integer(c_int) :: ires
                                                              +
                                                              921  character(len=25) :: f_subset
                                                              +
                                                              922  integer :: ireadns
                                                              +
                                                              923 
                                                              +
                                                              924  ires = ireadns(bufr_unit, f_subset, iddate)
                                                              +
                                                              925 
                                                              +
                                                              926  if (ires == 0) then
                                                              +
                                                              927  call copy_f_c_str(f_subset, c_subset, subset_str_len)
                                                              +
                                                              928  end if
                                                              +
                                                              929  end function ireadns_c
                                                              +
                                                              930 
                                                              +
                                                              940  function ibfms_c(r8val) result(ires) bind(C, name='ibfms_f')
                                                              +
                                                              941  real(c_double), intent(in), value :: r8val
                                                              +
                                                              942  integer(c_int) :: ires
                                                              +
                                                              943  integer :: ibfms
                                                              +
                                                              944 
                                                              +
                                                              945  ires = ibfms(r8val)
                                                              +
                                                              946  end function ibfms_c
                                                              +
                                                              947 
                                                              +
                                                              957  subroutine strnum_c(str,num,iret) bind(C, name='strnum_f')
                                                              +
                                                              958  character(kind=c_char, len=1), intent(in) :: str(*)
                                                              +
                                                              959  integer(c_int), intent(out) :: num, iret
                                                              +
                                                              960 
                                                              +
                                                              961  call strnum(c_f_string(str), num, iret)
                                                              +
                                                              962  end subroutine strnum_c
                                                              +
                                                              963 
                                                              +
                                                              975  subroutine stntbi_c(n,lun,numb,nemo,celsq) bind(C, name='stntbi_f')
                                                              +
                                                              976  integer(c_int), intent(in), value :: n, lun
                                                              +
                                                              977  character(kind=c_char, len=1), intent(in) :: numb(*), nemo(*), celsq(*)
                                                              +
                                                              978  character(len=6) :: numb_f
                                                              +
                                                              979  character(len=8) :: nemo_f
                                                              +
                                                              980  character(len=55) :: celsq_f
                                                              +
                                                              981  integer :: ii
                                                              +
                                                              982 
                                                              +
                                                              983  do ii = 1,6
                                                              +
                                                              984  numb_f(ii:ii) = numb(1)(ii:ii)
                                                              +
                                                              985  enddo
                                                              +
                                                              986  do ii = 1,8
                                                              +
                                                              987  nemo_f(ii:ii) = nemo(1)(ii:ii)
                                                              +
                                                              988  enddo
                                                              +
                                                              989  do ii = 1,55
                                                              +
                                                              990  celsq_f(ii:ii) = celsq(1)(ii:ii)
                                                              +
                                                              991  enddo
                                                              +
                                                              992  call stntbi(n, lun, numb_f, nemo_f, celsq_f)
                                                              +
                                                              993  end subroutine stntbi_c
                                                              +
                                                              994 
                                                              +
                                                              1005  function igettdi_c(iflag) result(ires) bind(C, name='igettdi_f')
                                                              +
                                                              1006  integer(c_int), intent(in), value :: iflag
                                                              +
                                                              1007  integer(c_int) :: ires
                                                              +
                                                              1008  integer :: igettdi
                                                              +
                                                              1009 
                                                              +
                                                              1010  ires = igettdi(iflag)
                                                              +
                                                              1011  end function igettdi_c
                                                              +
                                                              1012 
                                                              +
                                                              1025  subroutine pktdd_c(id, lun, idn, iret) bind(C, name='pktdd_f')
                                                              +
                                                              1026  integer(c_int), intent(in), value :: id, lun, idn
                                                              +
                                                              1027  integer(c_int), intent(out) :: iret
                                                              +
                                                              1028 
                                                              +
                                                              1029  call pktdd(id, lun, idn, iret)
                                                              +
                                                              1030  end subroutine pktdd_c
                                                              +
                                                              1031 
                                                              +
                                                              1039  subroutine bort_c(errstr) bind(C, name='bort_f')
                                                              +
                                                              1040  character(kind=c_char, len=1), intent(in) :: errstr(*)
                                                              +
                                                              1041 
                                                              +
                                                              1042  call bort(c_f_string(errstr))
                                                              +
                                                              1043  end subroutine bort_c
                                                              +
                                                              1044 
                                                              +
                                                              1055  subroutine openmb_c(bufr_unit, c_subset, iddate) bind(C, name='openmb_f')
                                                              +
                                                              1056  integer(c_int), value, intent(in) :: bufr_unit, iddate
                                                              +
                                                              1057  character(kind=c_char, len=1), intent(in) :: c_subset(*)
                                                              +
                                                              1058 
                                                              +
                                                              1059  call openmb(bufr_unit, c_f_string(c_subset), iddate)
                                                              +
                                                              1060  end subroutine openmb_c
                                                              +
                                                              1061 
                                                              +
                                                              1070  subroutine bvers_c(cverstr, cverstr_len) bind(C, name='bvers_f')
                                                              +
                                                              1071  character(kind=c_char, len=1), intent(out) :: cverstr(*)
                                                              +
                                                              1072  integer(c_int), value, intent(in) :: cverstr_len
                                                              +
                                                              1073  character(len=10) :: f_cverstr
                                                              +
                                                              1074 
                                                              +
                                                              1075  call bvers(f_cverstr)
                                                              +
                                                              1076  call copy_f_c_str(f_cverstr, cverstr, cverstr_len)
                                                              +
                                                              1077  end subroutine bvers_c
                                                              +
                                                              1078 
                                                              +
                                                              1084  subroutine wrdlen_c() bind(C, name='wrdlen_f')
                                                              +
                                                              1085  call wrdlen()
                                                              +
                                                              1086  end subroutine wrdlen_c
                                                              +
                                                              1087 
                                                              +
                                                              1099  function iupb_c(mbay,nbyt,nbit) result(ires) bind(C, name='iupb_f')
                                                              +
                                                              1100  integer(c_int), intent(in) :: mbay(*)
                                                              +
                                                              1101  integer(c_int), intent(in), value :: nbyt, nbit
                                                              +
                                                              1102  integer(c_int) :: ires
                                                              +
                                                              1103  integer :: iupb
                                                              +
                                                              1104 
                                                              +
                                                              1105  ires = iupb(mbay,nbyt,nbit)
                                                              +
                                                              1106  end function iupb_c
                                                              +
                                                              1107 
                                                              +
                                                              1116  subroutine cmpmsg_c(cf) bind(C, name='cmpmsg_f')
                                                              +
                                                              1117  character(kind=c_char, len=1), intent(in) :: cf(*)
                                                              +
                                                              1118 
                                                              +
                                                              1119  call cmpmsg(c_f_string(cf))
                                                              +
                                                              1120  end subroutine cmpmsg_c
                                                              +
                                                              1121 
                                                              +
                                                              1122 end module bufr_c2f_interface
                                                              +
                                                              subroutine bort(STR)
                                                              Log one error message and abort application program.
                                                              Definition: bort.f:18
                                                              +
                                                              subroutine bvers(CVERSTR)
                                                              Get the version number of the NCEPLIBS-bufr software.
                                                              Definition: bvers.f:15
                                                              +
                                                              subroutine cadn30(IDN, ADN)
                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                                              Definition: cadn30.f:25
                                                              +
                                                              recursive subroutine closbf(LUNIT)
                                                              Close the connection between logical unit LUNIT and the NCEPLIBS-bufr software.
                                                              Definition: closbf.f:24
                                                              +
                                                              subroutine cmpmsg(CF)
                                                              Specify the use of compression when writing BUFR messages.
                                                              Definition: cmpmsg.f:39
                                                              +
                                                              subroutine elemdx(CARD, LUN)
                                                              This subroutine decodes the scale factor, reference value, bit width and units (i....
                                                              Definition: elemdx.f:20
                                                              +
                                                              recursive subroutine exitbufr
                                                              This subroutine frees all dynamically-allocated memory, closes all logical units that are open within...
                                                              Definition: exitbufr.f:34
                                                              +
                                                              integer function ibfms(R8VAL)
                                                              Test whether a real*8 data value is "missing".
                                                              Definition: ibfms.f:28
                                                              +
                                                              function ifxy(ADSC)
                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                                              Definition: ifxy.f:34
                                                              +
                                                              recursive function igetmxby()
                                                              Get the maximum length of a BUFR message that can be written to an output file.
                                                              Definition: igetmxby.f:21
                                                              +
                                                              function igetntbi(LUN, CTB)
                                                              This function returns the next available index for storing an entry within a specified internal DX BU...
                                                              Definition: igetntbi.f:22
                                                              +
                                                              integer function igetprm(CPRMNM)
                                                              Get the current value of a parameter.
                                                              Definition: igetprm.f:67
                                                              +
                                                              function igettdi(IFLAG)
                                                              Get the next usable Table D index for the current master table, or reset the index.
                                                              Definition: igettdi.f:28
                                                              +
                                                              integer function imrkopr(NEMO)
                                                              Check whether a specified mnemonic is a Table C marker operator.
                                                              Definition: imrkopr.f:16
                                                              +
                                                              recursive function ireadmg(LUNIT, SUBSET, IDATE)
                                                              Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
                                                              Definition: ireadmg.f:27
                                                              +
                                                              recursive function ireadns(LUNIT, SUBSET, IDATE)
                                                              Read the next data subset from a BUFR file that was previously opened for reading.
                                                              Definition: ireadns.f:32
                                                              +
                                                              recursive function ireadsb(LUNIT)
                                                              Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
                                                              Definition: ireadsb.f:20
                                                              +
                                                              recursive function isetprm(CPRMNM, IPVAL)
                                                              Define a customized parameter value for dynamic allocation.
                                                              Definition: isetprm.f:76
                                                              +
                                                              function istdesc(IDN)
                                                              Check whether a descriptor is WMO-standard.
                                                              Definition: istdesc.f:23
                                                              +
                                                              recursive function iupb(MBAY, NBYT, NBIT)
                                                              Decode an integer value from an integer array.
                                                              Definition: iupb.f:21
                                                              +
                                                              recursive function iupbs01(MBAY, S01MNEM)
                                                              Read a data value from Section 0 or Section 1 of a BUFR message.
                                                              Definition: iupbs01.f:69
                                                              +
                                                              recursive subroutine maxout(MAXO)
                                                              This subroutine allows the user to define the maximum length of a BUFR message that can be written to...
                                                              Definition: maxout.f:27
                                                              +
                                                              recursive subroutine mtinfo(CMTDIR, LUNMT1, LUNMT2)
                                                              Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
                                                              Definition: mtinfo.f:39
                                                              +
                                                              Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C.
                                                              +
                                                              subroutine, public get_isc_c(isc_ptr, isc_size)
                                                              Get copy of the moda_tables ISC array.
                                                              +
                                                              subroutine, public open_c(lunit, filepath)
                                                              Open a Fortran file from a C program.
                                                              +
                                                              integer(c_int) function, public ifxy_c(cfxy)
                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                                              +
                                                              subroutine, public get_nval_c(lun, num_nodes)
                                                              Get the number of values in the current subset.
                                                              +
                                                              subroutine, public stntbi_c(n, lun, numb, nemo, celsq)
                                                              Store a new entry within the internal BUFR Table B or D.
                                                              +
                                                              subroutine, public status_c(file_unit, lun, il, im)
                                                              Check whether a file is connected to the library.
                                                              +
                                                              integer(c_int) function, public ireadmg_c(bufr_unit, c_subset, iddate, subset_str_len)
                                                              Read the next message from a BUFR file.
                                                              +
                                                              integer(c_int) function, public igetprm_c(cprmnm)
                                                              Get the current value of a parameter.
                                                              +
                                                              subroutine, public closbf_c(bufr_unit)
                                                              Close a previously opened file and disconnect it from the library.
                                                              +
                                                              subroutine, public close_c(lunit)
                                                              Close a Fortran file from a C program.
                                                              +
                                                              integer(c_int) function, public ibfms_c(r8val)
                                                              Test whether a data value is "missing".
                                                              +
                                                              subroutine, public ufbint_c(bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
                                                              Read/write one or more data values from/to a data subset.
                                                              +
                                                              subroutine, public mtinfo_c(path, file_unit_1, file_unit_2)
                                                              Specify location of master BUFR tables on local file system.
                                                              +
                                                              integer(c_int) function, public igetntbi_c(lun, table_type)
                                                              Get the next index for storing an entry within an internal DX BUFR table.
                                                              +
                                                              subroutine, public ufbrep_c(bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
                                                              Read/write one or more data values from/to a data subset.
                                                              +
                                                              integer(c_int) function, public iupbs01_c(bufr, mnemonic)
                                                              Read a data value from Section 0 or Section 1 of a BUFR message.
                                                              +
                                                              subroutine, public nemspecs_c(file_unit, mnemonic, mnemonic_idx, scale, reference, bits, iret)
                                                              Get the scale factor, reference value and bit width associated with a specified occurrence of a Table...
                                                              +
                                                              subroutine, public exitbufr_c()
                                                              Reset the library.
                                                              +
                                                              integer(c_int) function, public igettdi_c(iflag)
                                                              Get the next usable Table D index for the current master table, or reset the index.
                                                              +
                                                              subroutine, public get_inv_c(lun, inv_ptr, inv_size)
                                                              Get pointer to the moda_usrint INV array.
                                                              +
                                                              subroutine, public get_tag_c(tag_ptr, tag_len, mem_size)
                                                              Get copy of the moda_tables TAG array.
                                                              +
                                                              subroutine, public cadn30_c(idn, adn, adn_str_len)
                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                                              +
                                                              subroutine, public openbf_c(bufr_unit, cio, table_file_id)
                                                              Connect a new file to the library, or initialize the library, or change verbosity associated with alr...
                                                              +
                                                              subroutine, public bort_c(errstr)
                                                              Log one error message and abort application program.
                                                              +
                                                              integer(c_int) function, public istdesc_c(idn)
                                                              Check whether a descriptor is WMO-standard.
                                                              +
                                                              subroutine, public nemdefs_c(file_unit, mnemonic, unit_c, unit_str_len, desc_c, desc_str_len, iret)
                                                              Get the element name and units associated with a Table B mnemonic.
                                                              +
                                                              subroutine, public get_typ_c(typ_ptr, typ_len, mem_size)
                                                              Get copy of the moda_tables TYP array.
                                                              +
                                                              integer(c_int) function, public ireadns_c(bufr_unit, c_subset, iddate, subset_str_len)
                                                              Read the next data subset from a BUFR file.
                                                              +
                                                              subroutine, public pktdd_c(id, lun, idn, iret)
                                                              Store information about a child mnemonic within the internal arrays.
                                                              +
                                                              subroutine, public elemdx_c(card, lun)
                                                              Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
                                                              +
                                                              subroutine, public uptdd_c(id, lun, ient, iret)
                                                              Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D s...
                                                              +
                                                              integer(c_int) function, public imrkopr_c(nemo)
                                                              Check whether a specified mnemonic is a Table C marker operator.
                                                              +
                                                              subroutine, public maxout_c(max0)
                                                              Define a customized maximum length for output BUFR messages.
                                                              +
                                                              subroutine, public get_jmpb_c(jmpb_ptr, jmpb_size)
                                                              Get copy of the moda_tables JMPB array.
                                                              +
                                                              subroutine, public openmb_c(bufr_unit, c_subset, iddate)
                                                              Open a new message for output in a BUFR file that was previously opened for writing.
                                                              +
                                                              subroutine, public get_inode_c(lun, start_node)
                                                              Get the bufr node idx for the start node of the subset.
                                                              +
                                                              subroutine, public delete_table_data_c()
                                                              Deletes the copies of the moda_tables arrays.
                                                              +
                                                              subroutine, public numtbd_c(lun, idn, nemo, nemo_str_len, tab, iret)
                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                                              +
                                                              subroutine, public nemtab_c(lun, mnemonic, descriptor, table_type, table_idx)
                                                              Get information about a descriptor.
                                                              +
                                                              integer(c_int) function, public ireadsb_c(bufr_unit)
                                                              Read the next data subset from a BUFR message.
                                                              +
                                                              subroutine, public get_link_c(link_ptr, link_size)
                                                              Get copy of the moda_tables LINK array.
                                                              +
                                                              subroutine, public readlc_c(lunit, str_id, output_str, output_str_len)
                                                              Function used to get long strings from the BUFR file.
                                                              +
                                                              integer(c_int) function, public iupb_c(mbay, nbyt, nbit)
                                                              Decode an integer value from an integer array.
                                                              +
                                                              subroutine, public wrdlen_c()
                                                              Determine important information about the local machine.
                                                              +
                                                              integer(c_int) function, public isetprm_c(cprmnm, ipval)
                                                              Define a customized parameter value for dynamic allocation.
                                                              +
                                                              subroutine, public bvers_c(cverstr, cverstr_len)
                                                              Get the version number of the NCEPLIBS-bufr software.
                                                              +
                                                              subroutine, public get_itp_c(itp_ptr, itp_size)
                                                              Get copy of the moda_tables ITP array.
                                                              +
                                                              subroutine, public nemtbb_c(lun, table_idx, unit_str, unit_str_len, scale, reference, bits)
                                                              Get information about a Table B descriptor.
                                                              +
                                                              subroutine, public ufbseq_c(bufr_unit, c_data, dim_1, dim_2, iret, table_d_mnemonic)
                                                              Read/write an entire sequence of data values from/to a data subset.
                                                              +
                                                              integer(c_int) function, public igetmxby_c()
                                                              Get the maximum length of a BUFR message that can be written to an output file.
                                                              +
                                                              subroutine, public get_irf_c(irf_ptr, irf_size)
                                                              Get copy of the moda_tables IRF array.
                                                              +
                                                              subroutine, public get_val_c(lun, val_ptr, val_size)
                                                              Get pointer to the moda_usrint VAL array.
                                                              +
                                                              subroutine, public strnum_c(str, num, iret)
                                                              Decode an integer from a character string.
                                                              +
                                                              This module contains declarations for arrays used to store information about the current BUFR message...
                                                              +
                                                              integer, dimension(:), allocatable inode
                                                              Table A mnemonic for type of BUFR message.
                                                              +
                                                              This module contains array and variable declarations needed to store information about long character...
                                                              +
                                                              This module contains array and variable declarations used to store the internal jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable irf
                                                              Reference values corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable isc
                                                              Scale factors corresponding to tag and typ:
                                                              +
                                                              character *3, dimension(:), allocatable typ
                                                              Type indicators corresponding to tag:
                                                              +
                                                              integer, dimension(:), allocatable jmpb
                                                              Jump backward indices corresponding to tag and typ:
                                                              +
                                                              character *10, dimension(:), allocatable tag
                                                              Mnemonics in the jump/link table.
                                                              +
                                                              integer ntab
                                                              Number of entries in the jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable itp
                                                              Integer type values corresponding to typ:
                                                              +
                                                              integer, dimension(:), allocatable link
                                                              Link indices corresponding to tag, typ and jmpb:
                                                              +
                                                              This module contains declarations for arrays used to store data values and associated metadata for th...
                                                              +
                                                              integer, dimension(:), allocatable nval
                                                              Number of data values in BUFR data subset.
                                                              +
                                                              real *8, dimension(:,:), allocatable, target val
                                                              Data values.
                                                              +
                                                              integer, dimension(:,:), allocatable, target inv
                                                              Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                                              +
                                                              recursive subroutine nemdefs(LUNIT, NEMO, CELEM, CUNIT, IRET)
                                                              Given a Table B mnemonic defined in the DX BUFR Tables associated with a BUFR file (or in the master ...
                                                              Definition: nemdefs.f:32
                                                              +
                                                              recursive subroutine nemspecs(LUNIT, NEMO, NNEMO, NSCL, NREF, NBTS, IRET)
                                                              Given a Table B mnemonic defined within a data subset, this subroutine returns the scale factor,...
                                                              Definition: nemspecs.f:47
                                                              +
                                                              subroutine nemtab(LUN, NEMO, IDN, TAB, IRET)
                                                              Get information about a descriptor, based on the mnemonic.
                                                              Definition: nemtab.f:29
                                                              +
                                                              subroutine nemtbb(LUN, ITAB, UNIT, ISCL, IREF, IBIT)
                                                              Get information about a Table B descriptor.
                                                              Definition: nemtbb.f:22
                                                              +
                                                              subroutine numtbd(LUN, IDN, NEMO, TAB, IRET)
                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                                              Definition: numtbd.f:24
                                                              +
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              recursive subroutine openmb(LUNIT, SUBSET, JDATE)
                                                              Open a new message for output in a BUFR file that was previously opened for writing.
                                                              Definition: openmb.f:42
                                                              +
                                                              subroutine pktdd(ID, LUN, IDN, IRET)
                                                              Store information about a child mnemonic within the internal arrays.
                                                              Definition: pktdd.f:26
                                                              +
                                                              recursive subroutine readlc(LUNIT, CHR, STR)
                                                              Read a long character string (greater than 8 bytes) from a data subset.
                                                              Definition: readlc.f:50
                                                              +
                                                              recursive subroutine status(LUNIT, LUN, IL, IM)
                                                              Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                                              Definition: status.f:36
                                                              +
                                                              subroutine stntbi(N, LUN, NUMB, NEMO, CELSQ)
                                                              Store a new entry within the internal BUFR Table B or D.
                                                              Definition: stntbi.f:20
                                                              +
                                                              recursive subroutine strnum(str, num, iret)
                                                              Decode an integer from a character string.
                                                              Definition: strnum.F90:24
                                                              +
                                                              recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
                                                              Read/write one or more data values from/to a data subset.
                                                              Definition: ufbint.f:121
                                                              +
                                                              recursive subroutine ufbrep(LUNIN, USR, I1, I2, IRET, STR)
                                                              Read/write one or more data values from/to a data subset.
                                                              Definition: ufbrep.f:116
                                                              +
                                                              recursive subroutine ufbseq(LUNIN, USR, I1, I2, IRET, STR)
                                                              This subroutine reads or writes an entire sequence of data values from or to the BUFR data subset tha...
                                                              Definition: ufbseq.f:128
                                                              +
                                                              subroutine uptdd(ID, LUN, IENT, IRET)
                                                              Returns the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table...
                                                              Definition: uptdd.f:28
                                                              +
                                                              subroutine wrdlen
                                                              Determine important information about the local machine.
                                                              Definition: wrdlen.F:25
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufr__interface_8F90.html b/previous_versions/v12.0.1/bufr__interface_8F90.html new file mode 100644 index 000000000..ddb56831a --- /dev/null +++ b/previous_versions/v12.0.1/bufr__interface_8F90.html @@ -0,0 +1,133 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Enable a number of C NCEPLIBS-bufr functions to be called from within Fortran application programs. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + +

                                                              +Data Types

                                                              interface  bufr_interface::ccbfl_c
                                                               
                                                              interface  bufr_interface::cobfl_c
                                                               
                                                              interface  bufr_interface::crbmg_c
                                                               
                                                              interface  bufr_interface::cwbmg_c
                                                               
                                                              interface  bufr_interface::dlloctbf_c
                                                               
                                                              + + + + +

                                                              +Modules

                                                              module  bufr_interface
                                                               Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs.
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Enable a number of C NCEPLIBS-bufr functions to be called from within Fortran application programs.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-03-22
                                                              + +

                                                              Definition in file bufr_interface.F90.

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufr__interface_8F90_source.html b/previous_versions/v12.0.1/bufr__interface_8F90_source.html new file mode 100644 index 000000000..6bdc855f0 --- /dev/null +++ b/previous_versions/v12.0.1/bufr__interface_8F90_source.html @@ -0,0 +1,143 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              bufr_interface.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 
                                                              +
                                                              10 
                                                              + +
                                                              12 
                                                              +
                                                              13  interface
                                                              +
                                                              14 
                                                              +
                                                              24  subroutine cobfl_c( bfl, io ) bind(C, name='cobfl')
                                                              +
                                                              25  use iso_c_binding
                                                              +
                                                              26  character(kind=c_char), intent(in) :: bfl(*)
                                                              +
                                                              27  character(kind=c_char), intent(in), value :: io
                                                              +
                                                              28  end subroutine cobfl_c
                                                              +
                                                              29 
                                                              +
                                                              43  subroutine crbmg_c( bmg, mxmb, nmb, iret ) bind(C, name='crbmg')
                                                              +
                                                              44  use iso_c_binding
                                                              +
                                                              45  character(kind=c_char), intent(out) :: bmg(*)
                                                              +
                                                              46  integer(c_int), intent(in), value :: mxmb
                                                              +
                                                              47  integer(c_int), intent(out) :: nmb, iret
                                                              +
                                                              48  end subroutine crbmg_c
                                                              +
                                                              49 
                                                              +
                                                              61  subroutine cwbmg_c( bmg, nmb, iret ) bind(C, name='cwbmg')
                                                              +
                                                              62  use iso_c_binding
                                                              +
                                                              63  character(kind=c_char), intent(in) :: bmg(*)
                                                              +
                                                              64  integer(c_int), intent(in), value :: nmb
                                                              +
                                                              65  integer(c_int), intent(out) :: iret
                                                              +
                                                              66  end subroutine cwbmg_c
                                                              +
                                                              67 
                                                              +
                                                              74  subroutine ccbfl_c() bind(C, name='ccbfl')
                                                              +
                                                              75  use iso_c_binding
                                                              +
                                                              76  end subroutine ccbfl_c
                                                              +
                                                              77 
                                                              +
                                                              84  subroutine dlloctbf_c() bind(C, name='dlloctbf')
                                                              +
                                                              85  use iso_c_binding
                                                              +
                                                              86  end subroutine dlloctbf_c
                                                              +
                                                              87 
                                                              +
                                                              88  end interface
                                                              +
                                                              89 
                                                              +
                                                              90 end module bufr_interface
                                                              + + + + + +
                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs.
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufr__interface_8h.html b/previous_versions/v12.0.1/bufr__interface_8h.html new file mode 100644 index 000000000..eff6de0a0 --- /dev/null +++ b/previous_versions/v12.0.1/bufr__interface_8h.html @@ -0,0 +1,2209 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface.h File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface.h File Reference
                                                              +
                                                              +
                                                              + +

                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions

                                                              void bvers_f (char *cverstr, int cverstr_len)
                                                               Get the version number of the NCEPLIBS-bufr software. More...
                                                               
                                                              void ccbfl (void)
                                                               Close all files that were opened via previous calls to function cobfl(). More...
                                                               
                                                              void closbf_f (int bufr_unit)
                                                               Close a previously opened file and disconnect it from the library. More...
                                                               
                                                              void close_f (int unit)
                                                               Close a Fortran file from a C program. More...
                                                               
                                                              void cmpmsg_f (char *cf)
                                                               Specify the use of compression when writing BUFR messages. More...
                                                               
                                                              void cobfl (char *bfl, char io)
                                                               Open a new file for reading or writing BUFR messages via a C language interface. More...
                                                               
                                                              void crbmg (char *bmg, int mxmb, int *nmb, int *iret)
                                                               Read the next BUFR message from the file that was opened via the most recent call to function cobfl() with io = 'r'. More...
                                                               
                                                              void cwbmg (char *bmg, int nmb, int *iret)
                                                               Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io = 'w'. More...
                                                               
                                                              void delete_table_data_f ()
                                                               Deletes the copies of the moda_tables arrays. More...
                                                               
                                                              void exitbufr_f ()
                                                               Reset the library. More...
                                                               
                                                              void get_inode_f (int lun, int *start_node)
                                                               Get the bufr node idx for the start node of the subset. More...
                                                               
                                                              void get_inv_f (int lun, int **inv_ptr, int *inv_size)
                                                               Get pointer to the moda_usrint INV array. More...
                                                               
                                                              void get_irf_f (int **irf_ptr, int *irf_size)
                                                               Get copy of the moda_tables IRF array. More...
                                                               
                                                              void get_isc_f (int **isc_ptr, int *isc_size)
                                                               Get copy of the moda_tables ISC array. More...
                                                               
                                                              void get_itp_f (int **itp_ptr, int *itp_size)
                                                               Get copy of the moda_tables ITP array. More...
                                                               
                                                              void get_jmpb_f (int **jmpb_ptr, int *jmpb_size)
                                                               Get copy of the moda_tables JMPB array. More...
                                                               
                                                              void get_link_f (int **link_ptr, int *link_size)
                                                               Get copy of the moda_tables LINK array. More...
                                                               
                                                              void get_nval_f (int lun, int *num_nodes)
                                                               Get the number of values in the current subset. More...
                                                               
                                                              void get_tag_f (char **tag_ptr, int *tag_len, int *mem_size)
                                                               Get copy of the moda_tables TAG array. More...
                                                               
                                                              void get_typ_f (char **typ_ptr, int *typ_len, int *mem_size)
                                                               Get copy of the moda_tables TYP array. More...
                                                               
                                                              void get_val_f (int lun, double **val_ptr, int *val_size)
                                                               Get pointer to the moda_usrint VAL array. More...
                                                               
                                                              int ibfms_f (double r8val)
                                                               Test whether a data value is "missing". More...
                                                               
                                                              int igetmxby_f (void)
                                                               Get the maximum length of a BUFR message that can be written to an output file. More...
                                                               
                                                              int igetprm_f (char *cprmnm)
                                                               Get the current value of a parameter. More...
                                                               
                                                              int ireadmg_f (int bufr_unit, char *subset, int *iddate, int subset_len)
                                                               Read the next message from a BUFR file. More...
                                                               
                                                              int ireadns_f (int bufr_unit, char *subset, int *iddate, int subset_len)
                                                               Read the next data subset from a BUFR file. More...
                                                               
                                                              int ireadsb_f (int bufr_unit)
                                                               Read the next data subset from a BUFR message. More...
                                                               
                                                              int isetprm_f (char *cprmnm, int ipval)
                                                               Define a customized parameter value for dynamic allocation. More...
                                                               
                                                              int iupbs01_f (int *bufr, char *mnemonic)
                                                               Read a data value from Section 0 or Section 1 of a BUFR message. More...
                                                               
                                                              void maxout_f (int max0)
                                                               Define a customized maximum length for output BUFR messages. More...
                                                               
                                                              void mtinfo_f (const char *path, int file_unit_1, int file_unit_2)
                                                               Specify location of master BUFR tables on local file system. More...
                                                               
                                                              void nemdefs_f (int file_unit, const char *mnemonic, char *unit_c, int unit_str_len, char *desc_c, int desc_str_len, int *iret)
                                                               Get the element name and units associated with a Table B mnemonic. More...
                                                               
                                                              void nemspecs_f (int file_unit, const char *mnemonic, int mnemonic_idx, int *scale, int *reference, int *bits, int *iret)
                                                               Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic. More...
                                                               
                                                              void nemtab_f (int lun, const char *mnemonic, int *descriptor, char *table_type, int *table_idx)
                                                               Get information about a descriptor. More...
                                                               
                                                              void nemtbb_f (int lun, int table_idx, char *unit_str, int unit_str_len, int *scale, int *reference, int *bits)
                                                               Get information about a Table B descriptor. More...
                                                               
                                                              void open_f (int unit, const char *filepath)
                                                               Open a Fortran file from a C program. More...
                                                               
                                                              void openbf_f (int bufr_unit, const char *cio, int table_file_id)
                                                               Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file. More...
                                                               
                                                              void openmb_f (int bufr_unit, char *c_subset, int iddate)
                                                               Open a new message for output in a BUFR file that was previously opened for writing. More...
                                                               
                                                              void readlc_f (int lunit, const char *str_id, char *output_str, int output_str_len)
                                                               Function used to get long strings from the BUFR file. More...
                                                               
                                                              void status_f (int file_unit, int *lun, int *il, int *im)
                                                               Check whether a file is connected to the library. More...
                                                               
                                                              void ufbint_f (int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
                                                               Read/write one or more data values from/to a data subset. More...
                                                               
                                                              void ufbrep_f (int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
                                                               Read/write one or more data values from/to a data subset. More...
                                                               
                                                              void ufbseq_f (int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_d_mnemonic)
                                                               Read/write an entire sequence of data values from/to a data subset. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.

                                                              +

                                                              This header file defines the signatures which wrap a number of native Fortran subprograms in the library. It also contains prototypes for native C functions in the library which are expected to be called from C and C++ application programs.

                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition in file bufr_interface.h.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ bvers_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void bvers_f (char * cverstr,
                                                              int cverstr_len 
                                                              )
                                                              +
                                                              + +

                                                              Get the version number of the NCEPLIBS-bufr software.

                                                              +

                                                              Wraps bvers() subroutine.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              cverstr- Version string.
                                                              cverstr_len- Length of version string.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ccbfl()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void ccbfl (void )
                                                              +
                                                              + +

                                                              Close all files that were opened via previous calls to function cobfl().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 296 of file crwbmg.c.

                                                              + +

                                                              References pbf.

                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ closbf_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void closbf_f (int bufr_unit)
                                                              +
                                                              + +

                                                              Close a previously opened file and disconnect it from the library.

                                                              +

                                                              Wraps closbf() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              bufr_unit- the Fortran logical unit number to close.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ close_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void close_f (int unit)
                                                              +
                                                              + +

                                                              Close a Fortran file from a C program.

                                                              +
                                                              Parameters
                                                              + + +
                                                              unit- the integer to use as the Fortran logical unit.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ cmpmsg_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void cmpmsg_f (char * cf)
                                                              +
                                                              + +

                                                              Specify the use of compression when writing BUFR messages.

                                                              +

                                                              Wraps cmpmsg() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              cf- Flag indicating whether future BUFR output messages are to be compressed ('Y' = Yes, 'N' = No).
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ cobfl()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void cobfl (char * bfl,
                                                              char io 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for reading or writing BUFR messages via a C language interface.

                                                              +

                                                              This function is designed to be easily callable from application program written in either C or Fortran. It is functionally equivalent to subroutine openbf(); however, there are some important differences:

                                                              +
                                                                +
                                                              • When using openbf(), the underlying file must already be associated with a Fortran logical unit number on the local system, typicially via a prior Fortran "OPEN" statement. This is not required when using this function.
                                                              • +
                                                              • When using this function, it is only possible to have at most one input (io = 'r') file and one output (io = 'w') file open at a time. If a successive call to this function is made in either case where a file of that type is already open, then the function will automatically close the previous file of that type before opening the new one.
                                                              • +
                                                              • When opening a file for input/reading using openbf(), the user can make subsequent calls to any of the NCEPLIBS-bufr message-reading subroutines to read individual BUFR messages from that file into internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines") to read individual data subsets from each such message. However, when opening a file for input/reading using this function, the user must instead make subsequent calls to crbmg() to read individual BUFR messages from that file, and each such message will be returned directly to the user within an allocated memory array. The user may then, if desired, make subsequent calls to readerme() to store each such message into the same internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines" to read individual data subsets from each such message.
                                                              • +
                                                              • When opening a file for output/writing using openbf(), the user can make subsequent successive calls to writsb() to pack each completed data subset into the BUFR message that is currently open within the internal arrays, for eventual output to that file. However, when opening a file for output/writing using this function, the user can instead, if desired, make subsequent successive calls to writsa() to pack each completed data subset into the BUFR message that is currently open within the internal arrays. The use of writsa() will cause each completed BUFR message to be returned directly to the user within an allocated memory array, which in turn can then be written directly to the file via a subsequent call to cwbmg().
                                                              • +
                                                              +

                                                              Any errors encountered when using this function are automatically logged to standard output, or to an alternate location previously specified via a call to subroutine errwrt().

                                                              +
                                                              Parameters
                                                              + + + +
                                                              bfl- System file to be opened. Inclusion of directory prefixes or other local filesystem notation is allowed, up to 200 total characters.
                                                              io- Flag indicating how bfl is to be opened:
                                                                +
                                                              • 'r' input (for reading BUFR messages)
                                                              • +
                                                              • 'w' output (for writing BUFR messages)
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 120 of file crwbmg.c.

                                                              + +

                                                              References bort_f(), MXFNLEN, pbf, and wrdlen_f().

                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ crbmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void crbmg (char * bmg,
                                                              int mxmb,
                                                              int * nmb,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next BUFR message from the file that was opened via the most recent call to function cobfl() with io = 'r'.

                                                              +

                                                              This function is designed to be easily callable from application program written in either C or Fortran.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bmg- BUFR message
                                                              mxmb- Number of elements in bmg array;; used by the function to ensure that it doesn't overflow the array.
                                                              nmb- Size (in bytes) of BUFR message in bmg.
                                                              iret- return code:
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • 1 overflow of bmg array.
                                                              • +
                                                              • 2 "7777" indicator not found in expected location.
                                                              • +
                                                              • -1 end-of-file encountered while reading.
                                                              • +
                                                              • -2 I/O error encountered while reading.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 201 of file crwbmg.c.

                                                              + +

                                                              References bort_f(), iupbs01_f(), pbf, and rbytes().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cwbmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void cwbmg (char * bmg,
                                                              int nmb,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io = 'w'.

                                                              +

                                                              This function is designed to be easily callable from application program written in either C or Fortran.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bmg- BUFR message
                                                              nmb- Size (in bytes) of BUFR message in bmg
                                                              iret- return code:
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • -1 I/O error encountered while writing.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 269 of file crwbmg.c.

                                                              + +

                                                              References bort_f(), and pbf.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ delete_table_data_f()

                                                              + +
                                                              +
                                                              + + + + + + + +
                                                              void delete_table_data_f ()
                                                              +
                                                              + +

                                                              Deletes the copies of the moda_tables arrays.

                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ exitbufr_f()

                                                              + +
                                                              +
                                                              + + + + + + + +
                                                              void exitbufr_f ()
                                                              +
                                                              + +

                                                              Reset the library.

                                                              +

                                                              Wraps exitbufr() subroutine.

                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_inode_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_inode_f (int lun,
                                                              int * start_node 
                                                              )
                                                              +
                                                              + +

                                                              Get the bufr node idx for the start node of the subset.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID.
                                                              start_node- the start node of the subset.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_inv_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void get_inv_f (int lun,
                                                              int ** inv_ptr,
                                                              int * inv_size 
                                                              )
                                                              +
                                                              + +

                                                              Get pointer to the moda_usrint INV array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lun- File ID.
                                                              inv_ptr- pointer to a pointer to the INV array.
                                                              inv_size- size of the INV array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_irf_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_irf_f (int ** irf_ptr,
                                                              int * irf_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables IRF array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              irf_ptr- pointer to a pointer to the IRF array.
                                                              irf_size- size of the IRF array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2023-04-05
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_isc_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_isc_f (int ** isc_ptr,
                                                              int * isc_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables ISC array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              isc_ptr- pointer to a pointer to the ISC array.
                                                              isc_size- size of the ISC array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_itp_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_itp_f (int ** itp_ptr,
                                                              int * itp_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables ITP array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              itp_ptr- pointer to a pointer to the ITP array.
                                                              itp_size- size of the ITP array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_jmpb_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_jmpb_f (int ** jmpb_ptr,
                                                              int * jmpb_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables JMPB array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              jmpb_ptr- pointer to a pointer to the JMPB array.
                                                              jmpb_size- size of the JMPB array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_link_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_link_f (int ** link_ptr,
                                                              int * link_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables LINK array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              link_ptr- pointer to a pointer to the LINK array.
                                                              link_size- size of the LINK array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_nval_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void get_nval_f (int lun,
                                                              int * num_nodes 
                                                              )
                                                              +
                                                              + +

                                                              Get the number of values in the current subset.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID.
                                                              num_nodes- number of values in the subset.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_tag_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void get_tag_f (char ** tag_ptr,
                                                              int * tag_len,
                                                              int * mem_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables TAG array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              tag_ptr- pointer to a pointer to the TAG array.
                                                              tag_len- size of each string within the TAG array.
                                                              mem_size- size of the TAG array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_typ_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void get_typ_f (char ** typ_ptr,
                                                              int * typ_len,
                                                              int * mem_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables TYP array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              typ_ptr- pointer to a pointer to the TYP array.
                                                              typ_len- size of each string within the TYP array.
                                                              mem_size- size of the TYP array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_val_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void get_val_f (int lun,
                                                              double ** val_ptr,
                                                              int * val_size 
                                                              )
                                                              +
                                                              + +

                                                              Get pointer to the moda_usrint VAL array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lun- File ID.
                                                              val_ptr- pointer to a pointer to the VAL array.
                                                              val_size- size of the VAL array.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +
                                                              +
                                                              + +

                                                              ◆ ibfms_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int ibfms_f (double r8val)
                                                              +
                                                              + +

                                                              Test whether a data value is "missing".

                                                              +

                                                              Wraps ibfms() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              r8val- Data value.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              - 1 if r8val is "missing", or 0 otherwise.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetmxby_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int igetmxby_f (void )
                                                              +
                                                              + +

                                                              Get the maximum length of a BUFR message that can be written to an output file.

                                                              +
                                                              Returns
                                                              Maximum length of a BUFR message that can be written to an output file.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetprm_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int igetprm_f (char * cprmnm)
                                                              +
                                                              + +

                                                              Get the current value of a parameter.

                                                              +
                                                              Parameters
                                                              + + +
                                                              cprmnm- Parameter.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              Value of cprmnm.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Referenced by arallocc(), inittbf(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadmg_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int ireadmg_f (int bufr_unit,
                                                              char * subset,
                                                              int * iddate,
                                                              int subset_len 
                                                              )
                                                              +
                                                              + +

                                                              Read the next message from a BUFR file.

                                                              +

                                                              Wraps ireadmg() function.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bufr_unit- the Fortran logical unit number to read from.
                                                              subset- the subset string.
                                                              iddate- datetime of message.
                                                              subset_len- length of the subset string.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 new BUFR message was successfully read into internal arrays.
                                                              • +
                                                              • -1 there are no more BUFR messages in bufr_unit.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadns_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int ireadns_f (int bufr_unit,
                                                              char * subset,
                                                              int * iddate,
                                                              int subset_len 
                                                              )
                                                              +
                                                              + +

                                                              Read the next data subset from a BUFR file.

                                                              +

                                                              Wraps ireadns() function.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bufr_unit- the Fortran logical unit number to read from.
                                                              subset- the subset string.
                                                              iddate- datetime of message.
                                                              subset_len- length of the subset string.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 new BUFR data subset was successfully read into internal arrays.
                                                              • +
                                                              • -1 there are no more BUFR data subsets in bufr_unit.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadsb_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int ireadsb_f (int bufr_unit)
                                                              +
                                                              + +

                                                              Read the next data subset from a BUFR message.

                                                              +

                                                              Wraps ireadsb() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              bufr_unit- the Fortran logical unit number to read from.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 new BUFR data subset was successfully read into internal arrays.
                                                              • +
                                                              • -1 there are no more BUFR data subsets in the BUFR message associated with bufr_unit
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ isetprm_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int isetprm_f (char * cprmnm,
                                                              int ipval 
                                                              )
                                                              +
                                                              + +

                                                              Define a customized parameter value for dynamic allocation.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              cprmnm- Parameter.
                                                              ipval- Value to be set for cprmnm.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              0 if successful, or -1 if cprmnm unknown.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ iupbs01_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int iupbs01_f (int * bufr,
                                                              char * mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read a data value from Section 0 or Section 1 of a BUFR message.

                                                              +

                                                              Wraps iupbs01() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              bufr- BUFR message.
                                                              mnemonic- Value to be read from Section 0 or Section 1.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              - Value corresponding to mnemonic, or -1 if not found or error occurred.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Referenced by crbmg(), and crdbufr().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ maxout_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void maxout_f (int max0)
                                                              +
                                                              + +

                                                              Define a customized maximum length for output BUFR messages.

                                                              +

                                                              Wraps maxout() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              max0- New maximum length (in bytes) for all BUFR messages written to all output files.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ mtinfo_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void mtinfo_f (const char * path,
                                                              int file_unit_1,
                                                              int file_unit_2 
                                                              )
                                                              +
                                                              + +

                                                              Specify location of master BUFR tables on local file system.

                                                              +

                                                              Wraps mtinfo() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              path- the path where the WMO tables are stored.
                                                              file_unit_1- number to use for first logical unit.
                                                              file_unit_2- number to use for second logical unit.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemdefs_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void nemdefs_f (int file_unit,
                                                              const char * mnemonic,
                                                              char * unit_c,
                                                              int unit_str_len,
                                                              char * desc_c,
                                                              int desc_str_len,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Get the element name and units associated with a Table B mnemonic.

                                                              +

                                                              Wraps nemdefs() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              file_unit- Fortran logical unit for the open file.
                                                              mnemonic- Mnemonic.
                                                              unit_c- Unit string.
                                                              unit_str_len- Unit string length.
                                                              desc_c- Description string.
                                                              desc_str_len- Description string length.
                                                              iret- 0 indicates success -1 indicates failure.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemspecs_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void nemspecs_f (int file_unit,
                                                              const char * mnemonic,
                                                              int mnemonic_idx,
                                                              int * scale,
                                                              int * reference,
                                                              int * bits,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.

                                                              +

                                                              Wraps nemspecs() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              file_unit- Fortran logical unit for the open file.
                                                              mnemonic- Mnemonic.
                                                              mnemonic_idx- Ordinal indicator of specific mnemonic element (if repeated).
                                                              scale- Scale of element.
                                                              reference- Reference of element.
                                                              bits- Number of bits representing the element.
                                                              iret- 0 indicates success -1 indicates failure.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2022-08-08
                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemtab_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void nemtab_f (int lun,
                                                              const char * mnemonic,
                                                              int * descriptor,
                                                              char * table_type,
                                                              int * table_idx 
                                                              )
                                                              +
                                                              + +

                                                              Get information about a descriptor.

                                                              +

                                                              Wraps nemtab() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              lun- File ID.
                                                              mnemonic- Mnemonic.
                                                              descriptor- The binary descriptor for the mnemonic.
                                                              table_type- Type of internal DX BUFR table ('B', 'C', or 'D').
                                                              table_idx- The table index, or 0 if not found.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2022-08-16
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemtbb_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void nemtbb_f (int lun,
                                                              int table_idx,
                                                              char * unit_str,
                                                              int unit_str_len,
                                                              int * scale,
                                                              int * reference,
                                                              int * bits 
                                                              )
                                                              +
                                                              + +

                                                              Get information about a Table B descriptor.

                                                              +

                                                              Wraps nemtbb() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lun- File ID.
                                                              table_idx- Table B index.
                                                              unit_str- Unit string.
                                                              unit_str_len- Unit string length.
                                                              scale- Scale of element.
                                                              reference- Reference value of element.
                                                              bits- Number of bits representing theelement.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-08-16
                                                              + +

                                                              Referenced by restd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ open_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void open_f (int unit,
                                                              const char * filepath 
                                                              )
                                                              +
                                                              + +

                                                              Open a Fortran file from a C program.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              unit- the integer to use as the Fortran logical unit.
                                                              filepath- path to the file we want to open.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ openbf_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void openbf_f (int bufr_unit,
                                                              const char * cio,
                                                              int table_file_id 
                                                              )
                                                              +
                                                              + +

                                                              Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file.

                                                              +

                                                              Wraps openbf() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bufr_unit- the Fortran logical unit number.
                                                              cio- cio string (ex "IN", "SEC3", and "OUT").
                                                              table_file_id- table_file unit number.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ openmb_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void openmb_f (int bufr_unit,
                                                              char * c_subset,
                                                              int iddate 
                                                              )
                                                              +
                                                              + +

                                                              Open a new message for output in a BUFR file that was previously opened for writing.

                                                              +

                                                              Wraps openmb() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bufr_unit- Fortran logical unit number to write to.
                                                              c_subset- Table A mnemonic of message.
                                                              iddate- Date-time to be stored within Section 1 of message.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              + +

                                                              ◆ readlc_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void readlc_f (int lunit,
                                                              const char * str_id,
                                                              char * output_str,
                                                              int output_str_len 
                                                              )
                                                              +
                                                              + +

                                                              Function used to get long strings from the BUFR file.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunit- Fortran logical unit.
                                                              str_id- Mnemonic for the string for the source field plus the index number (ex: 'IDMN#2')
                                                              output_str- The pre-allocated result string
                                                              output_str_len- Size of the result string buffer
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2023-07-03
                                                              + +
                                                              +
                                                              + +

                                                              ◆ status_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void status_f (int file_unit,
                                                              int * lun,
                                                              int * il,
                                                              int * im 
                                                              )
                                                              +
                                                              + +

                                                              Check whether a file is connected to the library.

                                                              +

                                                              Wraps status() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              file_unit- Fortran logical unit number of file.
                                                              lun- File ID.
                                                              il- File status.
                                                              im- Message status.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbint_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void ufbint_f (int bufr_unit,
                                                              void ** c_data,
                                                              int dim_1,
                                                              int dim_2,
                                                              int * iret,
                                                              const char * table_b_mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read/write one or more data values from/to a data subset.

                                                              +

                                                              Wraps ufbint() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              bufr_unit- the Fortran logical unit number to read from.
                                                              c_data- pointer to a pointer to a pre-allocated buffer.
                                                              dim_1- dimensionality of data to read or write.
                                                              dim_2- dimensionality of data to read or write.
                                                              iret- return value, length of data read.
                                                              table_b_mnemonic- string of mnemonics.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbrep_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void ufbrep_f (int bufr_unit,
                                                              void ** c_data,
                                                              int dim_1,
                                                              int dim_2,
                                                              int * iret,
                                                              const char * table_b_mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read/write one or more data values from/to a data subset.

                                                              +

                                                              Wraps ufbrep() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              bufr_unit- the Fortran logical unit number to read from.
                                                              c_data- pointer to a pointer to a pre-allocated buffer.
                                                              dim_1- dimensionality of data to read or write.
                                                              dim_2- dimensionality of data to read or write.
                                                              iret- length of data read.
                                                              table_b_mnemonic- string of mnemonics.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbseq_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void ufbseq_f (int bufr_unit,
                                                              void ** c_data,
                                                              int dim_1,
                                                              int dim_2,
                                                              int * iret,
                                                              const char * table_d_mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read/write an entire sequence of data values from/to a data subset.

                                                              +

                                                              Wraps ufbseq() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              bufr_unit- the Fortran logical unit number to read from.
                                                              c_data- pointer to a pointer to a pre-allocated buffer.
                                                              dim_1- dimensionality of data to read or write.
                                                              dim_2- dimensionality of data to read or write.
                                                              iret- return value, length of data read.
                                                              table_d_mnemonic- Table A or Table D mnemonic.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufr__interface_8h.js b/previous_versions/v12.0.1/bufr__interface_8h.js new file mode 100644 index 000000000..4195527da --- /dev/null +++ b/previous_versions/v12.0.1/bufr__interface_8h.js @@ -0,0 +1,46 @@ +var bufr__interface_8h = +[ + [ "bvers_f", "bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b", null ], + [ "ccbfl", "bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802", null ], + [ "closbf_f", "bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a", null ], + [ "close_f", "bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249", null ], + [ "cmpmsg_f", "bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128", null ], + [ "cobfl", "bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d", null ], + [ "crbmg", "bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048", null ], + [ "cwbmg", "bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d", null ], + [ "delete_table_data_f", "bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426", null ], + [ "exitbufr_f", "bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6", null ], + [ "get_inode_f", "bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d", null ], + [ "get_inv_f", "bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992", null ], + [ "get_irf_f", "bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5", null ], + [ "get_isc_f", "bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e", null ], + [ "get_itp_f", "bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3", null ], + [ "get_jmpb_f", "bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e", null ], + [ "get_link_f", "bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88", null ], + [ "get_nval_f", "bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2", null ], + [ "get_tag_f", "bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca", null ], + [ "get_typ_f", "bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3", null ], + [ "get_val_f", "bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1", null ], + [ "ibfms_f", "bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c", null ], + [ "igetmxby_f", "bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4", null ], + [ "igetprm_f", "bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb", null ], + [ "ireadmg_f", "bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96", null ], + [ "ireadns_f", "bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f", null ], + [ "ireadsb_f", "bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb", null ], + [ "isetprm_f", "bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c", null ], + [ "iupbs01_f", "bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f", null ], + [ "maxout_f", "bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3", null ], + [ "mtinfo_f", "bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e", null ], + [ "nemdefs_f", "bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c", null ], + [ "nemspecs_f", "bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f", null ], + [ "nemtab_f", "bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c", null ], + [ "nemtbb_f", "bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b", null ], + [ "open_f", "bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0", null ], + [ "openbf_f", "bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788", null ], + [ "openmb_f", "bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe", null ], + [ "readlc_f", "bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97", null ], + [ "status_f", "bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d", null ], + [ "ufbint_f", "bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075", null ], + [ "ufbrep_f", "bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce", null ], + [ "ufbseq_f", "bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/bufr__interface_8h_source.html b/previous_versions/v12.0.1/bufr__interface_8h_source.html new file mode 100644 index 000000000..600c8b490 --- /dev/null +++ b/previous_versions/v12.0.1/bufr__interface_8h_source.html @@ -0,0 +1,261 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface.h Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              bufr_interface.h
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              13 #pragma once
                                                              +
                                                              14 
                                                              +
                                                              15 void cobfl(char *bfl, char io);
                                                              +
                                                              16 void crbmg(char *bmg, int mxmb, int *nmb, int *iret);
                                                              +
                                                              17 void cwbmg(char *bmg, int nmb, int *iret);
                                                              +
                                                              18 void ccbfl(void);
                                                              +
                                                              19 
                                                              +
                                                              20 #ifdef __cplusplus
                                                              +
                                                              21 extern "C" {
                                                              +
                                                              22 #endif
                                                              +
                                                              23 
                                                              +
                                                              32  void open_f(int unit, const char* filepath);
                                                              +
                                                              33 
                                                              +
                                                              41  void close_f(int unit);
                                                              +
                                                              42 
                                                              +
                                                              55  void openbf_f(int bufr_unit, const char* cio, int table_file_id);
                                                              +
                                                              56 
                                                              +
                                                              66  void closbf_f(int bufr_unit);
                                                              +
                                                              67 
                                                              +
                                                              75  void exitbufr_f();
                                                              +
                                                              76 
                                                              +
                                                              93  int ireadmg_f(int bufr_unit, char* subset, int* iddate, int subset_len);
                                                              +
                                                              94 
                                                              +
                                                              108  int ireadsb_f(int bufr_unit);
                                                              +
                                                              109 
                                                              +
                                                              124  void ufbint_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
                                                              +
                                                              125  int* iret, const char* table_b_mnemonic);
                                                              +
                                                              126 
                                                              +
                                                              141  void ufbrep_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
                                                              +
                                                              142  int* iret, const char* table_b_mnemonic);
                                                              +
                                                              143 
                                                              +
                                                              155  void mtinfo_f(const char* path, int file_unit_1, int file_unit_2);
                                                              +
                                                              156 
                                                              +
                                                              169  void status_f(int file_unit, int* lun, int* il, int* im);
                                                              +
                                                              170 
                                                              +
                                                              186  void nemdefs_f(int file_unit,
                                                              +
                                                              187  const char* mnemonic,
                                                              +
                                                              188  char* unit_c,
                                                              +
                                                              189  int unit_str_len,
                                                              +
                                                              190  char* desc_c,
                                                              +
                                                              191  int desc_str_len,
                                                              +
                                                              192  int* iret);
                                                              +
                                                              193 
                                                              +
                                                              210  void nemspecs_f(int file_unit,
                                                              +
                                                              211  const char* mnemonic,
                                                              +
                                                              212  int mnemonic_idx,
                                                              +
                                                              213  int* scale,
                                                              +
                                                              214  int* reference,
                                                              +
                                                              215  int* bits,
                                                              +
                                                              216  int* iret);
                                                              +
                                                              217 
                                                              +
                                                              231  void nemtab_f(int lun,
                                                              +
                                                              232  const char* mnemonic,
                                                              +
                                                              233  int* descriptor,
                                                              +
                                                              234  char* table_type,
                                                              +
                                                              235  int* table_idx);
                                                              +
                                                              236 
                                                              +
                                                              252  void nemtbb_f(int lun,
                                                              +
                                                              253  int table_idx,
                                                              +
                                                              254  char* unit_str,
                                                              +
                                                              255  int unit_str_len,
                                                              +
                                                              256  int* scale,
                                                              +
                                                              257  int* reference,
                                                              +
                                                              258  int* bits);
                                                              +
                                                              259 
                                                              +
                                                              268  void get_isc_f(int** isc_ptr, int* isc_size);
                                                              +
                                                              269 
                                                              +
                                                              278  void get_link_f(int** link_ptr, int* link_size);
                                                              +
                                                              279 
                                                              +
                                                              288  void get_itp_f(int** itp_ptr, int* itp_size);
                                                              +
                                                              289 
                                                              +
                                                              299  void get_typ_f(char** typ_ptr, int* typ_len, int* mem_size);
                                                              +
                                                              300 
                                                              +
                                                              310  void get_tag_f(char** tag_ptr, int* tag_len, int* mem_size);
                                                              +
                                                              311 
                                                              +
                                                              320  void get_jmpb_f(int** jmpb_ptr, int* jmpb_size);
                                                              +
                                                              321 
                                                              +
                                                              322 
                                                              +
                                                              331  void get_irf_f(int** irf_ptr, int* irf_size);
                                                              +
                                                              332 
                                                              +
                                                              341  void get_inode_f(int lun, int* start_node);
                                                              +
                                                              342 
                                                              +
                                                              351  void get_nval_f(int lun, int* num_nodes);
                                                              +
                                                              352 
                                                              +
                                                              362  void get_val_f(int lun, double** val_ptr, int* val_size);
                                                              +
                                                              363 
                                                              +
                                                              373  void get_inv_f(int lun, int** inv_ptr, int* inv_size);
                                                              +
                                                              374 
                                                              +
                                                              387  void readlc_f(int lunit, const char* str_id, char* output_str, int output_str_len);
                                                              +
                                                              388 
                                                              + +
                                                              395 
                                                              +
                                                              408  int iupbs01_f(int *bufr, char* mnemonic);
                                                              +
                                                              409 
                                                              +
                                                              419  int igetprm_f(char *cprmnm);
                                                              +
                                                              420 
                                                              +
                                                              431  int isetprm_f(char *cprmnm, int ipval);
                                                              +
                                                              432 
                                                              +
                                                              443  void maxout_f(int max0);
                                                              +
                                                              444 
                                                              +
                                                              454  int igetmxby_f(void);
                                                              +
                                                              455 
                                                              +
                                                              470  void ufbseq_f(int bufr_unit, void** c_data, int dim_1, int dim_2,
                                                              +
                                                              471  int* iret, const char* table_d_mnemonic);
                                                              +
                                                              472 
                                                              +
                                                              489  int ireadns_f(int bufr_unit, char* subset, int* iddate, int subset_len);
                                                              +
                                                              490 
                                                              +
                                                              502  int ibfms_f(double r8val);
                                                              +
                                                              503 
                                                              +
                                                              516  void openmb_f(int bufr_unit, char *c_subset, int iddate);
                                                              +
                                                              517 
                                                              +
                                                              528  void bvers_f(char *cverstr, int cverstr_len);
                                                              +
                                                              529 
                                                              +
                                                              540  void cmpmsg_f(char *cf);
                                                              +
                                                              541 
                                                              +
                                                              542 #ifdef __cplusplus
                                                              +
                                                              543 }
                                                              +
                                                              544 #endif
                                                              +
                                                              void closbf_f(int bufr_unit)
                                                              Close a previously opened file and disconnect it from the library.
                                                              +
                                                              void get_jmpb_f(int **jmpb_ptr, int *jmpb_size)
                                                              Get copy of the moda_tables JMPB array.
                                                              +
                                                              int isetprm_f(char *cprmnm, int ipval)
                                                              Define a customized parameter value for dynamic allocation.
                                                              +
                                                              int igetprm_f(char *cprmnm)
                                                              Get the current value of a parameter.
                                                              +
                                                              void ufbrep_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
                                                              Read/write one or more data values from/to a data subset.
                                                              +
                                                              void get_nval_f(int lun, int *num_nodes)
                                                              Get the number of values in the current subset.
                                                              +
                                                              void get_inode_f(int lun, int *start_node)
                                                              Get the bufr node idx for the start node of the subset.
                                                              +
                                                              void cobfl(char *bfl, char io)
                                                              Open a new file for reading or writing BUFR messages via a C language interface.
                                                              Definition: crwbmg.c:120
                                                              +
                                                              void cwbmg(char *bmg, int nmb, int *iret)
                                                              Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
                                                              Definition: crwbmg.c:269
                                                              +
                                                              void get_val_f(int lun, double **val_ptr, int *val_size)
                                                              Get pointer to the moda_usrint VAL array.
                                                              +
                                                              int iupbs01_f(int *bufr, char *mnemonic)
                                                              Read a data value from Section 0 or Section 1 of a BUFR message.
                                                              +
                                                              void ufbseq_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_d_mnemonic)
                                                              Read/write an entire sequence of data values from/to a data subset.
                                                              +
                                                              int igetmxby_f(void)
                                                              Get the maximum length of a BUFR message that can be written to an output file.
                                                              +
                                                              void maxout_f(int max0)
                                                              Define a customized maximum length for output BUFR messages.
                                                              +
                                                              int ireadsb_f(int bufr_unit)
                                                              Read the next data subset from a BUFR message.
                                                              +
                                                              void openbf_f(int bufr_unit, const char *cio, int table_file_id)
                                                              Connect a new file to the library, or initialize the library, or change verbosity associated with alr...
                                                              +
                                                              void get_tag_f(char **tag_ptr, int *tag_len, int *mem_size)
                                                              Get copy of the moda_tables TAG array.
                                                              +
                                                              void get_inv_f(int lun, int **inv_ptr, int *inv_size)
                                                              Get pointer to the moda_usrint INV array.
                                                              +
                                                              void nemspecs_f(int file_unit, const char *mnemonic, int mnemonic_idx, int *scale, int *reference, int *bits, int *iret)
                                                              Get the scale factor, reference value and bit width associated with a specified occurrence of a Table...
                                                              +
                                                              void status_f(int file_unit, int *lun, int *il, int *im)
                                                              Check whether a file is connected to the library.
                                                              +
                                                              void get_typ_f(char **typ_ptr, int *typ_len, int *mem_size)
                                                              Get copy of the moda_tables TYP array.
                                                              +
                                                              void get_link_f(int **link_ptr, int *link_size)
                                                              Get copy of the moda_tables LINK array.
                                                              +
                                                              void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
                                                              Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
                                                              Definition: crwbmg.c:201
                                                              +
                                                              int ireadmg_f(int bufr_unit, char *subset, int *iddate, int subset_len)
                                                              Read the next message from a BUFR file.
                                                              +
                                                              int ibfms_f(double r8val)
                                                              Test whether a data value is "missing".
                                                              +
                                                              void get_isc_f(int **isc_ptr, int *isc_size)
                                                              Get copy of the moda_tables ISC array.
                                                              +
                                                              void mtinfo_f(const char *path, int file_unit_1, int file_unit_2)
                                                              Specify location of master BUFR tables on local file system.
                                                              +
                                                              void nemdefs_f(int file_unit, const char *mnemonic, char *unit_c, int unit_str_len, char *desc_c, int desc_str_len, int *iret)
                                                              Get the element name and units associated with a Table B mnemonic.
                                                              +
                                                              void openmb_f(int bufr_unit, char *c_subset, int iddate)
                                                              Open a new message for output in a BUFR file that was previously opened for writing.
                                                              +
                                                              void close_f(int unit)
                                                              Close a Fortran file from a C program.
                                                              +
                                                              void ccbfl(void)
                                                              Close all files that were opened via previous calls to function cobfl().
                                                              Definition: crwbmg.c:296
                                                              +
                                                              void ufbint_f(int bufr_unit, void **c_data, int dim_1, int dim_2, int *iret, const char *table_b_mnemonic)
                                                              Read/write one or more data values from/to a data subset.
                                                              +
                                                              void readlc_f(int lunit, const char *str_id, char *output_str, int output_str_len)
                                                              Function used to get long strings from the BUFR file.
                                                              +
                                                              int ireadns_f(int bufr_unit, char *subset, int *iddate, int subset_len)
                                                              Read the next data subset from a BUFR file.
                                                              +
                                                              void exitbufr_f()
                                                              Reset the library.
                                                              +
                                                              void nemtbb_f(int lun, int table_idx, char *unit_str, int unit_str_len, int *scale, int *reference, int *bits)
                                                              Get information about a Table B descriptor.
                                                              +
                                                              void open_f(int unit, const char *filepath)
                                                              Open a Fortran file from a C program.
                                                              +
                                                              void delete_table_data_f()
                                                              Deletes the copies of the moda_tables arrays.
                                                              +
                                                              void nemtab_f(int lun, const char *mnemonic, int *descriptor, char *table_type, int *table_idx)
                                                              Get information about a descriptor.
                                                              +
                                                              void bvers_f(char *cverstr, int cverstr_len)
                                                              Get the version number of the NCEPLIBS-bufr software.
                                                              +
                                                              void get_irf_f(int **irf_ptr, int *irf_size)
                                                              Get copy of the moda_tables IRF array.
                                                              +
                                                              void get_itp_f(int **itp_ptr, int *itp_size)
                                                              Get copy of the moda_tables ITP array.
                                                              +
                                                              void cmpmsg_f(char *cf)
                                                              Specify the use of compression when writing BUFR messages.
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufrlib_8F90.html b/previous_versions/v12.0.1/bufrlib_8F90.html new file mode 100644 index 000000000..c34d18011 --- /dev/null +++ b/previous_versions/v12.0.1/bufrlib_8F90.html @@ -0,0 +1,161 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Data Types

                                                              interface  bufrlib::arallocc_c
                                                               
                                                              interface  bufrlib::ardllocc_c
                                                               
                                                              interface  bufrlib::backbufr_c
                                                               
                                                              interface  bufrlib::bort_exit_c
                                                               
                                                              interface  bufrlib::cewind_c
                                                               
                                                              interface  bufrlib::closfb_c
                                                               
                                                              interface  bufrlib::cpmstabs_c
                                                               
                                                              interface  bufrlib::crdbufr_c
                                                               
                                                              interface  bufrlib::cwrbufr_c
                                                               
                                                              interface  bufrlib::icvidx_c
                                                               
                                                              interface  bufrlib::inittbf_c
                                                               
                                                              interface  bufrlib::openab_c
                                                               
                                                              interface  bufrlib::openrb_c
                                                               
                                                              interface  bufrlib::openwb_c
                                                               
                                                              interface  bufrlib::restd_c
                                                               
                                                              interface  bufrlib::sorttbf_c
                                                               
                                                              interface  bufrlib::srchtbf_c
                                                               
                                                              interface  bufrlib::strtbfe_c
                                                               
                                                              interface  bufrlib::stseq_c
                                                               
                                                              + + + + +

                                                              +Modules

                                                              module  bufrlib
                                                               Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-03-22
                                                              + +

                                                              Definition in file bufrlib.F90.

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufrlib_8F90_source.html b/previous_versions/v12.0.1/bufrlib_8F90_source.html new file mode 100644 index 000000000..58eb03c8f --- /dev/null +++ b/previous_versions/v12.0.1/bufrlib_8F90_source.html @@ -0,0 +1,238 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              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
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufrlib_8h.html b/previous_versions/v12.0.1/bufrlib_8h.html new file mode 100644 index 000000000..2d30e1c61 --- /dev/null +++ b/previous_versions/v12.0.1/bufrlib_8h.html @@ -0,0 +1,1778 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib.h File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib.h File Reference
                                                              +
                                                              +
                                                              + +

                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library. +More...

                                                              +
                                                              #include <stdio.h>
                                                              +#include <stdlib.h>
                                                              +#include <string.h>
                                                              +#include <ctype.h>
                                                              +#include "bufr_interface.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Macros

                                                              #define FXY_STR_LEN   6
                                                               Size of a character string needed to store an FXY value. More...
                                                               
                                                              #define MAX_FXY_TABLEB   "063255"
                                                               Character string containing maximum FXY value for a Table B descriptor. More...
                                                               
                                                              #define MAXCD   250
                                                               Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors. More...
                                                               
                                                              #define MAXNC   600
                                                               Maximum number of descriptors within Section 3 of a BUFR message. More...
                                                               
                                                              #define MIN_FXY_REPL   "101000"
                                                               Character string containing minimum FXY value for a replication descriptor. More...
                                                               
                                                              #define MIN_FXY_TABLED   "300000"
                                                               Character string containing minimum FXY value for a Table D descriptor. More...
                                                               
                                                              #define MXNAF   4
                                                               Maximum number of associated fields that can be in effect at any given time for a Table B descriptor. More...
                                                               
                                                              #define NEMO_STR_LEN   8
                                                               Size of a character string needed to store a mnemonic. More...
                                                               
                                                              #define NFILES   32
                                                               Maximum number of BUFR files that can be connected to the NCEPLIBS-bufr software (for reading or writing) at any one time. More...
                                                               
                                                              #define UNIT_STR_LEN   24
                                                               Size of a character string needed to store the units of a Table B descriptor. More...
                                                               
                                                              #define VERS_STR_LEN   8
                                                               Size of a character string needed to store a library version number. More...
                                                               
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions

                                                              void arallocc (void)
                                                               Dynamically allocate C language arrays. More...
                                                               
                                                              void ardllocc (void)
                                                               Free all dynamically-allocated memory within internal C language arrays. More...
                                                               
                                                              void backbufr (int nfile)
                                                               Backspace a BUFR file by one BUFR message. More...
                                                               
                                                              void bort_exit (void)
                                                               This subroutine terminates the application program with a non-zero status code. More...
                                                               
                                                              void bort_f (char *errstr)
                                                               Log one error message and abort application program. More...
                                                               
                                                              void cadn30_f (int idn, char *adn, int adn_str_len)
                                                               Convert an FXY value from its WMO bit-wise representation to its six-character representation. More...
                                                               
                                                              void cewind (int nfile)
                                                               Rewind a BUFR file back to its beginning. More...
                                                               
                                                              void closfb (int nfile)
                                                               Close a previously opened BUFR file. More...
                                                               
                                                              int crdbufr (int nfile, int *bufr, int mxwrd)
                                                               Read the next message from a BUFR file that was previously opened for reading. More...
                                                               
                                                              void cwrbufr (int nfile, int *bufr, int nwrd)
                                                               Write a BUFR message into a file that was previously opened for writing. More...
                                                               
                                                              void elemdx_f (char *card, int lun)
                                                               Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition. More...
                                                               
                                                              int icvidx (int ii, int jj, int numjj)
                                                               Computes a unique 1-dimensional array index from 2-dimensional indices. More...
                                                               
                                                              int ifxy_f (char *cfxy)
                                                               Convert an FXY value from its 6 character representation to its WMO bit-wise representation. More...
                                                               
                                                              int igetntbi_f (int lun, char *table_type)
                                                               Get the next index for storing an entry within an internal DX BUFR table. More...
                                                               
                                                              int igettdi_f (int iflag)
                                                               Get the next usable Table D index for the current master table, or reset the index. More...
                                                               
                                                              int imrkopr_f (char *nemo)
                                                               Check whether a specified mnemonic is a Table C marker operator. More...
                                                               
                                                              int istdesc_f (int idn)
                                                               Check whether a descriptor is WMO-standard. More...
                                                               
                                                              int iupb_f (int *mbay, int nbyt, int nbit)
                                                               Decode an integer value from an integer array. More...
                                                               
                                                              void numtbd_f (int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
                                                               Search for a Table B or Table D descriptor within the internal DX BUFR tables. More...
                                                               
                                                              void openab (int nfile, char *ufile)
                                                               Open a new file for appending BUFR messages. More...
                                                               
                                                              void openrb (int nfile, char *ufile)
                                                               Open a new file for reading BUFR messages. More...
                                                               
                                                              void openwb (int nfile, char *ufile)
                                                               Open a new file for writing BUFR messages. More...
                                                               
                                                              void pktdd_f (int id, int lun, int idn, int *iret)
                                                               Store information about a child mnemonic within the internal arrays. More...
                                                               
                                                              void restd (int lunb, int tddesc, int *nctddesc, int *ctddesc)
                                                               Standardize a local Table D descriptor. More...
                                                               
                                                              void stntbi_f (int n, int lun, char *numb, char *nemo, char *celsq)
                                                               Store a new entry within the internal BUFR Table B or D. More...
                                                               
                                                              void strnum_f (char *str, int *num, int *iret)
                                                               Decode an integer from a character string. More...
                                                               
                                                              void stseq (int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
                                                               Store information about a standard Table D descriptor within internal DX BUFR tables. More...
                                                               
                                                              void uptdd_f (int id, int lun, int ient, int *iret)
                                                               Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
                                                               
                                                              void wrdesc (int desc, int *descary, int *ndescary)
                                                               Maintain an array of descriptors. More...
                                                               
                                                              void wrdlen_f (void)
                                                               Determine important information about the local machine. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.

                                                              +

                                                              This header file defines signatures which wrap a number of native Fortran subprograms in the library. It also contains prototypes for native C functions in the library as well as macros used throughout the C part of the library.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition in file bufrlib.h.

                                                              +

                                                              Macro Definition Documentation

                                                              + +

                                                              ◆ FXY_STR_LEN

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define FXY_STR_LEN   6
                                                              +
                                                              + +

                                                              Size of a character string needed to store an FXY value.

                                                              + +

                                                              Definition at line 54 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ MAX_FXY_TABLEB

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MAX_FXY_TABLEB   "063255"
                                                              +
                                                              + +

                                                              Character string containing maximum FXY value for a Table B descriptor.

                                                              + +

                                                              Definition at line 63 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ MAXCD

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MAXCD   250
                                                              +
                                                              + +

                                                              Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors.

                                                              + +

                                                              Definition at line 43 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ MAXNC

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MAXNC   600
                                                              +
                                                              + +

                                                              Maximum number of descriptors within Section 3 of a BUFR message.

                                                              + +

                                                              Definition at line 47 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ MIN_FXY_REPL

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MIN_FXY_REPL   "101000"
                                                              +
                                                              + +

                                                              Character string containing minimum FXY value for a replication descriptor.

                                                              + +

                                                              Definition at line 57 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ MIN_FXY_TABLED

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MIN_FXY_TABLED   "300000"
                                                              +
                                                              + +

                                                              Character string containing minimum FXY value for a Table D descriptor.

                                                              + +

                                                              Definition at line 60 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ MXNAF

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MXNAF   4
                                                              +
                                                              + +

                                                              Maximum number of associated fields that can be in effect at any given time for a Table B descriptor.

                                                              + +

                                                              Definition at line 51 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ NEMO_STR_LEN

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define NEMO_STR_LEN   8
                                                              +
                                                              + +

                                                              Size of a character string needed to store a mnemonic.

                                                              + +

                                                              Definition at line 66 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ NFILES

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define NFILES   32
                                                              +
                                                              + +

                                                              Maximum number of BUFR files that can be connected to the NCEPLIBS-bufr software (for reading or writing) at any one time.

                                                              + +

                                                              Definition at line 37 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ UNIT_STR_LEN

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define UNIT_STR_LEN   24
                                                              +
                                                              + +

                                                              Size of a character string needed to store the units of a Table B descriptor.

                                                              + +

                                                              Definition at line 69 of file bufrlib.h.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ VERS_STR_LEN

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define VERS_STR_LEN   8
                                                              +
                                                              + +

                                                              Size of a character string needed to store a library version number.

                                                              + +

                                                              Definition at line 72 of file bufrlib.h.

                                                              + +
                                                              +
                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ arallocc()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void arallocc (void )
                                                              +
                                                              + +

                                                              Dynamically allocate C language arrays.

                                                              +

                                                              This subroutine is called internally during the first call to subroutine openbf() from an application program, in order to dynamically allocate internal C language arrays based on parameter values set during one or more previous calls to function isetprm().

                                                              +

                                                              All memory allocated within this subroutine can be freed via a subsequent call to subroutine exitbufr().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition at line 29 of file arallocc.c.

                                                              + +

                                                              References bort_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, ibfxyn_c, idefxy_c, idfxyn_c, igetprm_f(), lstpos, modv_maxcd::maxcd, modv_mxmtbb::mxmtbb, modv_mxmtbd::mxmtbd, ndelem_c, modv_nfiles::nfiles, and pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ardllocc()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void ardllocc (void )
                                                              +
                                                              + +

                                                              Free all dynamically-allocated memory within internal C language arrays.

                                                              +

                                                              This subroutine frees any memory that was dynamically allocated during a previous call to subroutine arallocc().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition at line 21 of file ardllocc.c.

                                                              + +

                                                              References cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, ibfxyn_c, idefxy_c, idfxyn_c, lstpos, ndelem_c, and pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ backbufr()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void backbufr (int nfile)
                                                              +
                                                              + +

                                                              Backspace a BUFR file by one BUFR message.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 68 of file cread.c.

                                                              + +

                                                              References lstpos, and pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ bort_exit()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void bort_exit (void )
                                                              +
                                                              + +

                                                              This subroutine terminates the application program with a non-zero status code.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 16 of file bort_exit.c.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ bort_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void bort_f (char * errstr)
                                                              +
                                                              + +

                                                              Log one error message and abort application program.

                                                              +

                                                              Wraps bort() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              errstr- Error message.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Referenced by arallocc(), cobfl(), crbmg(), cwbmg(), inittbf(), nummtb(), strtbfe(), stseq(), and wrdesc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cadn30_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void cadn30_f (int idn,
                                                              char * adn,
                                                              int adn_str_len 
                                                              )
                                                              +
                                                              + +

                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.

                                                              +

                                                              Wraps cadn30() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              idn- WMO bit-wise representation of FXY value.
                                                              adn- FXY value.
                                                              adn_str_len- Length of adn string.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2004-08-18
                                                              + +

                                                              Referenced by nummtb(), restd(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cewind()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void cewind (int nfile)
                                                              +
                                                              + +

                                                              Rewind a BUFR file back to its beginning.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 80 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ closfb()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void closfb (int nfile)
                                                              +
                                                              + +

                                                              Close a previously opened BUFR file.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 92 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ crdbufr()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int crdbufr (int nfile,
                                                              int * bufr,
                                                              int mxwrd 
                                                              )
                                                              +
                                                              + +

                                                              Read the next message from a BUFR file that was previously opened for reading.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              nfile- File ID.
                                                              bufr- BUFR message.
                                                              mxwrd- Number of elements in bufr array; used by the function to ensure that it doesn't overflow the array.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • -1 end-of-file encountered while reading.
                                                              • +
                                                              • -2 I/O error encountered while reading.
                                                              • +
                                                              • -3 overflow of bufr array.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 114 of file cread.c.

                                                              + +

                                                              References iupbs01_f(), lstpos, and pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cwrbufr()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void cwrbufr (int nfile,
                                                              int * bufr,
                                                              int nwrd 
                                                              )
                                                              +
                                                              + +

                                                              Write a BUFR message into a file that was previously opened for writing.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              nfile- File ID.
                                                              bufr- BUFR message.
                                                              nwrd- Size (in integers) of bufr.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 199 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ elemdx_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void elemdx_f (char * card,
                                                              int lun 
                                                              )
                                                              +
                                                              + +

                                                              Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.

                                                              +

                                                              Wraps elemdx() subroutine.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              card- mnemonic definition card.
                                                              lun- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ icvidx()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int icvidx (int ii,
                                                              int jj,
                                                              int numjj 
                                                              )
                                                              +
                                                              + +

                                                              Computes a unique 1-dimensional array index from 2-dimensional indices.

                                                              +

                                                              This allows a 2-dimensional (row-by-column) array to be stored and accessed as a 1-dimensional array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              ii- first (row) index
                                                              jj- second (column) index
                                                              numjj- maximum number of column indices
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              1-dimensional index.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 22 of file icvidx.c.

                                                              + +

                                                              Referenced by cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ifxy_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int ifxy_f (char * cfxy)
                                                              +
                                                              + +

                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.

                                                              +

                                                              Wraps ifxy() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              cfxy- FXY value.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              WMO bit-wise representation of FXY value.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Referenced by nummtb(), restd(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetntbi_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int igetntbi_f (int lun,
                                                              char * table_type 
                                                              )
                                                              +
                                                              + +

                                                              Get the next index for storing an entry within an internal DX BUFR table.

                                                              +

                                                              Wraps igetntbi() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID.
                                                              table_type- Type of internal DX BUFR table ('A', 'B', or 'D').
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              Next available index within table_type.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igettdi_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int igettdi_f (int iflag)
                                                              +
                                                              + +

                                                              Get the next usable Table D index for the current master table, or reset the index.

                                                              +

                                                              Wraps igettdi() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              iflag- Processing flag; if 0 will reset the index.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • -1, if iflag was input as 0.
                                                              • +
                                                              • next usable scratch Table D index, otherwise.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ imrkopr_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int imrkopr_f (char * nemo)
                                                              +
                                                              + +

                                                              Check whether a specified mnemonic is a Table C marker operator.

                                                              +

                                                              Wraps imrkopr() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nemo- Mnemonic.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 nemo is not a Table C marker operator.
                                                              • +
                                                              • 1 nemo is a Table C marker operator.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2016-05-04
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ istdesc_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              int istdesc_f (int idn)
                                                              +
                                                              + +

                                                              Check whether a descriptor is WMO-standard.

                                                              +

                                                              Wraps istdesc() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              idn- WMO bit-wise representation of FXY value for descriptor.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 idn is not a WMO-standard descriptor.
                                                              • +
                                                              • 1 idn is a WMO-standard descriptor.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2004-08-18
                                                              + +

                                                              Referenced by restd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iupb_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int iupb_f (int * mbay,
                                                              int nbyt,
                                                              int nbit 
                                                              )
                                                              +
                                                              + +

                                                              Decode an integer value from an integer array.

                                                              +

                                                              Wraps iupb() function.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              mbay- Array containing encoded value.
                                                              nbyt- Byte within mbay at whose first bit to begin decoding.
                                                              nbit- Number of bits to decode.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              Decoded value.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ numtbd_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void numtbd_f (int lun,
                                                              int idn,
                                                              char * nemo,
                                                              int nemo_str_len,
                                                              char * tab,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.

                                                              +

                                                              Wraps numtbd() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lun- File ID.
                                                              idn- Bit-wise representation of FXY value.
                                                              nemo- Mnemonic.
                                                              nemo_str_len- Length of nemo string.
                                                              tab- Type of internal DX BUFR table ('B', or 'D').
                                                              iret- Positional index of idn within Table B or D, or 0 if not found.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Referenced by restd(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openab()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void openab (int nfile,
                                                              char * ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for appending BUFR messages.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 56 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openrb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void openrb (int nfile,
                                                              char * ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for reading BUFR messages.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 30 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openwb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void openwb (int nfile,
                                                              char * ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for writing BUFR messages.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 43 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ pktdd_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void pktdd_f (int id,
                                                              int lun,
                                                              int idn,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Store information about a child mnemonic within the internal arrays.

                                                              +

                                                              Wraps pktdd() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              id- Index of parent mnemonic within internal arrays.
                                                              lun- File ID.
                                                              idn- WMO bit-wise representation of FXY value for child mnemonic, or 0 to delete all child mnemonic information for parent mnemonic id.
                                                              iret- 0 if idn=0; -1 if error occurred; otherwise, the total number of child mnemonics stored so far for parent mnemonic id.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ restd()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void restd (int lun,
                                                              int tddesc,
                                                              int * nctddesc,
                                                              int * ctddesc 
                                                              )
                                                              +
                                                              + +

                                                              Standardize a local Table D descriptor.

                                                              +

                                                              Given the bit-wise (integer) representation of a local (not WMO-standard) Table D descriptor, this subroutine returns an equivalent array of WMO-standard child descriptors.

                                                              +

                                                              Any child descriptors which are themselves local Table D descriptors are automatically resolved via a recursive call to this same subroutine. This recursive process continues until all child descriptors are either WMO-standard descriptors (from Table B, Table C, Table D, or replication descriptors) or else are local Table B descriptors, in which case they are preceded with an appropriate 2-06-YYY Table C operator in the output array. The output array is then useable by any standard BUFR decoder program in order to interpret the same data values as were represented by the input local Table D descriptor.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lun- File ID.
                                                              tddesc- WMO bit-wise representation of FXY value for local Table D descriptor.
                                                              nctddesc- Number of WMO-standard child descriptors returned in ctddesc.
                                                              ctddesc- Array of WMO-standard child descriptors equivalent to tddesc.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2004-08-18
                                                              + +

                                                              Definition at line 39 of file restd.c.

                                                              + +

                                                              References cadn30_f(), FXY_STR_LEN, moda_bitbuf::ibit, ifxy_f(), istdesc_f(), MAXNC, MIN_FXY_REPL, NEMO_STR_LEN, nemtbb_f(), numtbd_f(), UNIT_STR_LEN, uptdd_f(), and wrdesc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ stntbi_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void stntbi_f (int n,
                                                              int lun,
                                                              char * numb,
                                                              char * nemo,
                                                              char * celsq 
                                                              )
                                                              +
                                                              + +

                                                              Store a new entry within the internal BUFR Table B or D.

                                                              +

                                                              Wraps stntbi() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              n- Storage index into internal Table B or D.
                                                              lun- File ID.
                                                              numb- FXY number for new entry.
                                                              nemo- mnemonic corresponding to numb.
                                                              celsq- Element or sequence definition corresponding to numb.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ strnum_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void strnum_f (char * str,
                                                              int * num,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Decode an integer from a character string.

                                                              +

                                                              Wraps strnum() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              str- String.
                                                              num- Value decoded from str.
                                                              iret- Return code: 0 if successful, -1 otherwise.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ stseq()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void stseq (int lun,
                                                              int * irepct,
                                                              int idn,
                                                              char * nemo,
                                                              char * cseq,
                                                              int * cdesc,
                                                              int ncdesc 
                                                              )
                                                              +
                                                              + +

                                                              Store information about a standard Table D descriptor within internal DX BUFR tables.

                                                              +

                                                              Given the bit-wise (integer) representation of a WMO-standard Table D descriptor, this subroutine uses the master BUFR tables to store all of the necessary information for that descriptor within the internal DX BUFR tables. Any child descriptors which are themselves Table D descriptors are automatically resolved via a recursive call to this same subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lun- File ID.
                                                              irepct- Replication sequence counter for the current master table; used internally to keep track of which sequence names have already been defined, and thereby avoid contention within the internal DX BUFR Table D.
                                                              idn- WMO bit-wise representation of FXY value for WMO-standard Table D descriptor
                                                              nemo- Mnemonic corresponding to idn.
                                                              cseq- Description corresponding to idn.
                                                              cdesc- Array of WMO-standard child descriptors equivalent to idn.
                                                              ncdesc- Number of WMO-standard child descriptors in cdesc.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 111 of file stseq.c.

                                                              + +

                                                              References bort_f(), cadn30_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, elemdx_f(), FXY_STR_LEN, icvidx(), idefxy_c, ifxy_f(), igetntbi_f(), igetprm_f(), igettdi_f(), imrkopr_f(), MAX_FXY_TABLEB, MIN_FXY_REPL, MIN_FXY_TABLED, MXNAF, ndelem_c, NEMO_STR_LEN, nemtab_f(), nummtb(), numtbd_f(), pktdd_f(), stntbi_f(), and strnum_f().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ uptdd_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void uptdd_f (int id,
                                                              int lun,
                                                              int ient,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence.

                                                              +

                                                              Wraps uptdd() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              id- Positional index of parent mnemonic within internal Table D.
                                                              lun- File ID.
                                                              ient- Ordinal indicator of child mnemonic to be returned, or 0 to request a count of the total number of child mnemonics.
                                                              iret- Total number of child mnemonics if ient = 0; otherwise the WMO bit-wise representation of the FXY value corresponding to the ient'th mnemonic.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Referenced by restd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ wrdesc()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void wrdesc (int desc,
                                                              int * descary,
                                                              int * ndescary 
                                                              )
                                                              +
                                                              + +

                                                              Maintain an array of descriptors.

                                                              +

                                                              Given the WMO bit-wise representation of a descriptor, this routine adds it to an ongoing array of descriptors, after first making sure that there is enough room in the array.

                                                              +

                                                              If an array overflow occurs, then an appropriate error message will be written via bort().

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              desc- WMO bit-wise representation of descriptor to be written into descary.
                                                              descary- Array of descriptors.
                                                              ndescary- Number of descriptors written so far into descary.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2004-08-18
                                                              + +

                                                              Definition at line 27 of file wrdesc.c.

                                                              + +

                                                              References bort_f(), and MAXNC.

                                                              + +

                                                              Referenced by restd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ wrdlen_f()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void wrdlen_f (void )
                                                              +
                                                              + +

                                                              Determine important information about the local machine.

                                                              +

                                                              Wraps wrdlen() subroutine.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Referenced by cobfl(), and main().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/bufrlib_8h.js b/previous_versions/v12.0.1/bufrlib_8h.js new file mode 100644 index 000000000..5ea3a331e --- /dev/null +++ b/previous_versions/v12.0.1/bufrlib_8h.js @@ -0,0 +1,44 @@ +var bufrlib_8h = +[ + [ "FXY_STR_LEN", "bufrlib_8h.html#a320fb202c17784943f8223593c9123dd", null ], + [ "MAX_FXY_TABLEB", "bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858", null ], + [ "MAXCD", "bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3", null ], + [ "MAXNC", "bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510", null ], + [ "MIN_FXY_REPL", "bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b", null ], + [ "MIN_FXY_TABLED", "bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c", null ], + [ "MXNAF", "bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f", null ], + [ "NEMO_STR_LEN", "bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0", null ], + [ "NFILES", "bufrlib_8h.html#a51b267f0e740902752570c1847b99f14", null ], + [ "UNIT_STR_LEN", "bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69", null ], + [ "VERS_STR_LEN", "bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0", null ], + [ "arallocc", "bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28", null ], + [ "ardllocc", "bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb", null ], + [ "backbufr", "bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b", null ], + [ "bort_exit", "bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60", null ], + [ "bort_f", "bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447", null ], + [ "cadn30_f", "bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9", null ], + [ "cewind", "bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a", null ], + [ "closfb", "bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b", null ], + [ "crdbufr", "bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc", null ], + [ "cwrbufr", "bufrlib_8h.html#a95bc32869561911e9ca020628802edc5", null ], + [ "elemdx_f", "bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c", null ], + [ "icvidx", "bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38", null ], + [ "ifxy_f", "bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24", null ], + [ "igetntbi_f", "bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131", null ], + [ "igettdi_f", "bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2", null ], + [ "imrkopr_f", "bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47", null ], + [ "istdesc_f", "bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d", null ], + [ "iupb_f", "bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc", null ], + [ "numtbd_f", "bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a", null ], + [ "openab", "bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78", null ], + [ "openrb", "bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69", null ], + [ "openwb", "bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e", null ], + [ "pktdd_f", "bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187", null ], + [ "restd", "bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c", null ], + [ "stntbi_f", "bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f", null ], + [ "strnum_f", "bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11", null ], + [ "stseq", "bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40", null ], + [ "uptdd_f", "bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b", null ], + [ "wrdesc", "bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997", null ], + [ "wrdlen_f", "bufrlib_8h.html#a080eec815db985d32c88720a303f53c4", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/bufrlib_8h_source.html b/previous_versions/v12.0.1/bufrlib_8h_source.html new file mode 100644 index 000000000..97b2c5991 --- /dev/null +++ b/previous_versions/v12.0.1/bufrlib_8h_source.html @@ -0,0 +1,207 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib.h Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              bufrlib.h
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              12 #include <stdio.h>
                                                              +
                                                              13 #include <stdlib.h>
                                                              +
                                                              14 #include <string.h>
                                                              +
                                                              15 #include <ctype.h>
                                                              +
                                                              16 
                                                              +
                                                              17 #include "bufr_interface.h"
                                                              +
                                                              18 
                                                              +
                                                              19 void arallocc(void);
                                                              +
                                                              20 void ardllocc(void);
                                                              +
                                                              21 void openrb(int nfile, char *ufile);
                                                              +
                                                              22 void openwb(int nfile, char *ufile);
                                                              +
                                                              23 void openab(int nfile, char *ufile);
                                                              +
                                                              24 void backbufr(int nfile);
                                                              +
                                                              25 void cewind(int nfile);
                                                              +
                                                              26 void closfb(int nfile);
                                                              +
                                                              27 int crdbufr(int nfile, int *bufr, int mxwrd);
                                                              +
                                                              28 void cwrbufr(int nfile, int *bufr, int nwrd);
                                                              +
                                                              29 void bort_exit(void);
                                                              +
                                                              30 int icvidx(int ii, int jj, int numjj);
                                                              +
                                                              31 void wrdesc(int desc, int *descary, int *ndescary);
                                                              +
                                                              32 void restd(int lunb, int tddesc, int *nctddesc, int *ctddesc);
                                                              +
                                                              33 void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc);
                                                              +
                                                              34 
                                                              +
                                                              37 #define NFILES 32
                                                              +
                                                              38 
                                                              +
                                                              43 #define MAXCD 250
                                                              +
                                                              44 
                                                              +
                                                              47 #define MAXNC 600
                                                              +
                                                              48 
                                                              +
                                                              51 #define MXNAF 4
                                                              +
                                                              52 
                                                              +
                                                              54 #define FXY_STR_LEN 6
                                                              +
                                                              55 
                                                              +
                                                              57 #define MIN_FXY_REPL "101000"
                                                              +
                                                              58 
                                                              +
                                                              60 #define MIN_FXY_TABLED "300000"
                                                              +
                                                              61 
                                                              +
                                                              63 #define MAX_FXY_TABLEB "063255"
                                                              +
                                                              64 
                                                              +
                                                              66 #define NEMO_STR_LEN 8
                                                              +
                                                              67 
                                                              +
                                                              69 #define UNIT_STR_LEN 24
                                                              +
                                                              70 
                                                              +
                                                              72 #define VERS_STR_LEN 8
                                                              +
                                                              73 
                                                              +
                                                              86 void cadn30_f(int idn, char *adn, int adn_str_len);
                                                              +
                                                              87 
                                                              +
                                                              100 int igetntbi_f(int lun, char *table_type);
                                                              +
                                                              101 
                                                              +
                                                              113 void elemdx_f(char *card, int lun);
                                                              +
                                                              114 
                                                              +
                                                              129 void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret);
                                                              +
                                                              130 
                                                              +
                                                              143 int ifxy_f(char *cfxy);
                                                              +
                                                              144 
                                                              +
                                                              161 void uptdd_f(int id, int lun, int ient, int *iret);
                                                              +
                                                              162 
                                                              +
                                                              176 int imrkopr_f(char *nemo);
                                                              +
                                                              177 
                                                              +
                                                              191 int istdesc_f(int idn);
                                                              +
                                                              192 
                                                              +
                                                              204 void strnum_f(char *str, int *num, int *iret);
                                                              +
                                                              205 
                                                              +
                                                              219 void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq);
                                                              +
                                                              220 
                                                              +
                                                              235 int igettdi_f(int iflag);
                                                              +
                                                              236 
                                                              +
                                                              251 void pktdd_f(int id, int lun, int idn, int *iret);
                                                              +
                                                              252 
                                                              +
                                                              262 void bort_f(char *errstr);
                                                              +
                                                              263 
                                                              +
                                                              271 void wrdlen_f(void);
                                                              +
                                                              272 
                                                              +
                                                              286 int iupb_f(int *mbay, int nbyt, int nbit);
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.
                                                              +
                                                              int igettdi_f(int iflag)
                                                              Get the next usable Table D index for the current master table, or reset the index.
                                                              +
                                                              void cadn30_f(int idn, char *adn, int adn_str_len)
                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                                              +
                                                              void wrdlen_f(void)
                                                              Determine important information about the local machine.
                                                              +
                                                              void bort_exit(void)
                                                              This subroutine terminates the application program with a non-zero status code.
                                                              Definition: bort_exit.c:16
                                                              +
                                                              void elemdx_f(char *card, int lun)
                                                              Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
                                                              +
                                                              int imrkopr_f(char *nemo)
                                                              Check whether a specified mnemonic is a Table C marker operator.
                                                              +
                                                              void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                                              +
                                                              void bort_f(char *errstr)
                                                              Log one error message and abort application program.
                                                              +
                                                              void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
                                                              Store information about a standard Table D descriptor within internal DX BUFR tables.
                                                              Definition: stseq.c:111
                                                              +
                                                              void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq)
                                                              Store a new entry within the internal BUFR Table B or D.
                                                              +
                                                              void closfb(int nfile)
                                                              Close a previously opened BUFR file.
                                                              Definition: cread.c:92
                                                              +
                                                              int crdbufr(int nfile, int *bufr, int mxwrd)
                                                              Read the next message from a BUFR file that was previously opened for reading.
                                                              Definition: cread.c:114
                                                              +
                                                              void openab(int nfile, char *ufile)
                                                              Open a new file for appending BUFR messages.
                                                              Definition: cread.c:56
                                                              +
                                                              void cwrbufr(int nfile, int *bufr, int nwrd)
                                                              Write a BUFR message into a file that was previously opened for writing.
                                                              Definition: cread.c:199
                                                              +
                                                              void arallocc(void)
                                                              Dynamically allocate C language arrays.
                                                              Definition: arallocc.c:29
                                                              +
                                                              int ifxy_f(char *cfxy)
                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                                              +
                                                              void restd(int lunb, int tddesc, int *nctddesc, int *ctddesc)
                                                              Standardize a local Table D descriptor.
                                                              Definition: restd.c:39
                                                              +
                                                              void openwb(int nfile, char *ufile)
                                                              Open a new file for writing BUFR messages.
                                                              Definition: cread.c:43
                                                              +
                                                              void strnum_f(char *str, int *num, int *iret)
                                                              Decode an integer from a character string.
                                                              +
                                                              void openrb(int nfile, char *ufile)
                                                              Open a new file for reading BUFR messages.
                                                              Definition: cread.c:30
                                                              +
                                                              int icvidx(int ii, int jj, int numjj)
                                                              Computes a unique 1-dimensional array index from 2-dimensional indices.
                                                              Definition: icvidx.c:22
                                                              +
                                                              int iupb_f(int *mbay, int nbyt, int nbit)
                                                              Decode an integer value from an integer array.
                                                              +
                                                              void ardllocc(void)
                                                              Free all dynamically-allocated memory within internal C language arrays.
                                                              Definition: ardllocc.c:21
                                                              +
                                                              void pktdd_f(int id, int lun, int idn, int *iret)
                                                              Store information about a child mnemonic within the internal arrays.
                                                              +
                                                              int igetntbi_f(int lun, char *table_type)
                                                              Get the next index for storing an entry within an internal DX BUFR table.
                                                              +
                                                              void backbufr(int nfile)
                                                              Backspace a BUFR file by one BUFR message.
                                                              Definition: cread.c:68
                                                              +
                                                              void wrdesc(int desc, int *descary, int *ndescary)
                                                              Maintain an array of descriptors.
                                                              Definition: wrdesc.c:27
                                                              +
                                                              void uptdd_f(int id, int lun, int ient, int *iret)
                                                              Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D s...
                                                              +
                                                              int istdesc_f(int idn)
                                                              Check whether a descriptor is WMO-standard.
                                                              +
                                                              void cewind(int nfile)
                                                              Rewind a BUFR file back to its beginning.
                                                              Definition: cread.c:80
                                                              +
                                                              integer, dimension(:,:), allocatable mbay
                                                              Current BUFR message for each internal I/O stream.
                                                              +
                                                              integer, dimension(:), allocatable nbit
                                                              Length (in bits) of each packed data value in data subset.
                                                              +
                                                              +
                                                              + + + + diff --git a/bvers_8f.html b/previous_versions/v12.0.1/bvers_8f.html similarity index 100% rename from bvers_8f.html rename to previous_versions/v12.0.1/bvers_8f.html diff --git a/bvers_8f.js b/previous_versions/v12.0.1/bvers_8f.js similarity index 100% rename from bvers_8f.js rename to previous_versions/v12.0.1/bvers_8f.js diff --git a/bvers_8f_source.html b/previous_versions/v12.0.1/bvers_8f_source.html similarity index 100% rename from bvers_8f_source.html rename to previous_versions/v12.0.1/bvers_8f_source.html diff --git a/cadn30_8f.html b/previous_versions/v12.0.1/cadn30_8f.html similarity index 100% rename from cadn30_8f.html rename to previous_versions/v12.0.1/cadn30_8f.html diff --git a/cadn30_8f.js b/previous_versions/v12.0.1/cadn30_8f.js similarity index 100% rename from cadn30_8f.js rename to previous_versions/v12.0.1/cadn30_8f.js diff --git a/cadn30_8f_source.html b/previous_versions/v12.0.1/cadn30_8f_source.html similarity index 100% rename from cadn30_8f_source.html rename to previous_versions/v12.0.1/cadn30_8f_source.html diff --git a/capit_8f.html b/previous_versions/v12.0.1/capit_8f.html similarity index 100% rename from capit_8f.html rename to previous_versions/v12.0.1/capit_8f.html diff --git a/capit_8f.js b/previous_versions/v12.0.1/capit_8f.js similarity index 100% rename from capit_8f.js rename to previous_versions/v12.0.1/capit_8f.js diff --git a/capit_8f_source.html b/previous_versions/v12.0.1/capit_8f_source.html similarity index 100% rename from capit_8f_source.html rename to previous_versions/v12.0.1/capit_8f_source.html diff --git a/previous_versions/v12.0.1/cfe_8c.html b/previous_versions/v12.0.1/cfe_8c.html new file mode 100644 index 000000000..258b2f0d4 --- /dev/null +++ b/previous_versions/v12.0.1/cfe_8c.html @@ -0,0 +1,595 @@ + + + + + + + +NCEPLIBS-bufr: cfe.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              cfe.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              C language interface for processing master Code/Flag table entries. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Macros

                                                              #define MAX_MEANING_LEN   150
                                                               Maximum length of a meaning string for a Code/Flag table entry. More...
                                                               
                                                              + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions

                                                              int cmpstia1 (const void *pe1, const void *pe2)
                                                               Define a comparison between two master Code/Flag table entries. More...
                                                               
                                                              int cmpstia2 (const void *pe1, const void *pe2)
                                                               Define a comparison between two master Code/Flag table entries. More...
                                                               
                                                              void dlloctbf (void)
                                                               Free all dynamically-allocated memory for internal storage of master Code/Flag table entries. More...
                                                               
                                                              void inittbf (void)
                                                               Initialize memory for internal storage of master Code/Flag table entries. More...
                                                               
                                                              void sorttbf (void)
                                                               Sort entries within the master Code/Flag table. More...
                                                               
                                                              void srchtbf (int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald, char *meaning, int mxmng, int *lnmng, int *iret)
                                                               Search for a specified master Code/Flag table entry. More...
                                                               
                                                              void strtbfe (int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
                                                               Store a new master Code/Flag table entry. More...
                                                               
                                                              + + + + + + + + + + +

                                                              +Variables

                                                              struct code_flag_entry * cfe
                                                               Master Code/Flag table entries. More...
                                                               
                                                              int mxmtbf
                                                               Maximum number of master Code/Flag table entries, counting across all individual Code/Flag tables, and counting each defined code figure (within each individual Code table) or defined bit number (within each individual Flag table) as a separate entry. More...
                                                               
                                                              int nmtf
                                                               Number of stored master Code/Flag table entries in cfe, up to a maximum of MXMTBF. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              C language interface for processing master Code/Flag table entries.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-16
                                                              + +

                                                              Definition in file cfe.c.

                                                              +

                                                              Macro Definition Documentation

                                                              + +

                                                              ◆ MAX_MEANING_LEN

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MAX_MEANING_LEN   150
                                                              +
                                                              + +

                                                              Maximum length of a meaning string for a Code/Flag table entry.

                                                              + +

                                                              Definition at line 11 of file cfe.c.

                                                              + +
                                                              +
                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ cmpstia1()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int cmpstia1 (const void * pe1,
                                                              const void * pe2 
                                                              )
                                                              +
                                                              + +

                                                              Define a comparison between two master Code/Flag table entries.

                                                              +

                                                              This function defines a comparison between two entries within the internal memory structure for storage of master Code/Flag table entries. The comparison is used by the intrinsic C functions qsort and bsearch, and it differs from the the comparison in function cmpstia2() because it compares all of the iffxyn, ifval, iffxynd and ifvald components of the structure, whereas cmpstia2() only compares the iffxyn and ifval components.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              pe1- First master Code/Flag table entry.
                                                              pe2- Second master Code/Flag table entry.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              cmpstia1:
                                                                +
                                                              • -1 = pe1 is less than pe2
                                                              • +
                                                              • 0 = pe1 is equal to pe2
                                                              • +
                                                              • 1 = pe1 is greater than pe2
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-13
                                                              + +

                                                              Definition at line 113 of file cfe.c.

                                                              + +

                                                              Referenced by sorttbf(), and srchtbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cmpstia2()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int cmpstia2 (const void * pe1,
                                                              const void * pe2 
                                                              )
                                                              +
                                                              + +

                                                              Define a comparison between two master Code/Flag table entries.

                                                              +

                                                              This function defines a comparison between two entries within the internal memory structure for storage of master Code/Flag table entries. The comparison is used by the intrinsic C function bsearch, and it differs from the the comparison in function cmpstia1() because it only compares the iffxyn and ifval components of the structure, whereas cmpstia1() compares all of the iffxyn, ifval, iffxynd and ifvald components of the structure.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              pe1- First master Code/Flag table entry.
                                                              pe2- Second master Code/Flag table entry.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              cmpstia2:
                                                                +
                                                              • -1 = pe1 is less than pe2
                                                              • +
                                                              • 0 = pe1 is equal to pe2
                                                              • +
                                                              • 1 = pe1 is greater than pe2
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-13
                                                              + +

                                                              Definition at line 158 of file cfe.c.

                                                              + +

                                                              Referenced by srchtbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ dlloctbf()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void dlloctbf (void )
                                                              +
                                                              + +

                                                              Free all dynamically-allocated memory for internal storage of master Code/Flag table entries.

                                                              +

                                                              This function frees any memory that was dynamically allocated during a previous call to function inittbf().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 85 of file cfe.c.

                                                              + +

                                                              References cfe.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ inittbf()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void inittbf (void )
                                                              +
                                                              + +

                                                              Initialize memory for internal storage of master Code/Flag table entries.

                                                              +

                                                              This function initializes the internal memory structure for storage of master Code/Flag table entries, including dynamically allocating space for this structure if needed.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 56 of file cfe.c.

                                                              + +

                                                              References bort_f(), cfe, igetprm_f(), mxmtbf, and nmtf.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ sorttbf()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void sorttbf (void )
                                                              +
                                                              + +

                                                              Sort entries within the master Code/Flag table.

                                                              +

                                                              This function sorts the entries within the internal memory structure for storage of master Code/Flag table entries, in preparation for future searches using function srchtbf().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-16
                                                              + +

                                                              Definition at line 225 of file cfe.c.

                                                              + +

                                                              References cfe, cmpstia1(), and nmtf.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ srchtbf()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void srchtbf (int ifxyi,
                                                              int ivali,
                                                              int * ifxyd,
                                                              int mxfxyd,
                                                              int ivald,
                                                              char * meaning,
                                                              int mxmng,
                                                              int * lnmng,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Search for a specified master Code/Flag table entry.

                                                              +

                                                              This function searches for a specified FXY number and associated value (code figure or bit number) within the internal memory structure for storage of master Code/Flag table entries, and if found returns the associated meaning as a character string.

                                                              +

                                                              The search may optionally include a specified second FXY number and associated value upon which the first FXY number and its associated value depend, for example when the meaning of an originating sub-center value depends on the identity of the originating center for which the sub-center in question is a member.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + + +
                                                              ifxyi- Bit-wise representation of FXY number to search for.
                                                              ivali- Value (code figure or bit number) associated with ifxyi.
                                                              ifxyd- Dependence indicator:
                                                                +
                                                              • On input, ifxyd[0] is set to the bit-wise representation of the FXY number upon which ifxyi and ivali depend, or else set to (-1) if ifxyi and ivali do not depend on the value associated with any other FXY number.
                                                              • +
                                                              • On output, if the initial search of the master Code/Flag table was unsuccessful, and if ifxyd[0] and ivald were both set to (-1) on input, and if a second search of the table determines that the meaning of ifxyi and ivali indeed depends on one or more other FXY numbers, then the bit-wise representations of those FXY numbers are returned within the first iret elements of ifxyd.
                                                              • +
                                                              +
                                                              ivald- Value (code figure or bit number) associated with the FXY number in ifxyd[0]; set to (-1) whenever ifxyd[0] is also set to (-1).
                                                              mxfxyd- Number of elements in ifxyd array; used by the function to ensure that it doesn't overflow the array.
                                                              mxmng- Number of elements in meaning array; used by the function to ensure that it doesn't overflow the string.
                                                              meaning- Meaning corresponding to ifxyi and ivali (and to ifxyd[0] and ivald, if specified on input).
                                                              lnmng- Length (in bytes) of string returned in CMEANG.
                                                              iret- Return code:
                                                                +
                                                              • 0 = Meaning found and stored in meaning string.
                                                              • +
                                                              • -1 = Meaning not found.
                                                              • +
                                                              • >0 = Meaning not found, and ifxyd[0] and ivald were both set to (-1) on input, and the meaning of ifxyi and ivali depends on the the value associated with one of the FXY numbers whose bit-wise representation is stored in the first iret elements of ifxyd.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2018-01-11
                                                              + +

                                                              Definition at line 278 of file cfe.c.

                                                              + +

                                                              References cfe, cmpstia1(), cmpstia2(), and nmtf.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ strtbfe()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void strtbfe (int ifxyn,
                                                              int ival,
                                                              char * meaning,
                                                              int lmeaning,
                                                              int idfxy,
                                                              int idval 
                                                              )
                                                              +
                                                              + +

                                                              Store a new master Code/Flag table entry.

                                                              +

                                                              This function adds a new entry to the internal memory structure for storage of master Code/Flag table entries.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              ifxyn- Bit-wise representation of FXY number for which ival is a defined code or flag table entry.
                                                              ival- Code figure or bit number.
                                                              meaning- Meaning associated with ifxyn and ival.
                                                              lmeaning- Length (in bytes) of meaning.
                                                              idfxy- Bit-wise representation of FXY number upon which ifxyn and ival depend (if any), or else set to a value of (-1).
                                                              idval- Code figure or bit number associated with idfxy and upon which ifxyn and ival depend (if any), or else set to (-1) whenever idfxy is also set to (-1).
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-13
                                                              + +

                                                              Definition at line 191 of file cfe.c.

                                                              + +

                                                              References bort_f(), cfe, moda_ival::ival, MAX_MEANING_LEN, mxmtbf, and nmtf.

                                                              + +
                                                              +
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cfe

                                                              + +
                                                              +
                                                              + + + + +
                                                              struct code_flag_entry* cfe
                                                              +
                                                              + +

                                                              Master Code/Flag table entries.

                                                              + +

                                                              Definition at line 34 of file cfe.c.

                                                              + +

                                                              Referenced by dlloctbf(), inittbf(), sorttbf(), srchtbf(), and strtbfe().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mxmtbf

                                                              + +
                                                              +
                                                              + + + + +
                                                              int mxmtbf
                                                              +
                                                              + +

                                                              Maximum number of master Code/Flag table entries, counting across all individual Code/Flag tables, and counting each defined code figure (within each individual Code table) or defined bit number (within each individual Flag table) as a separate entry.

                                                              + +

                                                              Definition at line 41 of file cfe.c.

                                                              + +

                                                              Referenced by inittbf(), and strtbfe().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmtf

                                                              + +
                                                              +
                                                              + + + + +
                                                              int nmtf
                                                              +
                                                              + +

                                                              Number of stored master Code/Flag table entries in cfe, up to a maximum of MXMTBF.

                                                              + +

                                                              Definition at line 44 of file cfe.c.

                                                              + +

                                                              Referenced by inittbf(), sorttbf(), srchtbf(), and strtbfe().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/cfe_8c.js b/previous_versions/v12.0.1/cfe_8c.js new file mode 100644 index 000000000..3d585e3c6 --- /dev/null +++ b/previous_versions/v12.0.1/cfe_8c.js @@ -0,0 +1,14 @@ +var cfe_8c = +[ + [ "MAX_MEANING_LEN", "cfe_8c.html#a655e9465dd48c1e8a068b4689748e509", null ], + [ "cmpstia1", "cfe_8c.html#a7211d196317c36365a40a128875d5041", null ], + [ "cmpstia2", "cfe_8c.html#a54e09962aa43b61717212a2702be33c8", null ], + [ "dlloctbf", "cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583", null ], + [ "inittbf", "cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e", null ], + [ "sorttbf", "cfe_8c.html#af9bdd990bf256341aa36e1f0611132de", null ], + [ "srchtbf", "cfe_8c.html#aba549e6acf16abcbe89193cb72d94287", null ], + [ "strtbfe", "cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76", null ], + [ "cfe", "cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16", null ], + [ "mxmtbf", "cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2", null ], + [ "nmtf", "cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/cfe_8c_source.html b/previous_versions/v12.0.1/cfe_8c_source.html new file mode 100644 index 000000000..df0396568 --- /dev/null +++ b/previous_versions/v12.0.1/cfe_8c_source.html @@ -0,0 +1,336 @@ + + + + + + + +NCEPLIBS-bufr: cfe.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              cfe.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              8 #include "bufrlib.h"
                                                              +
                                                              9 
                                                              +
                                                              11 #define MAX_MEANING_LEN 150
                                                              +
                                                              12 
                                                              +
                                                              16 struct code_flag_entry {
                                                              +
                                                              18  int iffxyn;
                                                              +
                                                              20  int ifval;
                                                              +
                                                              22  char ifmeaning[MAX_MEANING_LEN+1];
                                                              +
                                                              26  int iffxynd;
                                                              +
                                                              30  int ifvald;
                                                              +
                                                              31 };
                                                              +
                                                              32 
                                                              +
                                                              34 struct code_flag_entry *cfe; /* will automatically initialize to NULL */
                                                              +
                                                              35 
                                                              +
                                                              41 int mxmtbf;
                                                              +
                                                              42 
                                                              +
                                                              44 int nmtf;
                                                              +
                                                              45 
                                                              +
                                                              55 void
                                                              +
                                                              56 inittbf(void)
                                                              +
                                                              57 {
                                                              +
                                                              58  char brtstr[50] = "BUFRLIB: INITTBF FAILED ALLOCATING CFE";
                                                              +
                                                              59 
                                                              +
                                                              60  /*
                                                              +
                                                              61  ** Has array space for the internal memory structure been
                                                              +
                                                              62  ** allocated yet?
                                                              +
                                                              63  */
                                                              +
                                                              64  if ( cfe == NULL ) {
                                                              +
                                                              65 
                                                              +
                                                              66  mxmtbf = igetprm_f("MXMTBF");
                                                              +
                                                              67 
                                                              +
                                                              68  if ( ( cfe = malloc(mxmtbf * sizeof(struct code_flag_entry)) ) == NULL ) {
                                                              +
                                                              69  bort_f(brtstr);
                                                              +
                                                              70  }
                                                              +
                                                              71  }
                                                              +
                                                              72 
                                                              +
                                                              73  nmtf = 0;
                                                              +
                                                              74 }
                                                              +
                                                              75 
                                                              +
                                                              84 void
                                                              +
                                                              85 dlloctbf(void)
                                                              +
                                                              86 {
                                                              +
                                                              87  free(cfe);
                                                              +
                                                              88 
                                                              +
                                                              89  cfe = NULL;
                                                              +
                                                              90 }
                                                              +
                                                              91 
                                                              +
                                                              112 int
                                                              +
                                                              113 cmpstia1(const void *pe1, const void *pe2)
                                                              +
                                                              114 {
                                                              +
                                                              115  struct code_flag_entry *mype1 = ( struct code_flag_entry * ) pe1;
                                                              +
                                                              116  struct code_flag_entry *mype2 = ( struct code_flag_entry * ) pe2;
                                                              +
                                                              117 
                                                              +
                                                              118  if ( mype1->iffxyn == mype2->iffxyn ) {
                                                              +
                                                              119  if ( mype1->ifval == mype2->ifval ) {
                                                              +
                                                              120  if ( mype1->iffxynd == mype2->iffxynd ) {
                                                              +
                                                              121  if ( mype1->ifvald == mype2->ifvald ) return 0;
                                                              +
                                                              122  return ( mype1->ifvald < mype2->ifvald ? -1 : 1 );
                                                              +
                                                              123  }
                                                              +
                                                              124  else {
                                                              +
                                                              125  return ( mype1->iffxynd < mype2->iffxynd ? -1 : 1 );
                                                              +
                                                              126  }
                                                              +
                                                              127  }
                                                              +
                                                              128  else {
                                                              +
                                                              129  return ( mype1->ifval < mype2->ifval ? -1 : 1 );
                                                              +
                                                              130  }
                                                              +
                                                              131  }
                                                              +
                                                              132  else {
                                                              +
                                                              133  return ( mype1->iffxyn < mype2->iffxyn ? -1 : 1 );
                                                              +
                                                              134  }
                                                              +
                                                              135 }
                                                              +
                                                              136 
                                                              +
                                                              157 int
                                                              +
                                                              158 cmpstia2(const void *pe1, const void *pe2)
                                                              +
                                                              159 {
                                                              +
                                                              160  struct code_flag_entry *mype1 = ( struct code_flag_entry * ) pe1;
                                                              +
                                                              161  struct code_flag_entry *mype2 = ( struct code_flag_entry * ) pe2;
                                                              +
                                                              162 
                                                              +
                                                              163  if ( mype1->iffxyn == mype2->iffxyn ) {
                                                              +
                                                              164  if ( mype1->ifval == mype2->ifval ) return 0;
                                                              +
                                                              165  return ( mype1->ifval < mype2->ifval ? -1 : 1 );
                                                              +
                                                              166  }
                                                              +
                                                              167  else {
                                                              +
                                                              168  return ( mype1->iffxyn < mype2->iffxyn ? -1 : 1 );
                                                              +
                                                              169  }
                                                              +
                                                              170 }
                                                              +
                                                              171 
                                                              +
                                                              190 void
                                                              +
                                                              191 strtbfe(int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
                                                              +
                                                              192 {
                                                              +
                                                              193  unsigned int mnlen;
                                                              +
                                                              194 
                                                              +
                                                              195  static char brtstr[50] = "BUFRLIB: STRTBFE - MXMTBF OVERFLOW";
                                                              +
                                                              196 
                                                              +
                                                              197  /*
                                                              +
                                                              198  ** Confirm that there's room for another entry in the structure.
                                                              +
                                                              199  */
                                                              +
                                                              200  if ( nmtf >= mxmtbf ) bort_f(brtstr);
                                                              +
                                                              201 
                                                              +
                                                              202  /*
                                                              +
                                                              203  ** Store the new entry.
                                                              +
                                                              204  */
                                                              +
                                                              205  cfe[nmtf].iffxyn = ifxyn;
                                                              +
                                                              206  cfe[nmtf].ifval = ival;
                                                              +
                                                              207  mnlen = ( lmeaning > MAX_MEANING_LEN ? MAX_MEANING_LEN : lmeaning );
                                                              +
                                                              208  strncpy(&cfe[nmtf].ifmeaning[0], meaning, mnlen);
                                                              +
                                                              209  cfe[nmtf].ifmeaning[mnlen] = '\0';
                                                              +
                                                              210  cfe[nmtf].iffxynd = idfxy;
                                                              +
                                                              211  cfe[nmtf].ifvald = idval;
                                                              +
                                                              212  nmtf++;
                                                              +
                                                              213 }
                                                              +
                                                              214 
                                                              +
                                                              224 void
                                                              +
                                                              225 sorttbf(void)
                                                              +
                                                              226 {
                                                              +
                                                              227  qsort(&cfe[0], (size_t) nmtf, sizeof(struct code_flag_entry),
                                                              +
                                                              228  (int (*) (const void *, const void *)) cmpstia1);
                                                              +
                                                              229 }
                                                              +
                                                              230 
                                                              +
                                                              277 void
                                                              +
                                                              278 srchtbf(int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald,
                                                              +
                                                              279  char *meaning, int mxmng, int *lnmng, int *iret)
                                                              +
                                                              280 {
                                                              +
                                                              281  struct code_flag_entry key, *pkey, *pcfe, *pbs;
                                                              +
                                                              282 
                                                              +
                                                              283  int ipt, ii, slmng;
                                                              +
                                                              284 
                                                              +
                                                              285  *iret = -1;
                                                              +
                                                              286 
                                                              +
                                                              287  /*
                                                              +
                                                              288  ** Initialize some values for searching the internal table.
                                                              +
                                                              289  */
                                                              +
                                                              290  key.iffxyn = ifxyi;
                                                              +
                                                              291  key.ifval = ivali;
                                                              +
                                                              292  key.iffxynd = ifxyd[0];
                                                              +
                                                              293  key.ifvald = ivald;
                                                              +
                                                              294 
                                                              +
                                                              295  pkey = &key;
                                                              +
                                                              296  pcfe = &cfe[0];
                                                              +
                                                              297 
                                                              +
                                                              298  /*
                                                              +
                                                              299  ** Search for a matching entry.
                                                              +
                                                              300  */
                                                              +
                                                              301  pbs = (struct code_flag_entry *) bsearch(pkey, pcfe, (size_t) nmtf,
                                                              +
                                                              302  sizeof(struct code_flag_entry),
                                                              +
                                                              303  (int (*) (const void *, const void *)) cmpstia1);
                                                              +
                                                              304  if ( pbs != NULL ) {
                                                              +
                                                              305  /*
                                                              +
                                                              306  ** A matching entry was found, so set the appropriate output
                                                              +
                                                              307  ** values and return.
                                                              +
                                                              308  */
                                                              +
                                                              309  ipt = pbs - pcfe;
                                                              +
                                                              310  slmng = strlen(cfe[ipt].ifmeaning);
                                                              +
                                                              311  *lnmng = ( mxmng > slmng ? slmng : mxmng );
                                                              +
                                                              312  strncpy(meaning, &cfe[ipt].ifmeaning[0], *lnmng);
                                                              +
                                                              313  *iret = 0;
                                                              +
                                                              314  return;
                                                              +
                                                              315  }
                                                              +
                                                              316 
                                                              +
                                                              317  /*
                                                              +
                                                              318  ** Was a particular dependency specified in the input?
                                                              +
                                                              319  */
                                                              +
                                                              320  if ( key.iffxynd != -1 ) {
                                                              +
                                                              321  /*
                                                              +
                                                              322  ** YES, so there's nothing else to do.
                                                              +
                                                              323  */
                                                              +
                                                              324  return;
                                                              +
                                                              325  }
                                                              +
                                                              326 
                                                              +
                                                              327  /*
                                                              +
                                                              328  ** NO, so check whether the given Table B descriptor and value have any
                                                              +
                                                              329  ** dependencies, and if so then return a list of those dependencies.
                                                              +
                                                              330  */
                                                              +
                                                              331  pbs = (struct code_flag_entry *) bsearch(pkey, pcfe, (size_t) nmtf,
                                                              +
                                                              332  sizeof(struct code_flag_entry),
                                                              +
                                                              333  (int (*) (const void *, const void *)) cmpstia2);
                                                              +
                                                              334  if ( pbs == NULL ) {
                                                              +
                                                              335  /*
                                                              +
                                                              336  ** There are no dependencies.
                                                              +
                                                              337  */
                                                              +
                                                              338  return;
                                                              +
                                                              339  }
                                                              +
                                                              340 
                                                              +
                                                              341  /*
                                                              +
                                                              342  ** Store the dependency that was returned by the secondary search.
                                                              +
                                                              343  ** However, there may be others within the internal table, so we'll
                                                              +
                                                              344  ** also need to check for those.
                                                              +
                                                              345  */
                                                              +
                                                              346  ipt = pbs - pcfe;
                                                              +
                                                              347  *iret = 0;
                                                              +
                                                              348  ifxyd[(*iret)++] = cfe[ipt].iffxynd;
                                                              +
                                                              349 
                                                              +
                                                              350  /*
                                                              +
                                                              351  ** Since the internal table is sorted, check immediately before and
                                                              +
                                                              352  ** after the returned dependency for any additional table entries which
                                                              +
                                                              353  ** correspond to the same Table B descriptor and value, but for which the
                                                              +
                                                              354  ** dependency is different. If any such additional dependencies are
                                                              +
                                                              355  ** found, return those as well.
                                                              +
                                                              356  */
                                                              +
                                                              357  ii = ipt - 1;
                                                              +
                                                              358  while ( ( ii >= 0 ) &&
                                                              +
                                                              359  ( *iret < mxfxyd ) &&
                                                              +
                                                              360  ( cfe[ii].iffxyn == key.iffxyn ) &&
                                                              +
                                                              361  ( cfe[ii].ifval == key.ifval ) ) {
                                                              +
                                                              362  if ( cfe[ii].iffxynd < ifxyd[(*iret)-1] )
                                                              +
                                                              363  ifxyd[(*iret)++] = cfe[ii].iffxynd;
                                                              +
                                                              364  ii--;
                                                              +
                                                              365  }
                                                              +
                                                              366  ii = ipt + 1;
                                                              +
                                                              367  while ( ( ii < nmtf ) &&
                                                              +
                                                              368  ( *iret < mxfxyd ) &&
                                                              +
                                                              369  ( cfe[ii].iffxyn == key.iffxyn ) &&
                                                              +
                                                              370  ( cfe[ii].ifval == key.ifval ) ) {
                                                              +
                                                              371  if ( ( cfe[ii].iffxynd > ifxyd[(*iret)-1] ) &&
                                                              +
                                                              372  ( cfe[ii].iffxynd > cfe[ipt].iffxynd ) )
                                                              +
                                                              373  ifxyd[(*iret)++] = cfe[ii].iffxynd;
                                                              +
                                                              374  ii++;
                                                              +
                                                              375  }
                                                              +
                                                              376 
                                                              +
                                                              377  return;
                                                              +
                                                              378 }
                                                              +
                                                              int igetprm_f(char *cprmnm)
                                                              Get the current value of a parameter.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              void bort_f(char *errstr)
                                                              Log one error message and abort application program.
                                                              +
                                                              void dlloctbf(void)
                                                              Free all dynamically-allocated memory for internal storage of master Code/Flag table entries.
                                                              Definition: cfe.c:85
                                                              +
                                                              int cmpstia2(const void *pe1, const void *pe2)
                                                              Define a comparison between two master Code/Flag table entries.
                                                              Definition: cfe.c:158
                                                              +
                                                              #define MAX_MEANING_LEN
                                                              Maximum length of a meaning string for a Code/Flag table entry.
                                                              Definition: cfe.c:11
                                                              +
                                                              int cmpstia1(const void *pe1, const void *pe2)
                                                              Define a comparison between two master Code/Flag table entries.
                                                              Definition: cfe.c:113
                                                              +
                                                              void inittbf(void)
                                                              Initialize memory for internal storage of master Code/Flag table entries.
                                                              Definition: cfe.c:56
                                                              +
                                                              void srchtbf(int ifxyi, int ivali, int *ifxyd, int mxfxyd, int ivald, char *meaning, int mxmng, int *lnmng, int *iret)
                                                              Search for a specified master Code/Flag table entry.
                                                              Definition: cfe.c:278
                                                              +
                                                              struct code_flag_entry * cfe
                                                              Master Code/Flag table entries.
                                                              Definition: cfe.c:34
                                                              +
                                                              int mxmtbf
                                                              Maximum number of master Code/Flag table entries, counting across all individual Code/Flag tables,...
                                                              Definition: cfe.c:41
                                                              +
                                                              void strtbfe(int ifxyn, int ival, char *meaning, int lmeaning, int idfxy, int idval)
                                                              Store a new master Code/Flag table entry.
                                                              Definition: cfe.c:191
                                                              +
                                                              int nmtf
                                                              Number of stored master Code/Flag table entries in cfe, up to a maximum of MXMTBF.
                                                              Definition: cfe.c:44
                                                              +
                                                              void sorttbf(void)
                                                              Sort entries within the master Code/Flag table.
                                                              Definition: cfe.c:225
                                                              +
                                                              integer(8), dimension(:), allocatable ival
                                                              BUFR data subset values.
                                                              +
                                                              +
                                                              + + + + diff --git a/chekstab_8f.html b/previous_versions/v12.0.1/chekstab_8f.html similarity index 100% rename from chekstab_8f.html rename to previous_versions/v12.0.1/chekstab_8f.html diff --git a/chekstab_8f.js b/previous_versions/v12.0.1/chekstab_8f.js similarity index 100% rename from chekstab_8f.js rename to previous_versions/v12.0.1/chekstab_8f.js diff --git a/chekstab_8f_source.html b/previous_versions/v12.0.1/chekstab_8f_source.html similarity index 100% rename from chekstab_8f_source.html rename to previous_versions/v12.0.1/chekstab_8f_source.html diff --git a/cktaba_8f.html b/previous_versions/v12.0.1/cktaba_8f.html similarity index 100% rename from cktaba_8f.html rename to previous_versions/v12.0.1/cktaba_8f.html diff --git a/cktaba_8f.js b/previous_versions/v12.0.1/cktaba_8f.js similarity index 100% rename from cktaba_8f.js rename to previous_versions/v12.0.1/cktaba_8f.js diff --git a/cktaba_8f_source.html b/previous_versions/v12.0.1/cktaba_8f_source.html similarity index 100% rename from cktaba_8f_source.html rename to previous_versions/v12.0.1/cktaba_8f_source.html diff --git a/previous_versions/v12.0.1/classes.html b/previous_versions/v12.0.1/classes.html new file mode 100644 index 000000000..4f0fd2da4 --- /dev/null +++ b/previous_versions/v12.0.1/classes.html @@ -0,0 +1,125 @@ + + + + + + + +NCEPLIBS-bufr: Data Types + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + + + + + + diff --git a/closbf_8f.html b/previous_versions/v12.0.1/closbf_8f.html similarity index 100% rename from closbf_8f.html rename to previous_versions/v12.0.1/closbf_8f.html diff --git a/closbf_8f.js b/previous_versions/v12.0.1/closbf_8f.js similarity index 100% rename from closbf_8f.js rename to previous_versions/v12.0.1/closbf_8f.js diff --git a/closbf_8f_source.html b/previous_versions/v12.0.1/closbf_8f_source.html similarity index 100% rename from closbf_8f_source.html rename to previous_versions/v12.0.1/closbf_8f_source.html diff --git a/previous_versions/v12.0.1/closed.png b/previous_versions/v12.0.1/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/closmg_8f.html b/previous_versions/v12.0.1/closmg_8f.html similarity index 100% rename from closmg_8f.html rename to previous_versions/v12.0.1/closmg_8f.html diff --git a/closmg_8f.js b/previous_versions/v12.0.1/closmg_8f.js similarity index 100% rename from closmg_8f.js rename to previous_versions/v12.0.1/closmg_8f.js diff --git a/closmg_8f_source.html b/previous_versions/v12.0.1/closmg_8f_source.html similarity index 100% rename from closmg_8f_source.html rename to previous_versions/v12.0.1/closmg_8f_source.html diff --git a/previous_versions/v12.0.1/cmpbqm_8F90.html b/previous_versions/v12.0.1/cmpbqm_8F90.html new file mode 100644 index 000000000..251326728 --- /dev/null +++ b/previous_versions/v12.0.1/cmpbqm_8F90.html @@ -0,0 +1,143 @@ + + + + + + + +NCEPLIBS-bufr: cmpbqm.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              cmpbqm.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Print inventory of observations from prepbufr file by variable, report type and quality mark. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Functions/Subroutines

                                                              program cmpbqm
                                                               Usage: cmpbqm <prepbufrfile> will print prep inventory by variable, report type, and qc mark. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Print inventory of observations from prepbufr file by variable, report type and quality mark.

                                                              +
                                                              Author
                                                              J Woollen
                                                              +
                                                              Date
                                                              1997
                                                              + +

                                                              Definition in file cmpbqm.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ cmpbqm()

                                                              + +
                                                              +
                                                              + + + + +
                                                              program cmpbqm
                                                              +
                                                              + +

                                                              Usage: cmpbqm <prepbufrfile> will print prep inventory by variable, report type, and qc mark.

                                                              +
                                                              Returns
                                                              0 for success, error message otherwise.
                                                              +
                                                              Author
                                                              J Woollen
                                                              +
                                                              Date
                                                              1997
                                                              + +

                                                              Definition at line 11 of file cmpbqm.F90.

                                                              + +

                                                              References bort(), openbf(), readmg(), readsb(), ufbcnt(), and ufbint().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/cmpbqm_8F90.js b/previous_versions/v12.0.1/cmpbqm_8F90.js new file mode 100644 index 000000000..78ba6d08e --- /dev/null +++ b/previous_versions/v12.0.1/cmpbqm_8F90.js @@ -0,0 +1,4 @@ +var cmpbqm_8F90 = +[ + [ "cmpbqm", "cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/cmpbqm_8F90_source.html b/previous_versions/v12.0.1/cmpbqm_8F90_source.html new file mode 100644 index 000000000..222f9e249 --- /dev/null +++ b/previous_versions/v12.0.1/cmpbqm_8F90_source.html @@ -0,0 +1,226 @@ + + + + + + + +NCEPLIBS-bufr: cmpbqm.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              cmpbqm.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              11 PROGRAM cmpbqm
                                                              +
                                                              12 
                                                              +
                                                              13  CHARACTER*255 file
                                                              +
                                                              14  CHARACTER*50 headr,obstr,qmstr
                                                              +
                                                              15  CHARACTER*20 vars(7)
                                                              +
                                                              16  CHARACTER*8 subset,date
                                                              +
                                                              17  dimension knt(300,7,0:17),hdr(5),obs(8,255),qms(8,255)
                                                              +
                                                              18  LOGICAL exist
                                                              +
                                                              19  real*8 hdr,obs,qms
                                                              +
                                                              20 
                                                              +
                                                              21  DATA headr /'SID XOB YOB DHR TYP '/
                                                              +
                                                              22  DATA obstr /'POB QOB TOB ZOB UOB PWO RHO VOB '/
                                                              +
                                                              23  DATA qmstr /'PQM QQM TQM ZQM WQM PWQ RHQ '/
                                                              +
                                                              24 
                                                              +
                                                              25  DATA vars /'PRESSURE ',&
                                                              +
                                                              26  'SPECIFIC HUMIDTY',&
                                                              +
                                                              27  'TEMPERATURE ',&
                                                              +
                                                              28  'HEIGHT ',&
                                                              +
                                                              29  'WIND COMPONENTS ',&
                                                              +
                                                              30  'PRECIPITABLE H2O',&
                                                              +
                                                              31  'RELATIVE HUMIDTY'/
                                                              +
                                                              32 
                                                              +
                                                              33  DATA lubfr /8 /
                                                              +
                                                              34  DATA vmax /10e10/
                                                              +
                                                              35 
                                                              +
                                                              36  !-----------------------------------------------------------------------
                                                              +
                                                              37  !-----------------------------------------------------------------------
                                                              +
                                                              38 
                                                              +
                                                              39  irec = 0
                                                              +
                                                              40  knt = 0
                                                              +
                                                              41 
                                                              +
                                                              42  ! OPEN A FILE - GET A DATE
                                                              +
                                                              43  ! ------------------------
                                                              +
                                                              44 
                                                              +
                                                              45  call getarg(1,file); file=trim(adjustl(file))
                                                              +
                                                              46  if (file == '') then
                                                              +
                                                              47  print *, 'Usage: Usage: cmpbqm <prepbufrfile> will print prep inventory by variable, report type, and qc mark'
                                                              +
                                                              48  call exit(2)
                                                              +
                                                              49  endif
                                                              +
                                                              50  inquire(file=file,exist=exist)
                                                              +
                                                              51  if (.not.exist) then
                                                              +
                                                              52  print *, trim(file)//' does not exist'
                                                              +
                                                              53  call exit(3)
                                                              +
                                                              54  endif
                                                              +
                                                              55 
                                                              +
                                                              56  open(lubfr,file=file,form='unformatted')
                                                              +
                                                              57  CALL openbf(lubfr,'IN',lubfr)
                                                              +
                                                              58  CALL readmg(lubfr,subset,idate,iret)
                                                              +
                                                              59  IF(iret.NE.0) GOTO 900
                                                              +
                                                              60  WRITE(date,'(I8)') idate
                                                              +
                                                              61  DO i=1,8
                                                              +
                                                              62  IF(date(i:i).EQ.' ') date(i:i) = '0'
                                                              +
                                                              63  ENDDO
                                                              +
                                                              64  print'(''DATA VALID AT '',A8)',date
                                                              +
                                                              65 
                                                              +
                                                              66  ! READ THRU THE PREPDA RECORDS
                                                              +
                                                              67  ! ----------------------------
                                                              +
                                                              68 
                                                              +
                                                              69 10 CALL readsb(lubfr,iret)
                                                              +
                                                              70  IF(iret.NE.0) THEN
                                                              +
                                                              71  CALL readmg(lubfr,subset,idate,iret)
                                                              +
                                                              72  IF(iret.NE.0) GOTO 100
                                                              +
                                                              73  CALL ufbcnt(lubfr,irec,isub)
                                                              +
                                                              74  GOTO 10
                                                              +
                                                              75  ENDIF
                                                              +
                                                              76  qms = 10e10
                                                              +
                                                              77  CALL ufbint(lubfr,hdr,5,1,iret,headr)
                                                              +
                                                              78  CALL ufbint(lubfr,obs,8,255,nlev,obstr)
                                                              +
                                                              79  CALL ufbint(lubfr,qms,8,255,nlev,qmstr)
                                                              +
                                                              80 
                                                              +
                                                              81  kx = nint(hdr(5))
                                                              +
                                                              82 
                                                              +
                                                              83  DO l=1,nlev
                                                              +
                                                              84  DO k=1,7
                                                              +
                                                              85  iq = -1
                                                              +
                                                              86  IF(k.EQ.5) obs(5,l) = max(obs(5,l),obs(8,l))
                                                              +
                                                              87  IF(obs(k,l).LT.vmax .AND. qms(k,l).LT.vmax) THEN
                                                              +
                                                              88  iq = nint(qms(k,l))
                                                              +
                                                              89  ELSEIF(obs(k,l).LT.vmax .AND. qms(k,l).GE.vmax) THEN
                                                              +
                                                              90  iq = 16
                                                              +
                                                              91  ELSEIF(obs(k,l).GE.vmax .AND. qms(k,l).LT.vmax) THEN
                                                              +
                                                              92  iq = 17
                                                              +
                                                              93  ENDIF
                                                              +
                                                              94  IF(iq.GE.0) knt(kx,k,iq) = knt(kx,k,iq)+1
                                                              +
                                                              95  ENDDO
                                                              +
                                                              96  ENDDO
                                                              +
                                                              97 
                                                              +
                                                              98  GOTO 10
                                                              +
                                                              99 
                                                              +
                                                              100  ! FINISH UP
                                                              +
                                                              101  ! ---------
                                                              +
                                                              102 
                                                              +
                                                              103 100 DO k=1,7
                                                              +
                                                              104  print*,vars(k)
                                                              +
                                                              105  print*
                                                              +
                                                              106  DO kx=1,300
                                                              +
                                                              107  itot = 0; igood=0; ifail=0
                                                              +
                                                              108  DO iq=0,17
                                                              +
                                                              109  itot = itot+knt(kx,k,iq)
                                                              +
                                                              110  if(iq.le.3) then
                                                              +
                                                              111  igood=igood+knt(kx,k,iq)
                                                              +
                                                              112  elseif(iq.le.7) then
                                                              +
                                                              113  ifail=ifail+knt(kx,k,iq)
                                                              +
                                                              114  endif
                                                              +
                                                              115  ENDDO
                                                              +
                                                              116  IF(itot.GT.0) print 101,kx,itot,igood,ifail,(knt(kx,k,iq),iq=8,17)
                                                              +
                                                              117 101 FORMAT(i3,i6,2('|', i6),&
                                                              +
                                                              118  2('|', i6),&
                                                              +
                                                              119  1('|',6i6),&
                                                              +
                                                              120  2('|', i6))
                                                              +
                                                              121  ENDDO
                                                              +
                                                              122  print*
                                                              +
                                                              123  ENDDO
                                                              +
                                                              124 
                                                              +
                                                              125  print*,'******CMPBQM PROCESSED ',irec,' BUFR RECORDS******'
                                                              +
                                                              126  stop
                                                              +
                                                              127 900 CALL bort('CMPBQM - ERROR READING BUFR FILE ')
                                                              +
                                                              128 END PROGRAM cmpbqm
                                                              +
                                                              subroutine bort(STR)
                                                              Log one error message and abort application program.
                                                              Definition: bort.f:18
                                                              +
                                                              program cmpbqm
                                                              Usage: cmpbqm <prepbufrfile> will print prep inventory by variable, report type, and qc mark.
                                                              Definition: cmpbqm.F90:11
                                                              +
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              recursive subroutine readmg(LUNXX, SUBSET, JDATE, IRET)
                                                              Reads the next BUFR message from logical unit ABS(LUNXX) into internal arrays.
                                                              Definition: readmg.f:52
                                                              +
                                                              recursive subroutine readsb(LUNIT, IRET)
                                                              Read the next data subset from a BUFR message.
                                                              Definition: readsb.f:33
                                                              +
                                                              recursive subroutine ufbcnt(LUNIT, KMSG, KSUB)
                                                              Get the current message number and data subset number within a BUFR file.
                                                              Definition: ufbcnt.f:41
                                                              +
                                                              recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
                                                              Read/write one or more data values from/to a data subset.
                                                              Definition: ufbint.f:121
                                                              +
                                                              +
                                                              + + + + diff --git a/cmpmsg_8f.html b/previous_versions/v12.0.1/cmpmsg_8f.html similarity index 100% rename from cmpmsg_8f.html rename to previous_versions/v12.0.1/cmpmsg_8f.html diff --git a/cmpmsg_8f.js b/previous_versions/v12.0.1/cmpmsg_8f.js similarity index 100% rename from cmpmsg_8f.js rename to previous_versions/v12.0.1/cmpmsg_8f.js diff --git a/cmpmsg_8f_source.html b/previous_versions/v12.0.1/cmpmsg_8f_source.html similarity index 100% rename from cmpmsg_8f_source.html rename to previous_versions/v12.0.1/cmpmsg_8f_source.html diff --git a/cmsgini_8f.html b/previous_versions/v12.0.1/cmsgini_8f.html similarity index 100% rename from cmsgini_8f.html rename to previous_versions/v12.0.1/cmsgini_8f.html diff --git a/cmsgini_8f.js b/previous_versions/v12.0.1/cmsgini_8f.js similarity index 100% rename from cmsgini_8f.js rename to previous_versions/v12.0.1/cmsgini_8f.js diff --git a/cmsgini_8f_source.html b/previous_versions/v12.0.1/cmsgini_8f_source.html similarity index 100% rename from cmsgini_8f_source.html rename to previous_versions/v12.0.1/cmsgini_8f_source.html diff --git a/cnved4_8f.html b/previous_versions/v12.0.1/cnved4_8f.html similarity index 100% rename from cnved4_8f.html rename to previous_versions/v12.0.1/cnved4_8f.html diff --git a/cnved4_8f.js b/previous_versions/v12.0.1/cnved4_8f.js similarity index 100% rename from cnved4_8f.js rename to previous_versions/v12.0.1/cnved4_8f.js diff --git a/cnved4_8f_source.html b/previous_versions/v12.0.1/cnved4_8f_source.html similarity index 100% rename from cnved4_8f_source.html rename to previous_versions/v12.0.1/cnved4_8f_source.html diff --git a/codflg_8f.html b/previous_versions/v12.0.1/codflg_8f.html similarity index 100% rename from codflg_8f.html rename to previous_versions/v12.0.1/codflg_8f.html diff --git a/codflg_8f.js b/previous_versions/v12.0.1/codflg_8f.js similarity index 100% rename from codflg_8f.js rename to previous_versions/v12.0.1/codflg_8f.js diff --git a/codflg_8f_source.html b/previous_versions/v12.0.1/codflg_8f_source.html similarity index 100% rename from codflg_8f_source.html rename to previous_versions/v12.0.1/codflg_8f_source.html diff --git a/conwin_8f.html b/previous_versions/v12.0.1/conwin_8f.html similarity index 100% rename from conwin_8f.html rename to previous_versions/v12.0.1/conwin_8f.html diff --git a/conwin_8f.js b/previous_versions/v12.0.1/conwin_8f.js similarity index 100% rename from conwin_8f.js rename to previous_versions/v12.0.1/conwin_8f.js diff --git a/conwin_8f_source.html b/previous_versions/v12.0.1/conwin_8f_source.html similarity index 100% rename from conwin_8f_source.html rename to previous_versions/v12.0.1/conwin_8f_source.html diff --git a/copybf_8f.html b/previous_versions/v12.0.1/copybf_8f.html similarity index 100% rename from copybf_8f.html rename to previous_versions/v12.0.1/copybf_8f.html diff --git a/copybf_8f.js b/previous_versions/v12.0.1/copybf_8f.js similarity index 100% rename from copybf_8f.js rename to previous_versions/v12.0.1/copybf_8f.js diff --git a/copybf_8f_source.html b/previous_versions/v12.0.1/copybf_8f_source.html similarity index 100% rename from copybf_8f_source.html rename to previous_versions/v12.0.1/copybf_8f_source.html diff --git a/copymg_8f.html b/previous_versions/v12.0.1/copymg_8f.html similarity index 100% rename from copymg_8f.html rename to previous_versions/v12.0.1/copymg_8f.html diff --git a/copymg_8f.js b/previous_versions/v12.0.1/copymg_8f.js similarity index 100% rename from copymg_8f.js rename to previous_versions/v12.0.1/copymg_8f.js diff --git a/copymg_8f_source.html b/previous_versions/v12.0.1/copymg_8f_source.html similarity index 100% rename from copymg_8f_source.html rename to previous_versions/v12.0.1/copymg_8f_source.html diff --git a/copysb_8f.html b/previous_versions/v12.0.1/copysb_8f.html similarity index 100% rename from copysb_8f.html rename to previous_versions/v12.0.1/copysb_8f.html diff --git a/copysb_8f.js b/previous_versions/v12.0.1/copysb_8f.js similarity index 100% rename from copysb_8f.js rename to previous_versions/v12.0.1/copysb_8f.js diff --git a/copysb_8f_source.html b/previous_versions/v12.0.1/copysb_8f_source.html similarity index 100% rename from copysb_8f_source.html rename to previous_versions/v12.0.1/copysb_8f_source.html diff --git a/cpbfdx_8f.html b/previous_versions/v12.0.1/cpbfdx_8f.html similarity index 100% rename from cpbfdx_8f.html rename to previous_versions/v12.0.1/cpbfdx_8f.html diff --git a/cpbfdx_8f.js b/previous_versions/v12.0.1/cpbfdx_8f.js similarity index 100% rename from cpbfdx_8f.js rename to previous_versions/v12.0.1/cpbfdx_8f.js diff --git a/cpbfdx_8f_source.html b/previous_versions/v12.0.1/cpbfdx_8f_source.html similarity index 100% rename from cpbfdx_8f_source.html rename to previous_versions/v12.0.1/cpbfdx_8f_source.html diff --git a/cpdxmm_8f.html b/previous_versions/v12.0.1/cpdxmm_8f.html similarity index 100% rename from cpdxmm_8f.html rename to previous_versions/v12.0.1/cpdxmm_8f.html diff --git a/cpdxmm_8f.js b/previous_versions/v12.0.1/cpdxmm_8f.js similarity index 100% rename from cpdxmm_8f.js rename to previous_versions/v12.0.1/cpdxmm_8f.js diff --git a/cpdxmm_8f_source.html b/previous_versions/v12.0.1/cpdxmm_8f_source.html similarity index 100% rename from cpdxmm_8f_source.html rename to previous_versions/v12.0.1/cpdxmm_8f_source.html diff --git a/previous_versions/v12.0.1/cpmstabs_8c.html b/previous_versions/v12.0.1/cpmstabs_8c.html new file mode 100644 index 000000000..a9c04d94f --- /dev/null +++ b/previous_versions/v12.0.1/cpmstabs_8c.html @@ -0,0 +1,257 @@ + + + + + + + +NCEPLIBS-bufr: cpmstabs.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              cpmstabs.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              Copy master Table B and Table D information from Fortran arrays to C arrays within internal memory. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +#include "mstabs.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Functions

                                                              void cpmstabs (int nmtb, int *ibfxyn, char(*cbscl)[4], char(*cbsref)[12], char(*cbbw)[4], char(*cbunit)[24], char(*cbmnem)[8], char(*cbelem)[120], int nmtd, int *idfxyn, char(*cdseq)[120], char(*cdmnem)[8], int *ndelem, int *idefxy, int maxcd)
                                                               This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time, and in which case we can't directly access the Fortran module MODA_MSTABS arrays from within C. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Copy master Table B and Table D information from Fortran arrays to C arrays within internal memory.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition in file cpmstabs.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ cpmstabs()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void cpmstabs (int nmtb,
                                                              int * ibfxyn,
                                                              char(*) cbscl[4],
                                                              char(*) cbsref[12],
                                                              char(*) cbbw[4],
                                                              char(*) cbunit[24],
                                                              char(*) cbmnem[8],
                                                              char(*) cbelem[120],
                                                              int nmtd,
                                                              int * idfxyn,
                                                              char(*) cdseq[120],
                                                              char(*) cdmnem[8],
                                                              int * ndelem,
                                                              int * idefxy,
                                                              int maxcd 
                                                              )
                                                              +
                                                              + +

                                                              This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time, and in which case we can't directly access the Fortran module MODA_MSTABS arrays from within C.

                                                              +

                                                              All arguments to this subroutine are input.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + + + + + + + + +
                                                              nmtb- Number of master Table B entries
                                                              ibfxyn- Bit-wise representations of master Table B FXY numbers
                                                              cbscl- Master Table B scale factors
                                                              cbsref- Master Table B reference values
                                                              cbbw- Master Table B bit widths
                                                              cbunit- Master Table B units
                                                              cbmnem- Master Table B mnemonics
                                                              cbelem- Master Table B element names
                                                              nmtd- Number of master Table D entries
                                                              idfxyn- Bit-wise representations of master Table D FXY numbers
                                                              cdseq- Master Table D sequence names
                                                              cdmnem- Master Table D mnemonics
                                                              ndelem- Number of child descriptors for master Table D sequence
                                                              idefxy- Bit-wise representations of child descriptors for master Table D sequence
                                                              maxcd- Maximum number of child descriptors for a master Table D sequence
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition at line 37 of file cpmstabs.c.

                                                              + +

                                                              References moda_mstabs::cbbw, cbbw_c, moda_mstabs::cbelem, cbelem_c, moda_mstabs::cbmnem, cbmnem_c, moda_mstabs::cbscl, cbscl_c, moda_mstabs::cbsref, cbsref_c, moda_mstabs::cbunit, cbunit_c, moda_mstabs::cdmnem, cdmnem_c, moda_mstabs::cdseq, cdseq_c, moda_mstabs::ibfxyn, ibfxyn_c, icvidx(), moda_mstabs::idefxy, idefxy_c, moda_mstabs::idfxyn, idfxyn_c, modv_maxcd::maxcd, moda_mstabs::ndelem, ndelem_c, moda_mstabs::nmtb, nmtb_c, moda_mstabs::nmtd, and nmtd_c.

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/cpmstabs_8c.js b/previous_versions/v12.0.1/cpmstabs_8c.js new file mode 100644 index 000000000..3fdde364f --- /dev/null +++ b/previous_versions/v12.0.1/cpmstabs_8c.js @@ -0,0 +1,4 @@ +var cpmstabs_8c = +[ + [ "cpmstabs", "cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/cpmstabs_8c_source.html b/previous_versions/v12.0.1/cpmstabs_8c_source.html new file mode 100644 index 000000000..5ddf08f92 --- /dev/null +++ b/previous_versions/v12.0.1/cpmstabs_8c_source.html @@ -0,0 +1,183 @@ + + + + + + + +NCEPLIBS-bufr: cpmstabs.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              cpmstabs.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 #include "bufrlib.h"
                                                              +
                                                              7 #include "mstabs.h"
                                                              +
                                                              8 
                                                              +
                                                              36 void
                                                              +
                                                              37 cpmstabs(int nmtb, int *ibfxyn, char (*cbscl)[4], char (*cbsref)[12], char (*cbbw)[4],
                                                              +
                                                              38  char (*cbunit)[24], char (*cbmnem)[8], char (*cbelem)[120], int nmtd,
                                                              +
                                                              39  int *idfxyn, char (*cdseq)[120], char (*cdmnem)[8], int *ndelem,
                                                              +
                                                              40  int *idefxy, int maxcd)
                                                              +
                                                              41 {
                                                              +
                                                              42 
                                                              +
                                                              43  int ii, jj, idx;
                                                              +
                                                              44 
                                                              +
                                                              45  nmtb_c = nmtb;
                                                              +
                                                              46  for ( ii = 0; ii < nmtb; ii++ ) {
                                                              +
                                                              47  ibfxyn_c[ii] = ibfxyn[ii];
                                                              +
                                                              48  for ( jj = 0; jj < 4; jj++ ) {
                                                              +
                                                              49  cbscl_c[ii][jj] = cbscl[ii][jj];
                                                              +
                                                              50  cbbw_c[ii][jj] = cbbw[ii][jj];
                                                              +
                                                              51  }
                                                              +
                                                              52  for ( jj = 0; jj < 8; jj++ ) {
                                                              +
                                                              53  cbmnem_c[ii][jj] = cbmnem[ii][jj];
                                                              +
                                                              54  }
                                                              +
                                                              55  for ( jj = 0; jj < 12; jj++ ) {
                                                              +
                                                              56  cbsref_c[ii][jj] = cbsref[ii][jj];
                                                              +
                                                              57  }
                                                              +
                                                              58  for ( jj = 0; jj < 24; jj++ ) {
                                                              +
                                                              59  cbunit_c[ii][jj] = cbunit[ii][jj];
                                                              +
                                                              60  }
                                                              +
                                                              61  for ( jj = 0; jj < 120; jj++ ) {
                                                              +
                                                              62  cbelem_c[ii][jj] = cbelem[ii][jj];
                                                              +
                                                              63  }
                                                              +
                                                              64  }
                                                              +
                                                              65 
                                                              +
                                                              66  nmtd_c = nmtd;
                                                              +
                                                              67  for ( ii = 0; ii < nmtd; ii++ ) {
                                                              +
                                                              68  idfxyn_c[ii] = idfxyn[ii];
                                                              +
                                                              69  ndelem_c[ii] = ndelem[ii];
                                                              +
                                                              70  for ( jj = 0; jj < ndelem[ii]; jj++ ) {
                                                              +
                                                              71  idx = icvidx( ii, jj, maxcd );
                                                              +
                                                              72  idefxy_c[idx] = idefxy[idx];
                                                              +
                                                              73  }
                                                              +
                                                              74  for ( jj = 0; jj < 8; jj++ ) {
                                                              +
                                                              75  cdmnem_c[ii][jj] = cdmnem[ii][jj];
                                                              +
                                                              76  }
                                                              +
                                                              77  for ( jj = 0; jj < 120; jj++ ) {
                                                              +
                                                              78  cdseq_c[ii][jj] = cdseq[ii][jj];
                                                              +
                                                              79  }
                                                              +
                                                              80  }
                                                              +
                                                              81 
                                                              +
                                                              82 }
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              void cpmstabs(int nmtb, int *ibfxyn, char(*cbscl)[4], char(*cbsref)[12], char(*cbbw)[4], char(*cbunit)[24], char(*cbmnem)[8], char(*cbelem)[120], int nmtd, int *idfxyn, char(*cdseq)[120], char(*cdmnem)[8], int *ndelem, int *idefxy, int maxcd)
                                                              This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays ...
                                                              Definition: cpmstabs.c:37
                                                              +
                                                              int icvidx(int ii, int jj, int numjj)
                                                              Computes a unique 1-dimensional array index from 2-dimensional indices.
                                                              Definition: icvidx.c:22
                                                              +
                                                              Declare variables for internal storage of master Table B and Table D entries.
                                                              +
                                                              char(* cbunit_c)[24]
                                                              Master Table B units; copied from Fortran cbunit array.
                                                              +
                                                              int * idfxyn_c
                                                              Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                                              +
                                                              char(* cdmnem_c)[8]
                                                              Master Table D mnemonics; copied from Fortran cdmnem array.
                                                              +
                                                              char(* cbelem_c)[120]
                                                              Master Table B element names; copied from Fortran cbelem array.
                                                              +
                                                              int * ndelem_c
                                                              Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
                                                              +
                                                              int nmtd_c
                                                              Number of master Table D entries; copied from Fortran nmtd variable.
                                                              +
                                                              int * idefxy_c
                                                              Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
                                                              +
                                                              char(* cbbw_c)[4]
                                                              Master Table B bit widths; copied from Fortran cbbw array.
                                                              +
                                                              char(* cbsref_c)[12]
                                                              Master Table B reference value; copied from Fortran cbsref array.
                                                              +
                                                              char(* cdseq_c)[120]
                                                              Master Table D sequence names; copied from Fortran cdseq array.
                                                              +
                                                              int * ibfxyn_c
                                                              Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                                              +
                                                              int nmtb_c
                                                              Number of master Table B entries; copied from Fortran nmtb variable.
                                                              +
                                                              char(* cbscl_c)[4]
                                                              Master Table B scale factors; copied from Fortran cbscl array.
                                                              +
                                                              char(* cbmnem_c)[8]
                                                              Master Table B mnemonics; copied from Fortran cbmnem array.
                                                              +
                                                              integer, dimension(:), allocatable idfxyn
                                                              Bit-wise representations of FXY numbers for master Table D.
                                                              +
                                                              character, dimension(:,:), allocatable cbunit
                                                              Units corresponding to ibfxyn.
                                                              +
                                                              integer nmtb
                                                              Number of master Table B entries (up to a maximum of MXMTBB).
                                                              +
                                                              character, dimension(:,:), allocatable cbbw
                                                              Bit widths corresponding to ibfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cdseq
                                                              Sequence names corresponding to idfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbmnem
                                                              Mnemonics corresponding to ibfxyn.
                                                              +
                                                              integer, dimension(:), allocatable ndelem
                                                              Numbers of child descriptors corresponding to idfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbelem
                                                              Element names corresponding to ibfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbscl
                                                              Scale factors corresponding to ibfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cdmnem
                                                              Mnemonics corresponding to idfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbsref
                                                              Reference values corresponding to ibfxyn.
                                                              +
                                                              integer nmtd
                                                              Number of master Table D entries (up to a maximum of MXMTBD).
                                                              +
                                                              integer, dimension(:), allocatable idefxy
                                                              Bit-wise representations of child descriptors corresponding to idfxyn.
                                                              +
                                                              integer, dimension(:), allocatable ibfxyn
                                                              Bit-wise representations of FXY numbers for master Table B.
                                                              +
                                                              integer, public maxcd
                                                              Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
                                                              +
                                                              +
                                                              + + + + diff --git a/cpymem_8f.html b/previous_versions/v12.0.1/cpymem_8f.html similarity index 100% rename from cpymem_8f.html rename to previous_versions/v12.0.1/cpymem_8f.html diff --git a/cpymem_8f.js b/previous_versions/v12.0.1/cpymem_8f.js similarity index 100% rename from cpymem_8f.js rename to previous_versions/v12.0.1/cpymem_8f.js diff --git a/cpymem_8f_source.html b/previous_versions/v12.0.1/cpymem_8f_source.html similarity index 100% rename from cpymem_8f_source.html rename to previous_versions/v12.0.1/cpymem_8f_source.html diff --git a/cpyupd_8f.html b/previous_versions/v12.0.1/cpyupd_8f.html similarity index 100% rename from cpyupd_8f.html rename to previous_versions/v12.0.1/cpyupd_8f.html diff --git a/cpyupd_8f.js b/previous_versions/v12.0.1/cpyupd_8f.js similarity index 100% rename from cpyupd_8f.js rename to previous_versions/v12.0.1/cpyupd_8f.js diff --git a/cpyupd_8f_source.html b/previous_versions/v12.0.1/cpyupd_8f_source.html similarity index 100% rename from cpyupd_8f_source.html rename to previous_versions/v12.0.1/cpyupd_8f_source.html diff --git a/previous_versions/v12.0.1/cread_8c.html b/previous_versions/v12.0.1/cread_8c.html new file mode 100644 index 000000000..211ecef90 --- /dev/null +++ b/previous_versions/v12.0.1/cread_8c.html @@ -0,0 +1,477 @@ + + + + + + + +NCEPLIBS-bufr: cread.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              cread.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              C language interface for reading or writing BUFR messages. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +#include "cread.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions

                                                              void backbufr (int nfile)
                                                               Backspace a BUFR file by one BUFR message. More...
                                                               
                                                              void cewind (int nfile)
                                                               Rewind a BUFR file back to its beginning. More...
                                                               
                                                              void closfb (int nfile)
                                                               Close a previously opened BUFR file. More...
                                                               
                                                              int crdbufr (int nfile, int *bufr, int mxwrd)
                                                               Read the next message from a BUFR file that was previously opened for reading. More...
                                                               
                                                              void cwrbufr (int nfile, int *bufr, int nwrd)
                                                               Write a BUFR message into a file that was previously opened for writing. More...
                                                               
                                                              void openab (int nfile, char *ufile)
                                                               Open a new file for appending BUFR messages. More...
                                                               
                                                              void openrb (int nfile, char *ufile)
                                                               Open a new file for reading BUFR messages. More...
                                                               
                                                              void openwb (int nfile, char *ufile)
                                                               Open a new file for writing BUFR messages. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              C language interface for reading or writing BUFR messages.

                                                              +

                                                              This interface is used internally by many of the Fortran language file-reading/writing subroutines and message-reading/writing subroutines within the NCEPLIBS-bufr software, in order to use C to directly read/write BUFR messages from/to files.

                                                              +

                                                              This in turn eliminates the need for IEEE Fortran control words within files, though such control words can still be included when writing BUFR messages to files (if desired) via a previous call to subroutine setblock().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition in file cread.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ backbufr()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void backbufr (int nfile)
                                                              +
                                                              + +

                                                              Backspace a BUFR file by one BUFR message.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 68 of file cread.c.

                                                              + +

                                                              References lstpos, and pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cewind()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void cewind (int nfile)
                                                              +
                                                              + +

                                                              Rewind a BUFR file back to its beginning.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 80 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ closfb()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void closfb (int nfile)
                                                              +
                                                              + +

                                                              Close a previously opened BUFR file.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 92 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ crdbufr()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int crdbufr (int nfile,
                                                              int * bufr,
                                                              int mxwrd 
                                                              )
                                                              +
                                                              + +

                                                              Read the next message from a BUFR file that was previously opened for reading.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              nfile- File ID.
                                                              bufr- BUFR message.
                                                              mxwrd- Number of elements in bufr array; used by the function to ensure that it doesn't overflow the array.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • -1 end-of-file encountered while reading.
                                                              • +
                                                              • -2 I/O error encountered while reading.
                                                              • +
                                                              • -3 overflow of bufr array.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 114 of file cread.c.

                                                              + +

                                                              References iupbs01_f(), lstpos, and pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cwrbufr()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void cwrbufr (int nfile,
                                                              int * bufr,
                                                              int nwrd 
                                                              )
                                                              +
                                                              + +

                                                              Write a BUFR message into a file that was previously opened for writing.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              nfile- File ID.
                                                              bufr- BUFR message.
                                                              nwrd- Size (in integers) of bufr.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 199 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openab()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void openab (int nfile,
                                                              char * ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for appending BUFR messages.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 56 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openrb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void openrb (int nfile,
                                                              char * ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for reading BUFR messages.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 30 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openwb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void openwb (int nfile,
                                                              char * ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for writing BUFR messages.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition at line 43 of file cread.c.

                                                              + +

                                                              References pb.

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/cread_8c.js b/previous_versions/v12.0.1/cread_8c.js new file mode 100644 index 000000000..96401e3e1 --- /dev/null +++ b/previous_versions/v12.0.1/cread_8c.js @@ -0,0 +1,11 @@ +var cread_8c = +[ + [ "backbufr", "cread_8c.html#ad5429d7ed327f515c880227bb795162b", null ], + [ "cewind", "cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a", null ], + [ "closfb", "cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b", null ], + [ "crdbufr", "cread_8c.html#a8b09f32462059d646e44ea6098a08edc", null ], + [ "cwrbufr", "cread_8c.html#a95bc32869561911e9ca020628802edc5", null ], + [ "openab", "cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78", null ], + [ "openrb", "cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69", null ], + [ "openwb", "cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/cread_8c_source.html b/previous_versions/v12.0.1/cread_8c_source.html new file mode 100644 index 000000000..025189b7d --- /dev/null +++ b/previous_versions/v12.0.1/cread_8c_source.html @@ -0,0 +1,227 @@ + + + + + + + +NCEPLIBS-bufr: cread.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              cread.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              18 #include "bufrlib.h"
                                                              +
                                                              19 #include "cread.h"
                                                              +
                                                              20 
                                                              +
                                                              29 void
                                                              +
                                                              30 openrb(int nfile, char *ufile) {
                                                              +
                                                              31  pb[nfile] = fopen(ufile, "rb ");
                                                              +
                                                              32 }
                                                              +
                                                              33 
                                                              +
                                                              42 void
                                                              +
                                                              43 openwb(int nfile, char *ufile) {
                                                              +
                                                              44  pb[nfile] = fopen(ufile, "wb ");
                                                              +
                                                              45 }
                                                              +
                                                              46 
                                                              +
                                                              55 void
                                                              +
                                                              56 openab(int nfile, char *ufile) {
                                                              +
                                                              57  pb[nfile] = fopen(ufile, "a+b");
                                                              +
                                                              58 }
                                                              +
                                                              59 
                                                              +
                                                              67 void
                                                              +
                                                              68 backbufr(int nfile) {
                                                              +
                                                              69  fsetpos(pb[nfile],&lstpos[nfile]);
                                                              +
                                                              70 }
                                                              +
                                                              71 
                                                              +
                                                              79 void
                                                              +
                                                              80 cewind(int nfile) {
                                                              +
                                                              81  rewind(pb[nfile]);
                                                              +
                                                              82 }
                                                              +
                                                              83 
                                                              +
                                                              91 void
                                                              +
                                                              92 closfb(int nfile) {
                                                              +
                                                              93  fclose(pb[nfile]);
                                                              +
                                                              94 }
                                                              +
                                                              95 
                                                              +
                                                              113 int
                                                              +
                                                              114 crdbufr(int nfile, int *bufr, int mxwrd) {
                                                              +
                                                              115 
                                                              +
                                                              116  int nbytrem, nintrem, nbytx, nintx, wkint[2], ii;
                                                              +
                                                              117  size_t nb = sizeof(int), nbdi8 = 8/sizeof(int);
                                                              +
                                                              118  char wkchr[17] = " ";
                                                              +
                                                              119  fpos_t nxtpos;
                                                              +
                                                              120 
                                                              +
                                                              121  /* Find the start of the next BUFR message within the file. */
                                                              +
                                                              122  fgetpos(pb[nfile], &lstpos[nfile]);
                                                              +
                                                              123  while (strncmp(wkchr, "BUFR", 4) != 0) {
                                                              +
                                                              124  memmove(wkchr, &wkchr[1], 3);
                                                              +
                                                              125  if (fread(wkchr + 3, 1, 1, pb[nfile]) != 1)
                                                              +
                                                              126  return -1;
                                                              +
                                                              127  }
                                                              +
                                                              128 
                                                              +
                                                              129  /* Save the current location in case we need to restore it later. */
                                                              +
                                                              130  fgetpos(pb[nfile], &nxtpos);
                                                              +
                                                              131 
                                                              +
                                                              132  /* Read the next 4 bytes of the message. */
                                                              +
                                                              133  if (fread(wkchr+4, 1, 4, pb[nfile]) != 4)
                                                              +
                                                              134  return -1;
                                                              +
                                                              135 
                                                              +
                                                              136  /* Determine the remaining number of bytes in the message. This doesn't
                                                              +
                                                              137  * include the first 8 bytes, because we've already read those in. */
                                                              +
                                                              138  memcpy(wkint, wkchr, 8);
                                                              +
                                                              139  nbytrem = iupbs01_f(wkint, "LENM") - 8;
                                                              +
                                                              140 
                                                              +
                                                              141  nintrem = nbytrem / nb;
                                                              +
                                                              142  nintx = nbdi8;
                                                              +
                                                              143  /* Since nbytrem doesn't include the first 8 bytes of the BUFR message, then
                                                              +
                                                              144  * nintrem is at least nintx integers short of the number needed to hold the
                                                              +
                                                              145  * entire message. But there may still be one more integer needed beyond
                                                              +
                                                              146  * that, depending on whether nbytrem is an exact multiple of nb. */
                                                              +
                                                              147  if ( ( nbytx = nbytrem % nb ) > 0 ) {
                                                              +
                                                              148  nintx += 1;
                                                              +
                                                              149  }
                                                              +
                                                              150  /* Make sure the output array is large enough to hold the entire message. */
                                                              +
                                                              151  if (nintrem + nintx > mxwrd) {
                                                              +
                                                              152  fsetpos(pb[nfile], &nxtpos);
                                                              +
                                                              153  return -3;
                                                              +
                                                              154  }
                                                              +
                                                              155 
                                                              +
                                                              156  /* Copy the first 8 bytes of the BUFR message into the output array. */
                                                              +
                                                              157  for ( ii = 0; ii < nbdi8; ii++ ) {
                                                              +
                                                              158  bufr[ii] = wkint[ii];
                                                              +
                                                              159  }
                                                              +
                                                              160  /* Continue reading up to the next-to-last integer of the BUFR message,
                                                              +
                                                              161  * and copy these into the output array. */
                                                              +
                                                              162  if (fread(&bufr[ii], nb, nintrem-1, pb[nfile]) != nintrem-1) {
                                                              +
                                                              163  fsetpos(pb[nfile],&nxtpos);
                                                              +
                                                              164  return -2;
                                                              +
                                                              165  }
                                                              +
                                                              166 
                                                              +
                                                              167  /* Read the last few bytes of the BUFR message and check for the "7777"
                                                              +
                                                              168  * indicator. We want to read the end of the message byte-by-byte
                                                              +
                                                              169  * (rather than integer-by-integer) so that we can easily check for the
                                                              +
                                                              170  * ending "7777" string. */
                                                              +
                                                              171  nbytrem = nb + nbytx;
                                                              +
                                                              172  if (fread(wkchr, 1, nbytrem, pb[nfile]) != nbytrem) {
                                                              +
                                                              173  fsetpos(pb[nfile], &nxtpos);
                                                              +
                                                              174  return -2;
                                                              +
                                                              175  }
                                                              +
                                                              176  if (strncmp(&wkchr[nbytrem-4], "7777", 4) != 0) {
                                                              +
                                                              177  fsetpos(pb[nfile], &nxtpos);
                                                              +
                                                              178  return -2;
                                                              +
                                                              179  }
                                                              +
                                                              180  /* Copy the last few bytes of the BUFR message into the output array. */
                                                              +
                                                              181  memcpy(wkint, wkchr, nbytrem);
                                                              +
                                                              182  bufr[nintrem + 1] = wkint[0];
                                                              +
                                                              183  if ( nbytx > 0 ) bufr[nintrem + 2] = wkint[1];
                                                              +
                                                              184 
                                                              +
                                                              185  return 0;
                                                              +
                                                              186 }
                                                              +
                                                              187 
                                                              +
                                                              198 void
                                                              +
                                                              199 cwrbufr(int nfile, int *bufr, int nwrd) {
                                                              +
                                                              200  size_t nb = sizeof(int);
                                                              +
                                                              201 
                                                              +
                                                              202  fwrite(bufr, nb, nwrd, pb[nfile]);
                                                              +
                                                              203 }
                                                              +
                                                              int iupbs01_f(int *bufr, char *mnemonic)
                                                              Read a data value from Section 0 or Section 1 of a BUFR message.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              void closfb(int nfile)
                                                              Close a previously opened BUFR file.
                                                              Definition: cread.c:92
                                                              +
                                                              int crdbufr(int nfile, int *bufr, int mxwrd)
                                                              Read the next message from a BUFR file that was previously opened for reading.
                                                              Definition: cread.c:114
                                                              +
                                                              void openab(int nfile, char *ufile)
                                                              Open a new file for appending BUFR messages.
                                                              Definition: cread.c:56
                                                              +
                                                              void cwrbufr(int nfile, int *bufr, int nwrd)
                                                              Write a BUFR message into a file that was previously opened for writing.
                                                              Definition: cread.c:199
                                                              +
                                                              void openwb(int nfile, char *ufile)
                                                              Open a new file for writing BUFR messages.
                                                              Definition: cread.c:43
                                                              +
                                                              void openrb(int nfile, char *ufile)
                                                              Open a new file for reading BUFR messages.
                                                              Definition: cread.c:30
                                                              +
                                                              void backbufr(int nfile)
                                                              Backspace a BUFR file by one BUFR message.
                                                              Definition: cread.c:68
                                                              +
                                                              void cewind(int nfile)
                                                              Rewind a BUFR file back to its beginning.
                                                              Definition: cread.c:80
                                                              +
                                                              Declare variables for reading or writing BUFR messages via a C language interface.
                                                              +
                                                              FILE ** pb
                                                              File pointers.
                                                              +
                                                              fpos_t * lstpos
                                                              Byte positions of last successful reads from files corresponding to pb, for files that were opened fo...
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/cread_8h.html b/previous_versions/v12.0.1/cread_8h.html new file mode 100644 index 000000000..57cae750e --- /dev/null +++ b/previous_versions/v12.0.1/cread_8h.html @@ -0,0 +1,177 @@ + + + + + + + +NCEPLIBS-bufr: cread.h File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              cread.h File Reference
                                                              +
                                                              +
                                                              + +

                                                              Declare variables for reading or writing BUFR messages via a C language interface. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + +

                                                              +Variables

                                                              fpos_t * lstpos
                                                               Byte positions of last successful reads from files corresponding to pb, for files that were opened for reading. More...
                                                               
                                                              FILE ** pb
                                                               File pointers. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Declare variables for reading or writing BUFR messages via a C language interface.

                                                              +

                                                              These variables are used by the C language interface which encompasses functions openrb(), openwb(), openab(), backbufr(), cewind(), closfb(), crdbufr() and cwrbufr().

                                                              +

                                                              When allocated, these variables are dimensioned as one larger than NFILES because of the difference in array indexing between Fortran and C. In each function, the value passed in for nfile will be a Fortran file ID ranging in value from 1 to NFILES, so we need to allow for this same range of values in C, which would otherwise expect the array indices to range from 0 to NFILES-1.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2012-09-15
                                                              + +

                                                              Definition in file cread.h.

                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ lstpos

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              lstpos
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Byte positions of last successful reads from files corresponding to pb, for files that were opened for reading.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), backbufr(), and crdbufr().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ pb

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              pb
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              File pointers.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), backbufr(), cewind(), closfb(), crdbufr(), cwrbufr(), openab(), openrb(), and openwb().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/cread_8h.js b/previous_versions/v12.0.1/cread_8h.js new file mode 100644 index 000000000..b596b3ea3 --- /dev/null +++ b/previous_versions/v12.0.1/cread_8h.js @@ -0,0 +1,5 @@ +var cread_8h = +[ + [ "lstpos", "cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0", null ], + [ "pb", "cread_8h.html#a58db779a0b3c7250a119069bd2e5106c", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/cread_8h_source.html b/previous_versions/v12.0.1/cread_8h_source.html new file mode 100644 index 000000000..151cb6ce6 --- /dev/null +++ b/previous_versions/v12.0.1/cread_8h_source.html @@ -0,0 +1,109 @@ + + + + + + + +NCEPLIBS-bufr: cread.h Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              cread.h
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              27 #ifdef IN_ARALLOCC
                                                              +
                                                              28  FILE **pb;
                                                              +
                                                              29  fpos_t *lstpos;
                                                              +
                                                              30 #else
                                                              +
                                                              31  extern FILE **pb;
                                                              +
                                                              32  extern fpos_t *lstpos;
                                                              +
                                                              33 #endif
                                                              +
                                                              FILE ** pb
                                                              File pointers.
                                                              +
                                                              fpos_t * lstpos
                                                              Byte positions of last successful reads from files corresponding to pb, for files that were opened fo...
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/crwbmg_8c.html b/previous_versions/v12.0.1/crwbmg_8c.html new file mode 100644 index 000000000..84731f1cd --- /dev/null +++ b/previous_versions/v12.0.1/crwbmg_8c.html @@ -0,0 +1,458 @@ + + + + + + + +NCEPLIBS-bufr: crwbmg.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              crwbmg.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              C language interface for reading or writing BUFR messages. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Macros

                                                              #define MXFNLEN   200
                                                               Maximum length of a filename, including any directory prefixes or other local filesystem notation. More...
                                                               
                                                              + + + + + + + + + + + + + + + + +

                                                              +Functions

                                                              void ccbfl (void)
                                                               Close all files that were opened via previous calls to function cobfl(). More...
                                                               
                                                              void cobfl (char *bfl, char io)
                                                               Open a new file for reading or writing BUFR messages via a C language interface. More...
                                                               
                                                              void crbmg (char *bmg, int mxmb, int *nmb, int *iret)
                                                               Read the next BUFR message from the file that was opened via the most recent call to function cobfl() with io = 'r'. More...
                                                               
                                                              void cwbmg (char *bmg, int nmb, int *iret)
                                                               Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io = 'w'. More...
                                                               
                                                              int rbytes (char *bmg, int mxmb, int isloc, int newbytes)
                                                               Read a specified number of bytes from the file that was opened via the most recent call to function cobfl() with io = 'r'. More...
                                                               
                                                              + + + + +

                                                              +Variables

                                                              FILE * pbf [2]
                                                               File pointers; each element will automatically initialize to NULL. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              C language interface for reading or writing BUFR messages.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition in file crwbmg.c.

                                                              +

                                                              Macro Definition Documentation

                                                              + +

                                                              ◆ MXFNLEN

                                                              + +
                                                              +
                                                              + + + + +
                                                              #define MXFNLEN   200
                                                              +
                                                              + +

                                                              Maximum length of a filename, including any directory prefixes or other local filesystem notation.

                                                              + +

                                                              Definition at line 10 of file crwbmg.c.

                                                              + +
                                                              +
                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ ccbfl()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void ccbfl (void )
                                                              +
                                                              + +

                                                              Close all files that were opened via previous calls to function cobfl().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 296 of file crwbmg.c.

                                                              + +

                                                              References pbf.

                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cobfl()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              void cobfl (char * bfl,
                                                              char io 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for reading or writing BUFR messages via a C language interface.

                                                              +

                                                              This function is designed to be easily callable from application program written in either C or Fortran. It is functionally equivalent to subroutine openbf(); however, there are some important differences:

                                                              +
                                                                +
                                                              • When using openbf(), the underlying file must already be associated with a Fortran logical unit number on the local system, typicially via a prior Fortran "OPEN" statement. This is not required when using this function.
                                                              • +
                                                              • When using this function, it is only possible to have at most one input (io = 'r') file and one output (io = 'w') file open at a time. If a successive call to this function is made in either case where a file of that type is already open, then the function will automatically close the previous file of that type before opening the new one.
                                                              • +
                                                              • When opening a file for input/reading using openbf(), the user can make subsequent calls to any of the NCEPLIBS-bufr message-reading subroutines to read individual BUFR messages from that file into internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines") to read individual data subsets from each such message. However, when opening a file for input/reading using this function, the user must instead make subsequent calls to crbmg() to read individual BUFR messages from that file, and each such message will be returned directly to the user within an allocated memory array. The user may then, if desired, make subsequent calls to readerme() to store each such message into the same internal arrays, followed by subsequent calls to any of the NCEPLIBS-bufr subset-reading subroutines" to read individual data subsets from each such message.
                                                              • +
                                                              • When opening a file for output/writing using openbf(), the user can make subsequent successive calls to writsb() to pack each completed data subset into the BUFR message that is currently open within the internal arrays, for eventual output to that file. However, when opening a file for output/writing using this function, the user can instead, if desired, make subsequent successive calls to writsa() to pack each completed data subset into the BUFR message that is currently open within the internal arrays. The use of writsa() will cause each completed BUFR message to be returned directly to the user within an allocated memory array, which in turn can then be written directly to the file via a subsequent call to cwbmg().
                                                              • +
                                                              +

                                                              Any errors encountered when using this function are automatically logged to standard output, or to an alternate location previously specified via a call to subroutine errwrt().

                                                              +
                                                              Parameters
                                                              + + + +
                                                              bfl- System file to be opened. Inclusion of directory prefixes or other local filesystem notation is allowed, up to 200 total characters.
                                                              io- Flag indicating how bfl is to be opened:
                                                                +
                                                              • 'r' input (for reading BUFR messages)
                                                              • +
                                                              • 'w' output (for writing BUFR messages)
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 120 of file crwbmg.c.

                                                              + +

                                                              References bort_f(), MXFNLEN, pbf, and wrdlen_f().

                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ crbmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void crbmg (char * bmg,
                                                              int mxmb,
                                                              int * nmb,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next BUFR message from the file that was opened via the most recent call to function cobfl() with io = 'r'.

                                                              +

                                                              This function is designed to be easily callable from application program written in either C or Fortran.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bmg- BUFR message
                                                              mxmb- Number of elements in bmg array;; used by the function to ensure that it doesn't overflow the array.
                                                              nmb- Size (in bytes) of BUFR message in bmg.
                                                              iret- return code:
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • 1 overflow of bmg array.
                                                              • +
                                                              • 2 "7777" indicator not found in expected location.
                                                              • +
                                                              • -1 end-of-file encountered while reading.
                                                              • +
                                                              • -2 I/O error encountered while reading.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 201 of file crwbmg.c.

                                                              + +

                                                              References bort_f(), iupbs01_f(), pbf, and rbytes().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cwbmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void cwbmg (char * bmg,
                                                              int nmb,
                                                              int * iret 
                                                              )
                                                              +
                                                              + +

                                                              Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io = 'w'.

                                                              +

                                                              This function is designed to be easily callable from application program written in either C or Fortran.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bmg- BUFR message
                                                              nmb- Size (in bytes) of BUFR message in bmg
                                                              iret- return code:
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • -1 I/O error encountered while writing.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 269 of file crwbmg.c.

                                                              + +

                                                              References bort_f(), and pbf.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ rbytes()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int rbytes (char * bmg,
                                                              int mxmb,
                                                              int isloc,
                                                              int newbytes 
                                                              )
                                                              +
                                                              + +

                                                              Read a specified number of bytes from the file that was opened via the most recent call to function cobfl() with io = 'r'.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bmg- Array containing the newbytes bytes that were read, beginning at byte number isloc.
                                                              mxmb- Number of elements in bmg array; used by the function to ensure that it doesn't overflow the array.
                                                              isloc- Starting byte within bmg into which to read the next newbytes bytes
                                                              newbytes- Number of bytes to read from file most recently opened for input/reading via function cobfl()
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • 0 normal return
                                                              • +
                                                              • 1 overflow of bmg array
                                                              • +
                                                              • -1 end-of-file encountered while reading
                                                              • +
                                                              • -2 I/O error encountered while reading
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 38 of file crwbmg.c.

                                                              + +

                                                              References pbf.

                                                              + +

                                                              Referenced by crbmg().

                                                              + +
                                                              +
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ pbf

                                                              + +
                                                              +
                                                              + + + + +
                                                              FILE* pbf[2]
                                                              +
                                                              + +

                                                              File pointers; each element will automatically initialize to NULL.

                                                              + +

                                                              Definition at line 14 of file crwbmg.c.

                                                              + +

                                                              Referenced by ccbfl(), cobfl(), crbmg(), cwbmg(), and rbytes().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/crwbmg_8c.js b/previous_versions/v12.0.1/crwbmg_8c.js new file mode 100644 index 000000000..811debbad --- /dev/null +++ b/previous_versions/v12.0.1/crwbmg_8c.js @@ -0,0 +1,10 @@ +var crwbmg_8c = +[ + [ "MXFNLEN", "crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692", null ], + [ "ccbfl", "crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802", null ], + [ "cobfl", "crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d", null ], + [ "crbmg", "crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048", null ], + [ "cwbmg", "crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d", null ], + [ "rbytes", "crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae", null ], + [ "pbf", "crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/crwbmg_8c_source.html b/previous_versions/v12.0.1/crwbmg_8c_source.html new file mode 100644 index 000000000..9dfe3cedd --- /dev/null +++ b/previous_versions/v12.0.1/crwbmg_8c_source.html @@ -0,0 +1,281 @@ + + + + + + + +NCEPLIBS-bufr: crwbmg.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              crwbmg.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 #include "bufrlib.h"
                                                              +
                                                              7 
                                                              +
                                                              10 #define MXFNLEN 200
                                                              +
                                                              11 
                                                              +
                                                              14 FILE *pbf[2];
                                                              +
                                                              15 
                                                              +
                                                              37 int
                                                              +
                                                              38 rbytes(char *bmg, int mxmb, int isloc, int newbytes)
                                                              +
                                                              39 {
                                                              +
                                                              40  int iret;
                                                              +
                                                              41 
                                                              +
                                                              42  if ((isloc + newbytes) > mxmb) {
                                                              +
                                                              43  iret = 1;
                                                              +
                                                              44  }
                                                              +
                                                              45  else if (fread(&bmg[isloc], 1, newbytes, pbf[0]) != newbytes) {
                                                              +
                                                              46  iret = (feof(pbf[0]) ? -1 : -2);
                                                              +
                                                              47  }
                                                              +
                                                              48  else {
                                                              +
                                                              49  iret = 0;
                                                              +
                                                              50  }
                                                              +
                                                              51 
                                                              +
                                                              52  return iret;
                                                              +
                                                              53 }
                                                              +
                                                              54 
                                                              +
                                                              119 void
                                                              +
                                                              120 cobfl(char *bfl, char io)
                                                              +
                                                              121 {
                                                              +
                                                              122  char lbf[MXFNLEN+1];
                                                              +
                                                              123  char lio;
                                                              +
                                                              124 
                                                              +
                                                              125  char errstr[MXFNLEN+50];
                                                              +
                                                              126 
                                                              +
                                                              127  char foparg[3] = " b"; /* 3rd character will automatically initialize to NULL */
                                                              +
                                                              128  unsigned short i, j;
                                                              +
                                                              129 
                                                              +
                                                              130  /*
                                                              +
                                                              131  ** Copy the input arguments into local variables and check them for validity. This is especially
                                                              +
                                                              132  ** important in case either of the arguments was passed in as a string literal by the calling
                                                              +
                                                              133  ** program or else doesn't have a trailing NULL character.
                                                              +
                                                              134  */
                                                              +
                                                              135  for (i = 0; (! isspace(bfl[i]) && ! iscntrl(bfl[i])); i++) {
                                                              +
                                                              136  if (i == MXFNLEN) {
                                                              +
                                                              137  sprintf(errstr, "BUFRLIB: COBFL - INPUT FILENAME CONTAINS"
                                                              +
                                                              138  " MORE THAN %hu CHARACTERS", (unsigned short) MXFNLEN);
                                                              +
                                                              139  bort_f(errstr);
                                                              +
                                                              140  }
                                                              +
                                                              141  lbf[i] = bfl[i];
                                                              +
                                                              142  }
                                                              +
                                                              143  lbf[i] = '\0';
                                                              +
                                                              144 
                                                              +
                                                              145  lio = io;
                                                              +
                                                              146  if ((foparg[0] = (char) tolower(lio)) == 'r') {
                                                              +
                                                              147  j = 0;
                                                              +
                                                              148  }
                                                              +
                                                              149  else if (foparg[0] == 'w') {
                                                              +
                                                              150  j = 1;
                                                              +
                                                              151  }
                                                              +
                                                              152  else {
                                                              +
                                                              153  sprintf(errstr, "BUFRLIB: COBFL - SECOND ARGUMENT WAS (%c),"
                                                              +
                                                              154  " WHICH IS AN ILLEGAL VALUE", lio);
                                                              +
                                                              155  bort_f(errstr);
                                                              +
                                                              156  }
                                                              +
                                                              157 
                                                              +
                                                              158  /*
                                                              +
                                                              159  ** If a file of this type is already open, then close it before opening the new one.
                                                              +
                                                              160  */
                                                              +
                                                              161  if (pbf[j] != NULL) fclose(pbf[j]);
                                                              +
                                                              162 
                                                              +
                                                              163  /*
                                                              +
                                                              164  ** Open the requested file.
                                                              +
                                                              165  */
                                                              +
                                                              166  if ((pbf[j] = fopen(lbf, foparg)) == NULL) {
                                                              +
                                                              167  sprintf(errstr, "BUFRLIB: COBFL - COULD NOT OPEN FILE %s", lbf);
                                                              +
                                                              168  bort_f(errstr);
                                                              +
                                                              169  }
                                                              +
                                                              170 
                                                              +
                                                              171  /*
                                                              +
                                                              172  ** Call wrdlen to initialize some important information about the local machine, just in case
                                                              +
                                                              173  ** it hasn't already been called.
                                                              +
                                                              174  */
                                                              +
                                                              175  wrdlen_f();
                                                              +
                                                              176 
                                                              +
                                                              177  return;
                                                              +
                                                              178 }
                                                              +
                                                              179 
                                                              +
                                                              200 void
                                                              +
                                                              201 crbmg(char *bmg, int mxmb, int *nmb, int *iret)
                                                              +
                                                              202 {
                                                              +
                                                              203  int wkint[2];
                                                              +
                                                              204 
                                                              +
                                                              205  char errstr[129];
                                                              +
                                                              206  char blanks[5] = " ";
                                                              +
                                                              207 
                                                              +
                                                              208  /*
                                                              +
                                                              209  ** Make sure that a file is open for reading.
                                                              +
                                                              210  */
                                                              +
                                                              211  if (pbf[0] == NULL) {
                                                              +
                                                              212  sprintf(errstr, "BUFRLIB: CRBMG - NO FILE IS OPEN FOR READING");
                                                              +
                                                              213  bort_f(errstr);
                                                              +
                                                              214  }
                                                              +
                                                              215 
                                                              +
                                                              216  /*
                                                              +
                                                              217  ** Initialize the first 4 characters of the output array to blanks.
                                                              +
                                                              218  */
                                                              +
                                                              219  if (mxmb < 5) {
                                                              +
                                                              220  *iret = 1;
                                                              +
                                                              221  return;
                                                              +
                                                              222  }
                                                              +
                                                              223  strcpy(bmg, blanks);
                                                              +
                                                              224 
                                                              +
                                                              225  /*
                                                              +
                                                              226  ** Look for the start of the next BUFR message.
                                                              +
                                                              227  */
                                                              +
                                                              228  while (strncmp("BUFR", bmg, 4) != 0) {
                                                              +
                                                              229  memmove(bmg, &bmg[1], 3);
                                                              +
                                                              230  if ((*iret = rbytes(bmg, mxmb, 3, 1)) != 0) return;
                                                              +
                                                              231  }
                                                              +
                                                              232 
                                                              +
                                                              233  /*
                                                              +
                                                              234  ** Read the next 4 bytes of the BUFR message and get the length of the message.
                                                              +
                                                              235  */
                                                              +
                                                              236  if ((*iret = rbytes(bmg, mxmb, 4, 4)) != 0) return;
                                                              +
                                                              237  memcpy(wkint, bmg, 8);
                                                              +
                                                              238  *nmb = iupbs01_f(wkint, "LENM");
                                                              +
                                                              239 
                                                              +
                                                              240  /*
                                                              +
                                                              241  ** Read the remainder of the BUFR message.
                                                              +
                                                              242  */
                                                              +
                                                              243  if ((*iret = rbytes(bmg, mxmb, 8, *nmb-8)) != 0) return;
                                                              +
                                                              244 
                                                              +
                                                              245  /*
                                                              +
                                                              246  ** Check that the "7777" is in the expected location.
                                                              +
                                                              247  */
                                                              +
                                                              248  *iret = ((strncmp("7777", &bmg[*nmb-4], 4) == 0) ? 0 : 2);
                                                              +
                                                              249 
                                                              +
                                                              250  return;
                                                              +
                                                              251 }
                                                              +
                                                              252 
                                                              +
                                                              268 void
                                                              +
                                                              269 cwbmg(char *bmg, int nmb, int *iret)
                                                              +
                                                              270 {
                                                              +
                                                              271  char errstr[129];
                                                              +
                                                              272 
                                                              +
                                                              273  /*
                                                              +
                                                              274  ** Make sure that a file is open for writing.
                                                              +
                                                              275  */
                                                              +
                                                              276  if (pbf[1] == NULL) {
                                                              +
                                                              277  sprintf(errstr, "BUFRLIB: CWBMG - NO FILE IS OPEN FOR WRITING");
                                                              +
                                                              278  bort_f(errstr);
                                                              +
                                                              279  }
                                                              +
                                                              280 
                                                              +
                                                              281  /*
                                                              +
                                                              282  ** Write the BUFR message to the file.
                                                              +
                                                              283  */
                                                              +
                                                              284  *iret = ((fwrite(bmg, 1, nmb, pbf[1]) == nmb) ? 0 : -1);
                                                              +
                                                              285 
                                                              +
                                                              286  return;
                                                              +
                                                              287 }
                                                              +
                                                              288 
                                                              +
                                                              295 void
                                                              +
                                                              296 ccbfl(void)
                                                              +
                                                              297 {
                                                              +
                                                              298  unsigned short i;
                                                              +
                                                              299 
                                                              +
                                                              300  for (i = 0; i < 2; i++) {
                                                              +
                                                              301  if (pbf[i] != NULL) fclose(pbf[i]);
                                                              +
                                                              302  }
                                                              +
                                                              303 
                                                              +
                                                              304  return;
                                                              +
                                                              305 }
                                                              +
                                                              int iupbs01_f(int *bufr, char *mnemonic)
                                                              Read a data value from Section 0 or Section 1 of a BUFR message.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              void wrdlen_f(void)
                                                              Determine important information about the local machine.
                                                              +
                                                              void bort_f(char *errstr)
                                                              Log one error message and abort application program.
                                                              +
                                                              void cobfl(char *bfl, char io)
                                                              Open a new file for reading or writing BUFR messages via a C language interface.
                                                              Definition: crwbmg.c:120
                                                              +
                                                              void cwbmg(char *bmg, int nmb, int *iret)
                                                              Write a BUFR message to the file that was opened via the most recent call to function cobfl() with io...
                                                              Definition: crwbmg.c:269
                                                              +
                                                              int rbytes(char *bmg, int mxmb, int isloc, int newbytes)
                                                              Read a specified number of bytes from the file that was opened via the most recent call to function c...
                                                              Definition: crwbmg.c:38
                                                              +
                                                              void crbmg(char *bmg, int mxmb, int *nmb, int *iret)
                                                              Read the next BUFR message from the file that was opened via the most recent call to function cobfl()...
                                                              Definition: crwbmg.c:201
                                                              +
                                                              void ccbfl(void)
                                                              Close all files that were opened via previous calls to function cobfl().
                                                              Definition: crwbmg.c:296
                                                              +
                                                              #define MXFNLEN
                                                              Maximum length of a filename, including any directory prefixes or other local filesystem notation.
                                                              Definition: crwbmg.c:10
                                                              +
                                                              FILE * pbf[2]
                                                              File pointers; each element will automatically initialize to NULL.
                                                              Definition: crwbmg.c:14
                                                              +
                                                              +
                                                              + + + + diff --git a/datebf_8f.html b/previous_versions/v12.0.1/datebf_8f.html similarity index 100% rename from datebf_8f.html rename to previous_versions/v12.0.1/datebf_8f.html diff --git a/datebf_8f.js b/previous_versions/v12.0.1/datebf_8f.js similarity index 100% rename from datebf_8f.js rename to previous_versions/v12.0.1/datebf_8f.js diff --git a/datebf_8f_source.html b/previous_versions/v12.0.1/datebf_8f_source.html similarity index 100% rename from datebf_8f_source.html rename to previous_versions/v12.0.1/datebf_8f_source.html diff --git a/datelen_8f.html b/previous_versions/v12.0.1/datelen_8f.html similarity index 100% rename from datelen_8f.html rename to previous_versions/v12.0.1/datelen_8f.html diff --git a/datelen_8f.js b/previous_versions/v12.0.1/datelen_8f.js similarity index 100% rename from datelen_8f.js rename to previous_versions/v12.0.1/datelen_8f.js diff --git a/datelen_8f_source.html b/previous_versions/v12.0.1/datelen_8f_source.html similarity index 100% rename from datelen_8f_source.html rename to previous_versions/v12.0.1/datelen_8f_source.html diff --git a/previous_versions/v12.0.1/debufr_8F90.html b/previous_versions/v12.0.1/debufr_8F90.html new file mode 100644 index 000000000..3d6090f68 --- /dev/null +++ b/previous_versions/v12.0.1/debufr_8F90.html @@ -0,0 +1,321 @@ + + + + + + + +NCEPLIBS-bufr: debufr.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              debufr.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Fortran language code for debufr utility. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Modules

                                                              module  share_table_info
                                                               This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.
                                                               
                                                              + + + + + + + +

                                                              +Functions/Subroutines

                                                              subroutine fdebufr_c (ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms)
                                                               This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR message from within the input file that was previously opened via a call to function cobfl() with io = 'r'. More...
                                                               
                                                              subroutine openbt (lundx, mtyp)
                                                               This subroutine overrides the placeholder subroutine of the same name within the NCEPLIBS-bufr distribution package. More...
                                                               
                                                              + + + + + + + + + + +

                                                              +Variables

                                                              integer share_table_info::ltbd
                                                               Length (in characters) of tbldir_f. More...
                                                               
                                                              integer share_table_info::ludx
                                                               Fortran logical unit number to use for referencing a DX table. More...
                                                               
                                                              character(len=:), allocatable share_table_info::tbldir_f
                                                               Directory containing DX BUFR tables to be used for decoding. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Fortran language code for debufr utility.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              + +

                                                              Definition in file debufr.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ fdebufr_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine fdebufr_c (character(kind=c_char,len=1), dimension(*), intent(in) ofile,
                                                              integer(c_int), intent(in), value lenof,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) tbldir,
                                                              integer(c_int), intent(in), value lentd,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) tblfil,
                                                              integer(c_int), intent(in), value lentf,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) prmstg,
                                                              integer(c_int), intent(in), value lenps,
                                                              character(c_char), intent(in), value basic,
                                                              character(c_char), intent(in), value forcemt,
                                                              character(c_char), intent(in), value cfms 
                                                              )
                                                              +
                                                              + +

                                                              This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR message from within the input file that was previously opened via a call to function cobfl() with io = 'r'.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + + + + +
                                                              [in]ofile– c_char(*): File to contain verbose output listing of contents of each decoded BUFR message
                                                              [in]lenof– c_int: Length of ofile string
                                                              [in]tbldir– c_char(*): Directory containing DX and/or master BUFR tables to be used for decoding
                                                              [in]lentd– c_int: Length of tbldir string
                                                              [in]tblfil– c_char(*): File containing DX BUFR table information to be used for decoding
                                                                +
                                                              • 'NULLFILE' = No such file will be used
                                                              • +
                                                              +
                                                              [in]lentf– c_int: Length of tblfil string
                                                              [in]prmstg– c_char*(*): String of up to 20 comma-separated PARAMETER=VALUE pairs to be used to dynamically allocate memory within the NCEPLIBS-bufr software, overriding the default VALUE that would otherwise be used for each such PARAMETER.
                                                                +
                                                              • 'NULLPSTG' = No such pairs will be used
                                                              • +
                                                              +
                                                              [in]lenps– c_int: Length of prmstg string
                                                              [in]basic– c_char: Indicator as to whether only "basic" information in Sections 0-3 should be decoded from each BUFR message:
                                                                +
                                                              • 'Y' = Yes
                                                              • +
                                                              • 'N' = No
                                                              • +
                                                              +
                                                              [in]forcemt– c_char: Indicator as to whether master BUFR tables should be used for decoding, regardless of whether the input file contains any embedded DX BUFR table messages:
                                                                +
                                                              • 'Y' = Yes
                                                              • +
                                                              • 'N' = No
                                                              • +
                                                              +
                                                              [in]cfms– c_char: Indicator as to whether code and flag table meanings should be read from master BUFR tables and included in the print output:
                                                                +
                                                              • 'Y' = Yes
                                                              • +
                                                              • 'N' = No
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Remarks
                                                                +
                                                              • See NCEPLIBS-bufr function isetprm() for a complete list of parameters that can be dynamically sized via prmstg.
                                                              • +
                                                              • Fortran logical unit numbers 51, 90, 91, 92 and 93 are reserved for use within this subroutine.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              + +

                                                              Definition at line 56 of file debufr.F90.

                                                              + +

                                                              References codflg(), datelen(), dxdump(), getcfmng(), share_table_info::ltbd, share_table_info::ludx, mtinfo(), openbf(), parstr(), readerme(), rtrcptb(), strnum(), strsuc(), ufdump(), and upds3().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openbt()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine openbt (integer, intent(out) lundx,
                                                              integer, intent(in) mtyp 
                                                              )
                                                              +
                                                              + +

                                                              This subroutine overrides the placeholder subroutine of the same name within the NCEPLIBS-bufr distribution package.

                                                              +

                                                              Given the data category for a BUFR message, this subroutine opens the appropriate DX BUFR tables file to use in reading/decoding the message.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2012-12-07
                                                              +
                                                              Parameters
                                                              + + + +
                                                              [in]mtyp– integer: Data category of BUFR message
                                                              [out]lundx– integer: Fortran logical unit number for DX BUFR tables file to use in reading/decoding the message
                                                                +
                                                              • 0 = No such file is available
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2012-12-07
                                                              + +

                                                              Definition at line 388 of file debufr.F90.

                                                              + +

                                                              References share_table_info::ltbd, share_table_info::ludx, and share_table_info::tbldir_f.

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/debufr_8F90.js b/previous_versions/v12.0.1/debufr_8F90.js new file mode 100644 index 000000000..309c4b444 --- /dev/null +++ b/previous_versions/v12.0.1/debufr_8F90.js @@ -0,0 +1,8 @@ +var debufr_8F90 = +[ + [ "fdebufr_c", "debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b", null ], + [ "openbt", "debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89", null ], + [ "ltbd", "debufr_8F90.html#a9cb558bc60eed8b777532f56fff8a08c", null ], + [ "ludx", "debufr_8F90.html#a88fbe3e8e14e3810e1dc3f1560d1c51f", null ], + [ "tbldir_f", "debufr_8F90.html#ad7e71b6c16362d8d65d97662bcdd7d02", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/debufr_8F90_source.html b/previous_versions/v12.0.1/debufr_8F90_source.html new file mode 100644 index 000000000..31e123bf1 --- /dev/null +++ b/previous_versions/v12.0.1/debufr_8F90_source.html @@ -0,0 +1,477 @@ + + + + + + + +NCEPLIBS-bufr: debufr.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              debufr.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              + +
                                                              12 
                                                              +
                                                              14  character(len=:), allocatable :: tbldir_f
                                                              +
                                                              15 
                                                              +
                                                              17  integer ltbd
                                                              +
                                                              18 
                                                              +
                                                              20  integer ludx
                                                              +
                                                              21 end module share_table_info
                                                              +
                                                              22 
                                                              +
                                                              56 subroutine fdebufr_c ( ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms ) &
                                                              +
                                                              57  bind( c, name = 'fdebufr_f' )
                                                              +
                                                              58 
                                                              +
                                                              59  use iso_c_binding
                                                              +
                                                              60  use bufr_interface
                                                              + +
                                                              62 
                                                              +
                                                              63  implicit none
                                                              +
                                                              64 
                                                              +
                                                              65  integer, parameter :: mxbf = 2500000
                                                              +
                                                              66  integer, parameter :: mxbfd4 = mxbf/4
                                                              +
                                                              67  integer, parameter :: mxds3 = 500
                                                              +
                                                              68  integer, parameter :: mxprms = 20
                                                              +
                                                              69 
                                                              +
                                                              70  character(kind=c_char,len=1), intent(in) :: ofile(*), tbldir(*), tblfil(*), prmstg(*)
                                                              +
                                                              71 
                                                              +
                                                              72  character(len=:), allocatable :: ofile_f, tblfil_f, prmstg_f
                                                              +
                                                              73 
                                                              +
                                                              74  integer(c_int), value, intent(in) :: lenof, lentd, lentf, lenps
                                                              +
                                                              75 
                                                              +
                                                              76  character(c_char), value, intent(in) :: basic, forcemt, cfms
                                                              +
                                                              77 
                                                              +
                                                              78  integer*4 :: isetprm, idxmsg, iupbs01, iupbs3, ireadsb
                                                              +
                                                              79  integer*4 :: nbyt, ierr
                                                              +
                                                              80 
                                                              +
                                                              81  logical exists
                                                              +
                                                              82 
                                                              +
                                                              83  character*120 cmorgc, cmgses, cmmtyp, cmmsbt, cmmsbti
                                                              +
                                                              84  character*20 ptag ( mxprms ), pvtag(2), cprmnm
                                                              +
                                                              85  character*8 cmgtag
                                                              +
                                                              86  character*6 cds3 ( mxds3 )
                                                              +
                                                              87  character opened, usemt, bfmg ( mxbf ), basic_f, forcemt_f, cfms_f
                                                              +
                                                              88 
                                                              +
                                                              89  integer ibfmg ( mxbfd4 ), lunit, nmsg, nsub, nsubt, ii, jj, nds3, nptag, npvtag, ipval, lcprmnm, ier, imgdt, ierme, &
                                                              +
                                                              90  iogce, lcmorgc, ierorgc, igses, lcmgses, iergses, iryr, irmo, irdy, irhr, irmi, irtret, &
                                                              +
                                                              91  mtyp, lcmmtyp, iermtyp, msbt, lcmmsbt, iermsbt, msbti, lcmmsbti, iermsbti, iersn
                                                              +
                                                              92 
                                                              +
                                                              93  equivalence( bfmg(1), ibfmg(1) )
                                                              +
                                                              94 
                                                              +
                                                              95 ! Initialize the values in the Share_Table_Info module.
                                                              +
                                                              96 
                                                              +
                                                              97  ludx = 93
                                                              +
                                                              98  ltbd = lentd
                                                              +
                                                              99  allocate( character(len=lentd) :: tbldir_f )
                                                              +
                                                              100  tbldir_f = transfer( tbldir(1:lentd), tbldir_f )
                                                              +
                                                              101 
                                                              +
                                                              102 ! Copy the other input C strings into Fortran strings.
                                                              +
                                                              103 
                                                              +
                                                              104  allocate( character(len=lenof) :: ofile_f )
                                                              +
                                                              105  ofile_f = transfer( ofile(1:lenof), ofile_f )
                                                              +
                                                              106  allocate( character(len=lentf) :: tblfil_f )
                                                              +
                                                              107  tblfil_f = transfer( tblfil(1:lentf), tblfil_f )
                                                              +
                                                              108  allocate( character(len=lenps) :: prmstg_f )
                                                              +
                                                              109  prmstg_f = transfer( prmstg(1:lenps), prmstg_f )
                                                              +
                                                              110  basic_f = basic
                                                              +
                                                              111  forcemt_f = forcemt
                                                              +
                                                              112  cfms_f = cfms
                                                              +
                                                              113 
                                                              +
                                                              114 ! Open the output file.
                                                              +
                                                              115 
                                                              +
                                                              116  open ( unit = 51, file = ofile_f )
                                                              +
                                                              117 
                                                              +
                                                              118 ! Note that in the below open statement we just need to specify a dummy placeholder file.
                                                              +
                                                              119 
                                                              +
                                                              120  lunit = 92
                                                              +
                                                              121  open ( unit = lunit, file = '/dev/null' )
                                                              +
                                                              122 
                                                              +
                                                              123  call datelen ( 10 )
                                                              +
                                                              124 
                                                              +
                                                              125 ! Initialize some other values.
                                                              +
                                                              126 
                                                              +
                                                              127  nmsg = 0
                                                              +
                                                              128  nsubt = 0
                                                              +
                                                              129 
                                                              +
                                                              130  opened = 'N'
                                                              +
                                                              131  usemt = 'N'
                                                              +
                                                              132 
                                                              +
                                                              133  do while ( .true. )
                                                              +
                                                              134 
                                                              +
                                                              135 ! Get the next message from the input BUFR file.
                                                              +
                                                              136 
                                                              +
                                                              137  call crbmg_c ( bfmg, mxbf, nbyt, ierr )
                                                              +
                                                              138 
                                                              +
                                                              139  if ( ierr .ne. 0 ) then
                                                              +
                                                              140 
                                                              +
                                                              141  if ( ierr .eq. -1 ) then
                                                              +
                                                              142  write ( 51, fmt = '( /, A, I7, A, I9, A )') 'Reached end of BUFR file; it contained a total of', nmsg, &
                                                              +
                                                              143  ' messages and', nsubt, ' subsets'
                                                              +
                                                              144  else
                                                              +
                                                              145  write ( 51, fmt = '( /, A, I4 )' ) 'Error while reading BUFR file; the return code from CRBMG = ', ierr
                                                              +
                                                              146  end if
                                                              +
                                                              147 
                                                              +
                                                              148  if ( ( basic_f .eq. 'N' ) .and. ( opened .eq. 'Y' ) ) then
                                                              +
                                                              149  write (51, fmt = '( /, A, / )' ) 'Here is the DX table that was generated:'
                                                              +
                                                              150  call dxdump ( lunit, 51 )
                                                              +
                                                              151  end if
                                                              +
                                                              152 
                                                              +
                                                              153 ! Close the output file, deallocate memory, and return.
                                                              +
                                                              154 
                                                              +
                                                              155  close ( 51 )
                                                              +
                                                              156  deallocate ( ofile_f )
                                                              +
                                                              157  deallocate ( tbldir_f )
                                                              +
                                                              158  deallocate ( tblfil_f )
                                                              +
                                                              159  deallocate ( prmstg_f )
                                                              +
                                                              160  return
                                                              +
                                                              161  end if
                                                              +
                                                              162 
                                                              +
                                                              163  if ( opened .eq. 'N' ) then
                                                              +
                                                              164 
                                                              +
                                                              165  if ( ( isetprm( 'MAXCD', mxds3 ) .ne. 0 ) .or. ( isetprm( 'MXMSGL', mxbf ) .ne. 0 ) .or. &
                                                              +
                                                              166  ( isetprm( 'MAXSS', 300000 ) .ne. 0 ) .or. ( isetprm( 'NFILES', 2 ) .ne. 0 ) ) then
                                                              +
                                                              167  print *, 'Error: Bad return from isetprm'
                                                              +
                                                              168  return
                                                              +
                                                              169  end if
                                                              +
                                                              170 
                                                              +
                                                              171 ! Process any dynamic allocation parameters that were passed in on the command line.
                                                              +
                                                              172 
                                                              +
                                                              173  if ( prmstg_f(1:8) .ne. 'NULLPSTG' ) then
                                                              +
                                                              174  call parstr ( prmstg_f, ptag, mxprms, nptag, ',', .false. )
                                                              +
                                                              175  if ( nptag .gt. 0 ) then
                                                              +
                                                              176  do ii = 1, nptag
                                                              +
                                                              177  call parstr ( ptag(ii), pvtag, 2, npvtag, '=', .false. )
                                                              +
                                                              178  if ( npvtag .eq. 2 ) then
                                                              +
                                                              179  call strsuc ( pvtag(1), cprmnm, lcprmnm )
                                                              +
                                                              180  call strnum ( pvtag(2), ipval, iersn )
                                                              +
                                                              181  if ( ( lcprmnm .gt. 0 ) .and. ( iersn .ne. -1 ) ) then
                                                              +
                                                              182  if ( isetprm( cprmnm(1:lcprmnm), ipval ) .ne. 0 ) then
                                                              +
                                                              183  print *, 'Error: Bad return from isetprm for parameter: ', cprmnm(1:lcprmnm)
                                                              +
                                                              184  return
                                                              +
                                                              185  end if
                                                              +
                                                              186  end if
                                                              +
                                                              187  end if
                                                              +
                                                              188  end do
                                                              +
                                                              189  end if
                                                              +
                                                              190  end if
                                                              +
                                                              191 
                                                              +
                                                              192 ! Decide how to process the file.
                                                              +
                                                              193 
                                                              +
                                                              194  if ( ( idxmsg( ibfmg ) .eq. 1 ) .and. ( forcemt_f .eq. 'N' ) ) then
                                                              +
                                                              195 
                                                              +
                                                              196 ! The first message in the file is a DX dictionary message, so assume there's an embedded table at the
                                                              +
                                                              197 ! front of the file, and use this table to decode it.
                                                              +
                                                              198 
                                                              +
                                                              199  call openbf ( lunit, 'INUL', lunit )
                                                              +
                                                              200  else if ( ( tblfil_f(1:8) .ne. 'NULLFILE' ) .and. ( forcemt_f .eq. 'N' ) ) then
                                                              +
                                                              201 
                                                              +
                                                              202 ! A DX dictionary tables file was specified on the command line, so use it to decode the BUFR file.
                                                              +
                                                              203 
                                                              +
                                                              204  inquire ( file = tblfil_f, exist = exists )
                                                              +
                                                              205  if ( .not. exists ) then
                                                              +
                                                              206  print *, 'Error: Could not find file ', tblfil_f
                                                              +
                                                              207  return
                                                              +
                                                              208  end if
                                                              +
                                                              209  open ( unit = 91, file = tblfil_f, iostat = ier )
                                                              +
                                                              210  if ( ier .ne. 0 ) then
                                                              +
                                                              211  print *, 'Error: Could not open file ', tblfil_f
                                                              +
                                                              212  return
                                                              +
                                                              213  endif
                                                              +
                                                              214  call openbf ( lunit, 'IN', 91 )
                                                              +
                                                              215  else
                                                              +
                                                              216 
                                                              +
                                                              217 ! Decode the file using the master tables in tbldir_f.
                                                              +
                                                              218 
                                                              +
                                                              219  usemt = 'Y'
                                                              +
                                                              220  call openbf ( lunit, 'SEC3', lunit )
                                                              +
                                                              221  end if
                                                              +
                                                              222 
                                                              +
                                                              223  opened = 'Y'
                                                              +
                                                              224 
                                                              +
                                                              225  call mtinfo ( tbldir_f, 90, 91 )
                                                              +
                                                              226  if ( cfms_f .eq. 'Y' ) call codflg ( 'Y' )
                                                              +
                                                              227  end if
                                                              +
                                                              228 
                                                              +
                                                              229  if ( basic_f .eq. 'N' ) then
                                                              +
                                                              230 
                                                              +
                                                              231 ! Pass the message to the decoder.
                                                              +
                                                              232 
                                                              +
                                                              233  call readerme ( ibfmg, lunit, cmgtag, imgdt, ierme )
                                                              +
                                                              234  end if
                                                              +
                                                              235 
                                                              +
                                                              236 ! If this is a DX dictionary message, then don't generate any output unless master tables are being used for decoding.
                                                              +
                                                              237 
                                                              +
                                                              238  if ( ( idxmsg( ibfmg ) .ne. 1 ) .or. ( usemt .eq. 'Y' ) ) then
                                                              +
                                                              239 
                                                              +
                                                              240  nmsg = nmsg + 1
                                                              +
                                                              241 
                                                              +
                                                              242  write ( 51, fmt = '( /, A, I7 )' ) 'Found BUFR message #', nmsg
                                                              +
                                                              243 
                                                              +
                                                              244 ! Decode and output the data from Section 0.
                                                              +
                                                              245 
                                                              +
                                                              246  write ( 51, fmt= '( /, A, I9 )' ) ' Message length: ', iupbs01( ibfmg, 'LENM' )
                                                              +
                                                              247  write ( 51, fmt= '( A, I4 )' ) ' Section 0 length: ', iupbs01( ibfmg, 'LEN0' )
                                                              +
                                                              248  write ( 51, fmt= '( A, I4 )' ) ' BUFR edition: ', iupbs01( ibfmg, 'BEN' )
                                                              +
                                                              249 
                                                              +
                                                              250 ! Decode and output the data from Section 1.
                                                              +
                                                              251 
                                                              +
                                                              252  write ( 51, fmt= '( /, A, I4 )' ) ' Section 1 length: ', iupbs01( ibfmg, 'LEN1' )
                                                              +
                                                              253  write ( 51, fmt= '( A, I4 )' ) ' Master table: ', iupbs01( ibfmg, 'BMT' )
                                                              +
                                                              254 
                                                              +
                                                              255  iogce = iupbs01( ibfmg, 'OGCE' )
                                                              +
                                                              256  igses = iupbs01( ibfmg, 'GSES' )
                                                              +
                                                              257  if ( ( basic_f .eq. 'Y' ) .or. ( cfms_f .eq. 'N' ) ) then
                                                              +
                                                              258  write ( 51, fmt= '( A, I5 )' ) ' Originating center: ', iogce
                                                              +
                                                              259  write ( 51, fmt= '( A, I4 )' ) ' Originating subcenter: ', igses
                                                              +
                                                              260  else
                                                              +
                                                              261  call getcfmng ( lunit, 'ORIGC', iogce, ' ', -1, cmorgc, lcmorgc, ierorgc )
                                                              +
                                                              262  if ( ierorgc .eq. 0 ) then
                                                              +
                                                              263  write ( 51, fmt= '( A, I5, 3A )' ) ' Originating center: ', iogce, ' (= ', cmorgc(1:lcmorgc), ')'
                                                              +
                                                              264  else
                                                              +
                                                              265  write ( 51, fmt= '( A, I5 )' ) ' Originating center: ', iogce
                                                              +
                                                              266  end if
                                                              +
                                                              267  call getcfmng ( lunit, 'GSES', igses, 'ORIGC', iogce, cmgses, lcmgses, iergses )
                                                              +
                                                              268  if ( iergses .eq. 0 ) then
                                                              +
                                                              269  write ( 51, fmt= '( A, I4, 3A )' ) ' Originating subcenter: ', igses, ' (= ', cmgses(1:lcmgses), ')'
                                                              +
                                                              270  else
                                                              +
                                                              271  write ( 51, fmt= '( A, I4 )' ) ' Originating subcenter: ', igses
                                                              +
                                                              272  end if
                                                              +
                                                              273  end if
                                                              +
                                                              274 
                                                              +
                                                              275  write ( 51, fmt= '( A, I4 )' ) ' Update sequence numbr: ', iupbs01( ibfmg, 'USN' )
                                                              +
                                                              276 
                                                              +
                                                              277  if ( iupbs01( ibfmg, 'ISC2' ) .eq. 1 ) then
                                                              +
                                                              278  write ( 51, fmt = '( A )') ' Section 2 present?: Yes'
                                                              +
                                                              279  else
                                                              +
                                                              280  write ( 51, fmt = '( A )') ' Section 2 present?: No'
                                                              +
                                                              281  end if
                                                              +
                                                              282 
                                                              +
                                                              283  mtyp = iupbs01( ibfmg, 'MTYP' )
                                                              +
                                                              284  msbt = iupbs01( ibfmg, 'MSBT' )
                                                              +
                                                              285  msbti = iupbs01( ibfmg, 'MSBTI' )
                                                              +
                                                              286  if ( ( basic_f .eq. 'Y' ) .or. ( cfms_f .eq. 'N' ) ) then
                                                              +
                                                              287  write ( 51, fmt= '( A, I4 )' ) ' Data category: ', mtyp
                                                              +
                                                              288  write ( 51, fmt= '( A, I4 )' ) ' Local subcategory: ', msbt
                                                              +
                                                              289  write ( 51, fmt= '( A, I4 )' ) ' Internatl subcategory: ', msbti
                                                              +
                                                              290  else
                                                              +
                                                              291  call getcfmng ( lunit, 'TABLAT', mtyp, ' ', -1, cmmtyp, lcmmtyp, iermtyp )
                                                              +
                                                              292  if ( iermtyp .eq. 0 ) then
                                                              +
                                                              293  write ( 51, fmt= '( A, I4, 3A )' ) ' Data category: ', mtyp, ' (= ', cmmtyp(1:lcmmtyp), ')'
                                                              +
                                                              294  else
                                                              +
                                                              295  write ( 51, fmt= '( A, I4 )' ) ' Data category: ', mtyp
                                                              +
                                                              296  end if
                                                              +
                                                              297  call getcfmng ( lunit, 'TABLASL', msbt, 'TABLAT', mtyp, cmmsbt, lcmmsbt, iermsbt )
                                                              +
                                                              298  if ( ( iermsbt .eq. 0 ) .and. ( iogce .eq. 7 ) ) then
                                                              +
                                                              299  write ( 51, fmt= '( A, I4, 3A )' ) ' Local subcategory: ', msbt, ' (= ', cmmsbt(1:lcmmsbt), ')'
                                                              +
                                                              300  else
                                                              +
                                                              301  write ( 51, fmt= '( A, I4 )' ) ' Local subcategory: ', msbt
                                                              +
                                                              302  end if
                                                              +
                                                              303  call getcfmng ( lunit, 'TABLASS', msbti, 'TABLAT', mtyp, cmmsbti, lcmmsbti, iermsbti )
                                                              +
                                                              304  if ( iermsbti .eq. 0 ) then
                                                              +
                                                              305  write ( 51, fmt= '( A, I4, 3A )' ) ' Internatl subcategory: ', msbti, ' (= ', cmmsbti(1:lcmmsbti), ')'
                                                              +
                                                              306  else
                                                              +
                                                              307  write ( 51, fmt= '( A, I4 )' ) ' Internatl subcategory: ', msbti
                                                              +
                                                              308  end if
                                                              +
                                                              309  end if
                                                              +
                                                              310 
                                                              +
                                                              311  write ( 51, fmt= '( A, I4 )' ) ' Master table version: ', iupbs01( ibfmg, 'MTV' )
                                                              +
                                                              312  write ( 51, fmt= '( A, I4 )' ) ' Local table version: ', iupbs01( ibfmg, 'MTVL' )
                                                              +
                                                              313  write ( 51, fmt= '( A, I4 )' ) ' Year: ', iupbs01( ibfmg, 'YEAR' )
                                                              +
                                                              314  write ( 51, fmt= '( A, I4 )' ) ' Month: ', iupbs01( ibfmg, 'MNTH' )
                                                              +
                                                              315  write ( 51, fmt= '( A, I4 )' ) ' Day: ', iupbs01( ibfmg, 'DAYS' )
                                                              +
                                                              316  write ( 51, fmt= '( A, I4 )' ) ' Hour: ', iupbs01( ibfmg, 'HOUR' )
                                                              +
                                                              317  write ( 51, fmt= '( A, I4 )' ) ' Minute: ', iupbs01( ibfmg, 'MINU' )
                                                              +
                                                              318  write ( 51, fmt= '( A, I4 )' ) ' Second: ', iupbs01( ibfmg, 'SECO' )
                                                              +
                                                              319  if ( ( iogce .eq. 7 ) .and. ( igses .eq. 3 ) ) then
                                                              +
                                                              320  call rtrcptb ( ibfmg, iryr, irmo, irdy, irhr, irmi, irtret )
                                                              +
                                                              321  if ( irtret .eq. 0 ) then
                                                              +
                                                              322  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt year: ', iryr
                                                              +
                                                              323  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt month: ', irmo
                                                              +
                                                              324  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt day: ', irdy
                                                              +
                                                              325  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt hour: ', irhr
                                                              +
                                                              326  write ( 51, fmt= '( A, I4 )' ) ' NCEP tank rcpt minute: ', irmi
                                                              +
                                                              327  end if
                                                              +
                                                              328  end if
                                                              +
                                                              329 
                                                              +
                                                              330 ! Decode and output the data from Section 3.
                                                              +
                                                              331 
                                                              +
                                                              332  nsub = iupbs3( ibfmg, 'NSUB' )
                                                              +
                                                              333  write ( 51, fmt= '( /, A, I4 )' ) ' Number of data subsets: ', nsub
                                                              +
                                                              334  nsubt = nsubt + nsub
                                                              +
                                                              335 
                                                              +
                                                              336  if ( iupbs3( ibfmg, 'IOBS' ) .eq. 1 ) then
                                                              +
                                                              337  write ( 51, fmt = '( A )') ' Data are observed?: Yes'
                                                              +
                                                              338  else
                                                              +
                                                              339  write ( 51, fmt = '( A )') ' Data are observed?: No'
                                                              +
                                                              340  end if
                                                              +
                                                              341 
                                                              +
                                                              342  if ( iupbs3( ibfmg, 'ICMP' ) .eq. 1 ) then
                                                              +
                                                              343  write ( 51, fmt = '( A )') ' Data are compressed?: Yes'
                                                              +
                                                              344  else
                                                              +
                                                              345  write ( 51, fmt = '( A )') ' Data are compressed?: No'
                                                              +
                                                              346  end if
                                                              +
                                                              347 
                                                              +
                                                              348  call upds3 ( ibfmg, mxds3, cds3, nds3 )
                                                              +
                                                              349  write ( 51, fmt= '( A, I5 )' ) ' Number of descriptors: ', nds3
                                                              +
                                                              350  do jj = 1, nds3
                                                              +
                                                              351  write ( 51, fmt = '( 5X, I4, A, A6)' ) jj, ": ", cds3( jj )
                                                              +
                                                              352  end do
                                                              +
                                                              353 
                                                              +
                                                              354  if ( ( basic_f .eq. 'N' ) .and. ( ierme .ge. 0 ) ) then
                                                              +
                                                              355 
                                                              +
                                                              356 ! Decode and output the data from Section 4.
                                                              +
                                                              357 
                                                              +
                                                              358  write ( 51, fmt = '( /, A, I7, 3A, I10, A, I6, A )' ) &
                                                              +
                                                              359  'BUFR message #', nmsg, ' of type ', cmgtag, ' and date ', imgdt, ' contains ', nsub, ' subsets:'
                                                              +
                                                              360  do while ( ireadsb( lunit ) .eq. 0 )
                                                              +
                                                              361  call ufdump ( lunit, 51 )
                                                              +
                                                              362  end do
                                                              +
                                                              363  end if
                                                              +
                                                              364 
                                                              +
                                                              365  write ( 51, fmt = '( /, A, I7 )' ) 'End of BUFR message #', nmsg
                                                              +
                                                              366  write ( 51, fmt = '( /, 120("-"))' )
                                                              +
                                                              367  end if
                                                              +
                                                              368 
                                                              +
                                                              369  end do
                                                              +
                                                              370 
                                                              +
                                                              371  return
                                                              +
                                                              372 end subroutine fdebufr_c
                                                              +
                                                              373 
                                                              +
                                                              388 subroutine openbt ( lundx, mtyp )
                                                              +
                                                              389 
                                                              +
                                                              390  use share_table_info
                                                              +
                                                              391 
                                                              +
                                                              392  implicit none
                                                              +
                                                              393 
                                                              +
                                                              394  character*11 bftab
                                                              +
                                                              395  character*520 bftabfil
                                                              +
                                                              396 
                                                              +
                                                              397  integer, intent(in) :: mtyp
                                                              +
                                                              398  integer, intent(out) :: lundx
                                                              +
                                                              399 
                                                              +
                                                              400  logical exists
                                                              +
                                                              401 
                                                              +
                                                              402  write ( bftab, '("bufrtab.",i3.3)' ) mtyp
                                                              +
                                                              403  bftabfil = tbldir_f(1:ltbd) // '/' // bftab
                                                              +
                                                              404 
                                                              +
                                                              405  inquire ( file = bftabfil, exist = exists )
                                                              +
                                                              406  if ( exists ) then
                                                              +
                                                              407  lundx = ludx
                                                              +
                                                              408  close ( lundx )
                                                              +
                                                              409  open ( unit = lundx, file = bftabfil )
                                                              +
                                                              410  else
                                                              +
                                                              411  lundx = 0
                                                              +
                                                              412  end if
                                                              +
                                                              413 
                                                              +
                                                              414  return
                                                              +
                                                              415 end subroutine openbt
                                                              +
                                                              subroutine codflg(CF)
                                                              This subroutine is used to specify whether or not code and flag table information should be included ...
                                                              Definition: codflg.f:41
                                                              +
                                                              recursive subroutine datelen(LEN)
                                                              This subroutine is used to specify the format of Section 1 date-time values that will be output by fu...
                                                              Definition: datelen.f:28
                                                              +
                                                              subroutine fdebufr_c(ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms)
                                                              This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR ...
                                                              Definition: debufr.F90:58
                                                              +
                                                              recursive subroutine dxdump(LUNIT, LDXOT)
                                                              This subroutine prints a copy of the DX BUFR table associated with a specified Fortran logical unit.
                                                              Definition: dxdump.f:39
                                                              +
                                                              recursive subroutine getcfmng(LUNIT, NEMOI, IVALI, NEMOD, IVALD, CMEANG, LNMNG, IRET)
                                                              This subroutine searches for a specified Table B mnemonic and associated value (code figure or bit nu...
                                                              Definition: getcfmng.f:105
                                                              + +
                                                              recursive subroutine mtinfo(CMTDIR, LUNMT1, LUNMT2)
                                                              Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
                                                              Definition: mtinfo.f:39
                                                              +
                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs.
                                                              +
                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and...
                                                              Definition: debufr.F90:11
                                                              +
                                                              integer ludx
                                                              Fortran logical unit number to use for referencing a DX table.
                                                              Definition: debufr.F90:20
                                                              +
                                                              integer ltbd
                                                              Length (in characters) of tbldir_f.
                                                              Definition: debufr.F90:17
                                                              +
                                                              character(len=:), allocatable tbldir_f
                                                              Directory containing DX BUFR tables to be used for decoding.
                                                              Definition: debufr.F90:14
                                                              +
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              recursive subroutine openbt(LUNDX, MTYP)
                                                              This subroutine is called as a last resort from within subroutine cktaba(), in the event the latter s...
                                                              Definition: openbt.f:36
                                                              +
                                                              subroutine parstr(STR, TAGS, MTAG, NTAG, SEP, LIMIT80)
                                                              Parse a string containing one or more substrings into an array of substrings.
                                                              Definition: parstr.f:24
                                                              +
                                                              recursive subroutine readerme(MESG, LUNIT, SUBSET, JDATE, IRET)
                                                              Read a BUFR message from a memory array.
                                                              Definition: readerme.f:52
                                                              +
                                                              recursive subroutine rtrcptb(MBAY, IYR, IMO, IDY, IHR, IMI, IRET)
                                                              This subroutine reads the tank receipt time (if one exists) from Section 1 of a BUFR message.
                                                              Definition: rtrcptb.f:26
                                                              +
                                                              recursive subroutine strnum(str, num, iret)
                                                              Decode an integer from a character string.
                                                              Definition: strnum.F90:24
                                                              +
                                                              subroutine strsuc(str1, str2, lens)
                                                              This subroutine removes leading and trailing blanks from a character string.
                                                              Definition: strsuc.F90:16
                                                              +
                                                              recursive subroutine ufdump(LUNIT, LUPRT)
                                                              This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
                                                              Definition: ufdump.f:44
                                                              +
                                                              recursive subroutine upds3(MBAY, LCDS3, CDS3, NDS3)
                                                              This subroutine returns the sequence of data descriptors contained within Section 3 of a BUFR message...
                                                              Definition: upds3.f:26
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/debufr_8c.html b/previous_versions/v12.0.1/debufr_8c.html new file mode 100644 index 000000000..fcd393e62 --- /dev/null +++ b/previous_versions/v12.0.1/debufr_8c.html @@ -0,0 +1,372 @@ + + + + + + + +NCEPLIBS-bufr: debufr.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              debufr.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              C language code for debufr utility. +More...

                                                              +
                                                              #include <ctype.h>
                                                              +#include <string.h>
                                                              +#include <stdio.h>
                                                              +#include <libgen.h>
                                                              +#include <unistd.h>
                                                              +#include "bufrlib.h"
                                                              +#include "bufr_interface.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + +

                                                              +Functions

                                                              void fdebufr_f (char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps, char basic, char forcemt, char cfms)
                                                               Read, decode, and print a verbose output listing of the contents of a BUFR file. More...
                                                               
                                                              int main (int argc, char *argv[])
                                                               This program decodes a BUFR file and generates a verbose listing of the contents. More...
                                                               
                                                              void prtusage (char *prgnam)
                                                               This function prints program usage information to standard output. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              C language code for debufr utility.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              + +

                                                              Definition in file debufr.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ fdebufr_f()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void fdebufr_f (char * ofile,
                                                              int lenof,
                                                              char * tbldir,
                                                              int lentd,
                                                              char * tblfil,
                                                              int lentf,
                                                              char * prmstg,
                                                              int lenps,
                                                              char basic,
                                                              char forcemt,
                                                              char cfms 
                                                              )
                                                              +
                                                              + +

                                                              Read, decode, and print a verbose output listing of the contents of a BUFR file.

                                                              +

                                                              All arguments are input.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + + + + +
                                                              ofile- File to contain verbose output listing
                                                              lenof- Length of ofile string
                                                              tbldir- Directory containing DX and/or master BUFR tables for decoding
                                                              lentd- Length of tbldir string
                                                              tblfil- File containing DX BUFR table information for decoding
                                                              lentf- Length of tblfil string
                                                              prmstg- String of up to 20 comma-separated PARAMETER=VALUE pairs to be used for dynamically allocating memory withint the NCEPLIBS-bufr
                                                              lenps- Length of prmstg string
                                                              basic- Indicates whether to only decode and print the contents of Sections 0-3
                                                              forcemt- Indicates whether to ignore embedded DX BUFR tables and force the use of master BUFR tables for decoding
                                                              cfms- Indicates whether code and flag table meanings should be read from master BUFR tables and included in the output
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ main()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int main (int argc,
                                                              char * argv[] 
                                                              )
                                                              +
                                                              + +

                                                              This program decodes a BUFR file and generates a verbose listing of the contents.

                                                              +

                                                              If a DX BUFR Tables file is specified (using the -f option) or if the specified BUFR file contains an embedded DX BUFR tables message as the first message in the file, then this information is used to decode the data messages in the file. Otherwise, or whenever the -m option is specified, master BUFR tables are read and used to decode the data messages in the file.

                                                              +

                                                              Usage
                                                              +

                                                              +
                                                              +  debufr [-v] [-h] [-b] [-c] [-m] [-o outfile] [-t tabledir] [-f tablefil] [-p prmstg] bufrfile
                                                              +
                                                              +    where:
                                                              +      -v        prints version information and exits
                                                              +
                                                              +      -h        prints program help and usage information and exits
                                                              +
                                                              +      -b        specifies the "basic" option, meaning that only the
                                                              +                information in Sections 0-3 will be decoded from each
                                                              +                BUFR message in the bufrfile, and no attempt will be
                                                              +                made to decode the data in Section 4
                                                              +
                                                              +      -c        specifies that code and flag table meanings should not
                                                              +                be read from master BUFR tables and included in the
                                                              +                output; otherwise this feature is enabled by default
                                                              +
                                                              +      -m        specifies that master BUFR tables will be used to
                                                              +                decode the data messages in the file, regardless of
                                                              +                whether it contains any embedded DX BUFR table
                                                              +                messages.  This option can be used to view the actual
                                                              +                contents of DX BUFR table messages, which otherwise
                                                              +                would not be printed in the output listing.
                                                              +
                                                              +      outfile   [path/]name of file to contain verbose output listing.
                                                              +                The default is "bufrfilename.debufr.out" in the current
                                                              +                working directory, where bufrfilename is the basename of
                                                              +                the bufrfile (i.e. bufrfile with any preceding [path/]
                                                              +                removed).
                                                              +
                                                              +      tabledir  [path/]name of directory containing tables to be used
                                                              +                for decoding.  This directory contains the DX BUFR
                                                              +                tables file to be used (if one was specified
                                                              +                via the -f option), or it may contain all of the master
                                                              +                BUFR tables when these are being used to decode a
                                                              +                file.  If unspecified, the default directory location is
                                                              +                the defined value of the MASTER_TABLE_DIR macro when the
                                                              +                utility was built.
                                                              +
                                                              +      tablefil  file within tabledir containing DX BUFR tables
                                                              +                to be used for decoding.
                                                              +
                                                              +      prmstg    string of comma-separated PARAMETER=VALUE pairs, up to a
                                                              +                maximum of 20.  For each pair, the dynamic allocation
                                                              +                PARAMETER will be set to VALUE within the underlying
                                                              +                NCEPLIBS-bufr software, overriding the default value that
                                                              +                would otherwise be used.  A complete list of parameters
                                                              +                that can be dynamically sized is included within the
                                                              +                documentation for NCEPLIBS-bufr function isetprm().
                                                              +
                                                              +      bufrfile  [path/]name of BUFR file to be decoded
                                                              +
                                                              Remarks
                                                                +
                                                              • Fortran logical unit numbers 51, 90, 91, 92 and 93 are reserved for use within this program.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + +
                                                              argc- argument count.
                                                              argv- argument array.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              0 for successs, error code otherwise.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              + +

                                                              Definition at line 167 of file debufr.c.

                                                              + +

                                                              References bvers_f(), ccbfl(), cobfl(), fdebufr_f(), prtusage(), and VERS_STR_LEN.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ prtusage()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void prtusage (char * prgnam)
                                                              +
                                                              + +

                                                              This function prints program usage information to standard output.

                                                              +
                                                              Parameters
                                                              + + +
                                                              prgnam- [path/]name of program executable.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              + +

                                                              Definition at line 48 of file debufr.c.

                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/debufr_8c.js b/previous_versions/v12.0.1/debufr_8c.js new file mode 100644 index 000000000..430768a9b --- /dev/null +++ b/previous_versions/v12.0.1/debufr_8c.js @@ -0,0 +1,6 @@ +var debufr_8c = +[ + [ "fdebufr_f", "debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6", null ], + [ "main", "debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97", null ], + [ "prtusage", "debufr_8c.html#a54cbb8b652032605c043b18a134cd85d", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/debufr_8c_source.html b/previous_versions/v12.0.1/debufr_8c_source.html new file mode 100644 index 000000000..6c295a044 --- /dev/null +++ b/previous_versions/v12.0.1/debufr_8c_source.html @@ -0,0 +1,356 @@ + + + + + + + +NCEPLIBS-bufr: debufr.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              debufr.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              7 #include <ctype.h>
                                                              +
                                                              8 #include <string.h>
                                                              +
                                                              9 #include <stdio.h>
                                                              +
                                                              10 #include <libgen.h>
                                                              +
                                                              11 #include <unistd.h>
                                                              +
                                                              12 
                                                              +
                                                              13 #include "bufrlib.h"
                                                              +
                                                              14 #include "bufr_interface.h"
                                                              +
                                                              15 
                                                              +
                                                              38 void fdebufr_f( char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps,
                                                              +
                                                              39  char basic, char forcemt, char cfms );
                                                              +
                                                              40 
                                                              +
                                                              48 void prtusage( char *prgnam ) {
                                                              +
                                                              49  printf( "\nUSAGE:\n" );
                                                              +
                                                              50  printf( " %s [-v] [-h] [-b] [-c] [-m] [-o outfile] [-t tabledir] [-f tablefil] [-p prmstg] bufrfile\n\n", prgnam );
                                                              +
                                                              51  printf( "\nWHERE:\n" );
                                                              +
                                                              52  printf( " -v prints program version information and exits\n\n" );
                                                              +
                                                              53  printf( " -h prints program help and usage information and exits\n\n" );
                                                              +
                                                              54  printf( " -b specifies the \"basic\" option, meaning that only the\n" );
                                                              +
                                                              55  printf( " information in Sections 0-3 will be decoded from each\n" );
                                                              +
                                                              56  printf( " BUFR message in the bufrfile, and no attempt will be\n" );
                                                              +
                                                              57  printf( " made to decode the data in Section 4\n\n" );
                                                              +
                                                              58  printf( " -c specifies that code and flag table meanings should not\n" );
                                                              +
                                                              59  printf( " be read from master BUFR tables and included in the output;\n" );
                                                              +
                                                              60  printf( " otherwise this feature is enabled by default\n\n" );
                                                              +
                                                              61  printf( " -m specifies that master BUFR tables will be used to\n" );
                                                              +
                                                              62  printf( " decode the data messages in the file, regardless of\n" );
                                                              +
                                                              63  printf( " whether it contains any embedded DX BUFR table messages.\n" );
                                                              +
                                                              64  printf( " This option can be used to view the actual contents of\n" );
                                                              +
                                                              65  printf( " DX BUFR table messages, which otherwise would not be\n" );
                                                              +
                                                              66  printf( " printed in the output listing.\n\n" );
                                                              +
                                                              67  printf( " outfile [path/]name of file to contain verbose output listing.\n" );
                                                              +
                                                              68  printf( " The default is \"bufrfilename.debufr.out\" in the current\n" );
                                                              +
                                                              69  printf( " working directory, where bufrfilename is the basename of\n" );
                                                              +
                                                              70  printf( " the bufrfile (i.e. bufrfile with any preceding [path/]\n" );
                                                              +
                                                              71  printf( " removed).\n\n" );
                                                              +
                                                              72  printf( " tabledir [path/]name of directory containing tables to be used\n" );
                                                              +
                                                              73  printf( " for decoding. This directory contains the DX BUFR tables\n" );
                                                              +
                                                              74  printf( " file to be used (if one was specified via the -f option),\n" );
                                                              +
                                                              75  printf( " or it may contain all of the master BUFR tables when these\n" );
                                                              +
                                                              76  printf( " are being used to decode a file. If unspecified, the\n" );
                                                              +
                                                              77  printf( " default directory location is\n" );
                                                              +
                                                              78  printf( " \"/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build/install/tables\"\n\n" );
                                                              +
                                                              79  printf( " tablefil file within tabledir containing DX BUFR tables to be used\n" );
                                                              +
                                                              80  printf( " for decoding.\n\n" );
                                                              +
                                                              81  printf( " prmstg string of comma-separated PARAMETER=VALUE pairs, up to a\n" );
                                                              +
                                                              82  printf( " maximum of 20. For each pair, the dynamic allocation\n" );
                                                              +
                                                              83  printf( " PARAMETER will be set to VALUE within the underlying\n" );
                                                              +
                                                              84  printf( " NCEPLIBS-bufr software, overriding the default value that would\n" );
                                                              +
                                                              85  printf( " otherwise be used. A complete list of parameters that can\n" );
                                                              +
                                                              86  printf( " be dynamically sized is included within the documentation\n" );
                                                              +
                                                              87  printf( " for NCEPLIBS-bufr function isetprm.\n\n" );
                                                              +
                                                              88  printf( " bufrfile [path/]name of BUFR file to be decoded\n\n" );
                                                              +
                                                              89 }
                                                              +
                                                              90 
                                                              +
                                                              167 int main( int argc, char *argv[ ] ) {
                                                              +
                                                              168 
                                                              +
                                                              169  int ch;
                                                              +
                                                              170 
                                                              +
                                                              171  char basic = 'N';
                                                              +
                                                              172  char forcemt = 'N';
                                                              +
                                                              173  char cfms = 'Y';
                                                              +
                                                              174  char io = 'r';
                                                              +
                                                              175  char tbldir_default[500] =
                                                              +
                                                              176  "/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build/ins"
                                                              +
                                                              177  "tall/tables";
                                                              +
                                                              178  char bvstr[VERS_STR_LEN+1];
                                                              +
                                                              179 
                                                              +
                                                              180  char *ofile = NULL;
                                                              +
                                                              181  char *tbldir = NULL;
                                                              +
                                                              182  char *tblfil = NULL;
                                                              +
                                                              183  char *prmstg = NULL;
                                                              +
                                                              184  char *wkstr = NULL;
                                                              +
                                                              185 
                                                              +
                                                              186  char *bcopy, *bname, *dcopy, *dname;
                                                              +
                                                              187 
                                                              +
                                                              188  int lenof, lentd, lentf, lenps;
                                                              +
                                                              189 
                                                              +
                                                              190  /*
                                                              +
                                                              191  ** Get and process the valid options from the command line:
                                                              +
                                                              192  */
                                                              +
                                                              193  while ( ( ch = getopt ( argc, argv, "vhbcmo:t:f:p:" ) ) != EOF ) {
                                                              +
                                                              194  switch ( ch ) {
                                                              +
                                                              195  case 'v':
                                                              +
                                                              196  bvers_f( bvstr, VERS_STR_LEN+1 );
                                                              +
                                                              197  printf( "This is debufr v4.0.0, built with NCEPLIBS-bufr v%s\n", bvstr );
                                                              +
                                                              198  return 0;
                                                              +
                                                              199  case 'h':
                                                              +
                                                              200  printf( "\nPROGRAM %s\n", argv[0] );
                                                              +
                                                              201  printf( "\nABSTRACT: This program decodes a BUFR file and generates a verbose\n" );
                                                              +
                                                              202  printf( " listing of the contents. If a DX BUFR tables file is specified\n" );
                                                              +
                                                              203  printf( " (using the -f option) or if the specified BUFR file contains an\n" );
                                                              +
                                                              204  printf( " embedded DX BUFR tables message as the first message in the file,\n" );
                                                              +
                                                              205  printf( " then this DX BUFR tables information is used to decode the data\n" );
                                                              +
                                                              206  printf( " messages in the file. Otherwise, or whenever the -m option is\n" );
                                                              +
                                                              207  printf( " specified, master BUFR tables are read and used to decode the\n" );
                                                              +
                                                              208  printf( " data messages in the file.\n" );
                                                              +
                                                              209  prtusage( argv[0] );
                                                              +
                                                              210  return 0;
                                                              +
                                                              211  break;
                                                              +
                                                              212  case 'b':
                                                              +
                                                              213  basic = 'Y';
                                                              +
                                                              214  break;
                                                              +
                                                              215  case 'm':
                                                              +
                                                              216  forcemt = 'Y';
                                                              +
                                                              217  break;
                                                              +
                                                              218  case 'c':
                                                              +
                                                              219  cfms = 'N';
                                                              +
                                                              220  break;
                                                              +
                                                              221  case 'o':
                                                              +
                                                              222  if ( ( ofile = malloc( strlen( optarg ) + 1 ) ) == NULL ) {
                                                              +
                                                              223  printf( "\nERROR: Could not allocate memory for output file name!\n" );
                                                              +
                                                              224  return -1;
                                                              +
                                                              225  }
                                                              +
                                                              226  strcpy ( ofile, optarg );
                                                              +
                                                              227  break;
                                                              +
                                                              228  case 't':
                                                              +
                                                              229  if ( ( tbldir = malloc( strlen( optarg ) + 1 ) ) == NULL ) {
                                                              +
                                                              230  printf( "\nERROR: Could not allocate memory for tables directory!\n" );
                                                              +
                                                              231  return -1;
                                                              +
                                                              232  }
                                                              +
                                                              233  strcpy ( tbldir, optarg );
                                                              +
                                                              234  break;
                                                              +
                                                              235  case 'f':
                                                              +
                                                              236  if ( ( wkstr = malloc( strlen( optarg ) + 1 ) ) == NULL ) {
                                                              +
                                                              237  printf( "\nERROR: Could not allocate memory for DX BUFR tables file!\n" );
                                                              +
                                                              238  return -1;
                                                              +
                                                              239  }
                                                              +
                                                              240  strcpy ( wkstr, optarg );
                                                              +
                                                              241  break;
                                                              +
                                                              242  case 'p':
                                                              +
                                                              243  if ( ( prmstg = malloc( strlen( optarg ) + 1 ) ) == NULL ) {
                                                              +
                                                              244  printf( "\nERROR: Could not allocate memory for PARAMETER(S)=VALUE(S) string!\n" );
                                                              +
                                                              245  return -1;
                                                              +
                                                              246  }
                                                              +
                                                              247  strcpy ( prmstg, optarg );
                                                              +
                                                              248  break;
                                                              +
                                                              249  }
                                                              +
                                                              250  }
                                                              +
                                                              251 
                                                              +
                                                              252  /*
                                                              +
                                                              253  ** There should be one remaining command line argument specifying the
                                                              +
                                                              254  ** input BUFR file.
                                                              +
                                                              255  */
                                                              +
                                                              256  if ( (optind+1) != argc ) {
                                                              +
                                                              257  printf( "\nERROR: You must specify an input BUFR file to be decoded!\n" );
                                                              +
                                                              258  prtusage( argv[0] );
                                                              +
                                                              259  return -1;
                                                              +
                                                              260  }
                                                              +
                                                              261 
                                                              +
                                                              262  /*
                                                              +
                                                              263  ** Open the input BUFR file.
                                                              +
                                                              264  */
                                                              +
                                                              265  cobfl( argv[optind], io );
                                                              +
                                                              266 
                                                              +
                                                              267  /*
                                                              +
                                                              268  ** Check whether a PARAMETER(S)=VALUE(S) string was specified.
                                                              +
                                                              269  */
                                                              +
                                                              270  if ( prmstg == NULL ) { // no, so set a default value
                                                              +
                                                              271  if ( ( prmstg = malloc( 9 ) ) == NULL ) {
                                                              +
                                                              272  printf( "\nERROR: Could not allocate memory for PARAMETER(S)=VALUE(S) string!\n" );
                                                              +
                                                              273  return -1;
                                                              +
                                                              274  }
                                                              +
                                                              275  strcpy( prmstg, "NULLPSTG" );
                                                              +
                                                              276  }
                                                              +
                                                              277 
                                                              +
                                                              278  /*
                                                              +
                                                              279  ** Check whether a tables directory was specified.
                                                              +
                                                              280  */
                                                              +
                                                              281  if ( tbldir == NULL ) { // no, so use the default directory
                                                              +
                                                              282  if ( ( tbldir = malloc( strlen( tbldir_default ) + 1 ) ) == NULL ) {
                                                              +
                                                              283  printf( "\nERROR: Could not allocate memory for tables directory!\n" );
                                                              +
                                                              284  return -1;
                                                              +
                                                              285  }
                                                              +
                                                              286  strcpy( tbldir, tbldir_default );
                                                              +
                                                              287  }
                                                              +
                                                              288 
                                                              +
                                                              289  /*
                                                              +
                                                              290  ** Check whether a DX tables file was specified.
                                                              +
                                                              291  */
                                                              +
                                                              292  if ( wkstr == NULL ) { // no, so set a default value
                                                              +
                                                              293  if ( ( tblfil = malloc( 9 ) ) == NULL ) {
                                                              +
                                                              294  printf( "\nERROR: Could not allocate memory for DX BUFR tables file!\n" );
                                                              +
                                                              295  return -1;
                                                              +
                                                              296  }
                                                              +
                                                              297  strcpy( tblfil, "NULLFILE" );
                                                              +
                                                              298  }
                                                              +
                                                              299  else {
                                                              +
                                                              300  if ( ( tblfil = malloc( strlen( tbldir ) + strlen( wkstr ) + 2 ) ) == NULL ) {
                                                              +
                                                              301  printf( "\nERROR: Could not allocate memory for DX BUFR tables file!\n" );
                                                              +
                                                              302  return -1;
                                                              +
                                                              303  }
                                                              +
                                                              304  sprintf( tblfil, "%s%c%s", tbldir, '/', wkstr );
                                                              +
                                                              305  }
                                                              +
                                                              306  free( wkstr );
                                                              +
                                                              307 
                                                              +
                                                              308  /*
                                                              +
                                                              309  ** Check whether an output file was specified. If not, make a default
                                                              +
                                                              310  ** filename in the current working directory using the basename of the
                                                              +
                                                              311  ** input BUFR file.
                                                              +
                                                              312  */
                                                              +
                                                              313  if ( ofile == NULL ) {
                                                              +
                                                              314  bcopy = strdup( argv[optind] );
                                                              +
                                                              315  bname = basename( bcopy );
                                                              +
                                                              316  if ( ( ofile = malloc( strlen( bname ) + 15 ) ) == NULL ) {
                                                              +
                                                              317  printf( "\nERROR: Could not allocate memory for output file name!\n" );
                                                              +
                                                              318  return -1;
                                                              +
                                                              319  }
                                                              +
                                                              320  strcpy( ofile, bname );
                                                              +
                                                              321  strcat( ofile, ".debufr.out" );
                                                              +
                                                              322  free( bcopy );
                                                              +
                                                              323  }
                                                              +
                                                              324 
                                                              +
                                                              325  /*
                                                              +
                                                              326  ** Confirm that the output directory is writeable.
                                                              +
                                                              327  */
                                                              +
                                                              328  dcopy = strdup( ofile );
                                                              +
                                                              329  dname = dirname( dcopy );
                                                              +
                                                              330  if ( access( dname, W_OK ) != 0 ) {
                                                              +
                                                              331  printf( "\nERROR: Cannot write output file to %s\n",
                                                              +
                                                              332  ( strcmp( dname, "." ) == 0 ? "current working directory" : dname ) );
                                                              +
                                                              333  prtusage( argv[0] );
                                                              +
                                                              334  return -1;
                                                              +
                                                              335  }
                                                              +
                                                              336  free( dcopy );
                                                              +
                                                              337 
                                                              +
                                                              338  /*
                                                              +
                                                              339  ** Read and decode each message from the input BUFR file.
                                                              +
                                                              340  */
                                                              +
                                                              341  lenof = strlen( ofile );
                                                              +
                                                              342  lentd = strlen( tbldir );
                                                              +
                                                              343  lentf = strlen( tblfil );
                                                              +
                                                              344  lenps = strlen( prmstg );
                                                              +
                                                              345  fdebufr_f( ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms );
                                                              +
                                                              346 
                                                              +
                                                              347  free( ofile );
                                                              +
                                                              348  free( tbldir );
                                                              +
                                                              349  free( tblfil );
                                                              +
                                                              350  free( prmstg );
                                                              +
                                                              351 
                                                              +
                                                              352  /*
                                                              +
                                                              353  ** Close the input BUFR file.
                                                              +
                                                              354  */
                                                              +
                                                              355  ccbfl( );
                                                              +
                                                              356 
                                                              +
                                                              357  return 0;
                                                              +
                                                              358 }
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.
                                                              +
                                                              void cobfl(char *bfl, char io)
                                                              Open a new file for reading or writing BUFR messages via a C language interface.
                                                              Definition: crwbmg.c:120
                                                              +
                                                              void ccbfl(void)
                                                              Close all files that were opened via previous calls to function cobfl().
                                                              Definition: crwbmg.c:296
                                                              +
                                                              void bvers_f(char *cverstr, int cverstr_len)
                                                              Get the version number of the NCEPLIBS-bufr software.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              #define VERS_STR_LEN
                                                              Size of a character string needed to store a library version number.
                                                              Definition: bufrlib.h:72
                                                              +
                                                              int main(int argc, char *argv[])
                                                              This program decodes a BUFR file and generates a verbose listing of the contents.
                                                              Definition: debufr.c:167
                                                              +
                                                              void prtusage(char *prgnam)
                                                              This function prints program usage information to standard output.
                                                              Definition: debufr.c:48
                                                              +
                                                              void fdebufr_f(char *ofile, int lenof, char *tbldir, int lentd, char *tblfil, int lentf, char *prmstg, int lenps, char basic, char forcemt, char cfms)
                                                              Read, decode, and print a verbose output listing of the contents of a BUFR file.
                                                              +
                                                              +
                                                              + + + + diff --git a/digit_8f.html b/previous_versions/v12.0.1/digit_8f.html similarity index 100% rename from digit_8f.html rename to previous_versions/v12.0.1/digit_8f.html diff --git a/digit_8f.js b/previous_versions/v12.0.1/digit_8f.js similarity index 100% rename from digit_8f.js rename to previous_versions/v12.0.1/digit_8f.js diff --git a/digit_8f_source.html b/previous_versions/v12.0.1/digit_8f_source.html similarity index 100% rename from digit_8f_source.html rename to previous_versions/v12.0.1/digit_8f_source.html diff --git a/dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html b/previous_versions/v12.0.1/dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html similarity index 100% rename from dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html rename to previous_versions/v12.0.1/dir_1c7cb1e53c36c68d6005e0e04c42a1f1.html diff --git a/previous_versions/v12.0.1/dir_49e56c817e5e54854c35e136979f97ca.html b/previous_versions/v12.0.1/dir_49e56c817e5e54854c35e136979f97ca.html new file mode 100644 index 000000000..17439b58c --- /dev/null +++ b/previous_versions/v12.0.1/dir_49e56c817e5e54854c35e136979f97ca.html @@ -0,0 +1,99 @@ + + + + + + + +NCEPLIBS-bufr: docs Directory Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              docs Directory Reference
                                                              +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/dir_4e7c8c4fc0d923782da8a23d70a9725b.html b/previous_versions/v12.0.1/dir_4e7c8c4fc0d923782da8a23d70a9725b.html similarity index 100% rename from dir_4e7c8c4fc0d923782da8a23d70a9725b.html rename to previous_versions/v12.0.1/dir_4e7c8c4fc0d923782da8a23d70a9725b.html diff --git a/previous_versions/v12.0.1/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/previous_versions/v12.0.1/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 000000000..934eb6641 --- /dev/null +++ b/previous_versions/v12.0.1/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,892 @@ + + + + + + + +NCEPLIBS-bufr: src Directory Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              src Directory Reference
                                                              +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Files

                                                              file  adn30.f [code]
                                                               Convert a WMO bit-wise representation of an FXY value to a character string of length 5 or 6.
                                                               
                                                              file  arallocc.c [code]
                                                               Dynamically allocate C language arrays.
                                                               
                                                              file  arallocf.f [code]
                                                               Dynamically allocate Fortran language arrays.
                                                               
                                                              file  ardllocc.c [code]
                                                               Free all dynamically-allocated memory within internal C language arrays.
                                                               
                                                              file  ardllocf.f [code]
                                                               Free all dynamically-allocated memory within internal Fortran language arrays.
                                                               
                                                              file  atrcpt.f [code]
                                                               Add a tank receipt time to a BUFR message.
                                                               
                                                              file  blocks.f [code]
                                                               Encapsulate a BUFR message with IEEE Fortran control words.
                                                               
                                                              file  bort.f [code]
                                                               Log one error message and abort application program.
                                                               
                                                              file  bort2.f [code]
                                                               Log two error messages and abort application program.
                                                               
                                                              file  bort_exit.c [code]
                                                               Abort the application program.
                                                               
                                                              file  bufr_c2f_interface.F90 [code]
                                                               Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C.
                                                               
                                                              file  bufr_interface.F90 [code]
                                                               Enable a number of C NCEPLIBS-bufr functions to be called from within Fortran application programs.
                                                               
                                                              file  bufr_interface.h [code]
                                                               Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.
                                                               
                                                              file  bufrlib.F90 [code]
                                                               Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library.
                                                               
                                                              file  cadn30.f [code]
                                                               Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                                               
                                                              file  capit.f [code]
                                                               Capitalize a character string.
                                                               
                                                              file  cfe.c [code]
                                                               C language interface for processing master Code/Flag table entries.
                                                               
                                                              file  chekstab.f [code]
                                                               Check that an internal BUFR table representation is self-consistent and fully defined.
                                                               
                                                              file  cktaba.f [code]
                                                               Parse the Table A mnemonic and date out of Section 1 of a BUFR message.
                                                               
                                                              file  closbf.f [code]
                                                               Close a previously opened file and disconnect it from the NCEPLIBS-bufr software.
                                                               
                                                              file  closmg.f [code]
                                                               Close and write the current message to a BUFR file that was previously opened for writing.
                                                               
                                                              file  cmpmsg.f [code]
                                                               Specify the use of compression when writing BUFR messages.
                                                               
                                                              file  cmsgini.f [code]
                                                               Initialize a new compressed BUFR message for output.
                                                               
                                                              file  cnved4.f [code]
                                                               Convert a BUFR edition 3 message to BUFR edition 4.
                                                               
                                                              file  codflg.f [code]
                                                               Specify inclusion of code and flag tables when reading master BUFR tables.
                                                               
                                                              file  conwin.f [code]
                                                               Search consecutive subset buffer segments for an element identified in the user string as a conditional node.
                                                               
                                                              file  copybf.f [code]
                                                               Copy an entire BUFR file.
                                                               
                                                              file  copymg.f [code]
                                                               Copy a BUFR message from one file to another.
                                                               
                                                              file  copysb.f [code]
                                                               Copy a BUFR data subset.
                                                               
                                                              file  cpbfdx.f [code]
                                                               Copy DX BUFR table information within internal memory.
                                                               
                                                              file  cpdxmm.f [code]
                                                               Read embedded DX BUFR table into internal arrays.
                                                               
                                                              file  cpmstabs.c [code]
                                                               Copy master Table B and Table D information from Fortran arrays to C arrays within internal memory.
                                                               
                                                              file  cpymem.f [code]
                                                               Copy a BUFR message.
                                                               
                                                              file  cpyupd.f [code]
                                                               Copy a BUFR data subset.
                                                               
                                                              file  cread.c [code]
                                                               C language interface for reading or writing BUFR messages.
                                                               
                                                              file  cread.h [code]
                                                               Declare variables for reading or writing BUFR messages via a C language interface.
                                                               
                                                              file  crwbmg.c [code]
                                                               C language interface for reading or writing BUFR messages.
                                                               
                                                              file  datebf.f [code]
                                                               Read the Section 1 date-time from the first data message of a BUFR file.
                                                               
                                                              file  datelen.f [code]
                                                               Specify format of Section 1 date-time when reading BUFR messages.
                                                               
                                                              file  digit.f [code]
                                                               Check whether the characters in a string are all numeric.
                                                               
                                                              file  drfini.f [code]
                                                               Initialize replication factors for delayed replication sequences.
                                                               
                                                              file  drstpl.f [code]
                                                               Search for a specified mnemonic within unexpanded sequences of the internal jump/link table.
                                                               
                                                              file  dumpbf.f [code]
                                                               Read the Section 1 date-time from the first two "dummy" messages of an NCEP dump file.
                                                               
                                                              file  dxdump.f [code]
                                                               Print the contents of a DX BUFR table.
                                                               
                                                              file  dxinit.f [code]
                                                               Initialize the internal arrays which contain the DX BUFR table.
                                                               
                                                              file  dxmini.f [code]
                                                               Initialize a DX BUFR tables message.
                                                               
                                                              file  elemdx.f [code]
                                                               Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
                                                               
                                                              file  errwrt.f [code]
                                                               Specify location for logging of error and diagnostic messages.
                                                               
                                                              file  exitbufr.f [code]
                                                               Reset the NCEPLIBS-bufr software for potential dynamic reallocation of memory.
                                                               
                                                              file  fortran_close.F90 [code]
                                                               Close a Fortran file on the local system.
                                                               
                                                              file  fortran_open.F90 [code]
                                                               Open a Fortran file on the local system.
                                                               
                                                              file  fstag.f [code]
                                                               Search for a specified occurrence of a specified mnemonic within a data subset definition, starting from a specified location.
                                                               
                                                              file  getabdb.f [code]
                                                               Get Table B and Table D information from the internal DX BUFR tables.
                                                               
                                                              file  getbmiss.f [code]
                                                               Get the current placeholder value for "missing" data.
                                                               
                                                              file  getcfmng.f [code]
                                                               Decode the meaning of a numerical value from a code or flag table.
                                                               
                                                              file  getlens.f [code]
                                                               Read the section lengths of a BUFR message.
                                                               
                                                              file  getntbe.f [code]
                                                               Read the first line of the next entry from a master table B, table D or Code/Flag table file.
                                                               
                                                              file  gets1loc.f [code]
                                                               Get the location of a specified value within Section 1 of a BUFR message.
                                                               
                                                              file  gettagpr.f [code]
                                                               Get the parent for a specified occurrence of a Table B or Table D mnemonic.
                                                               
                                                              file  gettagre.f [code]
                                                               Check whether a Table B mnemonic references another Table B mnemonic via an internal bitmap.
                                                               
                                                              file  gettbh.f [code]
                                                               Read the header lines from a master table B, table D or Code/Flag table.
                                                               
                                                              file  getvalnb.f [code]
                                                               Read one data value from a data subset.
                                                               
                                                              file  getwin.f [code]
                                                               Look for a window containing a specified node within the internal jump/link table.
                                                               
                                                              file  hold4wlc.f [code]
                                                               Write a long character string (greater than 8 bytes) to a data subset.
                                                               
                                                              file  i4dy.f [code]
                                                               Convert a date-time with a 2-digit year to a date-time with a 4-digit year.
                                                               
                                                              file  ibfms.f [code]
                                                               Test whether a real*8 data value is "missing".
                                                               
                                                              file  icbfms.f [code]
                                                               Test whether a character string is "missing".
                                                               
                                                              file  icmpdx.f [code]
                                                               Check whether two BUFR files have the same DX BUFR table information.
                                                               
                                                              file  icopysb.f [code]
                                                               Copy a BUFR data subset.
                                                               
                                                              file  icvidx.c [code]
                                                               Compute a unique 1-dimensional array index from 2-dimensional indices.
                                                               
                                                              file  idn30.f [code]
                                                               Convert an FXY value from a character string to the WMO bit-wise representation.
                                                               
                                                              file  idxmsg.f [code]
                                                               Check whether a BUFR message contains DX BUFR tables information.
                                                               
                                                              file  ifbget.f [code]
                                                               Check whether there are any more data subsets available to be read from a BUFR message.
                                                               
                                                              file  ifxy.f [code]
                                                               Convert an FXY value from its six character representation to its WMO bit-wise representation.
                                                               
                                                              file  igetdate.f [code]
                                                               Read the date-time from Section 1 of a BUFR message.
                                                               
                                                              file  igetfxy.f [code]
                                                               Search for a valid FXY number within a character string.
                                                               
                                                              file  igetmxby.f [code]
                                                               Get the maximum length of a BUFR message that can be written to an output file.
                                                               
                                                              file  igetntbi.f [code]
                                                               Get the next index for storing an entry within an internal DX BUFR table.
                                                               
                                                              file  igetntbl.f [code]
                                                               Read the next line from a master table B, table D or Code/Flag table file.
                                                               
                                                              file  igetprm.f [code]
                                                               Get the current value of a parameter.
                                                               
                                                              file  igetrfel.f [code]
                                                               Check whether a specified element refers to a previous element within the same subset via an internal bitmap.
                                                               
                                                              file  igetsc.f [code]
                                                               Check for an abnormal status code associated with the processing of a file.
                                                               
                                                              file  igettdi.f [code]
                                                               Get the next usable Table D index for the current master table, or reset the index.
                                                               
                                                              file  imrkopr.f [code]
                                                               Check whether a mnemonic is a Table C marker operator.
                                                               
                                                              file  inctab.f [code]
                                                               Get the next available positional index for writing into the internal jump/link table.
                                                               
                                                              file  invcon.f [code]
                                                               Search a specified window for a conditional node.
                                                               
                                                              file  invmrg.f [code]
                                                               Merge parts of data subsets.
                                                               
                                                              file  invtag.f [code]
                                                               Search for a specified mnemonic within a specified portion of the current data subset.
                                                               
                                                              file  invwin.f [code]
                                                               Search for a specified node within a specified portion of the current data subset.
                                                               
                                                              file  iok2cpy.f [code]
                                                               Check whether a BUFR message or data subset can be copied from one BUFR file to another.
                                                               
                                                              file  iokoper.f [code]
                                                               Check whether a mnemonic is a Table C operator.
                                                               
                                                              file  ipkm.f [code]
                                                               Encode an integer value within a character string.
                                                               
                                                              file  ipks.f [code]
                                                               Pack a real*8 value into an integer by applying the proper scale and reference values.
                                                               
                                                              file  ireadmg.f [code]
                                                               Read the next message from a BUFR file that was previously opened for reading.
                                                               
                                                              file  ireadmm.f [code]
                                                               Read a BUFR message from internal arrays.
                                                               
                                                              file  ireadmt.f [code]
                                                               Check whether master BUFR tables need to be read from the local file system.
                                                               
                                                              file  ireadns.f [code]
                                                               Read the next data subset from a BUFR file that was previously opened for reading.
                                                               
                                                              file  ireadsb.f [code]
                                                               Read the next data subset from a BUFR message.
                                                               
                                                              file  irev.F [code]
                                                               Return a copy of an input integer word with the bytes reversed.
                                                               
                                                              file  isetprm.f [code]
                                                               Define a customized parameter value for dynamic allocation.
                                                               
                                                              file  ishrdx.f [code]
                                                               Check whether two BUFR files are sharing the same DX BUFR table.
                                                               
                                                              file  isize.f [code]
                                                               Compute the number of characters needed to encode an integer as a string.
                                                               
                                                              file  istdesc.f [code]
                                                               Check whether a descriptor is WMO-standard.
                                                               
                                                              file  iupb.f [code]
                                                               Decode an integer value from an integer array.
                                                               
                                                              file  iupbs01.f [code]
                                                               Read a data value from Section 0 or Section 1 of a BUFR message.
                                                               
                                                              file  iupbs3.f [code]
                                                               Read a data value from Section 3 of a BUFR message.
                                                               
                                                              file  iupm.f [code]
                                                               Decode an integer value from a character string.
                                                               
                                                              file  iupvs01.f [code]
                                                               Read a data value from Section 0 or Section 1 of a BUFR message.
                                                               
                                                              file  jstnum.f [code]
                                                               Left-justify a character string containing an encoded integer.
                                                               
                                                              file  lcmgdf.f [code]
                                                               Check for the existence of any long character strings (greater than 8 bytes) within a data subset definition.
                                                               
                                                              file  lmsg.f [code]
                                                               Determine the array size needed to store a BUFR message.
                                                               
                                                              file  lstjpb.f [code]
                                                               Search backwards from a specified node of the jump/link table for a node of a specified type.
                                                               
                                                              file  makestab.f [code]
                                                               Build the internal jump/link table.
                                                               
                                                              file  maxout.f [code]
                                                               Define a customized maximum length for output BUFR messages.
                                                               
                                                              file  mesgbc.f [code]
                                                               Get information about a BUFR message.
                                                               
                                                              file  mesgbf.f [code]
                                                               Get information about a BUFR message.
                                                               
                                                              file  minimg.f [code]
                                                               Write a minutes value into Section 1 of a BUFR message.
                                                               
                                                              file  modules_arrs.F90 [code]
                                                               Declare module arrays.
                                                               
                                                              file  modules_vars.F90 [code]
                                                               Declare and initialize module variables.
                                                               
                                                              file  mrginv.f [code]
                                                               Print a summary of merge activity.
                                                               
                                                              file  msgfull.f [code]
                                                               Check whether a data subset will fit within a BUFR message.
                                                               
                                                              file  msgini.f [code]
                                                               Initialize a new uncompressed BUFR message for output.
                                                               
                                                              file  msgupd.f [code]
                                                               Write an uncompressed BUFR data subset.
                                                               
                                                              file  msgwrt.f [code]
                                                               Finalize a BUFR message for output and write the message to a BUFR file.
                                                               
                                                              file  mstabs.h [code]
                                                               Declare variables for internal storage of master Table B and Table D entries.
                                                               
                                                              file  mtfnam.f [code]
                                                               Determine filenames and check for the existence of corresponding standard and local master table files on the filesystem.
                                                               
                                                              file  mtinfo.f [code]
                                                               Specify location of master BUFR tables on local file system.
                                                               
                                                              file  mvb.f [code]
                                                               Copy a specified number of bytes from one packed binary array to another.
                                                               
                                                              file  nemdefs.f [code]
                                                               Get the element name and units associated with a Table B mnemonic.
                                                               
                                                              file  nemock.f [code]
                                                               Check the validity of a mnemonic.
                                                               
                                                              file  nemspecs.f [code]
                                                               Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.
                                                               
                                                              file  nemtab.f [code]
                                                               Get information about a descriptor, based on the mnemonic.
                                                               
                                                              file  nemtba.f [code]
                                                               Search for a Table A descriptor within the internal DX BUFR tables.
                                                               
                                                              file  nemtbax.f [code]
                                                               Search for a Table A descriptor within the internal DX BUFR tables.
                                                               
                                                              file  nemtbb.f [code]
                                                               Get information about a Table B descriptor.
                                                               
                                                              file  nemtbd.f [code]
                                                               Get information about a Table D descriptor.
                                                               
                                                              file  nenubd.f [code]
                                                               Confirm that a mnemonic and FXY value haven't already been defined.
                                                               
                                                              file  nevn.f [code]
                                                               Search for stacked data events within a specified portion of the current data subset.
                                                               
                                                              file  newwin.f [code]
                                                               Computes the ending index of the window.
                                                               
                                                              file  nmsub.f [code]
                                                               Get the number of data subsets from a BUFR message.
                                                               
                                                              file  nmwrd.f [code]
                                                               Determine the array size needed to store a BUFR message.
                                                               
                                                              file  numbck.f [code]
                                                               Check the validity of an FXY value.
                                                               
                                                              file  numtab.f [code]
                                                               Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
                                                               
                                                              file  numtbd.f [code]
                                                               Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                                               
                                                              file  nvnwin.f [code]
                                                               Search for all occurrences of a specified node within a specified portion of the current data subset.
                                                               
                                                              file  nwords.f [code]
                                                               Compute the length of a delayed replication sequence.
                                                               
                                                              file  nxtwin.f [code]
                                                               Computes the start and end indices of the next window.
                                                               
                                                              file  openbf.f [code]
                                                               Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file.
                                                               
                                                              file  openbt.f [code]
                                                               Specify DX BUFR table file of last resort.
                                                               
                                                              file  openmb.f [code]
                                                               Open a new message for output in a BUFR file that was previously opened for writing.
                                                               
                                                              file  openmg.f [code]
                                                               Open a new message for output in a BUFR file that was previously opened for writing.
                                                               
                                                              file  pad.f [code]
                                                               Pad a BUFR data subset with zeroed-out bits up to the next byte boundary.
                                                               
                                                              file  padmsg.f [code]
                                                               Pad a BUFR message with zeroed-out bytes up to the next 8-byte boundary.
                                                               
                                                              file  parstr.f [code]
                                                               Parse a string containing one or more substrings into an array of substrings.
                                                               
                                                              file  parusr.f [code]
                                                               Initate the process to parse out mnemonics from a character string.
                                                               
                                                              file  parutg.f [code]
                                                               Parse a mnemonic from a character string.
                                                               
                                                              file  pkb.f [code]
                                                               Encode an integer value within an integer array.
                                                               
                                                              file  pkb8.f [code]
                                                               Encode an 8-byte integer value within an integer array.
                                                               
                                                              file  pkbs1.f [code]
                                                               Write a data value into Section 1 of a BUFR message.
                                                               
                                                              file  pkc.f [code]
                                                               Encode a character string within an integer array.
                                                               
                                                              file  pkftbv.f [code]
                                                               Determine the numerical data value equivalent to the setting of a specified bit within a flag table.
                                                               
                                                              file  pktdd.f [code]
                                                               Store information about a child mnemonic within the internal arrays.
                                                               
                                                              file  pkvs01.f [code]
                                                               Specify a value to be included in Section 0 or Section 1 when writing BUFR messages.
                                                               
                                                              file  posapx.f [code]
                                                               Position an output BUFR file for appending.
                                                               
                                                              file  rcstpl.f [code]
                                                               Store the subset template into internal arrays.
                                                               
                                                              file  rdbfdx.f [code]
                                                               Read a complete DX BUFR table.
                                                               
                                                              file  rdcmps.f [code]
                                                               Read the next compressed BUFR data subset into internal arrays.
                                                               
                                                              file  rdmemm.f [code]
                                                               Read a specified BUFR message from internal arrays.
                                                               
                                                              file  rdmems.f [code]
                                                               Read a specified data subset from a BUFR message.
                                                               
                                                              file  rdmgsb.f [code]
                                                               Read a specified data subset from a BUFR file.
                                                               
                                                              file  rdmsgw.F90 [code]
                                                               Read a BUFR message.
                                                               
                                                              file  rdmtbb.f [code]
                                                               Read master Table B information from local file system.
                                                               
                                                              file  rdmtbd.f [code]
                                                               Read master Table D information from local file system.
                                                               
                                                              file  rdmtbf.f [code]
                                                               Read master Code/Flag table information from local file system.
                                                               
                                                              file  rdtree.f [code]
                                                               Read the next uncompressed BUFR data subset into internal arrays.
                                                               
                                                              file  rdusdx.f [code]
                                                               Read a complete DX BUFR table.
                                                               
                                                              file  readdx.f [code]
                                                               Read DX BUFR table information into internal arrays.
                                                               
                                                              file  readerme.f [code]
                                                               Read a BUFR message from a memory array.
                                                               
                                                              file  readlc.f [code]
                                                               Read a long character string (greater than 8 bytes) from a data subset.
                                                               
                                                              file  readmg.f [code]
                                                               Read the next message from a BUFR file that was previously opened for reading.
                                                               
                                                              file  readmm.f [code]
                                                               Read a specified BUFR message from internal arrays.
                                                               
                                                              file  readns.f [code]
                                                               Read the next data subset from a BUFR file that was previously opened for reading.
                                                               
                                                              file  reads3.f [code]
                                                               Read the Section 3 descriptors from a BUFR message.
                                                               
                                                              file  readsb.f [code]
                                                               Read the next data subset from a BUFR message.
                                                               
                                                              file  restd.c [code]
                                                               Standardize a local Table D descriptor.
                                                               
                                                              file  rewnbf.f [code]
                                                               Store or restore parameters associated with a BUFR file.
                                                               
                                                              file  rsvfvm.f [code]
                                                               Process a "following value" mnemonic.
                                                               
                                                              file  rtrcpt.f [code]
                                                               Read the tank receipt time from Section 1 of a BUFR message.
                                                               
                                                              file  rtrcptb.f [code]
                                                               Read the tank receipt time from Section 1 of a BUFR message.
                                                               
                                                              file  seqsdx.f [code]
                                                               Decode the sequence information from a Table D mnemonic definition.
                                                               
                                                              file  setblock.f [code]
                                                               Specify the use of IEEE Fortran control words when writing BUFR messages.
                                                               
                                                              file  setbmiss.f [code]
                                                               Define a customized placeholder value for "missing" data.
                                                               
                                                              file  setim8b.F90 [code]
                                                               Use 8-byte integer arguments to BUFRLIB subprograms from Fortran.
                                                               
                                                              file  setvalnb.f [code]
                                                               Write one data value to a data subset.
                                                               
                                                              file  sntbbe.f [code]
                                                               Store a master Table B entry into Fortran arrays.
                                                               
                                                              file  sntbde.f [code]
                                                               Store a master Table D entry into Fortran arrays.
                                                               
                                                              file  sntbfe.f [code]
                                                               Store a master Code/Flag table entry into internal memory.
                                                               
                                                              file  status.f [code]
                                                               Check whether a file is connected to the NCEPLIBS-bufr software.
                                                               
                                                              file  stbfdx.f [code]
                                                               Store a DX BUFR tables message into internal arrays.
                                                               
                                                              file  stdmsg.f [code]
                                                               Specify the use of standardization when writing BUFR messages.
                                                               
                                                              file  stndrd.f [code]
                                                               Standardize a BUFR message.
                                                               
                                                              file  stntbi.f [code]
                                                               Store a new entry within the internal BUFR Table B or D.
                                                               
                                                              file  stntbia.f [code]
                                                               Store a new entry within the internal BUFR Table A.
                                                               
                                                              file  strbtm.f [code]
                                                               Store information about a bitmap element.
                                                               
                                                              file  strcln.f [code]
                                                               Reset the string cache.
                                                               
                                                              file  strcpt.f [code]
                                                               Specify a tank receipt time to be included in Section 1 when writing BUFR messages.
                                                               
                                                              file  string.f [code]
                                                               Check whether a string is in the string cache.
                                                               
                                                              file  strnum.F90 [code]
                                                               Decode an integer from a character string.
                                                               
                                                              file  strsuc.F90 [code]
                                                               Remove leading and trailing blanks from a character string.
                                                               
                                                              file  stseq.c [code]
                                                               Store information about a standard Table D descriptor within internal DX BUFR tables.
                                                               
                                                              file  tabent.f [code]
                                                               Store an entry for a Table B or D mnemonic within the internal jump/link table.
                                                               
                                                              file  tabsub.f [code]
                                                               Store an entry for a Table A mnemonic within the internal jump/link table.
                                                               
                                                              file  trybump.f [code]
                                                               Try to expand a delayed replication sequence.
                                                               
                                                              file  ufbcnt.f [code]
                                                               Get the current message number and data subset number within a BUFR file.
                                                               
                                                              file  ufbcpy.f [code]
                                                               Copy a BUFR data subset.
                                                               
                                                              file  ufbcup.f [code]
                                                               Copy unique elements of a data subset.
                                                               
                                                              file  ufbdmp.f [code]
                                                               Print the contents of a data subset.
                                                               
                                                              file  ufbevn.f [code]
                                                               Read one or more data values from an NCEP prepbufr file.
                                                               
                                                              file  ufbget.f [code]
                                                               Read one or more data values from a data subset.
                                                               
                                                              file  ufbin3.f [code]
                                                               Read one or more data values from an NCEP prepfits file.
                                                               
                                                              file  ufbint.f [code]
                                                               Read/write one or more data values from/to a data subset.
                                                               
                                                              file  ufbinx.f [code]
                                                               Read one or more data values from a data subset.
                                                               
                                                              file  ufbmem.f [code]
                                                               Connect a new file to the NCEPLIBS-bufr software, and read the entire file contents into internal arrays.
                                                               
                                                              file  ufbmex.f [code]
                                                               Connect a new file to the BUFRLIB software, and read the entire file contents into internal arrays.
                                                               
                                                              file  ufbmms.f [code]
                                                               Read a specified data subset from internal arrays.
                                                               
                                                              file  ufbmns.f [code]
                                                               Read a specified data subset from internal arrays.
                                                               
                                                              file  ufbovr.f [code]
                                                               Overwrite one or more data values within a data subset.
                                                               
                                                              file  ufbpos.f [code]
                                                               Jump forwards or backwards to a specified data subset within a BUFR file.
                                                               
                                                              file  ufbqcd.f [code]
                                                               Get the event program code associated with a Table D mnemonic from an NCEP prepbufr file.
                                                               
                                                              file  ufbqcp.f [code]
                                                               Get the Table D mnemonic associated with an event program code from an NCEP prepbufr file.
                                                               
                                                              file  ufbrep.f [code]
                                                               Read/write one or more data values from/to a data subset.
                                                               
                                                              file  ufbrms.f [code]
                                                               Read one or more data values from a data subset in internal arrays.
                                                               
                                                              file  ufbrp.f [code]
                                                               Read/write one or more data values from/to a data subset.
                                                               
                                                              file  ufbrw.f [code]
                                                               Read/write one or more data values from/to a data subset.
                                                               
                                                              file  ufbseq.f [code]
                                                               Read/write an entire sequence of data values from/to a data subset.
                                                               
                                                              file  ufbsp.f [code]
                                                               Read/write one or more data values from/to a data subset.
                                                               
                                                              file  ufbstp.f [code]
                                                               Read/write one or more data values from/to a data subset.
                                                               
                                                              file  ufbtab.f [code]
                                                               Read one or more data values from every data subset in a BUFR file.
                                                               
                                                              file  ufbtam.f [code]
                                                               Read one or more data values from every data subset in internal arrays.
                                                               
                                                              file  ufdump.f [code]
                                                               Print the contents of a data subset.
                                                               
                                                              file  up8.f [code]
                                                               Decode an 8-byte integer value from an integer array.
                                                               
                                                              file  upb.f [code]
                                                               Decode an integer value from an integer array.
                                                               
                                                              file  upb8.f [code]
                                                               Decode an 8-byte integer value from an integer array.
                                                               
                                                              file  upbb.f [code]
                                                               Decode an integer value from an integer array.
                                                               
                                                              file  upc.f [code]
                                                               Decode a character string from an integer array.
                                                               
                                                              file  upds3.f [code]
                                                               Read data descriptors from Section 3 of a BUFR message.
                                                               
                                                              file  upftbv.f [code]
                                                               Determine the bit settings equivalent to a numerical flag table value.
                                                               
                                                              file  ups.f [code]
                                                               Unpack a real*8 value from an integer by applying the proper scale and reference values.
                                                               
                                                              file  uptdd.f [code]
                                                               Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D sequence.
                                                               
                                                              file  usrtpl.f [code]
                                                               Store the subset template into internal arrays.
                                                               
                                                              file  wrcmps.f [code]
                                                               Write a compressed BUFR data subset.
                                                               
                                                              file  wrdesc.c [code]
                                                               Maintain an array of descriptors.
                                                               
                                                              file  wrdlen.F [code]
                                                               Determine important information about the local machine.
                                                               
                                                              file  wrdxtb.f [code]
                                                               Write DX BUFR tables messages to a BUFR file.
                                                               
                                                              file  writcp.f [code]
                                                               Write a data subset into a BUFR message using compression.
                                                               
                                                              file  writdx.f [code]
                                                               Write DX BUFR tables messages to the beginning of a BUFR file.
                                                               
                                                              file  writlc.f [code]
                                                               Write a long character string (greater than 8 bytes) to a data subset.
                                                               
                                                              file  writsa.f [code]
                                                               Write a data subset into a BUFR message, and return each completed message within a memory array.
                                                               
                                                              file  writsb.f [code]
                                                               Write a data subset into a BUFR message.
                                                               
                                                              file  wrtree.f [code]
                                                               Pack a BUFR data subset.
                                                               
                                                              file  wtstat.f [code]
                                                               Update file status in library internals.
                                                               
                                                              file  x48.F [code]
                                                               Encode one or more 4-byte integer values as 8-byte integer values.
                                                               
                                                              file  x84.F [code]
                                                               Encode one or more 8-byte integer values as 4-byte integer values.
                                                               
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html b/previous_versions/v12.0.1/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html new file mode 100644 index 000000000..a62ae4389 --- /dev/null +++ b/previous_versions/v12.0.1/dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html @@ -0,0 +1,127 @@ + + + + + + + +NCEPLIBS-bufr: utils Directory Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              utils Directory Reference
                                                              +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Files

                                                              file  binv.f90 [code]
                                                               Produce an inventory of subsets in a bufr file.
                                                               
                                                              file  cmpbqm.F90 [code]
                                                               Print inventory of observations from prepbufr file by variable, report type and quality mark.
                                                               
                                                              file  debufr.F90 [code]
                                                               Fortran language code for debufr utility.
                                                               
                                                              file  gettab.f90 [code]
                                                               Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout.
                                                               
                                                              file  readbp.F90 [code]
                                                               Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time.
                                                               
                                                              file  readmp.F90 [code]
                                                               Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.
                                                               
                                                              file  split_by_subset.f90 [code]
                                                               Split a BUFR file into separate BUFR files by subset type.
                                                               
                                                              file  xbfmg.c [code]
                                                               Split a BUFR file into separate BUFR files by message.
                                                               
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/doc.png b/previous_versions/v12.0.1/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/doxygen.css b/previous_versions/v12.0.1/doxygen.css new file mode 100644 index 000000000..ffbff0224 --- /dev/null +++ b/previous_versions/v12.0.1/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/previous_versions/v12.0.1/doxygen.svg b/previous_versions/v12.0.1/doxygen.svg new file mode 100644 index 000000000..d42dad52d --- /dev/null +++ b/previous_versions/v12.0.1/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/drfini_8f.html b/previous_versions/v12.0.1/drfini_8f.html similarity index 100% rename from drfini_8f.html rename to previous_versions/v12.0.1/drfini_8f.html diff --git a/drfini_8f.js b/previous_versions/v12.0.1/drfini_8f.js similarity index 100% rename from drfini_8f.js rename to previous_versions/v12.0.1/drfini_8f.js diff --git a/drfini_8f_source.html b/previous_versions/v12.0.1/drfini_8f_source.html similarity index 100% rename from drfini_8f_source.html rename to previous_versions/v12.0.1/drfini_8f_source.html diff --git a/drstpl_8f.html b/previous_versions/v12.0.1/drstpl_8f.html similarity index 100% rename from drstpl_8f.html rename to previous_versions/v12.0.1/drstpl_8f.html diff --git a/drstpl_8f.js b/previous_versions/v12.0.1/drstpl_8f.js similarity index 100% rename from drstpl_8f.js rename to previous_versions/v12.0.1/drstpl_8f.js diff --git a/drstpl_8f_source.html b/previous_versions/v12.0.1/drstpl_8f_source.html similarity index 100% rename from drstpl_8f_source.html rename to previous_versions/v12.0.1/drstpl_8f_source.html diff --git a/dumpbf_8f.html b/previous_versions/v12.0.1/dumpbf_8f.html similarity index 100% rename from dumpbf_8f.html rename to previous_versions/v12.0.1/dumpbf_8f.html diff --git a/dumpbf_8f.js b/previous_versions/v12.0.1/dumpbf_8f.js similarity index 100% rename from dumpbf_8f.js rename to previous_versions/v12.0.1/dumpbf_8f.js diff --git a/dumpbf_8f_source.html b/previous_versions/v12.0.1/dumpbf_8f_source.html similarity index 100% rename from dumpbf_8f_source.html rename to previous_versions/v12.0.1/dumpbf_8f_source.html diff --git a/dxdump_8f.html b/previous_versions/v12.0.1/dxdump_8f.html similarity index 100% rename from dxdump_8f.html rename to previous_versions/v12.0.1/dxdump_8f.html diff --git a/dxdump_8f.js b/previous_versions/v12.0.1/dxdump_8f.js similarity index 100% rename from dxdump_8f.js rename to previous_versions/v12.0.1/dxdump_8f.js diff --git a/dxdump_8f_source.html b/previous_versions/v12.0.1/dxdump_8f_source.html similarity index 100% rename from dxdump_8f_source.html rename to previous_versions/v12.0.1/dxdump_8f_source.html diff --git a/dxinit_8f.html b/previous_versions/v12.0.1/dxinit_8f.html similarity index 100% rename from dxinit_8f.html rename to previous_versions/v12.0.1/dxinit_8f.html diff --git a/dxinit_8f.js b/previous_versions/v12.0.1/dxinit_8f.js similarity index 100% rename from dxinit_8f.js rename to previous_versions/v12.0.1/dxinit_8f.js diff --git a/dxinit_8f_source.html b/previous_versions/v12.0.1/dxinit_8f_source.html similarity index 100% rename from dxinit_8f_source.html rename to previous_versions/v12.0.1/dxinit_8f_source.html diff --git a/dxmini_8f.html b/previous_versions/v12.0.1/dxmini_8f.html similarity index 100% rename from dxmini_8f.html rename to previous_versions/v12.0.1/dxmini_8f.html diff --git a/dxmini_8f.js b/previous_versions/v12.0.1/dxmini_8f.js similarity index 100% rename from dxmini_8f.js rename to previous_versions/v12.0.1/dxmini_8f.js diff --git a/dxmini_8f_source.html b/previous_versions/v12.0.1/dxmini_8f_source.html similarity index 100% rename from dxmini_8f_source.html rename to previous_versions/v12.0.1/dxmini_8f_source.html diff --git a/previous_versions/v12.0.1/dynsections.js b/previous_versions/v12.0.1/dynsections.js new file mode 100644 index 000000000..88f2c27e6 --- /dev/null +++ b/previous_versions/v12.0.1/dynsections.js @@ -0,0 +1,128 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +NCEPLIBS-bufr: File List + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              File List
                                                              +
                                                              +
                                                              +
                                                              Here is a list of all documented files with brief descriptions:
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                               adn30.fConvert a WMO bit-wise representation of an FXY value to a character string of length 5 or 6
                                                               arallocc.cDynamically allocate C language arrays
                                                               arallocf.fDynamically allocate Fortran language arrays
                                                               ardllocc.cFree all dynamically-allocated memory within internal C language arrays
                                                               ardllocf.fFree all dynamically-allocated memory within internal Fortran language arrays
                                                               atrcpt.fAdd a tank receipt time to a BUFR message
                                                               bfrini.f90Initialize global variables and arrays within internal memory
                                                               binv.f90Produce an inventory of subsets in a bufr file
                                                               blocks.fEncapsulate a BUFR message with IEEE Fortran control words
                                                               bort.fLog one error message and abort application program
                                                               bort2.fLog two error messages and abort application program
                                                               bort_exit.cAbort the application program
                                                               bufr_c2f_interface.F90Enable a number of Fortran NCEPLIBS-bufr subprograms to be called from within C
                                                               bufr_interface.F90Enable a number of C NCEPLIBS-bufr functions to be called from within Fortran application programs
                                                               bufr_interface.hEnable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs
                                                               bufrlib.F90Enable a number of C NCEPLIBS-bufr functions to be called from within the Fortran part of the library
                                                               bufrlib.hEnable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library
                                                               bvers.fGet the version number of the NCEPLIBS-bufr software
                                                               cadn30.fConvert an FXY value from its WMO bit-wise representation to its six-character representation
                                                               capit.fCapitalize a character string
                                                               cfe.cC language interface for processing master Code/Flag table entries
                                                               chekstab.fCheck that an internal BUFR table representation is self-consistent and fully defined
                                                               cktaba.fParse the Table A mnemonic and date out of Section 1 of a BUFR message
                                                               closbf.fClose a previously opened file and disconnect it from the NCEPLIBS-bufr software
                                                               closmg.fClose and write the current message to a BUFR file that was previously opened for writing
                                                               cmpbqm.F90Print inventory of observations from prepbufr file by variable, report type and quality mark
                                                               cmpmsg.fSpecify the use of compression when writing BUFR messages
                                                               cmsgini.fInitialize a new compressed BUFR message for output
                                                               cnved4.fConvert a BUFR edition 3 message to BUFR edition 4
                                                               codflg.fSpecify inclusion of code and flag tables when reading master BUFR tables
                                                               conwin.fSearch consecutive subset buffer segments for an element identified in the user string as a conditional node
                                                               copybf.fCopy an entire BUFR file
                                                               copymg.fCopy a BUFR message from one file to another
                                                               copysb.fCopy a BUFR data subset
                                                               cpbfdx.fCopy DX BUFR table information within internal memory
                                                               cpdxmm.fRead embedded DX BUFR table into internal arrays
                                                               cpmstabs.cCopy master Table B and Table D information from Fortran arrays to C arrays within internal memory
                                                               cpymem.fCopy a BUFR message
                                                               cpyupd.fCopy a BUFR data subset
                                                               cread.cC language interface for reading or writing BUFR messages
                                                               cread.hDeclare variables for reading or writing BUFR messages via a C language interface
                                                               crwbmg.cC language interface for reading or writing BUFR messages
                                                               datebf.fRead the Section 1 date-time from the first data message of a BUFR file
                                                               datelen.fSpecify format of Section 1 date-time when reading BUFR messages
                                                               debufr.cC language code for debufr utility
                                                               debufr.F90Fortran language code for debufr utility
                                                               digit.fCheck whether the characters in a string are all numeric
                                                               drfini.fInitialize replication factors for delayed replication sequences
                                                               drstpl.fSearch for a specified mnemonic within unexpanded sequences of the internal jump/link table
                                                               dumpbf.fRead the Section 1 date-time from the first two "dummy" messages of an NCEP dump file
                                                               dxdump.fPrint the contents of a DX BUFR table
                                                               dxinit.fInitialize the internal arrays which contain the DX BUFR table
                                                               dxmini.fInitialize a DX BUFR tables message
                                                               elemdx.fDecode the scale factor, reference value, bit width, and units from a Table B mnemonic definition
                                                               errwrt.fSpecify location for logging of error and diagnostic messages
                                                               exitbufr.fReset the NCEPLIBS-bufr software for potential dynamic reallocation of memory
                                                               fortran_close.F90Close a Fortran file on the local system
                                                               fortran_open.F90Open a Fortran file on the local system
                                                               fstag.fSearch for a specified occurrence of a specified mnemonic within a data subset definition, starting from a specified location
                                                               getabdb.fGet Table B and Table D information from the internal DX BUFR tables
                                                               getbmiss.fGet the current placeholder value for "missing" data
                                                               getcfmng.fDecode the meaning of a numerical value from a code or flag table
                                                               getlens.fRead the section lengths of a BUFR message
                                                               getntbe.fRead the first line of the next entry from a master table B, table D or Code/Flag table file
                                                               gets1loc.fGet the location of a specified value within Section 1 of a BUFR message
                                                               gettab.f90Read BUFR file containing embedded DX BUFR tables, and print the tables to stdout
                                                               gettagpr.fGet the parent for a specified occurrence of a Table B or Table D mnemonic
                                                               gettagre.fCheck whether a Table B mnemonic references another Table B mnemonic via an internal bitmap
                                                               gettbh.fRead the header lines from a master table B, table D or Code/Flag table
                                                               getvalnb.fRead one data value from a data subset
                                                               getwin.fLook for a window containing a specified node within the internal jump/link table
                                                               hold4wlc.fWrite a long character string (greater than 8 bytes) to a data subset
                                                               i4dy.fConvert a date-time with a 2-digit year to a date-time with a 4-digit year
                                                               ibfms.fTest whether a real*8 data value is "missing"
                                                               icbfms.fTest whether a character string is "missing"
                                                               icmpdx.fCheck whether two BUFR files have the same DX BUFR table information
                                                               icopysb.fCopy a BUFR data subset
                                                               icvidx.cCompute a unique 1-dimensional array index from 2-dimensional indices
                                                               idn30.fConvert an FXY value from a character string to the WMO bit-wise representation
                                                               idxmsg.fCheck whether a BUFR message contains DX BUFR tables information
                                                               ifbget.fCheck whether there are any more data subsets available to be read from a BUFR message
                                                               ifxy.fConvert an FXY value from its six character representation to its WMO bit-wise representation
                                                               igetdate.fRead the date-time from Section 1 of a BUFR message
                                                               igetfxy.fSearch for a valid FXY number within a character string
                                                               igetmxby.fGet the maximum length of a BUFR message that can be written to an output file
                                                               igetntbi.fGet the next index for storing an entry within an internal DX BUFR table
                                                               igetntbl.fRead the next line from a master table B, table D or Code/Flag table file
                                                               igetprm.fGet the current value of a parameter
                                                               igetrfel.fCheck whether a specified element refers to a previous element within the same subset via an internal bitmap
                                                               igetsc.fCheck for an abnormal status code associated with the processing of a file
                                                               igettdi.fGet the next usable Table D index for the current master table, or reset the index
                                                               imrkopr.fCheck whether a mnemonic is a Table C marker operator
                                                               inctab.fGet the next available positional index for writing into the internal jump/link table
                                                               invcon.fSearch a specified window for a conditional node
                                                               invmrg.fMerge parts of data subsets
                                                               invtag.fSearch for a specified mnemonic within a specified portion of the current data subset
                                                               invwin.fSearch for a specified node within a specified portion of the current data subset
                                                               iok2cpy.fCheck whether a BUFR message or data subset can be copied from one BUFR file to another
                                                               iokoper.fCheck whether a mnemonic is a Table C operator
                                                               ipkm.fEncode an integer value within a character string
                                                               ipks.fPack a real*8 value into an integer by applying the proper scale and reference values
                                                               ireadmg.fRead the next message from a BUFR file that was previously opened for reading
                                                               ireadmm.fRead a BUFR message from internal arrays
                                                               ireadmt.fCheck whether master BUFR tables need to be read from the local file system
                                                               ireadns.fRead the next data subset from a BUFR file that was previously opened for reading
                                                               ireadsb.fRead the next data subset from a BUFR message
                                                               irev.FReturn a copy of an input integer word with the bytes reversed
                                                               isetprm.fDefine a customized parameter value for dynamic allocation
                                                               ishrdx.fCheck whether two BUFR files are sharing the same DX BUFR table
                                                               isize.fCompute the number of characters needed to encode an integer as a string
                                                               istdesc.fCheck whether a descriptor is WMO-standard
                                                               iupb.fDecode an integer value from an integer array
                                                               iupbs01.fRead a data value from Section 0 or Section 1 of a BUFR message
                                                               iupbs3.fRead a data value from Section 3 of a BUFR message
                                                               iupm.fDecode an integer value from a character string
                                                               iupvs01.fRead a data value from Section 0 or Section 1 of a BUFR message
                                                               jstnum.fLeft-justify a character string containing an encoded integer
                                                               lcmgdf.fCheck for the existence of any long character strings (greater than 8 bytes) within a data subset definition
                                                               lmsg.fDetermine the array size needed to store a BUFR message
                                                               lstjpb.fSearch backwards from a specified node of the jump/link table for a node of a specified type
                                                               makestab.fBuild the internal jump/link table
                                                               maxout.fDefine a customized maximum length for output BUFR messages
                                                               mesgbc.fGet information about a BUFR message
                                                               mesgbf.fGet information about a BUFR message
                                                               minimg.fWrite a minutes value into Section 1 of a BUFR message
                                                               modules_arrs.F90Declare module arrays
                                                               modules_vars.F90Declare and initialize module variables
                                                               mrginv.fPrint a summary of merge activity
                                                               msgfull.fCheck whether a data subset will fit within a BUFR message
                                                               msgini.fInitialize a new uncompressed BUFR message for output
                                                               msgupd.fWrite an uncompressed BUFR data subset
                                                               msgwrt.fFinalize a BUFR message for output and write the message to a BUFR file
                                                               mstabs.hDeclare variables for internal storage of master Table B and Table D entries
                                                               mtfnam.fDetermine filenames and check for the existence of corresponding standard and local master table files on the filesystem
                                                               mtinfo.fSpecify location of master BUFR tables on local file system
                                                               mvb.fCopy a specified number of bytes from one packed binary array to another
                                                               nemdefs.fGet the element name and units associated with a Table B mnemonic
                                                               nemock.fCheck the validity of a mnemonic
                                                               nemspecs.fGet the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic
                                                               nemtab.fGet information about a descriptor, based on the mnemonic
                                                               nemtba.fSearch for a Table A descriptor within the internal DX BUFR tables
                                                               nemtbax.fSearch for a Table A descriptor within the internal DX BUFR tables
                                                               nemtbb.fGet information about a Table B descriptor
                                                               nemtbd.fGet information about a Table D descriptor
                                                               nenubd.fConfirm that a mnemonic and FXY value haven't already been defined
                                                               nevn.fSearch for stacked data events within a specified portion of the current data subset
                                                               newwin.fComputes the ending index of the window
                                                               nmsub.fGet the number of data subsets from a BUFR message
                                                               nmwrd.fDetermine the array size needed to store a BUFR message
                                                               numbck.fCheck the validity of an FXY value
                                                               numtab.fGet information about a descriptor, based on the WMO bit-wise representation of an FXY value
                                                               numtbd.fSearch for a Table B or Table D descriptor within the internal DX BUFR tables
                                                               nvnwin.fSearch for all occurrences of a specified node within a specified portion of the current data subset
                                                               nwords.fCompute the length of a delayed replication sequence
                                                               nxtwin.fComputes the start and end indices of the next window
                                                               openbf.fConnect a new file to the library, or initialize the library, or change verbosity associated with already-connected file
                                                               openbt.fSpecify DX BUFR table file of last resort
                                                               openmb.fOpen a new message for output in a BUFR file that was previously opened for writing
                                                               openmg.fOpen a new message for output in a BUFR file that was previously opened for writing
                                                               pad.fPad a BUFR data subset with zeroed-out bits up to the next byte boundary
                                                               padmsg.fPad a BUFR message with zeroed-out bytes up to the next 8-byte boundary
                                                               parstr.fParse a string containing one or more substrings into an array of substrings
                                                               parusr.fInitate the process to parse out mnemonics from a character string
                                                               parutg.fParse a mnemonic from a character string
                                                               pkb.fEncode an integer value within an integer array
                                                               pkb8.fEncode an 8-byte integer value within an integer array
                                                               pkbs1.fWrite a data value into Section 1 of a BUFR message
                                                               pkc.fEncode a character string within an integer array
                                                               pkftbv.fDetermine the numerical data value equivalent to the setting of a specified bit within a flag table
                                                               pktdd.fStore information about a child mnemonic within the internal arrays
                                                               pkvs01.fSpecify a value to be included in Section 0 or Section 1 when writing BUFR messages
                                                               posapx.fPosition an output BUFR file for appending
                                                               rcstpl.fStore the subset template into internal arrays
                                                               rdbfdx.fRead a complete DX BUFR table
                                                               rdcmps.fRead the next compressed BUFR data subset into internal arrays
                                                               rdmemm.fRead a specified BUFR message from internal arrays
                                                               rdmems.fRead a specified data subset from a BUFR message
                                                               rdmgsb.fRead a specified data subset from a BUFR file
                                                               rdmsgw.F90Read a BUFR message
                                                               rdmtbb.fRead master Table B information from local file system
                                                               rdmtbd.fRead master Table D information from local file system
                                                               rdmtbf.fRead master Code/Flag table information from local file system
                                                               rdtree.fRead the next uncompressed BUFR data subset into internal arrays
                                                               rdusdx.fRead a complete DX BUFR table
                                                               readbp.F90Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time
                                                               readdx.fRead DX BUFR table information into internal arrays
                                                               readerme.fRead a BUFR message from a memory array
                                                               readlc.fRead a long character string (greater than 8 bytes) from a data subset
                                                               readmg.fRead the next message from a BUFR file that was previously opened for reading
                                                               readmm.fRead a specified BUFR message from internal arrays
                                                               readmp.F90Read BUFR file containing embedded DX BUFR tables, and print each report one at a time
                                                               readns.fRead the next data subset from a BUFR file that was previously opened for reading
                                                               reads3.fRead the Section 3 descriptors from a BUFR message
                                                               readsb.fRead the next data subset from a BUFR message
                                                               restd.cStandardize a local Table D descriptor
                                                               rewnbf.fStore or restore parameters associated with a BUFR file
                                                               rsvfvm.fProcess a "following value" mnemonic
                                                               rtrcpt.fRead the tank receipt time from Section 1 of a BUFR message
                                                               rtrcptb.fRead the tank receipt time from Section 1 of a BUFR message
                                                               seqsdx.fDecode the sequence information from a Table D mnemonic definition
                                                               setblock.fSpecify the use of IEEE Fortran control words when writing BUFR messages
                                                               setbmiss.fDefine a customized placeholder value for "missing" data
                                                               setim8b.F90Use 8-byte integer arguments to BUFRLIB subprograms from Fortran
                                                               setvalnb.fWrite one data value to a data subset
                                                               sinv.f90Produces a BUFR file inventory by satellite type
                                                               sntbbe.fStore a master Table B entry into Fortran arrays
                                                               sntbde.fStore a master Table D entry into Fortran arrays
                                                               sntbfe.fStore a master Code/Flag table entry into internal memory
                                                               split_by_subset.f90Split a BUFR file into separate BUFR files by subset type
                                                               status.fCheck whether a file is connected to the NCEPLIBS-bufr software
                                                               stbfdx.fStore a DX BUFR tables message into internal arrays
                                                               stdmsg.fSpecify the use of standardization when writing BUFR messages
                                                               stndrd.fStandardize a BUFR message
                                                               stntbi.fStore a new entry within the internal BUFR Table B or D
                                                               stntbia.fStore a new entry within the internal BUFR Table A
                                                               strbtm.fStore information about a bitmap element
                                                               strcln.fReset the string cache
                                                               strcpt.fSpecify a tank receipt time to be included in Section 1 when writing BUFR messages
                                                               string.fCheck whether a string is in the string cache
                                                               strnum.F90Decode an integer from a character string
                                                               strsuc.F90Remove leading and trailing blanks from a character string
                                                               stseq.cStore information about a standard Table D descriptor within internal DX BUFR tables
                                                               tabent.fStore an entry for a Table B or D mnemonic within the internal jump/link table
                                                               tabsub.fStore an entry for a Table A mnemonic within the internal jump/link table
                                                               trybump.fTry to expand a delayed replication sequence
                                                               ufbcnt.fGet the current message number and data subset number within a BUFR file
                                                               ufbcpy.fCopy a BUFR data subset
                                                               ufbcup.fCopy unique elements of a data subset
                                                               ufbdmp.fPrint the contents of a data subset
                                                               ufbevn.fRead one or more data values from an NCEP prepbufr file
                                                               ufbget.fRead one or more data values from a data subset
                                                               ufbin3.fRead one or more data values from an NCEP prepfits file
                                                               ufbint.fRead/write one or more data values from/to a data subset
                                                               ufbinx.fRead one or more data values from a data subset
                                                               ufbmem.fConnect a new file to the NCEPLIBS-bufr software, and read the entire file contents into internal arrays
                                                               ufbmex.fConnect a new file to the BUFRLIB software, and read the entire file contents into internal arrays
                                                               ufbmms.fRead a specified data subset from internal arrays
                                                               ufbmns.fRead a specified data subset from internal arrays
                                                               ufbovr.fOverwrite one or more data values within a data subset
                                                               ufbpos.fJump forwards or backwards to a specified data subset within a BUFR file
                                                               ufbqcd.fGet the event program code associated with a Table D mnemonic from an NCEP prepbufr file
                                                               ufbqcp.fGet the Table D mnemonic associated with an event program code from an NCEP prepbufr file
                                                               ufbrep.fRead/write one or more data values from/to a data subset
                                                               ufbrms.fRead one or more data values from a data subset in internal arrays
                                                               ufbrp.fRead/write one or more data values from/to a data subset
                                                               ufbrw.fRead/write one or more data values from/to a data subset
                                                               ufbseq.fRead/write an entire sequence of data values from/to a data subset
                                                               ufbsp.fRead/write one or more data values from/to a data subset
                                                               ufbstp.fRead/write one or more data values from/to a data subset
                                                               ufbtab.fRead one or more data values from every data subset in a BUFR file
                                                               ufbtam.fRead one or more data values from every data subset in internal arrays
                                                               ufdump.fPrint the contents of a data subset
                                                               up8.fDecode an 8-byte integer value from an integer array
                                                               upb.fDecode an integer value from an integer array
                                                               upb8.fDecode an 8-byte integer value from an integer array
                                                               upbb.fDecode an integer value from an integer array
                                                               upc.fDecode a character string from an integer array
                                                               upds3.fRead data descriptors from Section 3 of a BUFR message
                                                               upftbv.fDetermine the bit settings equivalent to a numerical flag table value
                                                               ups.fUnpack a real*8 value from an integer by applying the proper scale and reference values
                                                               uptdd.fGet the WMO bit-wise representation of the FXY value corresponding to a child mnemonic in a Table D sequence
                                                               usrtpl.fStore the subset template into internal arrays
                                                               wrcmps.fWrite a compressed BUFR data subset
                                                               wrdesc.cMaintain an array of descriptors
                                                               wrdlen.FDetermine important information about the local machine
                                                               wrdxtb.fWrite DX BUFR tables messages to a BUFR file
                                                               writcp.fWrite a data subset into a BUFR message using compression
                                                               writdx.fWrite DX BUFR tables messages to the beginning of a BUFR file
                                                               writlc.fWrite a long character string (greater than 8 bytes) to a data subset
                                                               writsa.fWrite a data subset into a BUFR message, and return each completed message within a memory array
                                                               writsb.fWrite a data subset into a BUFR message
                                                               wrtree.fPack a BUFR data subset
                                                               wtstat.fUpdate file status in library internals
                                                               x48.FEncode one or more 4-byte integer values as 8-byte integer values
                                                               x84.FEncode one or more 8-byte integer values as 4-byte integer values
                                                               xbfmg.cSplit a BUFR file into separate BUFR files by message
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/files_dup.js b/previous_versions/v12.0.1/files_dup.js new file mode 100644 index 000000000..b4a6c3d67 --- /dev/null +++ b/previous_versions/v12.0.1/files_dup.js @@ -0,0 +1,305 @@ +var files_dup = +[ + [ "adn30.f", "adn30_8f.html", "adn30_8f" ], + [ "arallocc.c", "arallocc_8c.html", "arallocc_8c" ], + [ "arallocf.f", "arallocf_8f.html", "arallocf_8f" ], + [ "ardllocc.c", "ardllocc_8c.html", "ardllocc_8c" ], + [ "ardllocf.f", "ardllocf_8f.html", "ardllocf_8f" ], + [ "atrcpt.f", "atrcpt_8f.html", "atrcpt_8f" ], + [ "bfrini.f90", "bfrini_8f90.html", "bfrini_8f90" ], + [ "binv.f90", "binv_8f90.html", "binv_8f90" ], + [ "blocks.f", "blocks_8f.html", "blocks_8f" ], + [ "bort.f", "bort_8f.html", "bort_8f" ], + [ "bort2.f", "bort2_8f.html", "bort2_8f" ], + [ "bort_exit.c", "bort__exit_8c.html", "bort__exit_8c" ], + [ "bufr_c2f_interface.F90", "bufr__c2f__interface_8F90.html", "bufr__c2f__interface_8F90" ], + [ "bufr_interface.F90", "bufr__interface_8F90.html", [ + [ "ccbfl_c", "interfacebufr__interface_1_1ccbfl__c.html", "interfacebufr__interface_1_1ccbfl__c" ], + [ "cobfl_c", "interfacebufr__interface_1_1cobfl__c.html", "interfacebufr__interface_1_1cobfl__c" ], + [ "crbmg_c", "interfacebufr__interface_1_1crbmg__c.html", "interfacebufr__interface_1_1crbmg__c" ], + [ "cwbmg_c", "interfacebufr__interface_1_1cwbmg__c.html", "interfacebufr__interface_1_1cwbmg__c" ], + [ "dlloctbf_c", "interfacebufr__interface_1_1dlloctbf__c.html", "interfacebufr__interface_1_1dlloctbf__c" ] + ] ], + [ "bufr_interface.h", "bufr__interface_8h.html", "bufr__interface_8h" ], + [ "bufrlib.F90", "bufrlib_8F90.html", [ + [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html", "interfacebufrlib_1_1arallocc__c" ], + [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html", "interfacebufrlib_1_1ardllocc__c" ], + [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html", "interfacebufrlib_1_1backbufr__c" ], + [ "bort_exit_c", "interfacebufrlib_1_1bort__exit__c.html", "interfacebufrlib_1_1bort__exit__c" ], + [ "cewind_c", "interfacebufrlib_1_1cewind__c.html", "interfacebufrlib_1_1cewind__c" ], + [ "closfb_c", "interfacebufrlib_1_1closfb__c.html", "interfacebufrlib_1_1closfb__c" ], + [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html", "interfacebufrlib_1_1cpmstabs__c" ], + [ "crdbufr_c", "interfacebufrlib_1_1crdbufr__c.html", "interfacebufrlib_1_1crdbufr__c" ], + [ "cwrbufr_c", "interfacebufrlib_1_1cwrbufr__c.html", "interfacebufrlib_1_1cwrbufr__c" ], + [ "icvidx_c", "interfacebufrlib_1_1icvidx__c.html", "interfacebufrlib_1_1icvidx__c" ], + [ "inittbf_c", "interfacebufrlib_1_1inittbf__c.html", "interfacebufrlib_1_1inittbf__c" ], + [ "openab_c", "interfacebufrlib_1_1openab__c.html", "interfacebufrlib_1_1openab__c" ], + [ "openrb_c", "interfacebufrlib_1_1openrb__c.html", "interfacebufrlib_1_1openrb__c" ], + [ "openwb_c", "interfacebufrlib_1_1openwb__c.html", "interfacebufrlib_1_1openwb__c" ], + [ "restd_c", "interfacebufrlib_1_1restd__c.html", "interfacebufrlib_1_1restd__c" ], + [ "sorttbf_c", "interfacebufrlib_1_1sorttbf__c.html", "interfacebufrlib_1_1sorttbf__c" ], + [ "srchtbf_c", "interfacebufrlib_1_1srchtbf__c.html", "interfacebufrlib_1_1srchtbf__c" ], + [ "strtbfe_c", "interfacebufrlib_1_1strtbfe__c.html", "interfacebufrlib_1_1strtbfe__c" ], + [ "stseq_c", "interfacebufrlib_1_1stseq__c.html", "interfacebufrlib_1_1stseq__c" ] + ] ], + [ "bufrlib.h", "bufrlib_8h.html", "bufrlib_8h" ], + [ "bvers.f", "bvers_8f.html", "bvers_8f" ], + [ "cadn30.f", "cadn30_8f.html", "cadn30_8f" ], + [ "capit.f", "capit_8f.html", "capit_8f" ], + [ "cfe.c", "cfe_8c.html", "cfe_8c" ], + [ "chekstab.f", "chekstab_8f.html", "chekstab_8f" ], + [ "cktaba.f", "cktaba_8f.html", "cktaba_8f" ], + [ "closbf.f", "closbf_8f.html", "closbf_8f" ], + [ "closmg.f", "closmg_8f.html", "closmg_8f" ], + [ "cmpbqm.F90", "cmpbqm_8F90.html", "cmpbqm_8F90" ], + [ "cmpmsg.f", "cmpmsg_8f.html", "cmpmsg_8f" ], + [ "cmsgini.f", "cmsgini_8f.html", "cmsgini_8f" ], + [ "cnved4.f", "cnved4_8f.html", "cnved4_8f" ], + [ "codflg.f", "codflg_8f.html", "codflg_8f" ], + [ "conwin.f", "conwin_8f.html", "conwin_8f" ], + [ "copybf.f", "copybf_8f.html", "copybf_8f" ], + [ "copymg.f", "copymg_8f.html", "copymg_8f" ], + [ "copysb.f", "copysb_8f.html", "copysb_8f" ], + [ "cpbfdx.f", "cpbfdx_8f.html", "cpbfdx_8f" ], + [ "cpdxmm.f", "cpdxmm_8f.html", "cpdxmm_8f" ], + [ "cpmstabs.c", "cpmstabs_8c.html", "cpmstabs_8c" ], + [ "cpymem.f", "cpymem_8f.html", "cpymem_8f" ], + [ "cpyupd.f", "cpyupd_8f.html", "cpyupd_8f" ], + [ "cread.c", "cread_8c.html", "cread_8c" ], + [ "cread.h", "cread_8h.html", "cread_8h" ], + [ "crwbmg.c", "crwbmg_8c.html", "crwbmg_8c" ], + [ "datebf.f", "datebf_8f.html", "datebf_8f" ], + [ "datelen.f", "datelen_8f.html", "datelen_8f" ], + [ "debufr.c", "debufr_8c.html", "debufr_8c" ], + [ "debufr.F90", "debufr_8F90.html", "debufr_8F90" ], + [ "digit.f", "digit_8f.html", "digit_8f" ], + [ "drfini.f", "drfini_8f.html", "drfini_8f" ], + [ "drstpl.f", "drstpl_8f.html", "drstpl_8f" ], + [ "dumpbf.f", "dumpbf_8f.html", "dumpbf_8f" ], + [ "dxdump.f", "dxdump_8f.html", "dxdump_8f" ], + [ "dxinit.f", "dxinit_8f.html", "dxinit_8f" ], + [ "dxmini.f", "dxmini_8f.html", "dxmini_8f" ], + [ "elemdx.f", "elemdx_8f.html", "elemdx_8f" ], + [ "errwrt.f", "errwrt_8f.html", "errwrt_8f" ], + [ "exitbufr.f", "exitbufr_8f.html", "exitbufr_8f" ], + [ "fortran_close.F90", "fortran__close_8F90.html", "fortran__close_8F90" ], + [ "fortran_open.F90", "fortran__open_8F90.html", "fortran__open_8F90" ], + [ "fstag.f", "fstag_8f.html", "fstag_8f" ], + [ "getabdb.f", "getabdb_8f.html", "getabdb_8f" ], + [ "getbmiss.f", "getbmiss_8f.html", "getbmiss_8f" ], + [ "getcfmng.f", "getcfmng_8f.html", "getcfmng_8f" ], + [ "getlens.f", "getlens_8f.html", "getlens_8f" ], + [ "getntbe.f", "getntbe_8f.html", "getntbe_8f" ], + [ "gets1loc.f", "gets1loc_8f.html", "gets1loc_8f" ], + [ "gettab.f90", "gettab_8f90.html", "gettab_8f90" ], + [ "gettagpr.f", "gettagpr_8f.html", "gettagpr_8f" ], + [ "gettagre.f", "gettagre_8f.html", "gettagre_8f" ], + [ "gettbh.f", "gettbh_8f.html", "gettbh_8f" ], + [ "getvalnb.f", "getvalnb_8f.html", "getvalnb_8f" ], + [ "getwin.f", "getwin_8f.html", "getwin_8f" ], + [ "hold4wlc.f", "hold4wlc_8f.html", "hold4wlc_8f" ], + [ "i4dy.f", "i4dy_8f.html", "i4dy_8f" ], + [ "ibfms.f", "ibfms_8f.html", "ibfms_8f" ], + [ "icbfms.f", "icbfms_8f.html", "icbfms_8f" ], + [ "icmpdx.f", "icmpdx_8f.html", "icmpdx_8f" ], + [ "icopysb.f", "icopysb_8f.html", "icopysb_8f" ], + [ "icvidx.c", "icvidx_8c.html", "icvidx_8c" ], + [ "idn30.f", "idn30_8f.html", "idn30_8f" ], + [ "idxmsg.f", "idxmsg_8f.html", "idxmsg_8f" ], + [ "ifbget.f", "ifbget_8f.html", "ifbget_8f" ], + [ "ifxy.f", "ifxy_8f.html", "ifxy_8f" ], + [ "igetdate.f", "igetdate_8f.html", "igetdate_8f" ], + [ "igetfxy.f", "igetfxy_8f.html", "igetfxy_8f" ], + [ "igetmxby.f", "igetmxby_8f.html", "igetmxby_8f" ], + [ "igetntbi.f", "igetntbi_8f.html", "igetntbi_8f" ], + [ "igetntbl.f", "igetntbl_8f.html", "igetntbl_8f" ], + [ "igetprm.f", "igetprm_8f.html", "igetprm_8f" ], + [ "igetrfel.f", "igetrfel_8f.html", "igetrfel_8f" ], + [ "igetsc.f", "igetsc_8f.html", "igetsc_8f" ], + [ "igettdi.f", "igettdi_8f.html", "igettdi_8f" ], + [ "imrkopr.f", "imrkopr_8f.html", "imrkopr_8f" ], + [ "inctab.f", "inctab_8f.html", "inctab_8f" ], + [ "invcon.f", "invcon_8f.html", "invcon_8f" ], + [ "invmrg.f", "invmrg_8f.html", "invmrg_8f" ], + [ "invtag.f", "invtag_8f.html", "invtag_8f" ], + [ "invwin.f", "invwin_8f.html", "invwin_8f" ], + [ "iok2cpy.f", "iok2cpy_8f.html", "iok2cpy_8f" ], + [ "iokoper.f", "iokoper_8f.html", "iokoper_8f" ], + [ "ipkm.f", "ipkm_8f.html", "ipkm_8f" ], + [ "ipks.f", "ipks_8f.html", "ipks_8f" ], + [ "ireadmg.f", "ireadmg_8f.html", "ireadmg_8f" ], + [ "ireadmm.f", "ireadmm_8f.html", "ireadmm_8f" ], + [ "ireadmt.f", "ireadmt_8f.html", "ireadmt_8f" ], + [ "ireadns.f", "ireadns_8f.html", "ireadns_8f" ], + [ "ireadsb.f", "ireadsb_8f.html", "ireadsb_8f" ], + [ "irev.F", "irev_8F.html", "irev_8F" ], + [ "isetprm.f", "isetprm_8f.html", "isetprm_8f" ], + [ "ishrdx.f", "ishrdx_8f.html", "ishrdx_8f" ], + [ "isize.f", "isize_8f.html", "isize_8f" ], + [ "istdesc.f", "istdesc_8f.html", "istdesc_8f" ], + [ "iupb.f", "iupb_8f.html", "iupb_8f" ], + [ "iupbs01.f", "iupbs01_8f.html", "iupbs01_8f" ], + [ "iupbs3.f", "iupbs3_8f.html", "iupbs3_8f" ], + [ "iupm.f", "iupm_8f.html", "iupm_8f" ], + [ "iupvs01.f", "iupvs01_8f.html", "iupvs01_8f" ], + [ "jstnum.f", "jstnum_8f.html", "jstnum_8f" ], + [ "lcmgdf.f", "lcmgdf_8f.html", "lcmgdf_8f" ], + [ "lmsg.f", "lmsg_8f.html", "lmsg_8f" ], + [ "lstjpb.f", "lstjpb_8f.html", "lstjpb_8f" ], + [ "makestab.f", "makestab_8f.html", "makestab_8f" ], + [ "maxout.f", "maxout_8f.html", "maxout_8f" ], + [ "mesgbc.f", "mesgbc_8f.html", "mesgbc_8f" ], + [ "mesgbf.f", "mesgbf_8f.html", "mesgbf_8f" ], + [ "minimg.f", "minimg_8f.html", "minimg_8f" ], + [ "modules_arrs.F90", "modules__arrs_8F90.html", "modules__arrs_8F90" ], + [ "modules_vars.F90", "modules__vars_8F90.html", "modules__vars_8F90" ], + [ "mrginv.f", "mrginv_8f.html", "mrginv_8f" ], + [ "msgfull.f", "msgfull_8f.html", "msgfull_8f" ], + [ "msgini.f", "msgini_8f.html", "msgini_8f" ], + [ "msgupd.f", "msgupd_8f.html", "msgupd_8f" ], + [ "msgwrt.f", "msgwrt_8f.html", "msgwrt_8f" ], + [ "mstabs.h", "mstabs_8h.html", "mstabs_8h" ], + [ "mtfnam.f", "mtfnam_8f.html", "mtfnam_8f" ], + [ "mtinfo.f", "mtinfo_8f.html", "mtinfo_8f" ], + [ "mvb.f", "mvb_8f.html", "mvb_8f" ], + [ "nemdefs.f", "nemdefs_8f.html", "nemdefs_8f" ], + [ "nemock.f", "nemock_8f.html", "nemock_8f" ], + [ "nemspecs.f", "nemspecs_8f.html", "nemspecs_8f" ], + [ "nemtab.f", "nemtab_8f.html", "nemtab_8f" ], + [ "nemtba.f", "nemtba_8f.html", "nemtba_8f" ], + [ "nemtbax.f", "nemtbax_8f.html", "nemtbax_8f" ], + [ "nemtbb.f", "nemtbb_8f.html", "nemtbb_8f" ], + [ "nemtbd.f", "nemtbd_8f.html", "nemtbd_8f" ], + [ "nenubd.f", "nenubd_8f.html", "nenubd_8f" ], + [ "nevn.f", "nevn_8f.html", "nevn_8f" ], + [ "newwin.f", "newwin_8f.html", "newwin_8f" ], + [ "nmsub.f", "nmsub_8f.html", "nmsub_8f" ], + [ "nmwrd.f", "nmwrd_8f.html", "nmwrd_8f" ], + [ "numbck.f", "numbck_8f.html", "numbck_8f" ], + [ "numtab.f", "numtab_8f.html", "numtab_8f" ], + [ "numtbd.f", "numtbd_8f.html", "numtbd_8f" ], + [ "nvnwin.f", "nvnwin_8f.html", "nvnwin_8f" ], + [ "nwords.f", "nwords_8f.html", "nwords_8f" ], + [ "nxtwin.f", "nxtwin_8f.html", "nxtwin_8f" ], + [ "openbf.f", "openbf_8f.html", "openbf_8f" ], + [ "openbt.f", "openbt_8f.html", "openbt_8f" ], + [ "openmb.f", "openmb_8f.html", "openmb_8f" ], + [ "openmg.f", "openmg_8f.html", "openmg_8f" ], + [ "pad.f", "pad_8f.html", "pad_8f" ], + [ "padmsg.f", "padmsg_8f.html", "padmsg_8f" ], + [ "parstr.f", "parstr_8f.html", "parstr_8f" ], + [ "parusr.f", "parusr_8f.html", "parusr_8f" ], + [ "parutg.f", "parutg_8f.html", "parutg_8f" ], + [ "pkb.f", "pkb_8f.html", "pkb_8f" ], + [ "pkb8.f", "pkb8_8f.html", "pkb8_8f" ], + [ "pkbs1.f", "pkbs1_8f.html", "pkbs1_8f" ], + [ "pkc.f", "pkc_8f.html", "pkc_8f" ], + [ "pkftbv.f", "pkftbv_8f.html", "pkftbv_8f" ], + [ "pktdd.f", "pktdd_8f.html", "pktdd_8f" ], + [ "pkvs01.f", "pkvs01_8f.html", "pkvs01_8f" ], + [ "posapx.f", "posapx_8f.html", "posapx_8f" ], + [ "rcstpl.f", "rcstpl_8f.html", "rcstpl_8f" ], + [ "rdbfdx.f", "rdbfdx_8f.html", "rdbfdx_8f" ], + [ "rdcmps.f", "rdcmps_8f.html", "rdcmps_8f" ], + [ "rdmemm.f", "rdmemm_8f.html", "rdmemm_8f" ], + [ "rdmems.f", "rdmems_8f.html", "rdmems_8f" ], + [ "rdmgsb.f", "rdmgsb_8f.html", "rdmgsb_8f" ], + [ "rdmsgw.F90", "rdmsgw_8F90.html", "rdmsgw_8F90" ], + [ "rdmtbb.f", "rdmtbb_8f.html", "rdmtbb_8f" ], + [ "rdmtbd.f", "rdmtbd_8f.html", "rdmtbd_8f" ], + [ "rdmtbf.f", "rdmtbf_8f.html", "rdmtbf_8f" ], + [ "rdtree.f", "rdtree_8f.html", "rdtree_8f" ], + [ "rdusdx.f", "rdusdx_8f.html", "rdusdx_8f" ], + [ "readbp.F90", "readbp_8F90.html", "readbp_8F90" ], + [ "readdx.f", "readdx_8f.html", "readdx_8f" ], + [ "readerme.f", "readerme_8f.html", "readerme_8f" ], + [ "readlc.f", "readlc_8f.html", "readlc_8f" ], + [ "readmg.f", "readmg_8f.html", "readmg_8f" ], + [ "readmm.f", "readmm_8f.html", "readmm_8f" ], + [ "readmp.F90", "readmp_8F90.html", "readmp_8F90" ], + [ "readns.f", "readns_8f.html", "readns_8f" ], + [ "reads3.f", "reads3_8f.html", "reads3_8f" ], + [ "readsb.f", "readsb_8f.html", "readsb_8f" ], + [ "restd.c", "restd_8c.html", "restd_8c" ], + [ "rewnbf.f", "rewnbf_8f.html", "rewnbf_8f" ], + [ "rsvfvm.f", "rsvfvm_8f.html", "rsvfvm_8f" ], + [ "rtrcpt.f", "rtrcpt_8f.html", "rtrcpt_8f" ], + [ "rtrcptb.f", "rtrcptb_8f.html", "rtrcptb_8f" ], + [ "seqsdx.f", "seqsdx_8f.html", "seqsdx_8f" ], + [ "setblock.f", "setblock_8f.html", "setblock_8f" ], + [ "setbmiss.f", "setbmiss_8f.html", "setbmiss_8f" ], + [ "setim8b.F90", "setim8b_8F90.html", "setim8b_8F90" ], + [ "setvalnb.f", "setvalnb_8f.html", "setvalnb_8f" ], + [ "sinv.f90", "sinv_8f90.html", "sinv_8f90" ], + [ "sntbbe.f", "sntbbe_8f.html", "sntbbe_8f" ], + [ "sntbde.f", "sntbde_8f.html", "sntbde_8f" ], + [ "sntbfe.f", "sntbfe_8f.html", "sntbfe_8f" ], + [ "split_by_subset.f90", "split__by__subset_8f90.html", "split__by__subset_8f90" ], + [ "status.f", "status_8f.html", "status_8f" ], + [ "stbfdx.f", "stbfdx_8f.html", "stbfdx_8f" ], + [ "stdmsg.f", "stdmsg_8f.html", "stdmsg_8f" ], + [ "stndrd.f", "stndrd_8f.html", "stndrd_8f" ], + [ "stntbi.f", "stntbi_8f.html", "stntbi_8f" ], + [ "stntbia.f", "stntbia_8f.html", "stntbia_8f" ], + [ "strbtm.f", "strbtm_8f.html", "strbtm_8f" ], + [ "strcln.f", "strcln_8f.html", "strcln_8f" ], + [ "strcpt.f", "strcpt_8f.html", "strcpt_8f" ], + [ "string.f", "string_8f.html", "string_8f" ], + [ "strnum.F90", "strnum_8F90.html", "strnum_8F90" ], + [ "strsuc.F90", "strsuc_8F90.html", "strsuc_8F90" ], + [ "stseq.c", "stseq_8c.html", "stseq_8c" ], + [ "tabent.f", "tabent_8f.html", "tabent_8f" ], + [ "tabsub.f", "tabsub_8f.html", "tabsub_8f" ], + [ "trybump.f", "trybump_8f.html", "trybump_8f" ], + [ "ufbcnt.f", "ufbcnt_8f.html", "ufbcnt_8f" ], + [ "ufbcpy.f", "ufbcpy_8f.html", "ufbcpy_8f" ], + [ "ufbcup.f", "ufbcup_8f.html", "ufbcup_8f" ], + [ "ufbdmp.f", "ufbdmp_8f.html", "ufbdmp_8f" ], + [ "ufbevn.f", "ufbevn_8f.html", "ufbevn_8f" ], + [ "ufbget.f", "ufbget_8f.html", "ufbget_8f" ], + [ "ufbin3.f", "ufbin3_8f.html", "ufbin3_8f" ], + [ "ufbint.f", "ufbint_8f.html", "ufbint_8f" ], + [ "ufbinx.f", "ufbinx_8f.html", "ufbinx_8f" ], + [ "ufbmem.f", "ufbmem_8f.html", "ufbmem_8f" ], + [ "ufbmex.f", "ufbmex_8f.html", "ufbmex_8f" ], + [ "ufbmms.f", "ufbmms_8f.html", "ufbmms_8f" ], + [ "ufbmns.f", "ufbmns_8f.html", "ufbmns_8f" ], + [ "ufbovr.f", "ufbovr_8f.html", "ufbovr_8f" ], + [ "ufbpos.f", "ufbpos_8f.html", "ufbpos_8f" ], + [ "ufbqcd.f", "ufbqcd_8f.html", "ufbqcd_8f" ], + [ "ufbqcp.f", "ufbqcp_8f.html", "ufbqcp_8f" ], + [ "ufbrep.f", "ufbrep_8f.html", "ufbrep_8f" ], + [ "ufbrms.f", "ufbrms_8f.html", "ufbrms_8f" ], + [ "ufbrp.f", "ufbrp_8f.html", "ufbrp_8f" ], + [ "ufbrw.f", "ufbrw_8f.html", "ufbrw_8f" ], + [ "ufbseq.f", "ufbseq_8f.html", "ufbseq_8f" ], + [ "ufbsp.f", "ufbsp_8f.html", "ufbsp_8f" ], + [ "ufbstp.f", "ufbstp_8f.html", "ufbstp_8f" ], + [ "ufbtab.f", "ufbtab_8f.html", "ufbtab_8f" ], + [ "ufbtam.f", "ufbtam_8f.html", "ufbtam_8f" ], + [ "ufdump.f", "ufdump_8f.html", "ufdump_8f" ], + [ "up8.f", "up8_8f.html", "up8_8f" ], + [ "upb.f", "upb_8f.html", "upb_8f" ], + [ "upb8.f", "upb8_8f.html", "upb8_8f" ], + [ "upbb.f", "upbb_8f.html", "upbb_8f" ], + [ "upc.f", "upc_8f.html", "upc_8f" ], + [ "upds3.f", "upds3_8f.html", "upds3_8f" ], + [ "upftbv.f", "upftbv_8f.html", "upftbv_8f" ], + [ "ups.f", "ups_8f.html", "ups_8f" ], + [ "uptdd.f", "uptdd_8f.html", "uptdd_8f" ], + [ "usrtpl.f", "usrtpl_8f.html", "usrtpl_8f" ], + [ "wrcmps.f", "wrcmps_8f.html", "wrcmps_8f" ], + [ "wrdesc.c", "wrdesc_8c.html", "wrdesc_8c" ], + [ "wrdlen.F", "wrdlen_8F.html", "wrdlen_8F" ], + [ "wrdxtb.f", "wrdxtb_8f.html", "wrdxtb_8f" ], + [ "writcp.f", "writcp_8f.html", "writcp_8f" ], + [ "writdx.f", "writdx_8f.html", "writdx_8f" ], + [ "writlc.f", "writlc_8f.html", "writlc_8f" ], + [ "writsa.f", "writsa_8f.html", "writsa_8f" ], + [ "writsb.f", "writsb_8f.html", "writsb_8f" ], + [ "wrtree.f", "wrtree_8f.html", "wrtree_8f" ], + [ "wtstat.f", "wtstat_8f.html", "wtstat_8f" ], + [ "x48.F", "x48_8F.html", "x48_8F" ], + [ "x84.F", "x84_8F.html", "x84_8F" ], + [ "xbfmg.c", "xbfmg_8c.html", "xbfmg_8c" ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/folderclosed.png b/previous_versions/v12.0.1/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/fortran__close_8F90.html b/previous_versions/v12.0.1/fortran__close_8F90.html similarity index 100% rename from fortran__close_8F90.html rename to previous_versions/v12.0.1/fortran__close_8F90.html diff --git a/fortran__close_8F90.js b/previous_versions/v12.0.1/fortran__close_8F90.js similarity index 100% rename from fortran__close_8F90.js rename to previous_versions/v12.0.1/fortran__close_8F90.js diff --git a/fortran__close_8F90_source.html b/previous_versions/v12.0.1/fortran__close_8F90_source.html similarity index 100% rename from fortran__close_8F90_source.html rename to previous_versions/v12.0.1/fortran__close_8F90_source.html diff --git a/fortran__open_8F90.html b/previous_versions/v12.0.1/fortran__open_8F90.html similarity index 100% rename from fortran__open_8F90.html rename to previous_versions/v12.0.1/fortran__open_8F90.html diff --git a/fortran__open_8F90.js b/previous_versions/v12.0.1/fortran__open_8F90.js similarity index 100% rename from fortran__open_8F90.js rename to previous_versions/v12.0.1/fortran__open_8F90.js diff --git a/fortran__open_8F90_source.html b/previous_versions/v12.0.1/fortran__open_8F90_source.html similarity index 100% rename from fortran__open_8F90_source.html rename to previous_versions/v12.0.1/fortran__open_8F90_source.html diff --git a/fstag_8f.html b/previous_versions/v12.0.1/fstag_8f.html similarity index 100% rename from fstag_8f.html rename to previous_versions/v12.0.1/fstag_8f.html diff --git a/fstag_8f.js b/previous_versions/v12.0.1/fstag_8f.js similarity index 100% rename from fstag_8f.js rename to previous_versions/v12.0.1/fstag_8f.js diff --git a/fstag_8f_source.html b/previous_versions/v12.0.1/fstag_8f_source.html similarity index 100% rename from fstag_8f_source.html rename to previous_versions/v12.0.1/fstag_8f_source.html diff --git a/previous_versions/v12.0.1/functions.html b/previous_versions/v12.0.1/functions.html new file mode 100644 index 000000000..c5acbae2d --- /dev/null +++ b/previous_versions/v12.0.1/functions.html @@ -0,0 +1,168 @@ + + + + + + + +NCEPLIBS-bufr: Data Fields + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented data types members with links to the data structure documentation for each member
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/functions_func.html b/previous_versions/v12.0.1/functions_func.html new file mode 100644 index 000000000..1a2c3fd9c --- /dev/null +++ b/previous_versions/v12.0.1/functions_func.html @@ -0,0 +1,168 @@ + + + + + + + +NCEPLIBS-bufr: Data Fields - Functions/Subroutines + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              + + + + diff --git a/getabdb_8f.html b/previous_versions/v12.0.1/getabdb_8f.html similarity index 100% rename from getabdb_8f.html rename to previous_versions/v12.0.1/getabdb_8f.html diff --git a/getabdb_8f.js b/previous_versions/v12.0.1/getabdb_8f.js similarity index 100% rename from getabdb_8f.js rename to previous_versions/v12.0.1/getabdb_8f.js diff --git a/getabdb_8f_source.html b/previous_versions/v12.0.1/getabdb_8f_source.html similarity index 100% rename from getabdb_8f_source.html rename to previous_versions/v12.0.1/getabdb_8f_source.html diff --git a/getbmiss_8f.html b/previous_versions/v12.0.1/getbmiss_8f.html similarity index 100% rename from getbmiss_8f.html rename to previous_versions/v12.0.1/getbmiss_8f.html diff --git a/getbmiss_8f.js b/previous_versions/v12.0.1/getbmiss_8f.js similarity index 100% rename from getbmiss_8f.js rename to previous_versions/v12.0.1/getbmiss_8f.js diff --git a/getbmiss_8f_source.html b/previous_versions/v12.0.1/getbmiss_8f_source.html similarity index 100% rename from getbmiss_8f_source.html rename to previous_versions/v12.0.1/getbmiss_8f_source.html diff --git a/getcfmng_8f.html b/previous_versions/v12.0.1/getcfmng_8f.html similarity index 100% rename from getcfmng_8f.html rename to previous_versions/v12.0.1/getcfmng_8f.html diff --git a/getcfmng_8f.js b/previous_versions/v12.0.1/getcfmng_8f.js similarity index 100% rename from getcfmng_8f.js rename to previous_versions/v12.0.1/getcfmng_8f.js diff --git a/getcfmng_8f_source.html b/previous_versions/v12.0.1/getcfmng_8f_source.html similarity index 100% rename from getcfmng_8f_source.html rename to previous_versions/v12.0.1/getcfmng_8f_source.html diff --git a/getlens_8f.html b/previous_versions/v12.0.1/getlens_8f.html similarity index 100% rename from getlens_8f.html rename to previous_versions/v12.0.1/getlens_8f.html diff --git a/getlens_8f.js b/previous_versions/v12.0.1/getlens_8f.js similarity index 100% rename from getlens_8f.js rename to previous_versions/v12.0.1/getlens_8f.js diff --git a/getlens_8f_source.html b/previous_versions/v12.0.1/getlens_8f_source.html similarity index 100% rename from getlens_8f_source.html rename to previous_versions/v12.0.1/getlens_8f_source.html diff --git a/getntbe_8f.html b/previous_versions/v12.0.1/getntbe_8f.html similarity index 100% rename from getntbe_8f.html rename to previous_versions/v12.0.1/getntbe_8f.html diff --git a/getntbe_8f.js b/previous_versions/v12.0.1/getntbe_8f.js similarity index 100% rename from getntbe_8f.js rename to previous_versions/v12.0.1/getntbe_8f.js diff --git a/getntbe_8f_source.html b/previous_versions/v12.0.1/getntbe_8f_source.html similarity index 100% rename from getntbe_8f_source.html rename to previous_versions/v12.0.1/getntbe_8f_source.html diff --git a/gets1loc_8f.html b/previous_versions/v12.0.1/gets1loc_8f.html similarity index 100% rename from gets1loc_8f.html rename to previous_versions/v12.0.1/gets1loc_8f.html diff --git a/gets1loc_8f.js b/previous_versions/v12.0.1/gets1loc_8f.js similarity index 100% rename from gets1loc_8f.js rename to previous_versions/v12.0.1/gets1loc_8f.js diff --git a/gets1loc_8f_source.html b/previous_versions/v12.0.1/gets1loc_8f_source.html similarity index 100% rename from gets1loc_8f_source.html rename to previous_versions/v12.0.1/gets1loc_8f_source.html diff --git a/gettab_8f90.html b/previous_versions/v12.0.1/gettab_8f90.html similarity index 100% rename from gettab_8f90.html rename to previous_versions/v12.0.1/gettab_8f90.html diff --git a/gettab_8f90.js b/previous_versions/v12.0.1/gettab_8f90.js similarity index 100% rename from gettab_8f90.js rename to previous_versions/v12.0.1/gettab_8f90.js diff --git a/gettab_8f90_source.html b/previous_versions/v12.0.1/gettab_8f90_source.html similarity index 100% rename from gettab_8f90_source.html rename to previous_versions/v12.0.1/gettab_8f90_source.html diff --git a/gettagpr_8f.html b/previous_versions/v12.0.1/gettagpr_8f.html similarity index 100% rename from gettagpr_8f.html rename to previous_versions/v12.0.1/gettagpr_8f.html diff --git a/gettagpr_8f.js b/previous_versions/v12.0.1/gettagpr_8f.js similarity index 100% rename from gettagpr_8f.js rename to previous_versions/v12.0.1/gettagpr_8f.js diff --git a/gettagpr_8f_source.html b/previous_versions/v12.0.1/gettagpr_8f_source.html similarity index 100% rename from gettagpr_8f_source.html rename to previous_versions/v12.0.1/gettagpr_8f_source.html diff --git a/gettagre_8f.html b/previous_versions/v12.0.1/gettagre_8f.html similarity index 100% rename from gettagre_8f.html rename to previous_versions/v12.0.1/gettagre_8f.html diff --git a/gettagre_8f.js b/previous_versions/v12.0.1/gettagre_8f.js similarity index 100% rename from gettagre_8f.js rename to previous_versions/v12.0.1/gettagre_8f.js diff --git a/gettagre_8f_source.html b/previous_versions/v12.0.1/gettagre_8f_source.html similarity index 100% rename from gettagre_8f_source.html rename to previous_versions/v12.0.1/gettagre_8f_source.html diff --git a/gettbh_8f.html b/previous_versions/v12.0.1/gettbh_8f.html similarity index 100% rename from gettbh_8f.html rename to previous_versions/v12.0.1/gettbh_8f.html diff --git a/gettbh_8f.js b/previous_versions/v12.0.1/gettbh_8f.js similarity index 100% rename from gettbh_8f.js rename to previous_versions/v12.0.1/gettbh_8f.js diff --git a/gettbh_8f_source.html b/previous_versions/v12.0.1/gettbh_8f_source.html similarity index 100% rename from gettbh_8f_source.html rename to previous_versions/v12.0.1/gettbh_8f_source.html diff --git a/getvalnb_8f.html b/previous_versions/v12.0.1/getvalnb_8f.html similarity index 100% rename from getvalnb_8f.html rename to previous_versions/v12.0.1/getvalnb_8f.html diff --git a/getvalnb_8f.js b/previous_versions/v12.0.1/getvalnb_8f.js similarity index 100% rename from getvalnb_8f.js rename to previous_versions/v12.0.1/getvalnb_8f.js diff --git a/getvalnb_8f_source.html b/previous_versions/v12.0.1/getvalnb_8f_source.html similarity index 100% rename from getvalnb_8f_source.html rename to previous_versions/v12.0.1/getvalnb_8f_source.html diff --git a/getwin_8f.html b/previous_versions/v12.0.1/getwin_8f.html similarity index 100% rename from getwin_8f.html rename to previous_versions/v12.0.1/getwin_8f.html diff --git a/getwin_8f.js b/previous_versions/v12.0.1/getwin_8f.js similarity index 100% rename from getwin_8f.js rename to previous_versions/v12.0.1/getwin_8f.js diff --git a/getwin_8f_source.html b/previous_versions/v12.0.1/getwin_8f_source.html similarity index 100% rename from getwin_8f_source.html rename to previous_versions/v12.0.1/getwin_8f_source.html diff --git a/previous_versions/v12.0.1/globals.html b/previous_versions/v12.0.1/globals.html new file mode 100644 index 000000000..f8b308b36 --- /dev/null +++ b/previous_versions/v12.0.1/globals.html @@ -0,0 +1,118 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - a -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_b.html b/previous_versions/v12.0.1/globals_b.html new file mode 100644 index 000000000..1ddf7f1b3 --- /dev/null +++ b/previous_versions/v12.0.1/globals_b.html @@ -0,0 +1,130 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - b -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_c.html b/previous_versions/v12.0.1/globals_c.html new file mode 100644 index 000000000..63c0b9375 --- /dev/null +++ b/previous_versions/v12.0.1/globals_c.html @@ -0,0 +1,238 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - c -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_d.html b/previous_versions/v12.0.1/globals_d.html new file mode 100644 index 000000000..d1b2605a9 --- /dev/null +++ b/previous_versions/v12.0.1/globals_d.html @@ -0,0 +1,131 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - d -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_defs.html b/previous_versions/v12.0.1/globals_defs.html new file mode 100644 index 000000000..b5aa2f5a7 --- /dev/null +++ b/previous_versions/v12.0.1/globals_defs.html @@ -0,0 +1,138 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_dup.js b/previous_versions/v12.0.1/globals_dup.js new file mode 100644 index 000000000..e893f3a43 --- /dev/null +++ b/previous_versions/v12.0.1/globals_dup.js @@ -0,0 +1,25 @@ +var globals_dup = +[ + [ "a", "globals.html", null ], + [ "b", "globals_b.html", null ], + [ "c", "globals_c.html", null ], + [ "d", "globals_d.html", null ], + [ "e", "globals_e.html", null ], + [ "f", "globals_f.html", null ], + [ "g", "globals_g.html", null ], + [ "h", "globals_h.html", null ], + [ "i", "globals_i.html", null ], + [ "j", "globals_j.html", null ], + [ "l", "globals_l.html", null ], + [ "m", "globals_m.html", null ], + [ "n", "globals_n.html", null ], + [ "o", "globals_o.html", null ], + [ "p", "globals_p.html", null ], + [ "r", "globals_r.html", null ], + [ "s", "globals_s.html", null ], + [ "t", "globals_t.html", null ], + [ "u", "globals_u.html", null ], + [ "v", "globals_v.html", null ], + [ "w", "globals_w.html", null ], + [ "x", "globals_x.html", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/globals_e.html b/previous_versions/v12.0.1/globals_e.html new file mode 100644 index 000000000..4e8387db7 --- /dev/null +++ b/previous_versions/v12.0.1/globals_e.html @@ -0,0 +1,113 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - e -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_f.html b/previous_versions/v12.0.1/globals_f.html new file mode 100644 index 000000000..c1df4c616 --- /dev/null +++ b/previous_versions/v12.0.1/globals_f.html @@ -0,0 +1,116 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - f -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func.html b/previous_versions/v12.0.1/globals_func.html new file mode 100644 index 000000000..8dcc6db90 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func.html @@ -0,0 +1,118 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - a -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func.js b/previous_versions/v12.0.1/globals_func.js new file mode 100644 index 000000000..f1693e7c3 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func.js @@ -0,0 +1,24 @@ +var globals_func = +[ + [ "a", "globals_func.html", null ], + [ "b", "globals_func_b.html", null ], + [ "c", "globals_func_c.html", null ], + [ "d", "globals_func_d.html", null ], + [ "e", "globals_func_e.html", null ], + [ "f", "globals_func_f.html", null ], + [ "g", "globals_func_g.html", null ], + [ "h", "globals_func_h.html", null ], + [ "i", "globals_func_i.html", null ], + [ "j", "globals_func_j.html", null ], + [ "l", "globals_func_l.html", null ], + [ "m", "globals_func_m.html", null ], + [ "n", "globals_func_n.html", null ], + [ "o", "globals_func_o.html", null ], + [ "p", "globals_func_p.html", null ], + [ "r", "globals_func_r.html", null ], + [ "s", "globals_func_s.html", null ], + [ "t", "globals_func_t.html", null ], + [ "u", "globals_func_u.html", null ], + [ "w", "globals_func_w.html", null ], + [ "x", "globals_func_x.html", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/globals_func_b.html b/previous_versions/v12.0.1/globals_func_b.html new file mode 100644 index 000000000..76f37bfce --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_b.html @@ -0,0 +1,130 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - b -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_c.html b/previous_versions/v12.0.1/globals_func_c.html new file mode 100644 index 000000000..45b15c629 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_c.html @@ -0,0 +1,211 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - c -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_d.html b/previous_versions/v12.0.1/globals_func_d.html new file mode 100644 index 000000000..daf83a68c --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_d.html @@ -0,0 +1,131 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - d -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_e.html b/previous_versions/v12.0.1/globals_func_e.html new file mode 100644 index 000000000..bf8ba14ff --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_e.html @@ -0,0 +1,113 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - e -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_f.html b/previous_versions/v12.0.1/globals_func_f.html new file mode 100644 index 000000000..21d2c6115 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_f.html @@ -0,0 +1,113 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - f -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_g.html b/previous_versions/v12.0.1/globals_func_g.html new file mode 100644 index 000000000..e413f32ff --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_g.html @@ -0,0 +1,167 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - g -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_h.html b/previous_versions/v12.0.1/globals_func_h.html new file mode 100644 index 000000000..6456aeeab --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_h.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - h -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_i.html b/previous_versions/v12.0.1/globals_func_i.html new file mode 100644 index 000000000..ba94df6d5 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_i.html @@ -0,0 +1,276 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - i -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_j.html b/previous_versions/v12.0.1/globals_func_j.html new file mode 100644 index 000000000..1c5a44e7c --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_j.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - j -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_l.html b/previous_versions/v12.0.1/globals_func_l.html new file mode 100644 index 000000000..c9b5ab6c0 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_l.html @@ -0,0 +1,107 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - l -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_m.html b/previous_versions/v12.0.1/globals_func_m.html new file mode 100644 index 000000000..b1152e6b9 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_m.html @@ -0,0 +1,147 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - m -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_n.html b/previous_versions/v12.0.1/globals_func_n.html new file mode 100644 index 000000000..3e5d8f1b6 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_n.html @@ -0,0 +1,173 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - n -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_o.html b/previous_versions/v12.0.1/globals_func_o.html new file mode 100644 index 000000000..cb76a090c --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_o.html @@ -0,0 +1,132 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - o -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_p.html b/previous_versions/v12.0.1/globals_func_p.html new file mode 100644 index 000000000..530288c52 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_p.html @@ -0,0 +1,147 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - p -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_r.html b/previous_versions/v12.0.1/globals_func_r.html new file mode 100644 index 000000000..bcb09a40e --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_r.html @@ -0,0 +1,186 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - r -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_s.html b/previous_versions/v12.0.1/globals_func_s.html new file mode 100644 index 000000000..e7fa8b217 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_s.html @@ -0,0 +1,189 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - s -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_t.html b/previous_versions/v12.0.1/globals_func_t.html new file mode 100644 index 000000000..1cb119410 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_t.html @@ -0,0 +1,107 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - t -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_u.html b/previous_versions/v12.0.1/globals_func_u.html new file mode 100644 index 000000000..0d84fcd72 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_u.html @@ -0,0 +1,221 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - u -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_w.html b/previous_versions/v12.0.1/globals_func_w.html new file mode 100644 index 000000000..afbd201f3 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_w.html @@ -0,0 +1,135 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - w -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_func_x.html b/previous_versions/v12.0.1/globals_func_x.html new file mode 100644 index 000000000..d5aac4b48 --- /dev/null +++ b/previous_versions/v12.0.1/globals_func_x.html @@ -0,0 +1,104 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - x -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_g.html b/previous_versions/v12.0.1/globals_g.html new file mode 100644 index 000000000..5697828c2 --- /dev/null +++ b/previous_versions/v12.0.1/globals_g.html @@ -0,0 +1,167 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - g -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_h.html b/previous_versions/v12.0.1/globals_h.html new file mode 100644 index 000000000..ce1d00893 --- /dev/null +++ b/previous_versions/v12.0.1/globals_h.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - h -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_i.html b/previous_versions/v12.0.1/globals_i.html new file mode 100644 index 000000000..f2ed1fbdc --- /dev/null +++ b/previous_versions/v12.0.1/globals_i.html @@ -0,0 +1,288 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - i -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_j.html b/previous_versions/v12.0.1/globals_j.html new file mode 100644 index 000000000..f8fa45947 --- /dev/null +++ b/previous_versions/v12.0.1/globals_j.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - j -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_l.html b/previous_versions/v12.0.1/globals_l.html new file mode 100644 index 000000000..fd21d0e7a --- /dev/null +++ b/previous_versions/v12.0.1/globals_l.html @@ -0,0 +1,110 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - l -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_m.html b/previous_versions/v12.0.1/globals_m.html new file mode 100644 index 000000000..1a151a544 --- /dev/null +++ b/previous_versions/v12.0.1/globals_m.html @@ -0,0 +1,174 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - m -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_n.html b/previous_versions/v12.0.1/globals_n.html new file mode 100644 index 000000000..02800a766 --- /dev/null +++ b/previous_versions/v12.0.1/globals_n.html @@ -0,0 +1,191 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - n -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_o.html b/previous_versions/v12.0.1/globals_o.html new file mode 100644 index 000000000..f1056198e --- /dev/null +++ b/previous_versions/v12.0.1/globals_o.html @@ -0,0 +1,132 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - o -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_p.html b/previous_versions/v12.0.1/globals_p.html new file mode 100644 index 000000000..a26cdf678 --- /dev/null +++ b/previous_versions/v12.0.1/globals_p.html @@ -0,0 +1,153 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - p -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_r.html b/previous_versions/v12.0.1/globals_r.html new file mode 100644 index 000000000..e00c69a50 --- /dev/null +++ b/previous_versions/v12.0.1/globals_r.html @@ -0,0 +1,186 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - r -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_s.html b/previous_versions/v12.0.1/globals_s.html new file mode 100644 index 000000000..11583acbb --- /dev/null +++ b/previous_versions/v12.0.1/globals_s.html @@ -0,0 +1,189 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - s -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_t.html b/previous_versions/v12.0.1/globals_t.html new file mode 100644 index 000000000..187ab3389 --- /dev/null +++ b/previous_versions/v12.0.1/globals_t.html @@ -0,0 +1,107 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - t -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_u.html b/previous_versions/v12.0.1/globals_u.html new file mode 100644 index 000000000..0eab202eb --- /dev/null +++ b/previous_versions/v12.0.1/globals_u.html @@ -0,0 +1,224 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - u -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_v.html b/previous_versions/v12.0.1/globals_v.html new file mode 100644 index 000000000..b3c0c5663 --- /dev/null +++ b/previous_versions/v12.0.1/globals_v.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - v -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_vars.html b/previous_versions/v12.0.1/globals_vars.html new file mode 100644 index 000000000..9dbe05a32 --- /dev/null +++ b/previous_versions/v12.0.1/globals_vars.html @@ -0,0 +1,156 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_w.html b/previous_versions/v12.0.1/globals_w.html new file mode 100644 index 000000000..c38801a25 --- /dev/null +++ b/previous_versions/v12.0.1/globals_w.html @@ -0,0 +1,135 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - w -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/globals_x.html b/previous_versions/v12.0.1/globals_x.html new file mode 100644 index 000000000..508486c71 --- /dev/null +++ b/previous_versions/v12.0.1/globals_x.html @@ -0,0 +1,104 @@ + + + + + + + +NCEPLIBS-bufr: Globals + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
                                                              + +

                                                              - x -

                                                              +
                                                              +
                                                              + + + + diff --git a/hold4wlc_8f.html b/previous_versions/v12.0.1/hold4wlc_8f.html similarity index 100% rename from hold4wlc_8f.html rename to previous_versions/v12.0.1/hold4wlc_8f.html diff --git a/hold4wlc_8f.js b/previous_versions/v12.0.1/hold4wlc_8f.js similarity index 100% rename from hold4wlc_8f.js rename to previous_versions/v12.0.1/hold4wlc_8f.js diff --git a/hold4wlc_8f_source.html b/previous_versions/v12.0.1/hold4wlc_8f_source.html similarity index 100% rename from hold4wlc_8f_source.html rename to previous_versions/v12.0.1/hold4wlc_8f_source.html diff --git a/i4dy_8f.html b/previous_versions/v12.0.1/i4dy_8f.html similarity index 100% rename from i4dy_8f.html rename to previous_versions/v12.0.1/i4dy_8f.html diff --git a/i4dy_8f.js b/previous_versions/v12.0.1/i4dy_8f.js similarity index 100% rename from i4dy_8f.js rename to previous_versions/v12.0.1/i4dy_8f.js diff --git a/i4dy_8f_source.html b/previous_versions/v12.0.1/i4dy_8f_source.html similarity index 100% rename from i4dy_8f_source.html rename to previous_versions/v12.0.1/i4dy_8f_source.html diff --git a/ibfms_8f.html b/previous_versions/v12.0.1/ibfms_8f.html similarity index 100% rename from ibfms_8f.html rename to previous_versions/v12.0.1/ibfms_8f.html diff --git a/ibfms_8f.js b/previous_versions/v12.0.1/ibfms_8f.js similarity index 100% rename from ibfms_8f.js rename to previous_versions/v12.0.1/ibfms_8f.js diff --git a/ibfms_8f_source.html b/previous_versions/v12.0.1/ibfms_8f_source.html similarity index 100% rename from ibfms_8f_source.html rename to previous_versions/v12.0.1/ibfms_8f_source.html diff --git a/icbfms_8f.html b/previous_versions/v12.0.1/icbfms_8f.html similarity index 100% rename from icbfms_8f.html rename to previous_versions/v12.0.1/icbfms_8f.html diff --git a/icbfms_8f.js b/previous_versions/v12.0.1/icbfms_8f.js similarity index 100% rename from icbfms_8f.js rename to previous_versions/v12.0.1/icbfms_8f.js diff --git a/icbfms_8f_source.html b/previous_versions/v12.0.1/icbfms_8f_source.html similarity index 100% rename from icbfms_8f_source.html rename to previous_versions/v12.0.1/icbfms_8f_source.html diff --git a/icmpdx_8f.html b/previous_versions/v12.0.1/icmpdx_8f.html similarity index 100% rename from icmpdx_8f.html rename to previous_versions/v12.0.1/icmpdx_8f.html diff --git a/icmpdx_8f.js b/previous_versions/v12.0.1/icmpdx_8f.js similarity index 100% rename from icmpdx_8f.js rename to previous_versions/v12.0.1/icmpdx_8f.js diff --git a/icmpdx_8f_source.html b/previous_versions/v12.0.1/icmpdx_8f_source.html similarity index 100% rename from icmpdx_8f_source.html rename to previous_versions/v12.0.1/icmpdx_8f_source.html diff --git a/icopysb_8f.html b/previous_versions/v12.0.1/icopysb_8f.html similarity index 100% rename from icopysb_8f.html rename to previous_versions/v12.0.1/icopysb_8f.html diff --git a/icopysb_8f.js b/previous_versions/v12.0.1/icopysb_8f.js similarity index 100% rename from icopysb_8f.js rename to previous_versions/v12.0.1/icopysb_8f.js diff --git a/icopysb_8f_source.html b/previous_versions/v12.0.1/icopysb_8f_source.html similarity index 100% rename from icopysb_8f_source.html rename to previous_versions/v12.0.1/icopysb_8f_source.html diff --git a/previous_versions/v12.0.1/icvidx_8c.html b/previous_versions/v12.0.1/icvidx_8c.html new file mode 100644 index 000000000..814dcd476 --- /dev/null +++ b/previous_versions/v12.0.1/icvidx_8c.html @@ -0,0 +1,172 @@ + + + + + + + +NCEPLIBS-bufr: icvidx.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              icvidx.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              Compute a unique 1-dimensional array index from 2-dimensional indices. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Functions

                                                              int icvidx (int ii, int jj, int numjj)
                                                               Computes a unique 1-dimensional array index from 2-dimensional indices. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Compute a unique 1-dimensional array index from 2-dimensional indices.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition in file icvidx.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ icvidx()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              int icvidx (int ii,
                                                              int jj,
                                                              int numjj 
                                                              )
                                                              +
                                                              + +

                                                              Computes a unique 1-dimensional array index from 2-dimensional indices.

                                                              +

                                                              This allows a 2-dimensional (row-by-column) array to be stored and accessed as a 1-dimensional array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              ii- first (row) index
                                                              jj- second (column) index
                                                              numjj- maximum number of column indices
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              1-dimensional index.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 22 of file icvidx.c.

                                                              + +

                                                              Referenced by cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/icvidx_8c.js b/previous_versions/v12.0.1/icvidx_8c.js new file mode 100644 index 000000000..6eff3da6f --- /dev/null +++ b/previous_versions/v12.0.1/icvidx_8c.js @@ -0,0 +1,4 @@ +var icvidx_8c = +[ + [ "icvidx", "icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/icvidx_8c_source.html b/previous_versions/v12.0.1/icvidx_8c_source.html new file mode 100644 index 000000000..e61f16804 --- /dev/null +++ b/previous_versions/v12.0.1/icvidx_8c_source.html @@ -0,0 +1,106 @@ + + + + + + + +NCEPLIBS-bufr: icvidx.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              icvidx.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              21 int
                                                              +
                                                              22 icvidx(int ii, int jj, int numjj)
                                                              +
                                                              23 {
                                                              +
                                                              24  return ( numjj * ii ) + jj;
                                                              +
                                                              25 }
                                                              +
                                                              int icvidx(int ii, int jj, int numjj)
                                                              Computes a unique 1-dimensional array index from 2-dimensional indices.
                                                              Definition: icvidx.c:22
                                                              +
                                                              +
                                                              + + + + diff --git a/idn30_8f.html b/previous_versions/v12.0.1/idn30_8f.html similarity index 100% rename from idn30_8f.html rename to previous_versions/v12.0.1/idn30_8f.html diff --git a/idn30_8f.js b/previous_versions/v12.0.1/idn30_8f.js similarity index 100% rename from idn30_8f.js rename to previous_versions/v12.0.1/idn30_8f.js diff --git a/idn30_8f_source.html b/previous_versions/v12.0.1/idn30_8f_source.html similarity index 100% rename from idn30_8f_source.html rename to previous_versions/v12.0.1/idn30_8f_source.html diff --git a/idxmsg_8f.html b/previous_versions/v12.0.1/idxmsg_8f.html similarity index 100% rename from idxmsg_8f.html rename to previous_versions/v12.0.1/idxmsg_8f.html diff --git a/idxmsg_8f.js b/previous_versions/v12.0.1/idxmsg_8f.js similarity index 100% rename from idxmsg_8f.js rename to previous_versions/v12.0.1/idxmsg_8f.js diff --git a/idxmsg_8f_source.html b/previous_versions/v12.0.1/idxmsg_8f_source.html similarity index 100% rename from idxmsg_8f_source.html rename to previous_versions/v12.0.1/idxmsg_8f_source.html diff --git a/ifbget_8f.html b/previous_versions/v12.0.1/ifbget_8f.html similarity index 100% rename from ifbget_8f.html rename to previous_versions/v12.0.1/ifbget_8f.html diff --git a/ifbget_8f.js b/previous_versions/v12.0.1/ifbget_8f.js similarity index 100% rename from ifbget_8f.js rename to previous_versions/v12.0.1/ifbget_8f.js diff --git a/ifbget_8f_source.html b/previous_versions/v12.0.1/ifbget_8f_source.html similarity index 100% rename from ifbget_8f_source.html rename to previous_versions/v12.0.1/ifbget_8f_source.html diff --git a/ifxy_8f.html b/previous_versions/v12.0.1/ifxy_8f.html similarity index 100% rename from ifxy_8f.html rename to previous_versions/v12.0.1/ifxy_8f.html diff --git a/ifxy_8f.js b/previous_versions/v12.0.1/ifxy_8f.js similarity index 100% rename from ifxy_8f.js rename to previous_versions/v12.0.1/ifxy_8f.js diff --git a/ifxy_8f_source.html b/previous_versions/v12.0.1/ifxy_8f_source.html similarity index 100% rename from ifxy_8f_source.html rename to previous_versions/v12.0.1/ifxy_8f_source.html diff --git a/igetdate_8f.html b/previous_versions/v12.0.1/igetdate_8f.html similarity index 100% rename from igetdate_8f.html rename to previous_versions/v12.0.1/igetdate_8f.html diff --git a/igetdate_8f.js b/previous_versions/v12.0.1/igetdate_8f.js similarity index 100% rename from igetdate_8f.js rename to previous_versions/v12.0.1/igetdate_8f.js diff --git a/igetdate_8f_source.html b/previous_versions/v12.0.1/igetdate_8f_source.html similarity index 100% rename from igetdate_8f_source.html rename to previous_versions/v12.0.1/igetdate_8f_source.html diff --git a/igetfxy_8f.html b/previous_versions/v12.0.1/igetfxy_8f.html similarity index 100% rename from igetfxy_8f.html rename to previous_versions/v12.0.1/igetfxy_8f.html diff --git a/igetfxy_8f.js b/previous_versions/v12.0.1/igetfxy_8f.js similarity index 100% rename from igetfxy_8f.js rename to previous_versions/v12.0.1/igetfxy_8f.js diff --git a/igetfxy_8f_source.html b/previous_versions/v12.0.1/igetfxy_8f_source.html similarity index 100% rename from igetfxy_8f_source.html rename to previous_versions/v12.0.1/igetfxy_8f_source.html diff --git a/igetmxby_8f.html b/previous_versions/v12.0.1/igetmxby_8f.html similarity index 100% rename from igetmxby_8f.html rename to previous_versions/v12.0.1/igetmxby_8f.html diff --git a/igetmxby_8f.js b/previous_versions/v12.0.1/igetmxby_8f.js similarity index 100% rename from igetmxby_8f.js rename to previous_versions/v12.0.1/igetmxby_8f.js diff --git a/igetmxby_8f_source.html b/previous_versions/v12.0.1/igetmxby_8f_source.html similarity index 100% rename from igetmxby_8f_source.html rename to previous_versions/v12.0.1/igetmxby_8f_source.html diff --git a/igetntbi_8f.html b/previous_versions/v12.0.1/igetntbi_8f.html similarity index 100% rename from igetntbi_8f.html rename to previous_versions/v12.0.1/igetntbi_8f.html diff --git a/igetntbi_8f.js b/previous_versions/v12.0.1/igetntbi_8f.js similarity index 100% rename from igetntbi_8f.js rename to previous_versions/v12.0.1/igetntbi_8f.js diff --git a/igetntbi_8f_source.html b/previous_versions/v12.0.1/igetntbi_8f_source.html similarity index 100% rename from igetntbi_8f_source.html rename to previous_versions/v12.0.1/igetntbi_8f_source.html diff --git a/igetntbl_8f.html b/previous_versions/v12.0.1/igetntbl_8f.html similarity index 100% rename from igetntbl_8f.html rename to previous_versions/v12.0.1/igetntbl_8f.html diff --git a/igetntbl_8f.js b/previous_versions/v12.0.1/igetntbl_8f.js similarity index 100% rename from igetntbl_8f.js rename to previous_versions/v12.0.1/igetntbl_8f.js diff --git a/igetntbl_8f_source.html b/previous_versions/v12.0.1/igetntbl_8f_source.html similarity index 100% rename from igetntbl_8f_source.html rename to previous_versions/v12.0.1/igetntbl_8f_source.html diff --git a/igetprm_8f.html b/previous_versions/v12.0.1/igetprm_8f.html similarity index 100% rename from igetprm_8f.html rename to previous_versions/v12.0.1/igetprm_8f.html diff --git a/igetprm_8f.js b/previous_versions/v12.0.1/igetprm_8f.js similarity index 100% rename from igetprm_8f.js rename to previous_versions/v12.0.1/igetprm_8f.js diff --git a/igetprm_8f_source.html b/previous_versions/v12.0.1/igetprm_8f_source.html similarity index 100% rename from igetprm_8f_source.html rename to previous_versions/v12.0.1/igetprm_8f_source.html diff --git a/igetrfel_8f.html b/previous_versions/v12.0.1/igetrfel_8f.html similarity index 100% rename from igetrfel_8f.html rename to previous_versions/v12.0.1/igetrfel_8f.html diff --git a/igetrfel_8f.js b/previous_versions/v12.0.1/igetrfel_8f.js similarity index 100% rename from igetrfel_8f.js rename to previous_versions/v12.0.1/igetrfel_8f.js diff --git a/igetrfel_8f_source.html b/previous_versions/v12.0.1/igetrfel_8f_source.html similarity index 100% rename from igetrfel_8f_source.html rename to previous_versions/v12.0.1/igetrfel_8f_source.html diff --git a/igetsc_8f.html b/previous_versions/v12.0.1/igetsc_8f.html similarity index 100% rename from igetsc_8f.html rename to previous_versions/v12.0.1/igetsc_8f.html diff --git a/igetsc_8f.js b/previous_versions/v12.0.1/igetsc_8f.js similarity index 100% rename from igetsc_8f.js rename to previous_versions/v12.0.1/igetsc_8f.js diff --git a/igetsc_8f_source.html b/previous_versions/v12.0.1/igetsc_8f_source.html similarity index 100% rename from igetsc_8f_source.html rename to previous_versions/v12.0.1/igetsc_8f_source.html diff --git a/igettdi_8f.html b/previous_versions/v12.0.1/igettdi_8f.html similarity index 100% rename from igettdi_8f.html rename to previous_versions/v12.0.1/igettdi_8f.html diff --git a/igettdi_8f.js b/previous_versions/v12.0.1/igettdi_8f.js similarity index 100% rename from igettdi_8f.js rename to previous_versions/v12.0.1/igettdi_8f.js diff --git a/igettdi_8f_source.html b/previous_versions/v12.0.1/igettdi_8f_source.html similarity index 100% rename from igettdi_8f_source.html rename to previous_versions/v12.0.1/igettdi_8f_source.html diff --git a/imrkopr_8f.html b/previous_versions/v12.0.1/imrkopr_8f.html similarity index 100% rename from imrkopr_8f.html rename to previous_versions/v12.0.1/imrkopr_8f.html diff --git a/imrkopr_8f.js b/previous_versions/v12.0.1/imrkopr_8f.js similarity index 100% rename from imrkopr_8f.js rename to previous_versions/v12.0.1/imrkopr_8f.js diff --git a/imrkopr_8f_source.html b/previous_versions/v12.0.1/imrkopr_8f_source.html similarity index 100% rename from imrkopr_8f_source.html rename to previous_versions/v12.0.1/imrkopr_8f_source.html diff --git a/inctab_8f.html b/previous_versions/v12.0.1/inctab_8f.html similarity index 100% rename from inctab_8f.html rename to previous_versions/v12.0.1/inctab_8f.html diff --git a/inctab_8f.js b/previous_versions/v12.0.1/inctab_8f.js similarity index 100% rename from inctab_8f.js rename to previous_versions/v12.0.1/inctab_8f.js diff --git a/inctab_8f_source.html b/previous_versions/v12.0.1/inctab_8f_source.html similarity index 100% rename from inctab_8f_source.html rename to previous_versions/v12.0.1/inctab_8f_source.html diff --git a/previous_versions/v12.0.1/index.html b/previous_versions/v12.0.1/index.html new file mode 100644 index 000000000..53ad32151 --- /dev/null +++ b/previous_versions/v12.0.1/index.html @@ -0,0 +1,156 @@ + + + + + + + +NCEPLIBS-bufr: Main Page + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              NCEPLIBS-bufr Documentation
                                                              +
                                                              +
                                                              +

                                                              +Documentation for Previous Versions of NCEPLIBS-bufr

                                                              + +

                                                              +Documentation for the Python API for NCEPLIBS-bufr

                                                              + +

                                                              +Introduction

                                                              +

                                                              This library contains subroutines, functions and other utilities that can be used to read (decode) and write (encode) data in BUFR, which is a WMO standard format for the exchange of meteorological data.

                                                              +

                                                              +The BUFR Format

                                                              +

                                                              The BUFR format is officially documented in WMO Manual 306, Volume I.2. The latest edition of BUFR is edition 4, although edition 3 is still in use in many parts of the world. A complete BUFR message consists of the following sections:

                                                              + + + + + + + + + + + + + + + +
                                                              Section Number Name Contents
                                                              0 Indicator section "BUFR", length of message, edition number
                                                              1 Identification section Originating center and subcenter, data category and subcategory, master table and version number
                                                              2 (Optional) Local Use section (Optional) free-format additional information of potential interest to users
                                                              3 Data Description section Number of data subsets, compression indicator, and list of descriptors defining the content of each data subset
                                                              4 Data section One or more data subsets, each containing values corresponding to the list of descriptors defined within Section 3
                                                              5 End section "7777"
                                                              +

                                                              BUFR is a table-driven format, meaning that new descriptors can be encoded and decoded by adding them to tables which are read in by the software, rather than having to modify the software itself. To that end, WMO periodically releases new versions of their official WMO master BUFR tables, to facilitate the continued exchange of meteorological data throughout the global community.

                                                              +

                                                              NCEPLIBS-bufr can read (decode) and write (encode) data in both edition 3 and edition 4 of BUFR. It consists of more than 300 different subroutines and functions; however, a typical application program will never directly call more than 10 to 20 of them, and the rest are lower-level routines that the library uses to accomplish various underlying tasks, and which can therefore be considered as "black box" from a user perspective.

                                                              +

                                                              Whenever new versions of the official WMO master BUFR tables are released by WMO (as noted above), they are downloaded and reformatted as new NCEPLIBS-bufr master BUFR tables for use with the software and distributed with the next release of the library. However, users can also generate their own custom NCEPLIBS-bufr DX BUFR tables for use with the software as needed.

                                                              +

                                                              More details are available throughout the documentation, including sample utilities which demonstrate how to use many of the various library subroutines and functions to accomplish different tasks.

                                                              +

                                                              +NCEPLIBS-bufr Library Subroutines and Functions

                                                              +

                                                              It's important to understand the following hierarchy:

                                                              +
                                                                +
                                                              1. Any BUFR file can consist of one or more BUFR messages.
                                                              2. +
                                                              3. Any BUFR message can consist of one or more BUFR data subsets, which are akin to reports from individual observational stations at a particular time and location.
                                                              4. +
                                                              5. Any BUFR data subset can consist of one or more BUFR data descriptors and corresponding data values.
                                                              6. +
                                                              +

                                                              This allows many of the most commonly used library subroutines and functions to be grouped based on which level of the hierarchy they operate at, and whether for reading/decoding BUFR data or writing/encoding BUFR data. In the following table, any routine with a _f suffix wraps a Fortran routine of the same name and should only be called from C application programs. Conversely, any routine with a _c suffix wraps a C function of the same name and should only be called from Fortran application programs.

                                                              + + + + + + + +
                                                              For working with: BUFR files BUFR messages BUFR data subsets BUFR data values
                                                              reading/decoding openbf() openbf_f() ufbmem() ufbmex() cobfl() cobfl_c() readmg() ireadmg() ireadmg_f() readerme() readns() ireadns() rdmemm() readmm() ireadmm() crbmg() crbmg_c() datelen() getlens() iupvs01() iupbs01() iupbs01_f() iupbs3() nmsub() rtrcpt() igetdate() readsb() ireadsb() ireadsb_f() readns() ireadns() rdmems() ufbmms() ufbmns() ufbpos() ufbint() ufbint_f() ufbrep() ufbrep_f() ufbseq() ufbstp() ufbrms() readlc() getvalnb() setbmiss() getbmiss() ibfms() icbfms()
                                                              writing/encoding openbf() openbf_f() closbf() closbf_f() copybf() cobfl() cobfl_c() openmb() openmg() closmg() copymg() cpymem() cwbmg() cwbmg_c() cmpmsg() stdmsg() cnved4() strcpt() setblock() maxout() pkvs01() pkbs1() minimg() writsb() writsa() writcp() copysb() icopysb() ufbint() ufbint_f() ufbrep() ufbrep_f() ufbseq() ufbstp() writlc() setvalnb() setbmiss()
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.html b/previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.html new file mode 100644 index 000000000..cd5038849 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface::ccbfl_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface::ccbfl_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine ccbfl_c ()
                                                               Close all files that were opened via previous calls to subroutine cobfl_c(). More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 74 of file bufr_interface.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ ccbfl_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              bufr_interface::ccbfl_c::ccbfl_c
                                                              +
                                                              + +

                                                              Close all files that were opened via previous calls to subroutine cobfl_c().

                                                              +

                                                              Wraps ccbfl() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 74 of file bufr_interface.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.js b/previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.js new file mode 100644 index 000000000..79cbcef08 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1ccbfl__c.js @@ -0,0 +1,4 @@ +var interfacebufr__interface_1_1ccbfl__c = +[ + [ "ccbfl_c", "interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.html b/previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.html new file mode 100644 index 000000000..a1eefefff --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.html @@ -0,0 +1,157 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface::cobfl_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface::cobfl_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine cobfl_c (bfl, io)
                                                               Open a new file for reading or writing BUFR messages via a C language interface. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 24 of file bufr_interface.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ cobfl_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              bufr_interface::cobfl_c::cobfl_c (character(kind=c_char), dimension(*), intent(in) bfl,
                                                              character(kind=c_char), intent(in), value io 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for reading or writing BUFR messages via a C language interface.

                                                              +

                                                              Wraps cobfl() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              bfl- [path]/name of file to be opened
                                                              io- Flag indicating how bfl is to be opened
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-03-22
                                                              + +

                                                              Definition at line 24 of file bufr_interface.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.js b/previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.js new file mode 100644 index 000000000..69fc9737f --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1cobfl__c.js @@ -0,0 +1,4 @@ +var interfacebufr__interface_1_1cobfl__c = +[ + [ "cobfl_c", "interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.html b/previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.html new file mode 100644 index 000000000..e007a9e9d --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.html @@ -0,0 +1,171 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface::crbmg_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface::crbmg_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine crbmg_c (bmg, mxmb, nmb, iret)
                                                               Read the next BUFR message from the file that was opened via the most recent call to subroutine cobfl_c() with io = 'r'. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 43 of file bufr_interface.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ crbmg_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufr_interface::crbmg_c::crbmg_c (character(kind=c_char), dimension(*), intent(out) bmg,
                                                              integer(c_int), intent(in), value mxmb,
                                                              integer(c_int), intent(out) nmb,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next BUFR message from the file that was opened via the most recent call to subroutine cobfl_c() with io = 'r'.

                                                              +

                                                              Wraps crbmg() function.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              mxmb- Number of elements in bmg array; used by the function to ensure that it doesn't overflow the array.
                                                              bmg- BUFR message
                                                              nmb- Size of BUFR message in bmg array
                                                              iret- Return code 0 indicates success, any other value indicates failure
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-03-22
                                                              + +

                                                              Definition at line 43 of file bufr_interface.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.js b/previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.js new file mode 100644 index 000000000..c2f493d3e --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1crbmg__c.js @@ -0,0 +1,4 @@ +var interfacebufr__interface_1_1crbmg__c = +[ + [ "crbmg_c", "interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.html b/previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.html new file mode 100644 index 000000000..2d3ce2ef6 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.html @@ -0,0 +1,164 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface::cwbmg_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface::cwbmg_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine cwbmg_c (bmg, nmb, iret)
                                                               Write a BUFR message to the file that was opened via the most recent call to subroutine cobfl_c() with io = 'w'. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 61 of file bufr_interface.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ cwbmg_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufr_interface::cwbmg_c::cwbmg_c (character(kind=c_char), dimension(*), intent(in) bmg,
                                                              integer(c_int), intent(in), value nmb,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Write a BUFR message to the file that was opened via the most recent call to subroutine cobfl_c() with io = 'w'.

                                                              +

                                                              Wraps cwbmg() function.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bmg- BUFR message
                                                              nmb- Size of BUFR message in bmg array
                                                              iret- Return code 0 indicates success, any other value indicates failure
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 61 of file bufr_interface.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.js b/previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.js new file mode 100644 index 000000000..0b9bec2ac --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1cwbmg__c.js @@ -0,0 +1,4 @@ +var interfacebufr__interface_1_1cwbmg__c = +[ + [ "cwbmg_c", "interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.html b/previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.html new file mode 100644 index 000000000..8a340359a --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface::dlloctbf_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface::dlloctbf_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine dlloctbf_c ()
                                                               Free all memory allocated via inittbf_c(). More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 84 of file bufr_interface.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ dlloctbf_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              bufr_interface::dlloctbf_c::dlloctbf_c
                                                              +
                                                              + +

                                                              Free all memory allocated via inittbf_c().

                                                              +

                                                              Wraps dlloctbf() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 84 of file bufr_interface.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.js b/previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.js new file mode 100644 index 000000000..f9242a827 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufr__interface_1_1dlloctbf__c.js @@ -0,0 +1,4 @@ +var interfacebufr__interface_1_1dlloctbf__c = +[ + [ "dlloctbf_c", "interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.html new file mode 100644 index 000000000..489c8446f --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::arallocc_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::arallocc_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine arallocc_c ()
                                                               Dynamically allocate C language arrays. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 164 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ arallocc_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              bufrlib::arallocc_c::arallocc_c
                                                              +
                                                              + +

                                                              Dynamically allocate C language arrays.

                                                              +

                                                              Wraps arallocc() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition at line 164 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.js new file mode 100644 index 000000000..80b28fdae --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1arallocc__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1arallocc__c = +[ + [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.html new file mode 100644 index 000000000..d0fcafceb --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::ardllocc_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::ardllocc_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine ardllocc_c ()
                                                               Free all memory allocated via arallocc_c(). More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 174 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ ardllocc_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              bufrlib::ardllocc_c::ardllocc_c
                                                              +
                                                              + +

                                                              Free all memory allocated via arallocc_c().

                                                              +

                                                              Wraps ardllocc() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition at line 174 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.js new file mode 100644 index 000000000..6ef0e7000 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1ardllocc__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1ardllocc__c = +[ + [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.html new file mode 100644 index 000000000..1e309097f --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.html @@ -0,0 +1,146 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::backbufr_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::backbufr_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine backbufr_c (nfile)
                                                               Backspace a BUFR file by one BUFR message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 69 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ backbufr_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              bufrlib::backbufr_c::backbufr_c (integer(c_int), intent(in), value nfile)
                                                              +
                                                              + +

                                                              Backspace a BUFR file by one BUFR message.

                                                              +

                                                              Wraps backbufr() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 69 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.js new file mode 100644 index 000000000..9bc094fb5 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1backbufr__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1backbufr__c = +[ + [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832", null ] +]; \ No newline at end of file diff --git a/interfacebufrlib_1_1bort__exit__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1bort__exit__c.html similarity index 100% rename from interfacebufrlib_1_1bort__exit__c.html rename to previous_versions/v12.0.1/interfacebufrlib_1_1bort__exit__c.html diff --git a/interfacebufrlib_1_1bort__exit__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1bort__exit__c.js similarity index 100% rename from interfacebufrlib_1_1bort__exit__c.js rename to previous_versions/v12.0.1/interfacebufrlib_1_1bort__exit__c.js diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.html new file mode 100644 index 000000000..f6c9a3792 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.html @@ -0,0 +1,146 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::cewind_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::cewind_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine cewind_c (nfile)
                                                               Rewind a BUFR file back to its beginning. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 82 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ cewind_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              bufrlib::cewind_c::cewind_c (integer(c_int), intent(in), value nfile)
                                                              +
                                                              + +

                                                              Rewind a BUFR file back to its beginning.

                                                              +

                                                              Wraps cewind() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 82 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.js new file mode 100644 index 000000000..8d46979a4 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1cewind__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1cewind__c = +[ + [ "cewind_c", "interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.html new file mode 100644 index 000000000..416f764f0 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.html @@ -0,0 +1,146 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::closfb_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::closfb_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine closfb_c (nfile)
                                                               Close a previously opened BUFR file. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 95 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ closfb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              bufrlib::closfb_c::closfb_c (integer(c_int), intent(in), value nfile)
                                                              +
                                                              + +

                                                              Close a previously opened BUFR file.

                                                              +

                                                              Wraps closfb() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nfile- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 95 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.js new file mode 100644 index 000000000..20cad13d8 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1closfb__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1closfb__c = +[ + [ "closfb_c", "interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.html new file mode 100644 index 000000000..bacd2f982 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.html @@ -0,0 +1,248 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::cpmstabs_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::cpmstabs_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine cpmstabs_c (nmtb, ibfxyn, cbscl, cbsref, cbbw, cbunit, cbmnem, cbelem, nmtd, idfxyn, cdseq, cdmnem, ndelem, idefxy, maxcd)
                                                               Copy master Table B and Table D information. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 201 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ cpmstabs_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::cpmstabs_c::cpmstabs_c (integer(c_int), intent(in), value nmtb,
                                                              integer(c_int), dimension(*), intent(in) ibfxyn,
                                                              character(kind=c_char), dimension(4,*), intent(in) cbscl,
                                                              character(kind=c_char), dimension(12,*), intent(in) cbsref,
                                                              character(kind=c_char), dimension(4,*), intent(in) cbbw,
                                                              character(kind=c_char), dimension(24,*), intent(in) cbunit,
                                                              character(kind=c_char), dimension(8,*), intent(in) cbmnem,
                                                              character(kind=c_char), dimension(120,*), intent(in) cbelem,
                                                              integer(c_int), intent(in), value nmtd,
                                                              integer(c_int), dimension(*), intent(in) idfxyn,
                                                              character(kind=c_char), dimension(120,*), intent(in) cdseq,
                                                              character(kind=c_char), dimension(8,*), intent(in) cdmnem,
                                                              integer(c_int), dimension(*), intent(in) ndelem,
                                                              integer(c_int), dimension(*), intent(in) idefxy,
                                                              integer(c_int), intent(in), value maxcd 
                                                              )
                                                              +
                                                              + +

                                                              Copy master Table B and Table D information.

                                                              +

                                                              Wraps cpmstabs() function.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + + + + + + + + +
                                                              nmtb- Number of master Table B entries.
                                                              ibfxyn- Bit-wise representations of master Table B FXY numbers.
                                                              cbscl- Master Table B scale factors.
                                                              cbsref- Master Table B reference values.
                                                              cbbw- Master Table B bit widths.
                                                              cbunit- Master Table B units.
                                                              cbmnem- Master Table B mnemonics.
                                                              cbelem- Master Table B element names.
                                                              nmtd- Number of master Table D entries.
                                                              idfxyn- Bit-wise representations of master Table D FXY numbers.
                                                              cdseq- Master Table D sequence names.
                                                              cdmnem- Master Table D mnemonics.
                                                              ndelem- Number of child descriptors for master Table D sequence.
                                                              idefxy- Bit-wise representations of child descriptors for master Table D sequence.
                                                              maxcd- Maximum number of child descriptors for a master Table D sequence.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 201 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.js new file mode 100644 index 000000000..b38e7da41 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1cpmstabs__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1cpmstabs__c = +[ + [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.html new file mode 100644 index 000000000..b340ed129 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.html @@ -0,0 +1,170 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::crdbufr_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::crdbufr_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              integer(c_int) function crdbufr_c (nfile, bufr, mxwrd)
                                                               Read the next message from a BUFR file that was previously opened for reading. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 117 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ crdbufr_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::crdbufr_c::crdbufr_c (integer(c_int), intent(in), value nfile,
                                                              integer(c_int), dimension(*), intent(out) bufr,
                                                              integer(c_int), intent(in), value mxwrd 
                                                              )
                                                              +
                                                              + +

                                                              Read the next message from a BUFR file that was previously opened for reading.

                                                              +

                                                              Wraps crdbufr() function.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              nfile- File ID.
                                                              bufr- BUFR message.
                                                              mxwrd- Number of elements in bufr array; used by the function to ensure that it doesn't overflow the array.
                                                              +
                                                              +
                                                              +

                                                              Return code:

                                                                +
                                                              • 0 = normal return
                                                              • +
                                                              • -1 = end-of-file encountered while reading
                                                              • +
                                                              • -2 = I/O error encountered while reading
                                                              • +
                                                              • -3 = overflow of bufr array
                                                              • +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 117 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.js new file mode 100644 index 000000000..960f92da7 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1crdbufr__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1crdbufr__c = +[ + [ "crdbufr_c", "interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.html new file mode 100644 index 000000000..0cfc90c37 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.html @@ -0,0 +1,164 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::cwrbufr_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::cwrbufr_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine cwrbufr_c (nfile, bufr, nwrd)
                                                               Write a BUFR message into a file that was previously opened for writing. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 133 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ cwrbufr_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::cwrbufr_c::cwrbufr_c (integer(c_int), intent(in), value nfile,
                                                              integer(c_int), dimension(*), intent(in) bufr,
                                                              integer(c_int), intent(in), value nwrd 
                                                              )
                                                              +
                                                              + +

                                                              Write a BUFR message into a file that was previously opened for writing.

                                                              +

                                                              Wraps cwrbufr() function.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              nfile- File ID.
                                                              bufr- BUFR message.
                                                              nwrd- Size of BUFR message.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 133 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.js new file mode 100644 index 000000000..aaf7b4c94 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1cwrbufr__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1cwrbufr__c = +[ + [ "cwrbufr_c", "interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.html new file mode 100644 index 000000000..4c7048f4e --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.html @@ -0,0 +1,165 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::icvidx_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::icvidx_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              integer(c_int) function icvidx_c (ii, jj, numjj)
                                                               Compute a 1-dimensional array index from 2-dimensional indices. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 153 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ icvidx_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::icvidx_c::icvidx_c (integer(c_int), intent(in), value ii,
                                                              integer(c_int), intent(in), value jj,
                                                              integer(c_int), intent(in), value numjj 
                                                              )
                                                              +
                                                              + +

                                                              Compute a 1-dimensional array index from 2-dimensional indices.

                                                              +

                                                              Wraps icvidx() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2022-09-01
                                                              +
                                                              Parameters
                                                              + + + + +
                                                              ii- First (row) index.
                                                              jj- Second (column) index.
                                                              numjj- Maximum number of column indices.
                                                              +
                                                              +
                                                              +

                                                              Returns 1-dimensional index.

                                                              + +

                                                              Definition at line 153 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.js new file mode 100644 index 000000000..84695f344 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1icvidx__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1icvidx__c = +[ + [ "icvidx_c", "interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.html new file mode 100644 index 000000000..c7c7898c1 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::inittbf_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::inittbf_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine inittbf_c ()
                                                               Initialize memory for internal storage of master Code/Flag table entries. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 216 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ inittbf_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              bufrlib::inittbf_c::inittbf_c
                                                              +
                                                              + +

                                                              Initialize memory for internal storage of master Code/Flag table entries.

                                                              +

                                                              Wraps inittbf() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 216 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.js new file mode 100644 index 000000000..a5f5c42c8 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1inittbf__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1inittbf__c = +[ + [ "inittbf_c", "interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.html new file mode 100644 index 000000000..c9f018d7f --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.html @@ -0,0 +1,157 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::openab_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::openab_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine openab_c (nfile, ufile)
                                                               Open a new file for appending BUFR messages. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 55 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ openab_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::openab_c::openab_c (integer(c_int), intent(in), value nfile,
                                                              character(kind=c_char), dimension(*), intent(in) ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for appending BUFR messages.

                                                              +

                                                              Wraps openab() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 55 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.js new file mode 100644 index 000000000..6e965aeda --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1openab__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1openab__c = +[ + [ "openab_c", "interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.html new file mode 100644 index 000000000..a0e63e92f --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.html @@ -0,0 +1,157 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::openrb_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::openrb_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine openrb_c (nfile, ufile)
                                                               Open a new file for reading BUFR messages. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 25 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ openrb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::openrb_c::openrb_c (integer(c_int), intent(in), value nfile,
                                                              character(kind=c_char), dimension(*), intent(in) ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for reading BUFR messages.

                                                              +

                                                              Wraps openrb() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 25 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.js new file mode 100644 index 000000000..4bda24a36 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1openrb__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1openrb__c = +[ + [ "openrb_c", "interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.html new file mode 100644 index 000000000..1ff851263 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.html @@ -0,0 +1,157 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::openwb_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::openwb_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine openwb_c (nfile, ufile)
                                                               Open a new file for writing BUFR messages. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 40 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ openwb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::openwb_c::openwb_c (integer(c_int), intent(in), value nfile,
                                                              character(kind=c_char), dimension(*), intent(in) ufile 
                                                              )
                                                              +
                                                              + +

                                                              Open a new file for writing BUFR messages.

                                                              +

                                                              Wraps openwb() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              nfile- File ID.
                                                              ufile- [path/]name of file to be opened.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 40 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.js new file mode 100644 index 000000000..49eae96e5 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1openwb__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1openwb__c = +[ + [ "openwb_c", "interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.html new file mode 100644 index 000000000..f1578e004 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.html @@ -0,0 +1,171 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::restd_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::restd_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine restd_c (lun, tddesc, nctddesc, ctddesc)
                                                               Standardize a local Table D descriptor. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 306 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ restd_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::restd_c::restd_c (integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(in), value tddesc,
                                                              integer(c_int), intent(out) nctddesc,
                                                              integer(c_int), dimension(*), intent(out) ctddesc 
                                                              )
                                                              +
                                                              + +

                                                              Standardize a local Table D descriptor.

                                                              +

                                                              Wraps restd() function.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lun- File ID.
                                                              tddesc- WMO bit-wise representation of FXY value for local Table D descriptor.
                                                              nctddesc- Number of WMO-standard child descriptors returned in cttdesc.
                                                              ctddesc- Array of WMO-standard child descriptors equivalent to tddesc.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 306 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.js new file mode 100644 index 000000000..9f67f2720 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1restd__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1restd__c = +[ + [ "restd_c", "interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.html new file mode 100644 index 000000000..8d3f8455a --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::sorttbf_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::sorttbf_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine sorttbf_c ()
                                                               Sort entries within the master Code/Flag table. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 248 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ sorttbf_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              bufrlib::sorttbf_c::sorttbf_c
                                                              +
                                                              + +

                                                              Sort entries within the master Code/Flag table.

                                                              +

                                                              Wraps sorttbf() function.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 248 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.js new file mode 100644 index 000000000..20147885e --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1sorttbf__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1sorttbf__c = +[ + [ "sorttbf_c", "interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.html new file mode 100644 index 000000000..64d377c4a --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.html @@ -0,0 +1,215 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::srchtbf_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::srchtbf_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine srchtbf_c (ifxyi, ivali, ifxyd, mxfxyd, ivald, meaning, mxmng, lnmng, iret)
                                                               Search for a specified master Code/Flag table entry. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 287 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ srchtbf_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::srchtbf_c::srchtbf_c (integer(c_int), intent(in), value ifxyi,
                                                              integer(c_int), intent(in), value ivali,
                                                              integer(c_int), intent(inout) ifxyd,
                                                              integer(c_int), intent(in), value mxfxyd,
                                                              integer(c_int), intent(in), value ivald,
                                                              character(kind=c_char), dimension(*), intent(out) meaning,
                                                              integer(c_int), intent(in), value mxmng,
                                                              integer(c_int), intent(out) lnmng,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Search for a specified master Code/Flag table entry.

                                                              +

                                                              Wraps srchtbf() function.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + + +
                                                              ifxyi- Bit-wise representation of FXY number to search for.
                                                              ivali- Value (code figure or bit number) associated with ifxyi.
                                                              ifxyd- Dependence indicator:
                                                                +
                                                              • On input, ifxyd[0] is set to the bit-wise representation of the FXY number upon which ifxyi and ivali depend, or else set to (-1) if ifxyi and ivali do not depend on the value associated with any other FXY number.
                                                              • +
                                                              • On output, if the initial search of the master Code/Flag table was unsuccessful, and if ifxyd[0] and ivald were both set to (-1) on input, and if a second search of the table determines that the meaning of ifxyi and ivali indeed depends on one or more other FXY numbers, then the bit-wise representations of those FXY numbers are returned within the first iret elements of ifxyd.
                                                              • +
                                                              +
                                                              ivald- Value (code figure or bit number) associated with the FXY number in ifxyd[0]; set to (-1) whenever ifxyd[0] is also set to (-1).
                                                              mxfxyd- Number of elements in ifxyd array; used by the function to ensure that it doesn't overflow the array.
                                                              mxmng- Number of elements in meaning array; used by the function to ensure that it doesn't overflow the string.
                                                              meaning- Meaning corresponding to ifxyi and ivali (and to ifxyd[0] and ivald, if specified on input).
                                                              lnmng- Length (in bytes) of string returned in CMEANG.
                                                              iret- Return code:
                                                                +
                                                              • 0 = Meaning found and stored in meaning string.
                                                              • +
                                                              • -1 = Meaning not found.
                                                              • +
                                                              • >0 = Meaning not found, and ifxyd[0] and ivald were both set to (-1) on input, and the meaning of ifxyi and ivali depends on the the value associated with one of the FXY numbers whose bit-wise representation is stored in the first iret elements of ifxyd.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 287 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.js new file mode 100644 index 000000000..b8a161355 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1srchtbf__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1srchtbf__c = +[ + [ "srchtbf_c", "interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.html new file mode 100644 index 000000000..8fad77e32 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.html @@ -0,0 +1,185 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::strtbfe_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::strtbfe_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine strtbfe_c (ifxyn, ival, meaning, lmeaning, idfxy, idval)
                                                               Store a new master Code/Flag table entry. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 236 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ strtbfe_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::strtbfe_c::strtbfe_c (integer(c_int), intent(in), value ifxyn,
                                                              integer(c_int), intent(in), value ival,
                                                              character(kind=c_char), dimension(*), intent(in) meaning,
                                                              integer(c_int), intent(in), value lmeaning,
                                                              integer(c_int), intent(in), value idfxy,
                                                              integer(c_int), intent(in), value idval 
                                                              )
                                                              +
                                                              + +

                                                              Store a new master Code/Flag table entry.

                                                              +

                                                              Wraps strtbfe() function.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              ifxyn- Bit-wise representation of FXY number for which ival is a defined code or flag table entry.
                                                              ival- Code figure or bit number.
                                                              meaning- Meaning associated with ifxyn and ival.
                                                              lmeaning- Length (in bytes) of meaning.
                                                              idfxy- Bit-wise representation of FXY number upon which ifxyn and ival depend (if any), or else set to a value of (-1).
                                                              idval- Code figure or bit number associated with idfxy and upon which ifxyn and ival depend (if any), or else set to (-1) whenever idfxy is also set to (-1).
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2017-11-03
                                                              + +

                                                              Definition at line 236 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.js new file mode 100644 index 000000000..cbb2ad293 --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1strtbfe__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1strtbfe__c = +[ + [ "strtbfe_c", "interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.html b/previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.html new file mode 100644 index 000000000..08a0c887d --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.html @@ -0,0 +1,192 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib::stseq_c Interface Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib::stseq_c Interface Reference
                                                              +
                                                              +
                                                              + + + + + +

                                                              +Public Member Functions

                                                              subroutine stseq_c (lun, irepct, idn, nemo, cseq, cdesc, ncdesc)
                                                               Store information about a standard Table D descriptor. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +
                                                              +

                                                              Definition at line 326 of file bufrlib.F90.

                                                              +

                                                              Constructor & Destructor Documentation

                                                              + +

                                                              ◆ stseq_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              bufrlib::stseq_c::stseq_c (integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(inout) irepct,
                                                              integer(c_int), intent(in), value idn,
                                                              character(kind=c_char), dimension(*), intent(in) nemo,
                                                              character(kind=c_char), dimension(*), intent(in) cseq,
                                                              integer(c_int), dimension(*), intent(out) cdesc,
                                                              integer(c_int), intent(in), value ncdesc 
                                                              )
                                                              +
                                                              + +

                                                              Store information about a standard Table D descriptor.

                                                              +

                                                              Wraps stseq() function.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lun- File ID.
                                                              irepct- Replication sequence counter for the current master table.
                                                              idn- WMO bit-wise representation of FXY value for standard Table D descriptor.
                                                              nemo- Mnemonic corresponding to idn.
                                                              cseq- Description corresponding to idn.
                                                              cdesc- Array of WMO-standard child descriptors equivalent to idn.
                                                              ncdesc- Number of WMO-standard child descriptors in cdesc.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 326 of file bufrlib.F90.

                                                              + +
                                                              +
                                                              +
                                                              The documentation for this interface was generated from the following file: +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.js b/previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.js new file mode 100644 index 000000000..c2854408d --- /dev/null +++ b/previous_versions/v12.0.1/interfacebufrlib_1_1stseq__c.js @@ -0,0 +1,4 @@ +var interfacebufrlib_1_1stseq__c = +[ + [ "stseq_c", "interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870", null ] +]; \ No newline at end of file diff --git a/invcon_8f.html b/previous_versions/v12.0.1/invcon_8f.html similarity index 100% rename from invcon_8f.html rename to previous_versions/v12.0.1/invcon_8f.html diff --git a/invcon_8f.js b/previous_versions/v12.0.1/invcon_8f.js similarity index 100% rename from invcon_8f.js rename to previous_versions/v12.0.1/invcon_8f.js diff --git a/invcon_8f_source.html b/previous_versions/v12.0.1/invcon_8f_source.html similarity index 100% rename from invcon_8f_source.html rename to previous_versions/v12.0.1/invcon_8f_source.html diff --git a/invmrg_8f.html b/previous_versions/v12.0.1/invmrg_8f.html similarity index 100% rename from invmrg_8f.html rename to previous_versions/v12.0.1/invmrg_8f.html diff --git a/invmrg_8f.js b/previous_versions/v12.0.1/invmrg_8f.js similarity index 100% rename from invmrg_8f.js rename to previous_versions/v12.0.1/invmrg_8f.js diff --git a/invmrg_8f_source.html b/previous_versions/v12.0.1/invmrg_8f_source.html similarity index 100% rename from invmrg_8f_source.html rename to previous_versions/v12.0.1/invmrg_8f_source.html diff --git a/invtag_8f.html b/previous_versions/v12.0.1/invtag_8f.html similarity index 100% rename from invtag_8f.html rename to previous_versions/v12.0.1/invtag_8f.html diff --git a/invtag_8f.js b/previous_versions/v12.0.1/invtag_8f.js similarity index 100% rename from invtag_8f.js rename to previous_versions/v12.0.1/invtag_8f.js diff --git a/invtag_8f_source.html b/previous_versions/v12.0.1/invtag_8f_source.html similarity index 100% rename from invtag_8f_source.html rename to previous_versions/v12.0.1/invtag_8f_source.html diff --git a/invwin_8f.html b/previous_versions/v12.0.1/invwin_8f.html similarity index 100% rename from invwin_8f.html rename to previous_versions/v12.0.1/invwin_8f.html diff --git a/invwin_8f.js b/previous_versions/v12.0.1/invwin_8f.js similarity index 100% rename from invwin_8f.js rename to previous_versions/v12.0.1/invwin_8f.js diff --git a/invwin_8f_source.html b/previous_versions/v12.0.1/invwin_8f_source.html similarity index 100% rename from invwin_8f_source.html rename to previous_versions/v12.0.1/invwin_8f_source.html diff --git a/iok2cpy_8f.html b/previous_versions/v12.0.1/iok2cpy_8f.html similarity index 100% rename from iok2cpy_8f.html rename to previous_versions/v12.0.1/iok2cpy_8f.html diff --git a/iok2cpy_8f.js b/previous_versions/v12.0.1/iok2cpy_8f.js similarity index 100% rename from iok2cpy_8f.js rename to previous_versions/v12.0.1/iok2cpy_8f.js diff --git a/iok2cpy_8f_source.html b/previous_versions/v12.0.1/iok2cpy_8f_source.html similarity index 100% rename from iok2cpy_8f_source.html rename to previous_versions/v12.0.1/iok2cpy_8f_source.html diff --git a/iokoper_8f.html b/previous_versions/v12.0.1/iokoper_8f.html similarity index 100% rename from iokoper_8f.html rename to previous_versions/v12.0.1/iokoper_8f.html diff --git a/iokoper_8f.js b/previous_versions/v12.0.1/iokoper_8f.js similarity index 100% rename from iokoper_8f.js rename to previous_versions/v12.0.1/iokoper_8f.js diff --git a/iokoper_8f_source.html b/previous_versions/v12.0.1/iokoper_8f_source.html similarity index 100% rename from iokoper_8f_source.html rename to previous_versions/v12.0.1/iokoper_8f_source.html diff --git a/ipkm_8f.html b/previous_versions/v12.0.1/ipkm_8f.html similarity index 100% rename from ipkm_8f.html rename to previous_versions/v12.0.1/ipkm_8f.html diff --git a/ipkm_8f.js b/previous_versions/v12.0.1/ipkm_8f.js similarity index 100% rename from ipkm_8f.js rename to previous_versions/v12.0.1/ipkm_8f.js diff --git a/ipkm_8f_source.html b/previous_versions/v12.0.1/ipkm_8f_source.html similarity index 100% rename from ipkm_8f_source.html rename to previous_versions/v12.0.1/ipkm_8f_source.html diff --git a/ipks_8f.html b/previous_versions/v12.0.1/ipks_8f.html similarity index 100% rename from ipks_8f.html rename to previous_versions/v12.0.1/ipks_8f.html diff --git a/ipks_8f.js b/previous_versions/v12.0.1/ipks_8f.js similarity index 100% rename from ipks_8f.js rename to previous_versions/v12.0.1/ipks_8f.js diff --git a/ipks_8f_source.html b/previous_versions/v12.0.1/ipks_8f_source.html similarity index 100% rename from ipks_8f_source.html rename to previous_versions/v12.0.1/ipks_8f_source.html diff --git a/ireadmg_8f.html b/previous_versions/v12.0.1/ireadmg_8f.html similarity index 100% rename from ireadmg_8f.html rename to previous_versions/v12.0.1/ireadmg_8f.html diff --git a/ireadmg_8f.js b/previous_versions/v12.0.1/ireadmg_8f.js similarity index 100% rename from ireadmg_8f.js rename to previous_versions/v12.0.1/ireadmg_8f.js diff --git a/ireadmg_8f_source.html b/previous_versions/v12.0.1/ireadmg_8f_source.html similarity index 100% rename from ireadmg_8f_source.html rename to previous_versions/v12.0.1/ireadmg_8f_source.html diff --git a/ireadmm_8f.html b/previous_versions/v12.0.1/ireadmm_8f.html similarity index 100% rename from ireadmm_8f.html rename to previous_versions/v12.0.1/ireadmm_8f.html diff --git a/ireadmm_8f.js b/previous_versions/v12.0.1/ireadmm_8f.js similarity index 100% rename from ireadmm_8f.js rename to previous_versions/v12.0.1/ireadmm_8f.js diff --git a/ireadmm_8f_source.html b/previous_versions/v12.0.1/ireadmm_8f_source.html similarity index 100% rename from ireadmm_8f_source.html rename to previous_versions/v12.0.1/ireadmm_8f_source.html diff --git a/ireadmt_8f.html b/previous_versions/v12.0.1/ireadmt_8f.html similarity index 100% rename from ireadmt_8f.html rename to previous_versions/v12.0.1/ireadmt_8f.html diff --git a/ireadmt_8f.js b/previous_versions/v12.0.1/ireadmt_8f.js similarity index 100% rename from ireadmt_8f.js rename to previous_versions/v12.0.1/ireadmt_8f.js diff --git a/ireadmt_8f_source.html b/previous_versions/v12.0.1/ireadmt_8f_source.html similarity index 100% rename from ireadmt_8f_source.html rename to previous_versions/v12.0.1/ireadmt_8f_source.html diff --git a/ireadns_8f.html b/previous_versions/v12.0.1/ireadns_8f.html similarity index 100% rename from ireadns_8f.html rename to previous_versions/v12.0.1/ireadns_8f.html diff --git a/ireadns_8f.js b/previous_versions/v12.0.1/ireadns_8f.js similarity index 100% rename from ireadns_8f.js rename to previous_versions/v12.0.1/ireadns_8f.js diff --git a/ireadns_8f_source.html b/previous_versions/v12.0.1/ireadns_8f_source.html similarity index 100% rename from ireadns_8f_source.html rename to previous_versions/v12.0.1/ireadns_8f_source.html diff --git a/ireadsb_8f.html b/previous_versions/v12.0.1/ireadsb_8f.html similarity index 100% rename from ireadsb_8f.html rename to previous_versions/v12.0.1/ireadsb_8f.html diff --git a/ireadsb_8f.js b/previous_versions/v12.0.1/ireadsb_8f.js similarity index 100% rename from ireadsb_8f.js rename to previous_versions/v12.0.1/ireadsb_8f.js diff --git a/ireadsb_8f_source.html b/previous_versions/v12.0.1/ireadsb_8f_source.html similarity index 100% rename from ireadsb_8f_source.html rename to previous_versions/v12.0.1/ireadsb_8f_source.html diff --git a/irev_8F.html b/previous_versions/v12.0.1/irev_8F.html similarity index 100% rename from irev_8F.html rename to previous_versions/v12.0.1/irev_8F.html diff --git a/irev_8F.js b/previous_versions/v12.0.1/irev_8F.js similarity index 100% rename from irev_8F.js rename to previous_versions/v12.0.1/irev_8F.js diff --git a/irev_8F_source.html b/previous_versions/v12.0.1/irev_8F_source.html similarity index 100% rename from irev_8F_source.html rename to previous_versions/v12.0.1/irev_8F_source.html diff --git a/isetprm_8f.html b/previous_versions/v12.0.1/isetprm_8f.html similarity index 100% rename from isetprm_8f.html rename to previous_versions/v12.0.1/isetprm_8f.html diff --git a/isetprm_8f.js b/previous_versions/v12.0.1/isetprm_8f.js similarity index 100% rename from isetprm_8f.js rename to previous_versions/v12.0.1/isetprm_8f.js diff --git a/isetprm_8f_source.html b/previous_versions/v12.0.1/isetprm_8f_source.html similarity index 100% rename from isetprm_8f_source.html rename to previous_versions/v12.0.1/isetprm_8f_source.html diff --git a/ishrdx_8f.html b/previous_versions/v12.0.1/ishrdx_8f.html similarity index 100% rename from ishrdx_8f.html rename to previous_versions/v12.0.1/ishrdx_8f.html diff --git a/ishrdx_8f.js b/previous_versions/v12.0.1/ishrdx_8f.js similarity index 100% rename from ishrdx_8f.js rename to previous_versions/v12.0.1/ishrdx_8f.js diff --git a/ishrdx_8f_source.html b/previous_versions/v12.0.1/ishrdx_8f_source.html similarity index 100% rename from ishrdx_8f_source.html rename to previous_versions/v12.0.1/ishrdx_8f_source.html diff --git a/isize_8f.html b/previous_versions/v12.0.1/isize_8f.html similarity index 100% rename from isize_8f.html rename to previous_versions/v12.0.1/isize_8f.html diff --git a/isize_8f.js b/previous_versions/v12.0.1/isize_8f.js similarity index 100% rename from isize_8f.js rename to previous_versions/v12.0.1/isize_8f.js diff --git a/isize_8f_source.html b/previous_versions/v12.0.1/isize_8f_source.html similarity index 100% rename from isize_8f_source.html rename to previous_versions/v12.0.1/isize_8f_source.html diff --git a/istdesc_8f.html b/previous_versions/v12.0.1/istdesc_8f.html similarity index 100% rename from istdesc_8f.html rename to previous_versions/v12.0.1/istdesc_8f.html diff --git a/istdesc_8f.js b/previous_versions/v12.0.1/istdesc_8f.js similarity index 100% rename from istdesc_8f.js rename to previous_versions/v12.0.1/istdesc_8f.js diff --git a/istdesc_8f_source.html b/previous_versions/v12.0.1/istdesc_8f_source.html similarity index 100% rename from istdesc_8f_source.html rename to previous_versions/v12.0.1/istdesc_8f_source.html diff --git a/iupb_8f.html b/previous_versions/v12.0.1/iupb_8f.html similarity index 100% rename from iupb_8f.html rename to previous_versions/v12.0.1/iupb_8f.html diff --git a/iupb_8f.js b/previous_versions/v12.0.1/iupb_8f.js similarity index 100% rename from iupb_8f.js rename to previous_versions/v12.0.1/iupb_8f.js diff --git a/iupb_8f_source.html b/previous_versions/v12.0.1/iupb_8f_source.html similarity index 100% rename from iupb_8f_source.html rename to previous_versions/v12.0.1/iupb_8f_source.html diff --git a/iupbs01_8f.html b/previous_versions/v12.0.1/iupbs01_8f.html similarity index 100% rename from iupbs01_8f.html rename to previous_versions/v12.0.1/iupbs01_8f.html diff --git a/iupbs01_8f.js b/previous_versions/v12.0.1/iupbs01_8f.js similarity index 100% rename from iupbs01_8f.js rename to previous_versions/v12.0.1/iupbs01_8f.js diff --git a/iupbs01_8f_source.html b/previous_versions/v12.0.1/iupbs01_8f_source.html similarity index 100% rename from iupbs01_8f_source.html rename to previous_versions/v12.0.1/iupbs01_8f_source.html diff --git a/iupbs3_8f.html b/previous_versions/v12.0.1/iupbs3_8f.html similarity index 100% rename from iupbs3_8f.html rename to previous_versions/v12.0.1/iupbs3_8f.html diff --git a/iupbs3_8f.js b/previous_versions/v12.0.1/iupbs3_8f.js similarity index 100% rename from iupbs3_8f.js rename to previous_versions/v12.0.1/iupbs3_8f.js diff --git a/iupbs3_8f_source.html b/previous_versions/v12.0.1/iupbs3_8f_source.html similarity index 100% rename from iupbs3_8f_source.html rename to previous_versions/v12.0.1/iupbs3_8f_source.html diff --git a/iupm_8f.html b/previous_versions/v12.0.1/iupm_8f.html similarity index 100% rename from iupm_8f.html rename to previous_versions/v12.0.1/iupm_8f.html diff --git a/iupm_8f.js b/previous_versions/v12.0.1/iupm_8f.js similarity index 100% rename from iupm_8f.js rename to previous_versions/v12.0.1/iupm_8f.js diff --git a/iupm_8f_source.html b/previous_versions/v12.0.1/iupm_8f_source.html similarity index 100% rename from iupm_8f_source.html rename to previous_versions/v12.0.1/iupm_8f_source.html diff --git a/iupvs01_8f.html b/previous_versions/v12.0.1/iupvs01_8f.html similarity index 100% rename from iupvs01_8f.html rename to previous_versions/v12.0.1/iupvs01_8f.html diff --git a/iupvs01_8f.js b/previous_versions/v12.0.1/iupvs01_8f.js similarity index 100% rename from iupvs01_8f.js rename to previous_versions/v12.0.1/iupvs01_8f.js diff --git a/iupvs01_8f_source.html b/previous_versions/v12.0.1/iupvs01_8f_source.html similarity index 100% rename from iupvs01_8f_source.html rename to previous_versions/v12.0.1/iupvs01_8f_source.html diff --git a/previous_versions/v12.0.1/jquery.js b/previous_versions/v12.0.1/jquery.js new file mode 100644 index 000000000..103c32d79 --- /dev/null +++ b/previous_versions/v12.0.1/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
                                                              "],col:[2,"","
                                                              "],tr:[2,"","
                                                              "],td:[3,"","
                                                              "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
                                                              ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
                                                              ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
                                                              "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
                                                              ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
                                                              "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
                                                              "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
                                                              ').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/jstnum_8f.html b/previous_versions/v12.0.1/jstnum_8f.html similarity index 100% rename from jstnum_8f.html rename to previous_versions/v12.0.1/jstnum_8f.html diff --git a/jstnum_8f.js b/previous_versions/v12.0.1/jstnum_8f.js similarity index 100% rename from jstnum_8f.js rename to previous_versions/v12.0.1/jstnum_8f.js diff --git a/jstnum_8f_source.html b/previous_versions/v12.0.1/jstnum_8f_source.html similarity index 100% rename from jstnum_8f_source.html rename to previous_versions/v12.0.1/jstnum_8f_source.html diff --git a/lcmgdf_8f.html b/previous_versions/v12.0.1/lcmgdf_8f.html similarity index 100% rename from lcmgdf_8f.html rename to previous_versions/v12.0.1/lcmgdf_8f.html diff --git a/lcmgdf_8f.js b/previous_versions/v12.0.1/lcmgdf_8f.js similarity index 100% rename from lcmgdf_8f.js rename to previous_versions/v12.0.1/lcmgdf_8f.js diff --git a/lcmgdf_8f_source.html b/previous_versions/v12.0.1/lcmgdf_8f_source.html similarity index 100% rename from lcmgdf_8f_source.html rename to previous_versions/v12.0.1/lcmgdf_8f_source.html diff --git a/lmsg_8f.html b/previous_versions/v12.0.1/lmsg_8f.html similarity index 100% rename from lmsg_8f.html rename to previous_versions/v12.0.1/lmsg_8f.html diff --git a/lmsg_8f.js b/previous_versions/v12.0.1/lmsg_8f.js similarity index 100% rename from lmsg_8f.js rename to previous_versions/v12.0.1/lmsg_8f.js diff --git a/lmsg_8f_source.html b/previous_versions/v12.0.1/lmsg_8f_source.html similarity index 100% rename from lmsg_8f_source.html rename to previous_versions/v12.0.1/lmsg_8f_source.html diff --git a/lstjpb_8f.html b/previous_versions/v12.0.1/lstjpb_8f.html similarity index 100% rename from lstjpb_8f.html rename to previous_versions/v12.0.1/lstjpb_8f.html diff --git a/lstjpb_8f.js b/previous_versions/v12.0.1/lstjpb_8f.js similarity index 100% rename from lstjpb_8f.js rename to previous_versions/v12.0.1/lstjpb_8f.js diff --git a/lstjpb_8f_source.html b/previous_versions/v12.0.1/lstjpb_8f_source.html similarity index 100% rename from lstjpb_8f_source.html rename to previous_versions/v12.0.1/lstjpb_8f_source.html diff --git a/makestab_8f.html b/previous_versions/v12.0.1/makestab_8f.html similarity index 100% rename from makestab_8f.html rename to previous_versions/v12.0.1/makestab_8f.html diff --git a/makestab_8f.js b/previous_versions/v12.0.1/makestab_8f.js similarity index 100% rename from makestab_8f.js rename to previous_versions/v12.0.1/makestab_8f.js diff --git a/makestab_8f_source.html b/previous_versions/v12.0.1/makestab_8f_source.html similarity index 100% rename from makestab_8f_source.html rename to previous_versions/v12.0.1/makestab_8f_source.html diff --git a/maxout_8f.html b/previous_versions/v12.0.1/maxout_8f.html similarity index 100% rename from maxout_8f.html rename to previous_versions/v12.0.1/maxout_8f.html diff --git a/maxout_8f.js b/previous_versions/v12.0.1/maxout_8f.js similarity index 100% rename from maxout_8f.js rename to previous_versions/v12.0.1/maxout_8f.js diff --git a/maxout_8f_source.html b/previous_versions/v12.0.1/maxout_8f_source.html similarity index 100% rename from maxout_8f_source.html rename to previous_versions/v12.0.1/maxout_8f_source.html diff --git a/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html new file mode 100644 index 000000000..a0e40e331 --- /dev/null +++ b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html @@ -0,0 +1,644 @@ + + + + + + + +NCEPLIBS-bufr: Release Notes + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              Release Notes
                                                              +
                                                              +
                                                              +

                                                              Detailed description of changes included within each new release.

                                                              +

                                                              +Version 12.0.1 - September 15, 2023

                                                              +
                                                                +
                                                              • An extension was added to support the query interface for C++ IODA converters. [Issue #519]
                                                              • +
                                                              +

                                                              +Version 12.0.0 - June 8, 2023

                                                              +
                                                                +
                                                              • The library has been consolidated into a single build using 4-byte integers. It can still be linked to Fortran application codes which are compiled using 8-byte integers; however, such codes must now include a call to new subroutine setim8b() with a value of .true. before making any calls to any other library routines. Furthermore, since all library functions which return integer values (e.g. iupbs01(), isetprm(), ibfms()) will now return 4-byte integer values, Fortran application codes which are compiled using 8-byte integers must now also explicitly declare such functions as 4-byte integers before calling them. [Issue #78]
                                                              • +
                                                              • The interface between the C and Fortran components of the library has been modernized. Accordingly, Fortran application codes must now contain a 'use bufr_interface' statement to directly call any C functions within the library, and C application codes must now contain an 'include "bufr_interface.h"' preprocessor statement to directly call any Fortran or C functions within the library. [Issue #79]
                                                              • +
                                                              • Subroutines ufbqcd() and ufbqcp() have been modified to pass call arguments containing event program codes as integers, rather than continuing to pass them as real numbers. [Issue #78]
                                                              • +
                                                              • An extension was added to support the query interface for C++ IODA converters. [Issue #451]
                                                              • +
                                                              • Support for legacy EBCDIC platforms has been removed. [Issue #266]
                                                              • +
                                                              • The library has been patched to exit gracefully from subroutine readsb() if an erroneous delayed replication factor is read within subroutine usrtpl(). [Issue #495]
                                                              • +
                                                              • The library has been cleaned up to eliminate a number of compiler warnings. [Issue #300]
                                                              • +
                                                              • Documentation has been improved throughout the library, including the use of Doxygen-style docblocks for all program files. [Issue #246]
                                                              • +
                                                              +

                                                              +Version 11.7.1 - August 26, 2022

                                                              +
                                                                +
                                                              • More extensions were added to support the query interface for C++ IODA converters. [Issue #225]
                                                              • +
                                                              • Several internal routines were modified to allow the encoding and decoding of values larger than 32 bits. [Issue #195]
                                                              • +
                                                              +

                                                              +Version 11.7.0 - May 19, 2022

                                                              +
                                                                +
                                                              • Extensions were added to support a new query interface for C++ IODA converters. [Issue #198]
                                                              • +
                                                              • Updates and bug fixes were made to several utility programs within the library package. [Issue #141]
                                                              • +
                                                              • A fix was made to prevent a line truncation error which occurs with certain compilers when the value of the MASTER_TABLE_DIR macro exceeds a certain length. [Issue #182]
                                                              • +
                                                              +

                                                              +Version 11.6.0 - November 10, 2021

                                                              +
                                                                +
                                                              • All of the library builds now use dynamic allocation, so the "_DA" suffix has now been correspondingly removed from the names of the library builds. [Issue #77]
                                                              • +
                                                              • The default BUFR master table version number for output BUFR messages was changed from 29 to 36 within subroutines cmsgini(), dxmini() and msgini(). [Issue #142]
                                                              • +
                                                              • The maximum length of a [path/]filename that can be passed into function cobfl() was increased to 200 characters. [Issue #174]
                                                              • +
                                                              • Subroutine ufbpos() was modified to allow it to work for all types of BUFR messages, including compressed messages. [Issue #170]
                                                              • +
                                                              • The library was modified to read up to 24 characters from the units field of BUFR master Table B files. Furthermore, in accordance with updated guidance from WMO, all fields within all BUFR master table files are now restricted to the CCITTIA5 character set. [Issue #140]
                                                              • +
                                                              • Subroutine jstchr and function rjust have been removed from the library, and their usage has been replaced with the Fortran intrinsic functions adjustl and adjustr. [Issue #165]
                                                              • +
                                                              • Several prototypes were added to the bufrlib.h header file to enable further interoperability with C application programs. In addition, several existing prototypes were modified to use size_t when passing string lengths between Fortran and C. [Issue #164]
                                                              • +
                                                              +

                                                              +Version 11.5.0 - April 26, 2021

                                                              +
                                                                +
                                                              • Subroutine ufbseq() was modified for cases where the number of available levels exceeds the amount of user-provided array space when reading from an input file. Previously, the software would abort in such cases without returning any data whatsoever, but with the change it will now print a diagnostic and return with the number of levels equal to the amount of array space that was provided. [Issue #52]
                                                              • +
                                                              • Subroutine ufdump() was modified to improve the logic for sequence tracking, and to increase the format width for integer code figure and bit number values when printing associated meaning strings. [Issue #55]
                                                              • +
                                                              • Subroutine ufbdmp() was modified to fix a bug when checking for the "missing" value in long character strings (i.e. longer than 8 bytes) and to enable printing of up to 120 characters for such strings. [Issue #55]
                                                              • +
                                                              • Subroutine readlc() was modified to return a "missing" character string if the requested mnemonic isn't found in the subset. Previously, the subroutine would return a string of all blank characters in such cases. [Issue #53]
                                                              • +
                                                              • Subroutine writlc() was modified to print a warning message if the requested mnemonic isn't found in the subset definition. The library would previously abort in such cases. [Issue #53]
                                                              • +
                                                              • The default directory location of the BUFR master tables in subroutine bfrini() was changed from a fixed WCOSS-specific path. It is now set to the defined value of the MASTER_TABLE_DIR macro when the library was built. [Issue #123]
                                                              • +
                                                              • Subroutine writsa() was modified to allow the return of up to two BUFR messages during the same call to the subroutine, in the rare instances where more than one BUFR message could become available during such a call. [Issue #54]
                                                              • +
                                                              • Several internal Fortran variable declarations were modified for compatibility with GNU v10+ compilers. [Issue #81]
                                                              • +
                                                              • Subroutines pkx and chrtrn are no longer used within the library and were never intended to be called from application codes, so they have now been removed from the library. [Issue #107]
                                                              • +
                                                              +

                                                              +Version 11.4.0 - November 20, 2020

                                                              +
                                                                +
                                                              • A Python API was added to the library, for use with Python applications. [Issue #61]
                                                              • +
                                                              +

                                                              +Version 11.3.2 - July 16, 2020

                                                              +
                                                                +
                                                              • A user-friendly sanity check was added to subroutine closbf(), in case an application program is using a dynamic-allocation build of the library and calls this subroutine prior to calling subroutine openbf(). The library would previously abort in such cases, but it will now just print a warning message. [Issue #9]
                                                              • +
                                                              +

                                                              +Version 11.3.1 - March 3, 2020

                                                              +
                                                                +
                                                              • Subroutine stndrd() was patched to fix an internal calculation for messages containing only one subset. [Issue #51]
                                                              • +
                                                              +

                                                              +Version 11.3.0 - May 21, 2019

                                                              +
                                                                +
                                                              • A bug was fixed in the bitmap processing, so that each Table A mnemonic in the jump/link table now tracks its own individual set of underlying Table C operators. This involved changes to function igetrfel() and subroutines tabsub() and makestab().
                                                              • +
                                                              • The build script makebufrlib.sh was modified to remove calls to cpp (the C preprocessor) for all *.F Fortran files. Preprocessing for these files is now done by fpp (the Fortran preprocessor), which is automatically called by the Fortran compiler for all *.F files.
                                                              • +
                                                              • Global variable MXRST (the maximum number of long character strings that can be read from a subset of a compressed BUFR message) has now been added to the list of array size limits that can be configured using dynamic allocation.
                                                              • +
                                                              • The build script makebufrlib.sh was modified to stop generating the s_64 ("supersize") build. Such builds are now obsolete, since users can use the dynamic allocation builds to flexibly define whatever size limits they need for large BUFR datasets. If users need to recreate the exact specifications that were present in the previous s_64 build, they can do so using a dynamic allocation build and separate calls to subroutine isetprm() to set MXLCC=12, MAXMEM=75000000, MXCDV=50000, MAXJL=128000, MAXSS=150000, MXMSGL=2500000 and MXRST=500 within their application program.
                                                              • +
                                                              • A new capability was added to read and process master code and flag tables. This feature is activated via an initial call to new subroutine codflg() at any time after the first call to subroutine openbf(). Once that is done, then for any BUFR message read into the library via subroutine readmg(), readerme() or equivalent, and for any mnemonic contained within that message which is defined as a code or flag table, the user may call new subroutine getcfmng() with that mnemonic and an associated value (code figure or bit number) as input, and the subroutine will return the meaning (as a character string) corresponding to that mnemonic and associated value.
                                                              • +
                                                              • The default BUFR master table version number was changed from "13" to "29" within subroutines cmsgini(), dxmini() and msgini().
                                                              • +
                                                              • The maximum number of delayed replication factors that can be passed in as input to subroutine drfini() was increased from 200 to 2000.
                                                              • +
                                                              • Subroutines msgupd() and cpyupd() were modified so that the IPRT verbosity must be greater than or equal to 1 in order for diagnostic alerts to be printed whenever BUFR subsets greater than 65535 bytes are written to their own output messages.
                                                              • +
                                                              • Function i4dy() was modified to change the window for converting 2-digit years to 4-digit years. The old window was 1921-2020, i.e. add 1900 to any 2-digit year greater than 20; otherwise add 2000. The new window will be 1941-2040, i.e. add 1900 to any 2-digit year greater than 40; otherwise add 2000.
                                                              • +
                                                              +

                                                              +Version 11.2.0 - April 11, 2017

                                                              +
                                                                +
                                                              • Support was added for the processing of 2-2X-255, 2-3X-255 and 2-4X-255 marker operators when reading BUFR messages, including when such operators are included in sequences within a BUFR DX table.
                                                              • +
                                                              • A new subroutine gettagre() was added which, given an element within a subset open for reading, determines if the element references another element within the same subset via an internal bitmap, and if so returns the referenced element along with its location in the subset.
                                                              • +
                                                              • A new function igetmxby() was added which returns the maximum size of a BUFR message that can be written to any output stream by the BUFRLIB software. This value can then be modified via a subsequent call to subroutine maxout().
                                                              • +
                                                              • Subroutine nemtbd() was modified to allow the last mnemonic in a sequence to be a "following value" mnemonic, for cases such as when it is being used as a coordinate descriptor and set to a value of "missing" to cancel a previous instance of the same descriptor.
                                                              • +
                                                              • A new subroutine setvalnb() was added which searches for a specified mnemonic in a subset definition, then searches forward or backward from that point for a different mnemonic and sets the associated value as specified by the user. It can be useful in certain application codes which write BUFR output.
                                                              • +
                                                              • Subroutines rdtree() and rcstpl() were modified to automatically identify certain cases where a decoded subset is corrupt and return this information to the application program via readsb() or ireadsb(), rather than continuing to try to decode the message which could in turn lead to a segmentation fault.
                                                              • +
                                                              • The build script makebufrlib.sh was updated to add a missing compiler option needed for compatibility with the Cray programming environment on the s_64 ("supersize") build.
                                                              • +
                                                              • A bug was fixed in subroutine ufbtab() which could occasionally lead to array maximums being exceeded and corrupted output when reading BUFR files.
                                                              • +
                                                              +

                                                              +Version 11.1.0 - April 27, 2016

                                                              +
                                                                +
                                                              • Subroutine wrcmps() was modified to fix a bug involving the encoding of long character strings (via subroutine writlc()) into compressed messages which also contain delayed replication sequences.
                                                              • +
                                                              • Subroutine msgupd() was modified to always call subroutine usrtpl(), even for overlarge subsets which don''t get written to the output stream. This ensures that such subsets are properly flushed from internal arrays.
                                                              • +
                                                              +

                                                              +Version 11.0.2

                                                              +
                                                                +
                                                              • The build script makebufrlib.sh was updated for compatibility with the Cray programming environment, along with module MODA_MSTABS and functions icbfms() and isize(). All changes remain compatible with other supported environments.
                                                              • +
                                                              +

                                                              +Version 11.0.1

                                                              +
                                                                +
                                                              • Subroutines cpyupd(), ufbmem(), ufbmex() and ufbovr() were patched to include the proper declaration for IPRT, which is a global variable controlling the verbosity of diagnostic output.
                                                              • +
                                                              • Subroutine ufdump() was modified to include level identifiers for event stacks in the print output.
                                                              • +
                                                              • Subroutine wrcmps() was modified to fix a bug involving a variable that was not being saved between successive calls to this subroutine and which in rare cases could result in the loss of output subsets.
                                                              • +
                                                              +

                                                              +Version 11.0.0 - April 27, 2015

                                                              +
                                                                +
                                                              • A new subroutine rtrcptb() was added which works just like subroutine rtrcpt(), except that it operates on a BUFR message passed directly to it by a call argument, rather than on the last BUFR message that was indirectly read during the previous call to subroutine readmg(), readmm(), readerme() or equivalent. Subroutine rtrcpt() was correspondingly modified to now directly call rtrcptb(), to avoid maintaining the same program logic within two different subroutines.
                                                              • +
                                                              • The maximum number of delayed replication factors that can be passed in as input to subroutine drfini() was increased from 100 to 200.
                                                              • +
                                                              • Subroutine ufbseq() was modified to fix a bug involving nesting of delayed replication sequences. The subroutine would fail to store data properly in cases where the inner-nested sequence was not present (i.e. zero replications) within the first replication of the outer sequence.
                                                              • +
                                                              • The makebufrlib.sh build script was modified to automatically extract the version number for the current build from the source of subroutine bvers(). Previously this information had been hardcoded in multiple lines of the script.
                                                              • +
                                                              • The default directory location of the BUFR master tables in subroutine bfrini() was changed from "/nwprod/fix" to "/nwprod/decoders/decod_shared/fix".
                                                              • +
                                                              • A new subroutine nemspecs() was added which returns the scale factor, reference value and bit width corresponding to a specified occurrence of a given mnemonic within a subset definition, including accounting for any Table C operators such as 2-01-YYY, 2-02-YYY, 2-03-YYY, 2-07-YYY, 2-08-YYY, etc. which may be in effect for that particular occurrence of the mnemonic.
                                                              • +
                                                              • A new subroutine nemdefs() was added which returns the element definition and units associated with a given mnemonic.
                                                              • +
                                                              • Global parameter MXIMB was removed from the BUFRLIB, and the corresponding logic within subroutine mvb() was simplified to mitigate the need for it.
                                                              • +
                                                              • Subroutines msgupd(), cpyupd() and copysb() were modified to ensure that any subset larger than 65530 bytes is written to its own message in the output stream. This ensures that the subset byte count indicator, which is an NCEP local descriptor packed into 16 bits prior to each subset in a message, will not need to be relied upon in order to locate any subsequent subsets within the same message.
                                                              • +
                                                              • Global parameter MAXSS (the maximum number of data values that can be read from or written into a subset by the BUFRLIB software) was increased from 80000 to 120000.
                                                              • +
                                                              • Subroutine RDMSGB, which was rendered obsolete with the addition of the embedded C-language I/O upgrade in version 10.2.0, has been removed.
                                                              • +
                                                              • A logical call argument was added to subroutine upc() to let the calling subprogram specify whether null characters should be converted to blanks. Previously, all null characters were converted to blanks by default.
                                                              • +
                                                              • New versions of all of the normal builds of BUFRLIB have been added which allow certain array sizes to be specified by the user at run time, with the corresponding arrays dynamically allocated at run time rather than statically allocated at compile time. The new builds contain the suffix "_DA" and can be used by application programs which need flexibility in defining size limits for certain outlier BUFR datasets. The size limits that can be modified are defined within new subroutine isetprm(), which must itself be called prior to the first call to subroutine openbf() for each new size limit that is to be modified from its default value. The corresponding arrays are then dynamically allocated during the subsequent first call to openbf(). As part of this enhancement, numerous subprograms within BUFRLIB have been rewritten to share memory using FORTRAN modules rather than common blocks, and new conditional compilation flags have been incorporated into these subprograms as well as to the makebufrlib.sh build script. This allows the same source code and build script to be used for both dynamic allocation and static allocation builds. Note that application programs which don't have a need to redefine any default array size limits may continue to use the existing static allocation builds for maximum runtime efficiency.
                                                              • +
                                                              • A new subroutine pkx() was added which works just like subroutine pkb(), except that it properly handles cases where the input value NBITS is greater than the number of bits in a machine word.
                                                              • +
                                                              • Support was added for the processing of 2-2X, 2-3X and 2-4X non-marker operators when reading or writing BUFR messages, including when these operators are included in sequences within a BUFR DX table.
                                                              • +
                                                              • Subroutine stseq() was modified to fix a bug involving the application of associated fields to Table D sequence descriptors.
                                                              • +
                                                              • Function icbfms() was modified to improve the logic for identifying "missing" strings encoded as REAL*8 10E10 values prior to version 10.2.0 of the library.
                                                              • +
                                                              +

                                                              +Version 10.2.5

                                                              +
                                                                +
                                                              • Subroutine mesgbf() was modified to ensure that the input BUFR file is always closed before exiting the subroutine.
                                                              • +
                                                              • Function cobfl() was modified to allow up to 500 characters in the path of the filename being opened.
                                                              • +
                                                              • A declaration typo was fixed in subroutine blocks().
                                                              • +
                                                              • Global parameter MAXNC (the maximum number of FXY descriptors that can be written into Section 3 of a BUFR message) was increased from 300 to 600.
                                                              • +
                                                              +

                                                              +Version 10.2.4

                                                              +
                                                                +
                                                              • Configuration files bufrlib.PRM and makebufrlib.sh were updated to generate a 4_32 build (4-byte REAL, 4-byte INT, 32-bit compilation) on the IBM CCS for version 10.2.3 of the BUFRLIB.
                                                              • +
                                                              +

                                                              +Version 10.2.3 - June 21, 2013

                                                              +
                                                                +
                                                              • Subroutine rdusdx() was modified to prevent a segfault when trying to read DX dictionary information from an empty file.
                                                              • +
                                                              +

                                                              +Version 10.2.2

                                                              +
                                                                +
                                                              • Subroutine openbf() was modified to fix a bug which caused a segfault in certain cases when appending to a BUFR file using the embedded C-language I/O.
                                                              • +
                                                              • Subroutines readlc() and writlc() were modified to allow the input mnemonic string to be up to 14 characters when it contains a '#' condition code.
                                                              • +
                                                              +

                                                              +Version 10.2.1

                                                              +
                                                                +
                                                              • A bug was fixed in the embedded C-language I/O to account for the difference in index numbering between Fortran and C arrays.
                                                              • +
                                                              +

                                                              +Version 10.2.0 - October 19, 2012

                                                              +
                                                                +
                                                              • The makebufrlib.sh script was modified to streamline the endianness check and make it more portable.
                                                              • +
                                                              • Subroutine wrtree() was modified to ensure that "missing" character strings are properly encoded with all bits set to 1.
                                                              • +
                                                              • A new function icbfms() was added which tests whether decoded character strings are "missing" by checking if all of the equivalent bits are set to 1. This was done because, on certain platforms, the BUFRLIB REAL*8 "missing" value BMISS is not always equivalent to all bits set to 1 when viewed as a character string, and thus the existing BUFRLIB function ibfms() did not always work properly in such cases. However, users can continue to use the existing IBFMS function in application programs, because the new icbfms() function has now been incorporated internally within the logic of many BUFRLIB subroutines, in addition to also being available for direct calling by application programs.
                                                              • +
                                                              • Subroutines readmg() and readerme() were modified to prevent the BUFRLIB from internally adjusting to DX (dictionary) table messages when Section 3 decoding is being used. Otherwise, contention can occur between the table information in the DX messages and the table information specified within the Section 3 descriptors. From now on, whenever Section 3 decoding is used (as specified by setting IO="SEC3" when opening a file via openbf()), the BUFRLIB will now treat any DX (dictionary) table message the same as any other message and decode the actual data (i.e. table) values according to Section 3.
                                                              • +
                                                              • Subroutine openbf() was modified to allow a new option for input call argument IO. If this argument is set to 'INUL', then the BUFRLIB will behave the same as when IO='IN', except that it will never try to actually read anything from the file attached to input call argument LUNIT. This can be useful for some special cases, such as when the user plans to pass input messages to the BUFRLIB using subsequent calls to subroutine readerme().
                                                              • +
                                                              • A new subroutine gettagpr() was added which returns the mnemonic corresponding to a parent sequence in a subset definition, given the mnemonic corresponding to a child descriptor within that sequence. This can be useful in certain application codes, especially when Section 3 decoding is being used.
                                                              • +
                                                              • A new function getvalnb() was added which searches for a specified mnemonic in a subset definition, then searches forward or backward from that point for a different mnemonic and returns the associated value. This can be useful in certain application codes, especially when Section 3 decoding is being used.
                                                              • +
                                                              • Functionality was added to improve the portability of reading and writing BUFR messages across different platforms. All calls to existing FORTRAN subroutines which read or write BUFR messages from disk (e.g. readmg(), ufbmem(), ufbtab(), writsb(), wrcmps(), copymg(), etc.) now use embedded C-language I/O to perform these tasks. Among other things, this means that any BUFR file can now be read regardless of whether it has been pre-blocked with FORTRAN control words using the cwordsh utility. For writing BUFR files, a new subroutine setblock() was added which allows users to specify whether output BUFR messages are to be unblocked (which is the new default), big-endian blocked, or little-endian blocked.
                                                              • +
                                                              • A new subroutine setbmiss() was added which allows users to specify a custom "missing" value for writing to and reading from BUFR files, rather than using the BUFRLIB default "missing" value of 10E10. A corresponding function getbmiss() was also added which returns the current "missing" value in use.
                                                              • +
                                                              +

                                                              +Version 10.1.0 - June 11, 2012

                                                              +
                                                                +
                                                              • Subroutine ufdump() was modified to fix a bug when checking for the "missing" value in long character strings (i.e. longer than 8 bytes).
                                                              • +
                                                              • A new subroutine ufbmex() was added for use with certain application programs. ufbmex() functions similarly to ufbmem(), but has an additional return argument containing an array of message types corresponding to the array of messages that were read into internal memory.
                                                              • +
                                                              • Subroutines ADDATE, IUPBS1, IUPVS1, LJUST, LSTRPC, LSTRPS, SUBUPD, POSAPN and PARSEQ, which had been marked as obsolete within a previous version of BUFRLIB, have now been deleted.
                                                              • +
                                                              • Several global parameters were increased in "bufrlib.PRM". Specifically, MAXTBA (the maximum number of Table A entries for a BUFR file) was increased from 120 to 150, and MXDXTS (the maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory) was increased from 10 to 200.
                                                              • +
                                                              • Subroutine conwin() was modified to fix a bug and remove an obsolete call argument.
                                                              • +
                                                              • Subroutine wrcmps() was modified to fix a bug involving embedded tables within a file of compressed BUFR messages.
                                                              • +
                                                              • Documentation was improved in many subroutines throughout the library.
                                                              • +
                                                              • Support has been added for the 2-03-YYY "change reference values" operator.
                                                              • +
                                                              • Subroutine usrtpl() was modified to fix a bug that was incorrectly using parameter MAXJL instead of parameter MAXSS when checking for overflow of an internal template array.
                                                              • +
                                                              • Subroutine wrdxtb() was modified to prevent it from trying to store more than 255 Table A, Table B or Table D descriptors in a single DX dictionary message. The maximum value was set to 255 since regular 8-bit delayed replication is used to store descriptor information in these messages.
                                                              • +
                                                              • Subroutine tabsub() was modified to correctly generate the jump/link table for subsets where a Table C operator immediately follows a Table D sequence.
                                                              • +
                                                              +

                                                              +Version 10.0.1

                                                              +
                                                                +
                                                              • Subroutine rewnbf() was modified to fix a bug which skipped the first data message after a file rewind.
                                                              • +
                                                              +

                                                              +Version 10.0.0 - August 12, 2010

                                                              +
                                                                +
                                                              • Subroutines PKVS1, OVRBS1, NMBYT, READIBM, IREADIBM, READFT, IREADFT and MOVA2I, which had been marked as obsolete within a previous version of BUFRLIB, have now been deleted.
                                                              • +
                                                              • A new global parameter MAXSS was defined for use as the maximum number of data values that can be read from or written into a single data subset by the BUFRLIB software. Previously, the separate global parameter MAXJL was used to define this limit. MAXJL will now be used solely to define the maximum number of internal jump/link table entries.
                                                              • +
                                                              • The size of a string declaration was increased within subroutine rdusdx().
                                                              • +
                                                              • Subroutine readlc() was modified to enable the extraction of "long" (i.e. greater than 8 bytes) character strings from compressed messages. In addition, it is now possible to access all occurrences of such a string from within a given data subset, via the use of the new mnemonic condition character '#'. Previously, readlc() could only ever access the first occurrence of any "long" character string from within a data subset.
                                                              • +
                                                              • Subroutine writlc() was modified to allow the writing of "long" (i.e. greater than 8 bytes) character strings within compressed messages. In addition, it is now possible to write all occurrences of such a string into a given data subset, via the use of the new mnemonic condition character '#'. Previously, writlc() could only ever locate and write the first occurrence of any "long" character string within a data subset.
                                                              • +
                                                              • Subroutine ufdump() was modified to label each output level for sequences where the replication count is greater than 1. In addition, it will now output all occurrences of "long" (i.e. greater than 8 bytes) character strings from within a given data subset.
                                                              • +
                                                              • Subroutine rdcmps() was modified to fix a bug which could cause the overflow of internal arrays when working with long character strings (i.e. longer than 8 bytes).
                                                              • +
                                                              • Subroutine nvnwin() was modified to fix a bug which could cause the overflow of an internal array during initialization on certain operating systems.
                                                              • +
                                                              • A new subroutine bvers() was added as a resource for managing and reporting library version numbers.
                                                              • +
                                                              • The fuzziness threshold in function ibfms() was increased for improved accuracy when testing for the BUFRLIB "missing" value.
                                                              • +
                                                              • A new subroutine iupbs3() was added which unpacks specified values from Section 3, including subset counts and compression indicators. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                                              • +
                                                              • Subroutines readerme(), rdmsgw() and RDMSGB were modified to prevent the overflow of an internal array for extremely large BUFR messages.
                                                              • +
                                                              • Subroutine upds3() was modified to pass in a new input argument containing the dimensioned size of the output array, in order to prevent the subroutine from possibly overflowing the array.
                                                              • +
                                                              • Subroutine writsa() was modified to pass in a new input argument containing the dimensioned size of the output array, in order to prevent the subroutine from possibly overflowing the array.
                                                              • +
                                                              • A new capability was added to BUFRLIB to enable the decoding of a BUFR message according to its data description section (Section 3). This is activated by setting IO="SEC3" when opening the file via subroutine openbf(). Master tables containing all possible BUFR descriptors are also required, and these may be specified via a call to new subroutine mtinfo() or by using default values specified within subroutine bfrini(). If the default values are used, then FORTRAN logical unit numbers 98 and 99 will be allocated by the BUFRLIB for opening and reading the master tables. This new capability allows BUFR messages to be decoded without pre-defined DX dictionary files.
                                                              • +
                                                              • Subroutine readmm() was re-written to directly call subroutine rdmemm() instead of duplicating all of the code logic in rdmemm().
                                                              • +
                                                              • Subroutine upb() was re-written to directly call subroutine upbb() instead of duplicating all of the code logic in upbb().
                                                              • +
                                                              • Subroutine POSAPN has been marked as obsolete (for future removal from BUFRLIB). The same functionality can now be obtained via the use of subroutine posapx().
                                                              • +
                                                              • Subroutine wrcmps() was modified to fix a bug involving the writing of compressed subsets which contain delayed replication. In certain situations, the values of two internal variables were not being properly saved between successive calls to the subroutine.
                                                              • +
                                                              • Changes were made so that the BUFRLIB will automatically read and adjust to any DX table (dictionary) messages internal to a file. Previously, the software would only ever process such messages at the beginning of a file, so that all subsequent data messages in that file were required to conform to these initial dictionary messages, and any subsequent dictionary messages in the file were simply ignored. Now, any subsequent dictionary messages will cause the BUFRLIB to adjust its internal processing tables and treat all subsequent data messages as conforming to these new dictionary messages, up through the end of the file or until yet another set of dictionary messages is encountered. These changes affect all BUFRLIB subroutines which read BUFR messages from a file, including readmg(), ireadmg(), readmm(), ireadmm(), rdmemm(), readns() and ireadns().
                                                              • +
                                                              • Subroutine ADDATE has been marked as obsolete (for future removal from BUFRLIB) since it is no longer called by any BUFRLIB routines. The same functionality can now be obtained via the use of subroutine W3MOVDAT in the NCEP W3 library.
                                                              • +
                                                              • Subroutine SUBUPD has been marked as obsolete (for future removal from BUFRLIB) since it is no longer called by any BUFRLIB routines and is almost an exact replica of subroutine msgupd(). The same functionality can now be obtained via the use of subroutine msgupd().
                                                              • +
                                                              • A new logical function msgfull() was added which determines whether there is enough room to store the current data subset within the current BUFR message for output. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                                              • +
                                                              • A new capability was added to BUFRLIB to allow it to append a tank receipt time to Section 1 within all future BUFR messages written to output by subroutines writsb(), copymg() or equivalent. The tank receipt time is a local extension to Section 1; however, its inclusion in a message is still fully compliant with the WMO BUFR regulations. This new capability is activated via an initial call to new subroutine strcpt(), specifying the time to be appended to Section 1 within all future BUFR messages written to output. This same information can then be read back from an input BUFR message via a call to new subroutine rtrcpt().
                                                              • +
                                                              • Subroutine numtab() was re-written to directly call subroutine numtbd() instead of duplicating all of the code logic in numtbd().
                                                              • +
                                                              • Subroutine nemtba() was re-written to directly call subroutine nemtbax() instead of duplicating all of the code logic in nemtbax().
                                                              • +
                                                              • Documentation was improved within numerous subroutines throughout BUFRLIB, including the addition of docblocks where none previously existed.
                                                              • +
                                                              • The default BUFR master table version number was changed from "12" to "13" within subroutines cmsgini(), dxmini() and msgini().
                                                              • +
                                                              • A new capability was added to allow BUFRLIB print diagnostics and other runtime messages to be redirected somewhere other than the default FORTRAN logical unit 6 (i.e. standard output). This is enabled within an application program by supplying an in-line version of subroutine errwrt() to override the new default version of this subroutine provided within the BUFRLIB. The default version will continue to write to standard output when included within a compilation.
                                                              • +
                                                              • Subroutines cmsgini(), stndrd() and msgwrt() were modified to remove a logical error which assumed that any message whose data section (Section 4) was compressed was also fully standard. In reality, the use of compression only implies that the data section is fully standard and does not necessarily imply that the data description section (Section 3) is also fully standard. BUFRLIB will now address the standardization of Section 3 solely within subroutine stndrd(), independent of whether or not the data in Section 4 are compressed.
                                                              • +
                                                              • Functions LSTRPC and LSTRPS have been marked as obsolete (for future removal from BUFRLIB). The same functionality can now be obtained via the use of function lstjpb().
                                                              • +
                                                              • Subroutine ufbtab() was modified to fix a bug involving the unpacking of character strings which are identical within each subset of a single compressed BUFR message.
                                                              • +
                                                              +

                                                              +May 28, 2008

                                                              +
                                                                +
                                                              • Subroutine BORT_EXIT was modified to fix a faulty ANSI-C declaration. This had been silently ignored by the IBM CCS compiler but was a portability issue for other compilers.
                                                              • +
                                                              • Subroutines RDTREE and WRTREE were modified to fix a bug which, on rare occasions, caused a segmentation fault due to overflow of internal arrays. This bug only occurred when working with long character strings (i.e. longer than 8 bytes) while using a non-optimized compilation of BUFRLIB.
                                                              • +
                                                              • Subroutine WRITCA, which had been marked as obsolete within a previous version of BUFRLIB, has now been deleted.
                                                              • +
                                                              • A new subroutine PARSTR was added which works like existing subroutine PARSEQ, except that it allows substrings within a string to be separated by one or more occurrences of any given single character (and not just by one or more blank characters). As such, the existing subroutine PARSEQ has been marked as obsolete (for future removal from BUFRLIB), and many other subroutines throughout BUFRLIB have been modified to now use the new subroutine PARSTR.
                                                              • +
                                                              • Subroutine JSTCHR was modified to add a return argument indicating whether the input string was empty. This allows the subroutine to be used in any context where existing subroutine LJUST was being used, and LJUST has now been marked as obsolete (for future removal from BUFRLIB).
                                                              • +
                                                              • Several new subroutines have been added to enable the capability to read BUFR table information from external ASCII master tables instead of from pre-defined DX dictionary files. This is in preparation for the planned future capability to be able to directly decode a BUFR message according to its internal data description section.
                                                              • +
                                                              • The value BMISS (i.e. the BUFR "missing" value), which was defined as a local data value within many separate subroutines, has now been defined as a global parameter within the "bufrlib.PRM" include file. In addition, a new function IBFMS has been added which safely tests a given value to determine whether or not it is "missing", and several existing subroutines throughout BUFRLIB have been modified to now use this new function.
                                                              • +
                                                              • The determination as to whether the local host machine uses the "big-endian" or "little-endian" byte-ordering scheme is now determined at compile time and integrated into BUFRLIB via the use of conditional compilation statements. This allows BUFRLIB to run much more efficiently since it no longer has to constantly re-check the local byte-ordering scheme at run time.
                                                              • +
                                                              • Subroutine DXDUMP was modified to correct a bug which caused the truncation of output reference values longer than 8 digits.
                                                              • +
                                                              • Several global parameters were increased in "bufrlib.PRM". Specifically, MXCDV (the maximum number of data values per subset in a compressed BUFR message) was increased from 2000 to 3000, and MAXMEM (the maximum number of bytes that can be used to store BUFR messages within internal memory) was increased from 50Mb to 75Mb within the "supersized" BUFRLIB.
                                                              • +
                                                              +

                                                              +February 6, 2007

                                                              +
                                                                +
                                                              • Several global parameters were increased in "bufrlib.PRM". Specifically, MAXTBA, MAXTBB and MAXTBD (the maximum numbers of internal Table A, B and D entries, respectively) were increased from 60, 250 and 250 to 120, 500 and 500, respectively, and MAXJL (the maximum number of internal jump/link table entries) was increased from 16000 to 20000.
                                                              • +
                                                              • Subroutine CKTABA was modified to allow "FRtttsss" and "FNtttsss" (where ttt is the message type and sss is the message subtype) as valid Table A mnemonics for foreign BUFR messages. Previously, only "NCtttsss" had been allowed.
                                                              • +
                                                              • Subroutines GETS1LOC and IUPBS01 were modified to provide two additional options for unpacking values from Section 1 of a BUFR message. Specifically, "CENT" now unpacks the century and "YCEN" now unpacks the year of the century.
                                                              • +
                                                              • Subroutine PKBS1 was modified to provide several additional options for directly packing values into Section 1 of a BUFR message. Specifically, "YEAR", "MNTH", "DAYS", "HOUR", "CENT" and "YCEN" now pack the message year, month, day, hour, century and year of century, respectively, and "MTYP" and "MSBT" now pack the message type and subtype, respectively.
                                                              • +
                                                              • Subroutine MAXOUT was modified to allow it to be called with a special flag value of "0", indicating that output BUFR messages should be set to the maximum allowable record length. In addition, a sanity check was added to prevent this record length from being set to a value greater than the maximum allowable.
                                                              • +
                                                              • For the printing of flag table values, subroutines UFBDMP and UFDUMP were modified to include an equivalent listing of the bits that were actually set.
                                                              • +
                                                              • Subroutine UFBPOS was modified to remove an unnecessary (and incorrect!) initialization statement. This had been silently ignored by the IBM CCS compiler but was a portability issue for other compilers.
                                                              • +
                                                              • Subroutine UFBTAB was modified to add a required declaration for a local character variable. This had been silently ignored by the IBM CCS compiler but was a portability issue for other compilers.
                                                              • +
                                                              • Subroutine RDUSDX was modified to abort if it encounters a user-defined BUFR message whose message type is set to 11. This value is reserved for internal dictionary messages.
                                                              • +
                                                              +

                                                              +January 31, 2006

                                                              +
                                                                +
                                                              • Documentation was improved and/or clarified within many existing routines throughout BUFRLIB.
                                                              • +
                                                              • Global parameter MAXMEM (the maximum number of bytes that can be used to store BUFR messages internally) was increased from 16Mb to 50Mb, and global parameter MAXTBA (the maximum number of entries in the internal BUFR Table A) was increased from 50 to 60. In addition, all global parameters were moved into a new global INCLUDE file "bufrlib.PRM", rather than continuing to hardcode the same parameter values in every individual source file where they were needed. This will allow future changes to any of these parameter values to be made much more easily.
                                                              • +
                                                              • An additional CCS compilation of BUFRLIB (libbufr_s_64.a) is now being maintained via the makefile. This new version is identical to the existing libbufr_4_64.a compilation, except that several parameter values within "bufrlib.PRM" are set much larger in order to allow extremely large BUFR messages (i.e. up to 2.5Mb) to be processed.
                                                              • +
                                                              • The capability to compress output BUFR messages has now been directly incorporated into subroutines WRITSB and WRITSA, whereas previously it had been necessary to instead call the separate subroutines WRITCP and WRITCA, respectively. The use of compression can now be easily toggled on or off (with "off" as the default if left unspecified) via new subroutine CMPMSG. As such, subroutine WRITCA has now been marked as obsolete (for future removal from BUFRLIB), since the same functionality can now be obtained by calling the new subroutine CMPMSG, followed by a call to WRITSA. In a similar manner, WRITCP has now been modified to directly call subroutines CMPMSG and WRITSB, although it is being retained as a distinct subroutine within BUFRLIB (rather than also being marked as obsolete) out of consideration for the large number of existing application programs which use it.
                                                              • +
                                                              • A new function IUPBS01 was added which works like existing function IUPBS1, except that it uses a descriptive mnemonic rather than a hardcoded byte number in order to specify the value to be unpacked from Section 0 or Section 1 of a BUFR message. This allows the same function call to work on messages encoded using either BUFR edition 3 or BUFR edition 4 (rather than having to pass in different byte numbers depending on the edition!), and it also allows values encoded across multiple bytes (e.g. section lengths, 4-digit years, etc.) to be easily unpacked as well. As such, the existing function IUPBS1 has been marked as obsolete (for future removal from BUFRLIB), and many other subroutines throughout BUFRLIB (e.g. UPDS3, DATEBF, DUMPBF, STNDRD, CKTABA, NMBYT, MSGWRT, RDBFDX, etc.) have been modified to now use the new function IUPBS01. In addition, a new function IUPVS01 was added which calls IUPBS01 in an in-line fashion, and existing function IUPVS1 (which had similarly called IUPBS1 in an in-line fashion) has now been marked as obsolete.
                                                              • +
                                                              • A new subroutine PKVS01 was added which works like existing subroutine PKVS1, except that it uses a descriptive mnemonic rather than a hardcoded byte number in order to specify the value to be stored into Section 0 or Section 1 of all future output BUFR messages. This allows the same subroutine call to work on messages encoded using either BUFR edition 3 or BUFR edition 4 (rather than having to pass in different byte numbers depending on the edition!), and it also allows values encoded across multiple bytes (e.g. 4-digit years, originating centers and subcenters, etc.) to be easily overwritten as well. As such, the existing subroutine PKVS1 has been marked as obsolete (for future removal from BUFRLIB). In a similar manner, a new subroutine PKBS1 was also added to replace existing subroutine OVRBS1, which has now itself also been marked as obsolete.
                                                              • +
                                                              • A new subroutine CNVED4 was added which, given a BUFR message encoded using BUFR edition 3, creates and outputs an equivalent message encoded using BUFR edition 4. This subroutine can be called by an application program, or it can alternatively be activated in an in-line fashion via a call to new subroutine PKVS01 using the descriptive mnemonic "BEN" (i.e. BUFR edition number) with a corresponding value of "4".
                                                              • +
                                                              • Subroutines NEMTAB, NUMTAB, TABENT and TABSUB were modified to support the Table C operators 2-07-YYY and 2-08-YYY, which are new to BUFR with the advent of edition 4.
                                                              • +
                                                              • Subroutines COPYST, WRITST and STANDARD, which had been marked as obsolete within a previous version of BUFRLIB, have now been deleted.
                                                              • +
                                                              • The default BUFR master table version number was changed from "4" to "12" within subroutines CMSGINI, DXMINI and MSGINI.
                                                              • +
                                                              • A bug was corrected in subroutine STNDRD in order to ensure that byte 4 of Section 4 is always properly zeroed out.
                                                              • +
                                                              • A bug was corrected in subroutine PARUTG which was preventing 1-bit delayed replication factors from being directly read via a call to subroutine UFBINT.
                                                              • +
                                                              • A bug was corrected in subroutine WRCMPS which was causing a character compression array to be improperly initialized. In addition, a local parameter was increased to allow up to 4000 subsets to be written into a single compressed BUFR message.
                                                              • +
                                                              • Subroutine UFBMEM was modified to not abort when there are either too many messages read in or too many bytes read in (i.e., .gt. array limits passed in), but rather to just process the limiting number of messages and/or bytes and print a diagnostic.
                                                              • +
                                                              • Subroutine CLOSMG was modified to override logic that had always written out messages 1 and 2 even when they contained zero subsets (it assumed these contained the dump center and processing time in Section 1). Now, if the unit number argument is passed in as a negative number the first time this routine is called by an application program, ALL empty messages are skipped (i.e., assumes that messages 1 and 2 do not contain dump center and processing time). This remains set for all subsequent calls to CLOSMG for a particular file, regardless of the sign of the unit number (CLOSMG is called by other BUFRLIB routines which always pass in a positive unit number).
                                                              • +
                                                              • A new function IGETDATE was added which unpacks and returns the Section 1 date-time from an input BUFR message, in format of either YYYYMMDDHH or YYMMDDHH depending on the value requested via the most recent call to subroutine DATELEN. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                                              • +
                                                              • A new subroutine GETLENS was added which unpacks and returns the individual section lengths from an input BUFR message. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                                              • +
                                                              • A new subroutine RDMSGW was added which reads the next padded BUFR message from a given BUFR file. The same logic had been repeated within numerous existing subroutines throughout BUFRLIB and has now been consolidated into this single subroutine that can itself be called from wherever it is needed.
                                                              • +
                                                              • A new function PKFTBV was added which computes and returns the value equivalent to the setting of a specified bit within a flag table of a specified width. In addition, a new subroutine UPFTBV was also added which functions as the logical inverse, i.e. given a mnemonic and corresponding flag table value, it computes and returns the equivalent bit settings.
                                                              • +
                                                              • A new subroutine UFBPOS, which allows a user to directly point at and read a specified subset from within a specified message in an input BUFR file, was added to BUFRLIB. Previously, this logic existed as an in-line subroutine within a separate application program.
                                                              • +
                                                              • A new subroutine GETABDB, which returns internal BUFR table information in a pre-defined ASCII format, was added to BUFRLIB. Previously, this logic existed as an in-line subroutine within a separate application program.
                                                              • +
                                                              • Subroutine READMG was modified to be able to handle BUFR messages which are not padded out to an 8-byte boundary and for which it had therefore previously been necessary to instead call the separate subroutine READIBM. Logic was also added to allow the option of having READMG behave like the separate subroutine READFT, so that it will not abort when a read error is encountered but rather will treat it the same as an end-of-file condition. This option is activated by passing in the negative of the usual logical unit number. In summary, READMG can now itself properly read from any FORTRAN-blocked file of BUFR messages, and therefore the existing subroutines READIBM, IREADIBM, READFT and IREADFT have now all been marked as obsolete (for future removal from BUFRLIB).
                                                              • +
                                                              • A set of generic C-language functions for reading/writing BUFR messages from/to generic BUFR files (which may or may not contain FORTRAN-blocking and/or message padding) was added to BUFRLIB. These functions (CCBFL, COBFL, CRBMG, CWBMG and RBYTES) are primarily intended for use by separate application programs (such as cwordsh), but are themselves being directly incorporated into BUFRLIB in order to prevent such application programs from having to directly link to certain COMMON blocks and parameter sizes internal to BUFRLIB.
                                                              • +
                                                              • Function MOVA2I is marked as obsolete (for future removal from BUFRLIB). It is present in the W3 Libraries (in C language) and is no longer called by any BUFR Archive Library routines. A warning message is now printed instructing users to migrate to MOVA2I in the W3 Libraries.
                                                              • +
                                                              • Subroutine UFBTAB was modified to work for compressed BUFR messages. An option to return only the subset count (when the input unit number is less than zero) was also added.
                                                              • +
                                                              • Subroutine COPYSB was modified to now write out a compressed subset/message if the input subset/message is compressed (before this subroutine could only write out an uncompressed subset/message regardless of the compression status of the input subset/message).
                                                              • +
                                                              +

                                                              +December 21, 2004

                                                              +
                                                                +
                                                              • New subroutines ISTDESC, RESTD, WRDESC, CADN30, STDMSG and STNDRD have been added to provide the capability to expand Section 3 of output BUFR messages until they are completely "standard" according to the WMO FM-94 regulations. The logic is activated via an initial call to STDMSG.
                                                              • +
                                                              • Subroutine XMSGINI has been removed. It had been included in a previous BUFRLIB version as an indirect way of "standardizing" compressed messages, but the same logic is now fully integrated into CMSGINI and is activated via a separate initial call to new subroutine STDMSG (see 1).
                                                              • +
                                                              • Subroutine STANDARD has been marked as obsolete (for future removal from BUFRLIB) in favor of a new subroutine STNDRD which more completely "standardizes" Section 3. The old subroutine (i.e. STANDARD) would always just break down the top-level Table A descriptor by one level, so that, unless this "one level deep" expansion happened to consist of all standard descriptors, the resulting BUFR message was still non-standard. Contrarily, the new logic will recursively break down successive sequence descriptors for as long as needed until all appearing in Section 3 are themselves standard or else, at a minimum, preceded with the 206YYY "bypass" operator (note: this recursive logic is written using C for portability reasons, since not all FORTRAN 77 compilers support recursion!). In addition, STNDRD has other advantages over STANDARD as well; namely, it contains safety checks which prevent overflow of the message array that is passed to it, and it also is more directly integrated into BUFRLIB and can be automatically activated in-line via a separate initial call to new subroutine STDMSG (see 1).
                                                              • +
                                                              • Subroutine WRITSA was modified to fix a bug which, in certain situations, prevented one or more BUFR messages from being returned to the calling program within the memory arrays. In addition, a new subroutine WRITCA was added which functions exactly like WRITSA except that it works on compressed messages.
                                                              • +
                                                              • Subroutines WRCMPS and RDCMPS were modified to fix a bug in the compression algorithm which occurred when all subsets in a single message contained identical character strings. Separate corrections were also made to each of these subroutines to fix a few unrelated minor bugs.
                                                              • +
                                                              • Subroutine UFDUMP was modified to add a fuzziness test for the "missing" value and to add an interactive, scrolling print capability similar to UFBDMP.
                                                              • +
                                                              • Subroutine UFBDMP was modified to automatically use READLC when reading "long" character strings, similar to an existing capability within UFDUMP.
                                                              • +
                                                              • Documentation was improved and/or clarified in many existing subroutines throughout BUFRLIB.
                                                              • +
                                                              • Subroutines COMPRES and READ2C have been removed. The same functionality can be obtained by using subroutine WRITCP.
                                                              • +
                                                              • Subroutines IREADERS, READERS and READTJ have been removed, as they were nothing more than wrappers for READMG and had been marked as obsolete within a previous BUFRLIB version.
                                                              • +
                                                              • Subroutines READERM, IREADERM and IRDERM have been removed. They had been superseded functionally by (the more-portable!) subroutine READIBM and had been marked as obsolete within a previous BUFRLIB version.
                                                              • +
                                                              • Parameter MXMSGL (the maximum number of bytes in a BUFR message) was increased from 20K TO 50K bytes in the following subroutines: BFRINI, CKTABA, CLOSMG, CMSGINI, COPYBF, COPYMG, COPYSB, CPYMEM, CPYUPD, DXMINI, MAXOUT, MESGBC, MESGBF, MINIMG, MSGINI, MSGUPD, MSGWRT, NMBYT, POSAPN, POSAPX, RCSTPL, RDBFDX, RDCMPS, RDMEMM, RDMEMS, RDMGSB, RDTREE, READERME, READFT, READIBM, READLC, READMG, READMM, READSB, REWNBF, SUBUPD, UFBGET, UFBINX, UFBMEM, UFBTAB, UFBTAM, WRCMPS, WRITDX, WRITLC, WRITSA and WRTREE. (Note: this is not included in the Docblock history in these routines.)
                                                              • +
                                                              • Subroutines READERME, READIBM, DATEBF and DUMPBF were modified to make the test for the string 'BUFR' portable to EBCDIC machines.
                                                              • +
                                                              • Subroutine WRTREE was modified to use double-precision arithmetic within an internal statement function, in order to correct for a truncation problem that could occur in the case of very large computed values.
                                                              • +
                                                              • Subroutine COPYST has been marked as obsolete (for future removal from BUFRLIB). The same functionality can be obtained by calling new subroutine STDMSG, followed by a call to COPYMG.
                                                              • +
                                                              • Subroutine WRITST has been marked as obsolete (for future removal from BUFRLIB). The same functionality can be obtained by calling new subroutine STDMSG, followed by a call to CLOSMG.
                                                              • +
                                                              • A new option IO="NODX" has been added to subroutine OPENBF. In this case, the subroutine behaves exactly as if it had been called with IO="OUT", except that DX dictionary messages are not written out to logical unit LUNIT.
                                                              • +
                                                              • Subroutine WRDLEN was modified to keep track of whether it has already been called by one of the other BUFRLIB subroutines and, if so, to then immediately return (without proceeding any further) every time it is subsequently called.
                                                              • +
                                                              • Subroutines OPENBF, UFBINT, UFBOVR, UFBREP, UFBSEQ, UFBSTP and WRDLEN were all modified to fix similar portability bugs whereby the values of some internal variable(s) which keep track of whether the subroutine has already been called were not being explicitly preserved with a SAVE statement.
                                                              • +
                                                              • New subroutine PKVS1 was added which calls OVRBS1 in an in-line fashion and therefore allows easier overwriting of default values in Section 1 of output BUFR messages. The new methodology can also overwrite the value of byte 8 in Section 0 (i.e. BUFR edition number) if desired.
                                                              • +
                                                              • New function IUPVS1 was added which calls IUPBS1 in an in-line fashion and therefore allows easy unpacking of Section 1 values from BUFR messages that have already been read into the internal memory arrays by subroutine READMG or equivalent. The new methodology can also unpack the value of byte 8 in Section 0 (i.e. BUFR edition number) if desired.
                                                              • +
                                                              • Subroutine ADDATE was modified to fix a bug in calculating the number of days in February for years which are multiples of 100 but not of 400.
                                                              • +
                                                              • Subroutine MESGBC was modified to allow the option of operating on a BUFR message that has already been read into the internal memory arrays by subroutine READMG or equivalent.
                                                              • +
                                                              • New subroutine DXDUMP was added which outputs an ASCII-formatted copy of the information embedded within the DX dictionary messages of a BUFR file. It is especially useful for learning the contents of archived BUFR files, and the output is in a format suitable for subsequent input to OPENBF as a user-defined dictionary tables file.
                                                              • +
                                                              • Subroutines DATELEN, DATEBF and DUMPBF were all modified to call subroutine WRDLEN to initialize local machine information (in case it has not already been called). These routines do not require this information but they may now or someday call other routines that do require it.
                                                              • +
                                                              +

                                                              +November 4, 2003

                                                              +

                                                              This is the first "unified" BUFR Archive Library including components from the regular NCEP production machine version (whose implementation history is documented to this point), the decoder version (previously on a workstation but now on the IBM Frost and Snow machines), and a checkout NCEP/EMC grid-to-obs verification version. This version is portable to all platforms (as necessary for WRF), contains docblocks for each routine with a complete program history log, and outputs more complete diagnostic information when routines terminate abnormally, unusual things happen or for informational purposes.

                                                              +

                                                              The following libraries are now generated on the NCEP IBM Frost and Snow machines:

                                                              +
                                                                +
                                                              • libbufr_4_64.a – 4-byte reals, 4-byte integers, 64-bit executable compilation
                                                              • +
                                                              • libbufr_8_64.a – 8-byte reals, 8-byte integers, 64-bit executable compilation
                                                              • +
                                                              • libbufr_d_64.a – 8-byte reals, 4-byte integers, 64-bit executable compilation
                                                              • +
                                                              • libbufr_4_32.a – 4-byte reals, 4-byte integers, 32-bit executable compilation
                                                              • +
                                                              +

                                                              The first three are compiled exactly the same as the three libraries noted in the previous 05-27-2003 implementation (they are just renamed). The fourth library is compiled identically to the previous decoder-specific version on Frost and Snow (libdecod_bufr_32.a). It is compiled with optimization level 3 (-O3) for both Fortran and c routines and will be linked into the production decoder programs in place of libdecod_bufr_32.a.

                                                              +

                                                              The following routines have been added to the BUFR archive library:

                                                              +
                                                                +
                                                              • Subroutine BORT2 which prints (to STDOUT) two given error strings and then calls BORT_EXIT (see 7 below) to abort the application program calling the BUFR Archive Library software. It is similar to existing subroutine BORT, except BORT prints only one error string.
                                                              • +
                                                              • Function IUPBS1 which, given a BUFR message contained within array MBAY, unpacks and returns the binary integer contained within byte NBYT of Section 1 of the BUFR message. This was present in the original decoder- specific version of the library.
                                                              • +
                                                              • Subroutine OVRBS1 which, given a BUFR message contained within array MBAY, packs and stores the value of a binary integer into byte NBYT of Section 1 of the BUFR message, overwriting the value previously stored there.
                                                              • +
                                                              • Subroutine UPDS3 which, given a BUFR message contained within array MBAY, unpacks and returns the descriptors contained within Section 3 of the BUFR message. This was present in the original decoder-specific version of the library.
                                                              • +
                                                              • New library function MOVA2I replaces the W3LIB c-version previously called by DATEBF and DUMPBF. It is now called by new subroutines MESGBC (see 6) and REWNBF (see 11) as well. This change removes any dependency upon the W3LIB, since no other BUFR Archive Library routines call any W3LIB routines. It was converted to Fortran 77 because the c-version does not work properly when compiled with 32-bit executable compilation and linked into a Fortran source copiled with 8-byte real and integer word length.
                                                              • +
                                                              • Subroutine MESGBC reads past any BUFR table (dictionary) or dummy (center or dump time in dump files) messages in a BUFR file (if there are any) and returns the message type for the first report data message found. It also determines whether or not this first report data message is compressed BUFR. This subroutine is identical to MESGBF except MESGBF only reads past dictionary messages and MESGBF does not return any information about compression.
                                                              • +
                                                              • C subroutine BORT_EXIT terminates the application program calling the BUFR software and returns an implementation-defined non-zero status code to the executing shell script. (See 1 and 26.)
                                                              • +
                                                              • Subroutine RDMGSB opens a BUFR file in logical unit LUNIT for input operations, then reads a particular subset into internal subset arrays from a particular BUFR message in a message buffer. This is based on the subset number in the message and the message number in the BUFR file. This was present in the original verification-specific version of the library.
                                                              • +
                                                              • Subroutine SUBUPD packs up the current subset within memory and then tries to add it to the BUFR message that is currently open within memory for LUNIT. If the subset will not fit into the currently open message, then that message is flushed to LUNIT and a new one is created in order to hold the current subset. If the subset is larger than an empty message, the subset is discarded and a diagnostic is printed. This subroutine is identical to existing BUFR Archive Library subroutine MSGUPD except SUBUPD does NOT pad the packed subset. This was present in the original verification-specific version of the library.
                                                              • +
                                                              • Subroutine UFBINX either opens a BUFR file for input operations (if it is not already opened as such), or saves its position and rewinds it to the first data message (if BUFR file already opened), then (via a call to BUFR Archive Library subroutine UFBINT) reads specified values from internal subset arrays associated with a particular subset from a particular BUFR message in a message buffer. The particular subset and BUFR message are based based on the subset number in the message and the message number in the BUFR file. Finally, this subroutine either closes the BUFR file (if is was opened here) or restores it to its previous read/write status and position (if is was not opened here). This was present in the original verification-specific version of the library.
                                                              • +
                                                              • Subroutine REWNBF which will either: 1) store the current parameters associated with a BUFR file (read/write pointers, etc.), set the file status to read, then rewind the BUFR file and position it such that the next BUFR message read will be the first message in the file containing actual subsets with data; or 2) restore the BUFR file to the parameters it had prior to 1) using the information saved in 1). This allows information to be extracted from a particular subset in a BUFR file which is in the midst of being read from or written to by an application program. This was present in the original verification-specific version of the library.
                                                              • +
                                                              • Subroutine UFBIN3 reads specified values from the current BUFR data subset where the data values correspond to mnemonics which are part of a multiple- replication "level" sequence within another multiple-replication "event stack" sequence. This subroutine is designed to read event information from "PREPFITS" type BUFR files (currently the only application which reads PREPFITS files is the verification program GRIDTOBS, where UFBIN3 was previously an in-line subroutine). The existing analogous subroutine UFBEVN should be used to read information from "PREPBUFR" type BUFR files. This was present in the original verification-specific version of the library.
                                                              • +
                                                              • Function NEVN accumulates all data events for a particular data value and level and returns them to the calling program. The value of the function itself is the total number of events found. {This function should only be called by UFBIN3 (see 12), which, itself, is called only by verification application program GRIDTOBS, where it was previously an in-line subroutine. In general, NEVN does not work properly in other application programs at this time.} This was present in the original verification-specific version of the library.
                                                              • +
                                                              • Subroutine READLC returns a character data element associated with a particular subset mnemonic from the internal message buffer. It is designed to be used to return character elements greater than the usual length of 8 bytes. It currently will not work for compressed BUFR mesaages.
                                                              • +
                                                              • Subroutine WRITLC packs a character data element associated with a particular subset mnemonic from the internal message buffer. It is designed to be used to store character elements greater than the usual length of 8 bytes.
                                                              • +
                                                              • Subroutine WRITST generates a standardized version of the current BUFR message in internal memory and writes it to the output file (not sure if it works properly).
                                                              • +
                                                              • Subroutine COPYST generates a standardized version of the current BUFR message read using READMG and writes it intact as a record to the output file.
                                                              • +
                                                              • Subroutine COMPRES compresses subsets in BUFR messages previously read using BUFR Archive Library subroutine READMG or equivalent. It then generates a new bufr message consisting of the compressed subsets. Note that subsets in the output compressed message may have been read from different (adjacent) input messages. Currently the only application program which calls this subroutine is BUFR_COMPRESS, where COMPRES was previously an in-line subroutine).
                                                              • +
                                                              +

                                                              The following routines in the BUFR archive library have been modified:

                                                              +
                                                                +
                                                              • Subroutine READ2C reads a subset into compression maxtrix arrays in preparation for generating compressed BUFR messages. This had been an in- line subroutine in the application program BUFR_COMPRESS and is currently called only by BUFR Archive Library subroutine COMPRES (see 18).
                                                              • +
                                                              • Subroutine UPBB modified to make certain zero is returned for zero bits input and to make logic consistent with logic in UPB. (See also 30 for UPBB.)
                                                              • +
                                                              • Subroutine UFBTAB modified to not abort when there are too many subsets coming in (i.e., .gt. array limit passed in), but rather to just process the limiting number of reports and print a diagnostic. It is also modified to call subroutine REWNBF when the BUFR file is already opened (this is taken from the verification version of UFBTAB and allows specific subset information to be read from a file in the midst of being read from or written to), before OPENBF was always called and this would have led to an abort of the application program. (See also 29 for UFBTAB.)
                                                              • +
                                                              • Subroutine CKTABA modified to not abort when the Section 1 message subtype does not agree with the Section 1 message subtype in the dictionary IF the message type mnemonic is not of the form "NCtttsss", where ttt is the BUFR type and sss is the BUFR subtype. This allows program PREPOBS_PREPDATA to specify different message subtypes for the same message type. (See also 27 and 43.)
                                                              • +
                                                              • Subroutine OPENBF modified to accept 'NUL' as the second (I/O) argument. IO='NUL' prevents the BUFR Archive Library software from actually trying to access or write to the BUFR file (designed only for use with library subroutine WRITSA). This was present in the original decoder-specific version of the library.
                                                              • +
                                                              • Subroutine CLOSBF modified to not close the BUFR file if it was opened as 'NUL' by OPENBF (see 23). This was present in the original decoder-specific version of the library.
                                                              • +
                                                              • Subroutine MSGWRT modified to not write to the BUFR file if it was opened as 'NUL' by OPENBF (see 23). This was present in the original decoder- specific version of the library.
                                                              • +
                                                              • Subroutine BORT modified to call new BUFR Archive Library subroutine BORT_EXIT (see 7 above) rather than c function EXIT with argument 49 {"CALL +EXIT(49)"}. Since EXIT is an intrinsic c function, it expects arguments to be passed by value rather than by reference as in done in Fortran. This has caused an unpredictable status code to be passed back to the executing shell script, in some cases even ZERO!! This change will ensure an non-zero status is always returned.
                                                              • +
                                                              • Suboutines CKTABA, DATEBF, DUMPBF and function I4DY modified such that date calculations no longer use floating point arithmetic. This can lead to round off error and an improper resulting date on some machines (e.g., NCEP IBM Frost/Snow). This change increases portability of the BUFR Archive Library. (See also 22 and 43 for CKTABA.)
                                                              • +
                                                              • Parameter MAXMSG (the maximum number of BUFR messages which can be stored internally) increased from 50000 to 200000 in the following subroutines: CPYMEM, RDMEMM, RDMEMS, READMM, UFBMEM, UFBMMS, UFBMNS, UFBRMS and UFBTAM. This may be necessary in the future for BUFR files with many, many messages.
                                                              • +
                                                              • Parameter MAXJL (the maximum number of Jump/Link table entries) increased from 15000 to 16000 in the following routines: BFRINI, CONWIN, COPYMG, CPYMEM, DRFINI, DRSTPL, GETWIN, INCTAB, INVCON, INVMRG, INVTAG, INVWIN, LSTJPB, LSTRPC, LSTRPS, MAKESTAB, MSGINI, NEWWIN, NVNWIN, NWORDS, NXTWIN, PARUTG, RCSTPL, RDCMPS, RDTREE, READNS, TABENT, TABSUB, TRYBUMP, UFBCPY, UFBCUP, UFBDMP, UFBEVN, UFBGET, UFBINT, UFBOVR, UFBREP, UFBRP, UFBRW, UFBSEQ, UFBSP, UFBSTP, UFBTAB, UFBTAM, UFDUMP, USRTPL, WRCMPS and WRTREE. This was present in the original verification-specific version of the library.
                                                              • +
                                                              • The following routines are modified to make the BUFR Archive Library big-endian/little-endian independent: IPKM, IUPM, PKB, PKC, UPB and UPBB. This was present in the original decoder-specific version of the library and increases the portability of the BUFR Archive Library.
                                                              • +
                                                              • Subroutine BFRINI modified to initialize variable JSR as ZERO in new COMMON block /BUFRSR/. This was present in the original verification-specific version of the library. (See also 29 for BFRINI.)
                                                              • +
                                                              • Subroutine RCSTPL modified to increase the maximum number of levels of recursion (parameter MAXRCR) from 50 to 100. This was present in the original verification-specific version of the library. (See also 29 and 43 for RCSTPL.)
                                                              • +
                                                              • Subroutine WRCMPS modified to save logical variables WRIT1 and FLUSH in global memory. This fixed a bug in this subroutine which could lead to messages being written out before being full. (See also 29 for WRCMPS.)
                                                              • +
                                                              • Subroutine RDTREE modified to fix a bug which could only occur when the last element in a subset is a character. (See also 29 for RDTREE.)
                                                              • +
                                                              • Subroutine UFDUMP modified to handle print of character values greater than 8 bytes. (See also 29 for UFDUMP.)
                                                              • +
                                                              • Subroutine UFBEVN modified to save the maximum number of events found for all data values specified amongst all levels returned as variable MAXEVN in new COMMON block /UFBN3C/ and to add call to BORT if BUFR file is open for output. (See also 29 for UFBEVN.)
                                                              • +
                                                              • Subroutine NEMOCK modified to expand non-zero return into -1 for length not 1-8 characters and -2 for invalid characters (return only -1 before for all problematic cases)
                                                              • +
                                                              • Subroutine NUMBCK modified to expand non-zero return into -1 for invalid character in position 1, -2 for invalid characters in positions 2 through 6, -3 for invalid characters in positions 2 and 3 due to being out of range, and -4 for invalid characters in positions 4 through 6 due to being out of range (return only -1 before for all probelmatic cases)
                                                              • +
                                                              • Subroutine WTSTAT modified to correct a "typo" in test for valid value for "IM".
                                                              • +
                                                              • Subroutines ELEMDX, PARSEQ, PARUSR, PARUTG, PKC, RDUSDX, SEQSDX, STRING, UFBINT, UFBOVR, UFBREP, UFBSTP and VALX modified to call new BUFR Archive Library subroutine BORT2 (see 1).
                                                              • +
                                                              • Subroutine MAKESTAB modified to allow for the possibility that a connected file may not contain any dictionary table info (e.g., an empty file). Subsequent connected files which are not empty will no longer get tripped up by this. (This change avoids the need for an application program to disconnect any empty files via a call to CLOSBF.) (See also 29 for MAKESTAB.)
                                                              • +
                                                              • Subroutine READTJ modified to simply call BUFR Archive Library subroutine READMG rather than being a clone of it. At one time it performed different functions than READMG, but that has not been the case since the 2000-09-19 BUFR Archive Library implementation.
                                                              • +
                                                              • Subroutines CKTABA, CMSGINI, NUMTAB, PARUSR, PARUTG, RCSTPL, USRTPL, WRDLEN, WRTREE and XMSGINI modified to correct some minor bugs (uninitialized variables, etc.) (see subroutine DOCBLOCKS for more information). (See also 29 for PARUTG, RCSTPL, USRTPL, WRTREE and 32 for RCSTPL.)
                                                              • +
                                                              • Subroutine UFBDMP modified to add "fuzziness" about 10E10 in test for a missing value (rather than true equality as before) because some missing values (e.g., character strings < 8 characters) were not getting stamped out as "MISSING". Also added option to print values using format edit descriptor "F15.6" if input argument LUNIN is < zero. If LUNIN is > zero edit descriptor expanded from "G10.3" to "G15.6". (See also 29 for UFBDMP.)
                                                              • +
                                                              +

                                                              +May 19, 2003

                                                              +

                                                              The following changes have been made in the BUFR Archive Library:

                                                              +
                                                                +
                                                              • Subroutine CLOSMG - to correct a problem introduced in the previous (May 2002) implementation which prevented the dump center time and initiation time messages from being written out (affected program BUFR_DUMPMD, if it were recompiled, in the data dumping process)
                                                              • +
                                                              • Subroutine UFBREP - to work properly for descriptors tied to a pivot descriptor in delayed replicated sequences (involved disabling the parsing switch which controlled checking for presence in the same replication group - UFBREP does not need this check, and it interferes with what UFBREP can do otherwise)
                                                              • +
                                                              • Subroutine UFBSEQ - to fix cases where delayed replication is at end of subset, or when a requested sequence is missing; also corrected the logic array of exit conditions for the subroutine, previously, in some cases, proper exits were missed, generating bogus error messages, because of several miscellaneous bugs which are now removed
                                                              • +
                                                              • Subroutine UPB - to make certain zero is returned for zero bits input
                                                              • +
                                                              • The following subroutines are modified to replace calls to Fortran Insrinsic Function ICHAR with calls to NCEP W3LIB c-function MOVA2I: DATEBF and DUMPBF. This change increases portability of the BUFR Archive Library because MOVA2I copies a bit string from a Character*1 variable to an integer variable. It is intended to replace the Fortran Intrinsic Function ICHAR, which only supports 0 <= ICHAR(A) <= 127 on the IBM SP. If "A" is greater than 127 in the collating sequence, ICHAR(A) does not return the expected bit value. This function can be used for all values of ICHAR(A) between 0 and 255. This change increases portability of the BUFR Archive Library and is, in fact, necessary on the NCEP IBM Frost and Snow machines.
                                                              • +
                                                              +

                                                              The BUFR Archive Library on Frost and Snow is compiled using optimization level 4 (-O4) for Fortran routines and optimization level 3 (-O3) for c routines. The previous BUFR Archive Library on the IBM-SP's had used -O3 for the default filenames and -O4 for a second set of filenames with the string "_O4" appended to the end.

                                                              +

                                                              The following libraries are generated on the NCEP IBM Frost and Snow machines:

                                                              +
                                                                +
                                                              • libbufr_4.a – 4-byte reals, 4-byte integers, 64-bit executable compilation
                                                              • +
                                                              • libbufr_8.a – 8-byte reals, 8-byte integers, 64-bit executable compilation
                                                              • +
                                                              • libbufr_d.a – 8-byte reals, 4-byte integers, 64-bit executable compilation
                                                              • +
                                                              +

                                                              +May 14, 2002

                                                              +

                                                              A number of routines in the BUFR Archive Library have been modified. These changes include:

                                                              +
                                                                +
                                                              • Entries IREADMM, IREADNS, IREADSB, IREADERS, IREADIBM, IREADFT and ICOPYSB changed to functions. Entries MRGINV, MINIMG, DATELEN, NENUBD, NENUAA, JSTNUM, JSTCHR and READERS changed to subroutines (note that READERS now simply calls READSB since it was an entry point at the top of READSB and was thus already an alias to it). Converted all entry points to subroutines or functions in order to increase portability to other platforms (e.g., the NESDIS CEMSCS machine).
                                                              • +
                                                              • Entries DXMINA, DXMINB, DXMIND and SUBUPD removed because they are obsolete.
                                                              • +
                                                              • Added XMSGINI for capacity to expand section three. XMSGINI has the capacity to write a fully expanded section three descriptor set into BUFR messages. Created specifically for NESDIS so they can send files out without local sequence descriptors. This "capacity" is not fully functional, it is currently activated by changing WRCMPS.to call it rather than CMSGINI, which writes sections 0,1,2,3 for compressed messages in the usual way. XMSGINI is included because it is useful for particular situations as is (aka NESDIS), and at some point could be integrated as a more direct form of STANDARDizing messages for export or whatever.
                                                              • +
                                                              • Included in-line compression function (subr. CMSGINI, WRITCP, WRCMPS added).
                                                              • +
                                                              • Improved RDCMPS and UFBSEQ for generality. Previously RDCMPS and UFBSEQ would not recognise compressed delayed replication as a legitimate data structure.
                                                              • +
                                                              • Removed old CRAY compiler directives in: COPYSB, CPYUPD, DRSTPL, GETWIN, INVMRG, MVB, NEWWIN, NXTWIN, RCSTPL, READSB, UFBDMP, UFBGET, UFBINT, UFBOVR, UFBRW, UFBTAB, UFBTAM and USRTPL.
                                                              • +
                                                              • Added new subroutine UFDUMP which is like UFBDMP, but prints subset element contents in more detail, omitting the pointers, counters, and other more esoteric information describing the internal subset structures. Each subroutine, UFBDMP and UFDUMP, is useful for different diagnostic purposes, but in general UFDUMP is more useful for just looking at the data elements.
                                                              • +
                                                              • Corrected error in READSB relating to certain foreign filetypes.
                                                              • +
                                                              • Added new subroutine DRFINI which initializes delayed replication factors, and allocates the space in the full word buffer for their contents explicitly. This is done implictly by UFBINT in a more limited way. DRFINI enables, for instance, the subsequent use of UFBSEQ to write data directly into delayed replicated sequences.
                                                              • +
                                                              • Added new subroutine MAXOUT which allows users to control the record length of output BUFR messages created.
                                                              • +
                                                              • Added new subroutine NUMTBD which is used by XMSGINI, in expanding the section 3 descriptor list.
                                                              • +
                                                              • Added new subroutine CAPIT which capitalizes a string of characters. This enables the use of mixed case in the unit section of the ASCII BUFR tables. An example; a program which generates an ASCII BUFR table from the "Master +Table B", might end up copying some units fields in mixed or lower case. If the units are 'Code table' or 'Flag table' or certain other unit designations, the table will be parsed incorrectly, and the data read or written incorrectly as a result. This makes sure all unit designations are seen by the parser in upper case to avoid these types of problems.
                                                              • +
                                                              • Removed subroutine JSTIFY because it was a dummy subroutine with two entry points for left justifying two different types of character strings. Part of conversion of entry points to separate subroutines or functions. See number 1 above.
                                                              • +
                                                              • Removed subroutine NENUCK because it was a dummy subroutine with two entry points for checking the BUFR mnemonic table. Part of conversion of entry points to separate subroutines or functions. See number 1 above.
                                                              • +
                                                              +

                                                              +August 15, 2001

                                                              +
                                                                +
                                                              • Parameter MAXMEM (the maximum number of bytes required to store all messages internally) was increased from 8 MBYTES TO 16 MBYTES in the following subroutines: CPYMEM, RDMEMM, RDMEMS, READMM, UFBMEM, UFBMMS, UFBMNS, UFBRMS and UFBTAM.
                                                              • +
                                                              • Subroutine UFBTAM modified to not abort when there are too many subsets coming in (i.e., .gt. array limit passed in), but rather to just process the limiting number of reports and print a diagnostic.
                                                              • +
                                                              +

                                                              +September 19, 2000

                                                              +

                                                              A number of routines in the BUFR Archive Library have been modified. These changes include:

                                                              +
                                                                +
                                                              • Consolidated logic that had been replicated in message decoding subroutines READMG, READFT, READTJ, READERM, READERME, RDMEMM and READIBM into a single new subroutine CKTABA (called by these subroutines). On top of this CKTABA now recognizes a variety of Section 3 formats, including compression indicators and "standard" BUFR. Thus, compressed and standard BUFR messages can now be read in via these message decoding subroutines.
                                                              • +
                                                              • The subset decoding subroutine READSB now calls a new subroutine RDCMPS which allows it to read subsets from compressed BUFR messages.
                                                              • +
                                                              • Subroutine RDTRER has been removed. It had been called by READERS to decode ERS scatterometer data from compressed BUFR messages. The change in READSB (see 2) allows READERS to be changed from a subroutine to an entry point at the top of READSB since it is now essentially an alias to READSB.
                                                              • +
                                                              • Subroutine UNCMPS has been removed. It had been called by READERM, READERME and READIBM to uncompress BUFR messages in foreign (i.e., standard ) BUFR files (e.g., ERS scatterometer data). This is a result of change 1 above.
                                                              • +
                                                              • Added capability to encode and decode data using the operator descriptors (BUFR Table C) for changing width and changing scale. Subroutines modified were: NEMTAB, NEMTBD, NUMTAB and TABSUB
                                                              • +
                                                              • Enlarged arrays to allow processing messages up to 20000 bytes. Routines modified were: BFRINI, CLOSMG, COPYBF, COPYMG, COPYSB, CPYMEM, CPYUPD, IRDERM, MESGBF, MINIMG, MSGINI, MSGUPD, MSGWRT, POSAPN, POSAPX, RCSTPL, RDBFDX, RDMEMM, RDMEMS, RDTREE, READERM, READERME, READFT, READIBM, READMG, READMM, READSB, READTJ, UFBGET, UFBMEM, UFBTAB, UFBTAM, WRITDX, WRITSA and WRTREE.
                                                              • +
                                                              • Added subroutine UFBSEQ, like UFBINT except processes specific sequences instead of specific elements.
                                                              • +
                                                              • Added function NMBYT, returns the number of bytes in a message opened for input.
                                                              • +
                                                              +

                                                              The BUFR Archive Library is now compiled using both optimization level 3 (-O3) and optimization level 4 (-O4). The previous BUFR Archive Library had used only -O4. The -O3 compilation here generates the same archive library names as before. Thus, any code that is recompiled from an unchanged makefile will now link in the appropriate -O3 library, rather than the -O4 library as before. The new -O4 libraries all have the string "_O4" appended to the end of the filename.

                                                              +

                                                              Any program that must link to the -O4 BUFR Archive Library when compiled will have to modify its makefile.

                                                              +

                                                              +July 13, 1999

                                                              +
                                                                +
                                                              • A number of routines in the BUFR Archive Library have been modified to increase the number of BUFR files which can be opened at one time from 10 to 32. This is necessary in order to process multiple BUFR files under the MPI. The following routines were modified: BFRINI, CHEKSTAB, CLOSMG, CONWIN, COPYMG, COPYSB, CPBFDX, CPYMEM, CPYUPD, DXINIT, ELEMDX, GETWIN, IFBGET, INVCON, INVMRG, INVTAG, INVWIN, LSTJPD, LSTRPC, LSTRPS, MAKESTAB, MSGINI, MSGUPD, NEMTAB, NEMTBA, NEMTBD, NENUCK, NEWWIN, NMSUB, NUMTAB, NVNWIN, NWORDS, NXTWIN, OPENBF, OPENMB, OPENMG, PARUTG, PKTDD, RCSTPL, RDBFDX, RDMEMM, RDMEMS, RDTREE, RDTRER, RDUSDX, READERM, READERME, READERS, READFT, READMG, READNS, READSB, READTJ, STATUS, STRING, TRYBUMP, UFBCNT, UFBCPY, UFBCUP, UFBDMP, UFBEVN, UFBGET, UFBINT, UFBOVR, UFBREP, UFBRP, UFBRW, UFBTAB, UFBTAM, UNCMPS, UPTDD, USRTPL, WRITDX, WRTREE, WTSTAT.
                                                              • +
                                                              • Subroutines READFT, READMG, and READTJ have been modified with semantic adjustments to ameliorate compiler complaints from LINUX boxes.
                                                              • +
                                                              • Added the new subroutine READIBM in order to process "foreign" (non-NCEP) BUFR files which may not be padded. Unlike the subroutine READERM, which performs a similar fuction, READIBM works properly on all platforms and should replace calls to READERM in application programs. (READERM does not work properly on the NCEP IBM-SP machine.)
                                                              • +
                                                              • Added the new subroutine NEMTBAX. It is like subroutine NEMTBA except if the requested mnemonic is not found, it returns rather than calls BORT. This is necessary to support the logic in the new BUFR Archive Library subroutine READIBM (see 3).
                                                              • +
                                                              • Added the new subroutine READMM. It is like subroutine RDMEMM except it advances the value of the message (record) number by one prior to returning to the calling program. This adds another option for application programs which read BUFR files in random access mode (e.g., PREPOBS_OIQCBUFR).
                                                              • +
                                                              • Function IREADMG has been modified to contain two new function entries called IREADMM and IREADIBM. The IREADIBM function calls the new library subroutine READIBM (see 3) and the IREADMM function calls the new library subroutine READMM (see 5).
                                                              • +
                                                              • RDTRER, READERM, READERME and UNCMPS have been modified to expand the maximum number of possible descriptors in a subset from 1000 to 3000.
                                                              • +
                                                              • The maximum number of bytes required to store all messages internally was increased from 4 Mbytes to 8 Mbytes in the following subroutines: RDMEMM, UFBMEM, UFBMMS, UFBMNS and UFBRMS.
                                                              • +
                                                              • The function formerly called VAL$ has been renamed to VALX to remove the possibility of the "$" symbol causing problems on other platforms. In turn subroutine NEMTBB has been modified to call function VALX rather than VAL$.
                                                              • +
                                                              • New subroutines UFBSTP and UFBSP added (UFBSP is called by UFBSTP).
                                                              • +
                                                              +

                                                              +December 14, 1998

                                                              +
                                                                +
                                                              • Subroutine MSGUPD was updated to bybass the processing of reports that are longer than the length of a BUFR message. Prior to this change, the BUFR Archive Library would issue an abort in the event of this rare, but possible occurrence which occurred at 12Z on 4 December in the RGL suite.
                                                              • +
                                                              • In addition, function I4DY was modified to use 20 as the 2-digit year for windowing to a 4-digit year (00-20 ==> add 2000; 21-99 ==> add 1900). This windowing technique was inadvertently changed to 10 in the previous implementation of the BUFR Archive Library.
                                                              • +
                                                              +

                                                              +November 24, 1998

                                                              +
                                                                +
                                                              • Function I4DY and subroutine MSGWRT were changed as a result of final Y2K testing of the decoder/ingest system.
                                                              • +
                                                              • I4DY was changed to conform to the NCEP 2-digit year time-window of 1921-2020.
                                                              • +
                                                              • MSGWRT was changed to zero out the padding bytes written at the end of Section 4.
                                                              • +
                                                              +

                                                              +October 27, 1998

                                                              +
                                                                +
                                                              • The BUFR Archive Library is being modified to correct problems caused by in-lining code with fpp directives. The following subroutines are being changed: DATEBF, MVB, RCSTPL, RDMEMS, RDTREE, RDTRER, UFBGET, UFBRW, UFBTAB, UFBTAM and UPBB.
                                                              • +
                                                              +

                                                              +August 31, 1998

                                                              +
                                                                +
                                                              • BUFR Archive Library subroutine DATEBF, which returns the center date-time for a BUFR data dump file, is being modified to correct an error which lead to the year being returned in the second argument as 2-digit year when a 4-digit year was requested via a prior call to subroutine DATELEN. The center date returned in the sixth argument, in the form YYYYMMDDHH, was correct in the previous version of this subroutine.
                                                              • +
                                                              +

                                                              +July 8, 1998

                                                              +

                                                              The new version of the BUFR Archive Library is Y2K compliant, with additional changes to support expanded machine independence of the code, and to refine, correct, or improve some of the routines within. Although nearly every one of library routines has some change made (mainly because of the introduction of a more general error exit subroutine), the changes largely fall into the first two categories. Three new routines were also added to the BUFR Archive Library for micellaneous puposes.

                                                              +

                                                              Y2K Compliance

                                                              +

                                                              Y2K compliance in the BUFR Archive Library is downwardly compatible. That is, the new library will read non-Y2K BUFR files as the old one does. However, all two digit years read are represented internally as four digit years, and any files written with the new library will be in Y2K format. A functional conversion of two digit year inputs assumes the years 21-99 are in the twentieth century, while years numbered 00-20 are in the twenty-first. A Y2K BUFR file is identified by a non-zero value in the 18th byte of the message section one, the century byte. At this point users of the library have access to the full four digit year values read by including a signal in their programs via a new entry point called DATELEN. The plan is to have the default set to return two digits of the year during a transition period. This allows implementation of the new BUFR Archive Library into a non-Y2K compliant environment. The susbsequent list of subroutines have been changed for Y2K compliance: BFRINI, DATEBF, DUMPBF, MSGINI, OPENMB, OPENMG, RDMEMM, READERME, READFT, READMG, READTJ.

                                                              +

                                                              Machine Independence

                                                              +

                                                              Since the last implementation of the BUFR Archive Library, several areas in the code have been identified which are problematic in some way with regards to compiling the library on some computers. Upgrades have been made to the following list of subroutines to address these: CONWIN, INVCON, PARUSR, RDTRER, READERM, READERME, TRYBUMP, UFBEVN, UFBGET, UFBINT, UFBRP, UFBRW, UFBTAB and UNCMPS.

                                                              +

                                                              Refinements, Corrections, and Improvements

                                                              +

                                                              This is a list of BUFR Archive Library routines which were either in error, or in need of some improvement: IRDERM, NEMTBB, NENUCK, RDBFDX, RDUSDX, STRCLN, STRING, TABENT, UNCMPS and WRTREE.

                                                              +

                                                              New Error Exit Subroutine

                                                              +

                                                              Many of the BUFR Archive Library routines perform internal testing during operation in order to prevent certain situation from generating mysterious aborts, or, even worse, giving the wrong answers. The original library utilized the Cray library routine ABORT to terminate a program when such a situation was found. The new library uses a new inernal subroutine, BORT, to accomplish this. The list of routines changed for this purpose is as follows: ADN30, CHEKSTAB, CLOSMG, COPYBF, COPYMG, COPYSB, CPYMEM, CPYUPD, DATEBF, DRSTPL, DUMPBF, DXMINI, ELEMDX, GETWIN, IDN30, IFBGET, INCTAB, INVMRG, IPKM, IUPM, JSTIFY, LSTJPB, LSTRPC, LSTRPS, MAKESTAB, MSGINI, MSGUPD, MSGWRT, MVB, NEMTBA, NEMTBB, NEMTBD, NENUCK, NEWWIN, NMSUB, NVNWIN, NXTWIN, OPENMB, OPENMG, OPENBF, PAD, PARSEQ, PARUSR, PARUTG, PKC, POSAPN, POSAPX, RCSTPL, RDBFDX, RDMEMM, RDMEMS, RDUSDX, READDX, READERM, READERME, READERS, READFT, READMG, READNS, READSB, READTJ, SEQSDX, STANDARD, STATUS, STRING, TABENT, TABSUB, UFBCNT, UFBCPY, UFBCUP, UFBDMP, UFBEVN, UFBGET, UFBINT, UFBMEM, UFBMMS, UFBMNS, UFBOVR, UFBQCD, UFBQCP, UFBREP, UFBRMS, UFBTAM, UPTDD, USRTPL, VAL$, WRDLEN, WRITDX, WRITSA, WRITSB, WTSTAT

                                                              +

                                                              New Code Added

                                                              +

                                                              I4DY the two/four digit year conversion function LJUST a character left justify function OPENBT A dummy entry point which is relevant to users of the READTJ subroutine

                                                              +

                                                              +April 2, 1998

                                                              +
                                                                +
                                                              • BUFR Archive Library subroutine STRCLN, which initializes the mnemonic string cache in the BUFR interface, is being modified to enlarge the cache from 50 elements to 1000, maximum.
                                                              • +
                                                              • BUFR Archive Library subroutine STRING manages the mnemonic string cache in the BUFR interface. The mnemonic string cache is a performance enhancing device which saves time when the same mnemonic strings are encountered in a user program, over and over again (the typical scenario). It is being modified to operate a bigger cache, and some optimization of the cache search algorithm is being made in support of a bigger cache.
                                                              • +
                                                              +

                                                              +September 3, 1997

                                                              +
                                                                +
                                                              • Changes are being made to the BUFR Archive Library to recompile all routines without the -ez compiler option. The removal of this debugging option should speed up the execution of all modules which are linked with BUFR Archive Library routines.
                                                              • +
                                                              • In addition, a new subroutine, STANDARD, is being added to the library. This subroutine "standardizes" NCEP BUFR messages for transmission. It was requested to process hurricane location data.
                                                              • +
                                                              +

                                                              +July 29, 1997

                                                              +
                                                                +
                                                              • Three BUFR Archive Library subroutines were modified to update the current BUFR version information written into Section 0 of each message: DXMINI, MSGINI and MSGWRT. Version 3 replaces version 2.
                                                              • +
                                                              • Three additional subroutines were modified to enable them to process GOES soundings from NESDIS: IRDERM, RDTRER and READERME.
                                                              • +
                                                              +

                                                              +December 17, 1996

                                                              +

                                                              The BUFR Archive Library was modified to make the following changes:

                                                              +
                                                                +
                                                              • DUMPBF - Corrected error in dump date reader.
                                                              • +
                                                              • RDUSDX - Fixed for some MVS compiler's treatment of internal reads.
                                                              • +
                                                              • RDBFDX - Fixed for some MVS compiler's treatment of internal reads.
                                                              • +
                                                              • UFBINT - Modified to always initialize "USR" array to missing (10E10) when BUFR file is being read.
                                                              • +
                                                              +

                                                              +December 11, 1996

                                                              +

                                                              The following subroutines were modified in the BUFR Archive Library:

                                                              +
                                                                +
                                                              • STATUS - Fixed a long standing bug which occurs in unusual situations. Very low impact.
                                                              • +
                                                              • UFBINT - Removed a hard abort for users who try to write non-existing mnemonics.
                                                              • +
                                                              • UFBRW - Removed a hard abort for users who try to write non-existing mnemonics.
                                                              • +
                                                              • ADDATE - New date arithmetic subroutine added to the library.
                                                              • +
                                                              • DUMPBF - New dump date reader added to the library.
                                                              • +
                                                              • MSGINI - Modified to allow inclusion of minutes in writing the message date into a BUFR message.
                                                              • +
                                                              • READTJ - Specific database ingest message reader added to the library which can attach different BUFR tables if the message type is not recognized in the current ones. Works with a user subroutine called OPENBT which specifies the location(s) of different tables.
                                                              • +
                                                              +

                                                              +November 25, 1996

                                                              +

                                                              Several routines in the BUFR Archive Library are being modified to provide more machine independence. The data merging routine is being modified for radiosonde call signs, a return code is being added to UFBINT when mnemonics are not found, and READMG is being modified to exit gracefully when the file is positioned after an end of file

                                                              +

                                                              +October 9, 1996

                                                              +

                                                              The BUFR Archive Library was modified to include 9 additional routines to process ERS scatterometer data (IREADERS, RDTRER, READERS, UNCMPS), perform fault tolerant reading (IREADFT, READFT), and support report part merging (INVMRG, MRGINV, NWORDS).

                                                              +

                                                              +September 9, 1996

                                                              +

                                                              The BUFR Archive Library was separated into 121 BUFR interface routines, which include upgrades and devices for operating the BUFR database.

                                                              +

                                                              +June 28, 1995

                                                              +

                                                              The BUFR Archive Library was modified to increase the size of internal arrays in order to handle bigger files. Coding was also added in order to process ERS scatterometer data which is input from compressed BUFR messages (new subroutine READERME).

                                                              +

                                                              +January 10, 1995

                                                              +

                                                              The BUFR Archive Library was modified slightly to allow for changes in the AVN and FNL PREPBUFR and Q.C. Processing codes (PREPDATA, CQCBUFR, OIQCBUFR, SSIANL).

                                                              +

                                                              +Original Implementation of BUFR Archive Library - January 6, 1994

                                                              +

                                                              Implemented on Cray-YMP as a single monolithic source bufr.f. Only the AVN and FNL PREPBUFR processing and q.c. codes used the BUFR Archive Library initially. These were: PREPDATA, SYNDATA, CQCBUFR, OIQCBUFR, and SSIANL. These had actually been implemented with a non-production version of the library in Jack Woollen's directory September 21, 1993.

                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html new file mode 100644 index 000000000..b5f72376f --- /dev/null +++ b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html @@ -0,0 +1,706 @@ + + + + + + + +NCEPLIBS-bufr: DX BUFR Tables + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              DX BUFR Tables
                                                              +
                                                              +
                                                              +

                                                              Description and format of DX BUFR tables for use with the library. Every BUFR file must have DX BUFR tables associated with it, unless the 'SEC3' decoding option is specified during the call to openbf(). For all other cases, DX table information must be pre-defined and made available to the software via call argument LUNDX during the call to openbf(). The DX tables information may be embedded within the first few BUFR messages of the file itself. Otherwise, a separate ASCII text file containing the necessary DX tables information must be supplied, such as the example shown below. Such files must be syntactically correct and also complete, in the sense that all necessary mnemonics must exist and be fully-defined.

                                                              +


                                                              +

                                                              +

                                                              +Mnemonics

                                                              +

                                                              A mnemonic is a descriptive, alphanumeric name for a data value.

                                                                +
                                                              • "Table A mnemonics", refer to particular data subset (i.e. report ) types,
                                                              • +
                                                              • "Table B mnemonics", refer directly to basic data values,
                                                              • +
                                                              • "Table D mnemonics" are sequences composed of one or more Table B (or other Table D) mnemonics and which are themselves normally direct constituents of a particular Table A mnemonic.
                                                              • +
                                                              +


                                                              +

                                                              +

                                                              At the highest level, we have a Table A mnemonic which completely describes a type of data subset (e.g. rawinsonde, wind profiler, etc.). This Table A mnemonic is defined as a sequence of one or more Table B or Table D mnemonics, where each Table D mnemonic is likewise itself defined as a sequence of one or more Table B or Table D mnemonics, and so on until the entire data subset can be equivalently described as a sequence of one or more Table B mnemonics which correspond to basic data values (e.g. pressure, temperature, humidity, etc.).

                                                              +


                                                              +

                                                              +

                                                              The entire sequence of data values that constitute a particular type of data subset is fully and unambiguously defined.

                                                              +


                                                              +

                                                              +

                                                              Mnemonics never themselves appear within actual BUFR messages. Their only purpose is to make it easier for users to interact with the software by providing descriptive names to represent individual data values. They are more intuitive than FXY numbers (described below), which are the prescribed method within actual BUFR messages.

                                                              +

                                                              +DX BUFR Tables File

                                                              +

                                                              A DX BUFR tables file consists of three distinct sections. Each section contains one or more lines of 80 characters in length, and where a "*" as the first character of a line indicates that that entire line is a comment.

                                                              +
                                                                +
                                                              1. In the first section, all Table A, B and D mnemonics that are to be used within the file are initially declared, assigned a unique FXY number, and given a short, free-form text description.
                                                              2. +
                                                              3. In the second section, all previously-declared Table A and Table D mnemonics are actually defined as a sequence of one or more Table B (or other Table D) mnemonics.
                                                              4. +
                                                              5. In the third section, all previously-declared Table B mnemonics are defined in terms of their scale factor, reference value, bit width, and units.
                                                              6. +
                                                              +


                                                              +

                                                              +

                                                              +Section 1

                                                              +
                                                              The first section of a BUFR tables file is where all Table A, B and D mnemonics are initially declared, assigned a unique FXY number, and given a short free-form text description. Mnemonics may contain any combination of uppercase letters and numbers (or, in certain special cases, a "." character), up to a maximum of 8 characters in length. A mnemonic may be declared only once, and each one must correspond to a unique FXY number, which itself consists of 6 characters, and where the first character (i.e. the "F" component) is an "A" if the mnemonic is being declared as a Table A mnemonic, "3" if the mnemonic is being declared as a Table D mnemonic, and "0" if the mnemonic is being declared as a Table B mnemonic. Otherwise, the remainder of the FXY number must be all digits, with the next 2 characters (i.e. the "X" component) as a number between 00 and 63, and the final 3 characters (i.e. the "Y" component) as a number between 001 and 255. Readers who are more familiar with BUFR will immediately recognize these F, X, and Y values as those that are defined within the official documentation of the BUFR code form.

                                                              +
                                                              By international convention, a mnemonic should not be given an X value between 00 and 47 along with a Y value between 001 and 191 unless that mnemonic, when subsequently defined, corresponds exactly to the BUFR descriptor having that same FXY number within the official WMO master BUFR tables.

                                                              +
                                                              For example, in our sample DX BUFR tables file, mnemonic "WMOB" is declared with an FXY number of 001001; therefore, it has the exact same text description (i.e. "WMO BLOCK NUMBER") and, when later defined within the last section of the file, the exact same scale factor, reference value, bit width, and units as for FXY number 001001 within the official WMO master BUFR tables. This concept should be somewhat intuitive, but it's obviously very important when the BUFRLIB software is to be used to encode BUFR messages that may potentially be read by other users in other organizations around the world.

                                                              +
                                                              In looking further at our sample DX BUFR tables file, we see that the lines within the first section each contain a "|" character in columns 1, 12, 21, and 80. Mnemonics are declared, and are left-justified, in columns 3-10, corresponding FXY numbers are assigned in columns 14-19, and the corresponding text description begins in column 23. All of the Table A mnemonics are declared first, followed by all of the Table D mnemonics, followed by all of the Table B mnemonics. Within each set, it is generally a good idea for human-readability purposes to list the mnemonics in ascending order with respect to their FXY number, although this is not required. Human-readability can usually also be improved by the use of separator lines containing the required "|" character in columns 1, 12, 21, and 80 but without any actual mnemonic declaration. The use of such separator lines is not required. The software will continue reading lines of the file, one at a time, and looking for new mnemonic declarations, until it reaches a line which does not contain a "|" character in each of columns 1, 12, 21, and 80, at which point it then knows that the first section of the tables file has ended.

                                                              +
                                                              If a Table A mnemonic consists of 8 characters (i.e. the maximum) and if characters 3 through 8 are all digits, then the mnemonic is also used by the software to set the data category and local subcategory within Section 1 of each BUFR message when writing/encoding data subsets corresponding to that mnemonic. In such cases, characters 3 through 5 define the category, and characters 6 through 8 define the subcategory.

                                                              +
                                                              Referring to our sample DX BUFR tables file where we've defined three different Table A mnemonics, we've also indicated that, e.g. when we use the software to write/encode data subsets according to the Table A mnemonic "NC002007" (i.e. wind profiler), we want all BUFR messages which contain such data subsets to be encoded as category 2 and local subcategory 7 within Section 1 of the message.

                                                              +
                                                              Even if a Table A mnemonic doesn't meet the above criteria, BUFR message category and local subcategory values will still be set by the software when writing/encoding BUFR data subsets corresponding to that Table A mnemonic. In such cases the category value will be set to the "Y" component (i.e. last 3 digits) of the FXY number corresponding to the mnemonic, and the subcategory value will simply be set to 0. It is recommended to use the previous, more-explicit approach when assigning a Table A mnemonic for a data subset to be output, since this approach provides for greater control over the category and subcategory values that will be encoded into Section 1 of the resultant BUFR message. When the FXY number corresponding to a Table A mnemonic is actually encoded into a BUFR message, a "3" is actually encoded in place of the "A" which is used in the DX tables file. The "A" that appears within the FXY number corresponding to each Table A mnemonic within the tables file is only there so that such mnemonics can be easily distinguished from Table D mnemonics by the software.

                                                              +Section 2

                                                              +
                                                              The second section of a DX BUFR tables file is used to define, for each Table A and Table D mnemonic that was previously declared in the first section, the sequence of Table B (and possibly other Table D) mnemonics which constitutes that mnemonic.

                                                              +
                                                              The format for this section is a "|" character in columns 1, 12, and 80, with the mnemonic that is being defined listed in columns 3-10 (left-justified), and the sequence of constituent mnemonics beginning in column 14, each one separated from the others by one or more blank characters. For longer sequences, multiple successive lines may be used in a continuation fashion by repeating, within columns 3-10 of each continuation line, the mnemonic being defined.

                                                              +
                                                              For example, in our sample DX BUFR tables file, the Table D mnemonic MRPSC0 is defined as consisting of the sequence YEAR MNTH DAYS HOUR MINU RPID MRPIDS CLON CLAT SELV CORN, where MRPIDS is itself a Table D mnemonic which is therefore itself defined in a similar manner elsewhere within the section. As was the case with the first section, separator lines may be employed within this section in order to improve human-readability, as long as they contain the "|" character that is required to be in columns 1, 12, and 80 for all non-comment lines within this section, and the BUFRLIB software will continue reading lines of the file as though they are part of the second section until it encounters one that does not adhere to this format.

                                                              +
                                                              Additional punctuation characters and symbols can be see in the sample DX BUFR tables file.

                                                              +
                                                              + + + + + + + + + + +
                                                              Symbol Meaning
                                                              < > The enclosed mnemonic is replicated using 1-bit delayed replication (either 0 or 1 replications)
                                                              { } The enclosed mnemonic is replicated using 8-bit delayed replication (between 0 and 255 replications)
                                                              ( ) The enclosed mnemonic is replicated using 16-bit delayed replication (between 0 and 65535 replications)
                                                              " "n The enclosed mnemonic is replicated using regular (non-delayed) replication, with a fixed replication factor of n
                                                              +

                                                              +
                                                              For example, the Table A mnemonic NC002001, which defines the layout of a data subset of the type "RAWINSONDE - FIXED LAND", consists of the following sequence of Table B and Table D mnemonics:
                                                                +
                                                              1. UARTM, followed by
                                                              2. +
                                                              3. between 0 and 255 replications of RCPTIM, followed by
                                                              4. +
                                                              5. between 0 and 255 replications of BID, followed by
                                                              6. +
                                                              7. UASID, followed by
                                                              8. +
                                                              9. between 0 and 255 replications of UARID, followed by
                                                              10. +
                                                              11. between 0 and 255 replications of UARLV, followed by
                                                              12. +
                                                              13. either 0 or 1 replications of UASDG, followed by
                                                              14. +
                                                              15. between 0 and 255 replications of UARDCS, followed by
                                                              16. +
                                                              17. between 0 and 255 replications of RAWRPT, followed by
                                                              18. +
                                                              19. between 0 and 255 replications of UACLD, followed by
                                                              20. +
                                                              21. either 0 or 1 replications of UAADF, followed by
                                                              22. +
                                                              23. WMOB, followed by
                                                              24. +
                                                              25. WMOS, followed by
                                                              26. +
                                                              27. WMOR
                                                              28. +
                                                              +
                                                              where, e.g., the constituent Table D mnemonic UARLV itself consists of the following sequence:
                                                                +
                                                              1. VSIG, followed by
                                                              2. +
                                                              3. QMPR, followed by
                                                              4. +
                                                              5. PRLC, followed by
                                                              6. +
                                                              7. QMGP, followed by
                                                              8. +
                                                              9. either 0 or 1 replications of UAGP07, followed by
                                                              10. +
                                                              11. either 0 or 1 replications of UAGP10, followed by
                                                              12. +
                                                              13. either 0 or 1 replications of UATMP, followed by
                                                              14. +
                                                              15. either 0 or 1 replications of UAWND, followed by
                                                              16. +
                                                              17. either 0 or 1 replications of UAWSH
                                                              18. +
                                                              +
                                                              and where, in turn, UAGP07, UAGP10, UATMP, etc. are also Table D mnemonics which can themselves be further resolved.

                                                              +
                                                              We can even nest certain replication sequences inside of other replication sequences, and, further, via the judicious use of the < > indicator, even turn on/off entire sequences of data values simply and efficiently.

                                                              +
                                                              An example of this is the UAWSH (i.e. "RADIOSONDE WIND SHEAR DATA") sequence, whose constituent data values are only ever present in a rawinsonde report when a level of maximum wind is being reported (and, even then, not always!). In this case, enclosing the entire sequence within a < > indicator allows the lack of such data within a report level to be noted by the use of a single bit set to "0" (i.e. 0 replications), rather than having to otherwise store the appropriate "missing" value for every constituent data value. Over the course of many data levels within many data subsets within a single BUFR message, this can add up to significant encoding efficiency, and, in turn, the use of less required storage space per BUFR message. So, in summary, the judicious use of replication can even lead to more efficient data storage for certain types of data.

                                                              +
                                                              Looking back again at the sample DX BUFR tables file, notice how several of the Table D mnemonics such as RCPTIM and BID are used within both the NC001003 and NC002001 data subset types. This brings up a good point; namely, that by logically grouping certain Table B mnemonics together within carefully-constructed Table D sequence mnemonics, such mnemonics can be easily and efficiently re-used within different Table A mnemonic definitions within the same BUFR tables file. In fact, this would be a good time to also point out that, when using the BUFRLIB software, Table D sequence mnemonics are the only types of mnemonics upon which any type of replication may be directly performed. Thus, in particular, if we wish to effect the replication of a single, particular Table B mnemonic, then we must do so by defining a Table D sequence mnemonic whose only constituent is that one particular Table B mnemonic and then replicating the sequence mnemonic. For a specific example of such a situation, take a look at the definition of RAWRPT within the sample file.

                                                              +
                                                              Before we end our discussion on the second section of our sample BUFR tables file, there are a few other special situations that we need to explain in further detail:

                                                              +
                                                              First, notice how a 201YYY indicator precedes each occurrence of ACAV within the definition of the Table D sequence mnemonic OBSEQ as well as each occurrence of HINC within the definition of the Table A mnemonic NC002007. This indicator is called an operator, and readers more familiar with the details of BUFR will no doubt recognize it from Table C of the [official WMO master BUFR tables](wmomstab).

                                                              +
                                                              In short, the effect of this operator is that, for each Table B mnemonic which follows it within the current sequence, and continuing up until the point in the sequence where a corresponding 201000 operator is reached (and which turns off the effect), ( YYY - 128 ) bits should be added to the bit width that is otherwise defined for that Table B mnemonic within the third section of the DX BUFR tables file, so that the net effect is to change the number of bits occupied by the data value corresponding to that mnemonic within the overall data subset. Thus, for example, the sequence:

                                                              +
                                                              201132 HINC 201000

                                                              +
                                                              indicates that ( 132 - 128 ) = 4 bits should be added to the data width that was defined for mnemonic HINC within the third section of the DX BUFR tables file, and, therefore, that for this occurrence of that mnemonic within the overall data subset, the corresponding data value will occupy ( 12 + 4 ) = 16 bits.

                                                              +
                                                              Other than 201YYY, the BUFRLIB software also supports the similar use of the 202YYY (change scale), 203YYY (change reference value), 204YYY (add associated field), 205YYY (add character data), 206YYY (define data width for local descriptor), 207YYY (increase scale, reference value and data width) and 208YYY (change data width for CCITT IA5 descriptor) operators from BUFR Table C.

                                                              + Next, take a look at the subset definitions for Table A mnemonics TBLAEX1, TBLAEX2, TBLAEX3 and TBLAEX4 within the sample DX BUFR tables file:
                                                              +| TBLAEX1  | UASID  UARTM  {PRGPTMDP}                                          |
                                                              +|          |                                                                   |
                                                              +| TBLAEX2  | UASID  UARTM  "PRGPTMDP"100                                       |
                                                              +|          |                                                                   |
                                                              +| TBLAEX3  | UASID  UARTM  {PRGPTMDP}  PRLC  UACLD  PRLC  HOVI                 |
                                                              +|          |                                                                   |
                                                              +| TBLAEX4  | UASID  UARTM                                                      |
                                                              +| TBLAEX4  | PRLC  UACLD GEOP  TMDB  HOVI TMDP                                 |
                                                              +| TBLAEX4  | PRLC  UACLD TMDB  TMDP  HOVI GEOP                                 |
                                                              +| TBLAEX4  | PRLC  UACLD GEOP  TMDP  HOVI TMDB                                 |
                                                              +| TBLAEX4  | PRLC  UACLD TMDB  GEOP  HOVI TMDP                                 |
                                                              +
                                                              Furthermore, let's presume we wanted to read all of the occurrences of the Table B mnemonics PRLC, GEOP, TMDB and TMDP from data subsets encoded according to each of these different subset definitions. In the first three cases, these mnemonics are all contained within the Table D sequence PRGPTMDP as follows:
                                                              +| PRGPTMDP | PRLC  GEOP  TMDB  TMDP                                            |
                                                              +
                                                              However, due to some subtle differences in how the sequence is replicated in each case, different BUFRLIB subroutines need to be used to retrieve all of the respective PRLC, GEOP, TMDB and TMDP values in each case. For example, within the first subset definition TBLAEX1, we have delayed replication using the notation {PRGPTMDP}, so we could use subroutine ufbint() with STR='PRLC GEOP TMDB TMDP' to retrieve all of the replications of these mnemonics into our output USR array, where each row of USR would contain corresponding values for PRLC, GEOP, TMDB and TMDP in the first four columns, and where the return value IRET would tell us how many rows of USR were actually filled with such values (i.e. the total number of replications that were read).

                                                              +
                                                              Alternatively, we could use subroutine ufbseq() with STR='PRGPTMDP', which would accomplish the exact same thing. Or, if we only wanted to know the total number of replications without actually reading out all of the respective PRLC, GEOP, TMDB and TMDP values, we could also call subroutine ufbint() with STR='{PRGPTMDP}', and the corresponding array location in USR would contain the same value that would have been returned in IRET during our earlier call to ufbint() with STR='PRLC GEOP TMDB TMDP', or during our earlier call to ufbseq() with STR='PRGPTMDP'.

                                                              +
                                                              The second subset definition TBLAEX2 is different, because here instead of delayed replication we have fixed replication using the notation "PRGPTMDP"100, so in this case we must instead use subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' in order to read all of the respective PRLC, GEOP, TMDB and TMDP values into the first four columns of our USR array. However, since in this case the number of replications is fixed at 100, then the return value IRET would always be set to 100, and if there were less than 100 actual rows of available data values, then the remaining rows of USR up through row 100 would be filled out with "missing" values by the BUFRLIB software.

                                                              +
                                                              The third subset definition TBLAEX3 is a bit more interesting, because we once again have delayed replication using the notation {PRGPTMDP} just like in TBLAEX1; however, in this case there are additional subsequent occurrences of Table B mnemonic PRLC which appear outside of the delayed replication sequence. So in this case we again have to use subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' in order to read all of the occurrences of PRLC from within the data subset, and the return value IRET will now be 2 larger than in our earlier example for the TBLAEX1 subset definition, because now we have 2 extra rows in USR which contain additional PRLC values in the first column. If we had instead tried to use subroutine ufbint() with the same STR value for this TBLAEX3 subset definition, then we wouldn't have been able to read those last 2 extra rows, and our USR output array instead would have looked exactly as it did in our earlier TBLAEX1 example.

                                                              +
                                                              The fourth and final subset definition TBLAEX4 is even more interesting, not to mention a bit more contrived. Here we have exactly 4 replications of the Table B mnemonics PRLC, GEOP, TMDB and TMDP, but the replication is done via explicitly listing all of the occurrences of these mnemonics within the subset definition, and where the mnemonics appear in slightly different order within each replication. Again, this is a contrived example, but it will serve to better explain how subroutine ufbrep() actually works, and also how it behaves slightly differently from ufbint() and ufbseq() as well as from yet another subroutine ufbstp(). First of all, in the case of subroutine ufbrep(), the first listed mnemonic in STR is always treated as a "pivot", meaning that the second dimension of USR (i.e. the number of rows) is always defined by subsequent occurrences of this pivot mnemonic within the overall subset definition, and where any remaining mnemonics within STR are always independently searched for between each successive occurrence of the pivot mnemonic. So in the case of subroutine ufbrep() with STR='PRLC GEOP TMDB TMDP' for TBLAEX4, there will be 4 rows of values in the returned USR array as follows, since there were 4 total occurrences of the pivot mnemonic PRLC:
                                                              + + + + + + + + + + +
                                                              USR(I,J) J=1 J=2 J=3 J=4
                                                              I=1 1st PRLC value 1st GEOP value 1st TMDB value 1st TMDP value
                                                              I=2 2nd PRLC value 2nd GEOP value 2nd TMDB value 2nd TMDP value
                                                              I=3 3rd PRLC value 3rd GEOP value 3rd TMDB value 3rd TMDP value
                                                              I=4 4th PRLC value 4th GEOP value 4th TMDB value 4th TMDP value
                                                              +
                                                              In other words, ufbrep() searched independently for each of the mnemonics GEOP, TMDB and TMDP between each occurrence of the pivot mnemonic PRLC, so the varying order of those mnemonics between each successive occurrence of PRLC was immaterial, and all of the requested values were found and returned. However, contrast that with what the first 4 rows of USR would look like if we called subroutine ufbstp() with the same STR='PRLC GEOP TMDB TMDP':
                                                              + + + + + + + + + + +
                                                              USR(I,J) J=1 J=2 J=3 J=4
                                                              I=1 1st PRLC value 1st GEOP value 1st TMDB value 1st TMDP value
                                                              I=2 2nd PRLC value 2nd GEOP value "missing" value "missing" value
                                                              I=3 3rd PRLC value 3rd GEOP value 3rd TMDB value "missing" value
                                                              I=4 4th PRLC value 4th GEOP value "missing" value "missing" value
                                                              +
                                                              As shown here, the order of the non-pivot mnemonics between each occurrence of the pivot mnemonic PRLC is now very important when using subroutine ufbstp(). Specifically, ufbstp() only ever moves forward from each occurrence of the pivot mnemonic, and for only one non-pivot mnemonic at a time in the same exact order in which they appear in STR. So in this case, in the second row of the output USR array, it searched forward from PRLC for the first occurrence of GEOP, and then only after it found that did it search for the next mnemonic in the string (i.e. TMDB), but only searching forward from GEOP rather than going all the way back to the previous occurrence of the pivot mnemonic PRLC and searching from there. And since it couldn't find any occurrence of TMDB between the location of GEOP within the second replication and the third occurrence of the pivot mnemonic PRLC which signaled the start of the third repliation, then TMDB and TMDP both ended up as "missing" in the second row of the returned USR array.

                                                              +
                                                              Similarly for the third replication, and starting from the third occurrence of the pivot mnemonic PRLC, it finds GEOP and then begins searching from there for TMDB, which it eventually finds, but not until after it has already stepped past TMDP. And since it can only move forward from the point where it found TMDB, then it never finds TMDP for the third replication before it encounters the fourth and final occurrence of the pivot mnemonic PRLC, which in turn is why TMDP is "missing" in the third row of the returned USR array. Finally, for the fourth replication, and starting from the fourth occurrence of the pivot mnemonic PRLC, it finds GEOP and then begins searching from there for TMDB, but by that point it has already stepped past TMDB, so it never finds that nor the subsequent TMDP mnemonic, and therefore both of those values are "missing" in the fourth row of USR as well.

                                                              +
                                                              Next, take a look at the definitions of the Table D sequence mnemonics TMPSQ3, WNDSQ2, and PCPSQ3; in particular, notice that, within these definitions, there are references to several mnemonics such as .DTHMITM and .DTHMXGS which were not previously-declared within the first section of the table. At first glance, this seems to contradict everything that we previously said about the need to initially declare all mnemonics within the first section; however, upon closer inspection, the reader will notice that there do exist, within the first section, declarations for mnemonics .DTH.... and .DTH..... So, what exactly is going on here? The answer is that each of these is a special mnemonic known as a following-value mnemonic, meaning that, when it is used within a sequence definition, it implies a special relationship with the mnemonic that immediately follows it within the sequence. In fact, this relationship is so special that, when a following-value mnemonic is used within a sequence definition, the .... portion of the mnemonic is replaced with the mnemonic that immediately follows it! For example, when .DTH.... is used within the definition of the Table D sequence mnemonic TMPSQ3, it appears as .DTHMXTM and .DTHMITM because it appears immediately before, respectively, the mnemonics MXTM and MITM. However, when it appears within the definition of PCPSQ3, it appears as .DTHTOPC since it immediately precedes TOPC within that sequence. To be precise, a following-value mnemonic is declared with a "." as the first character, followed by no more than 3 alphanumeric characters as an identifier, followed by 4 more "." characters which must then be replaced with the mnemonic that immediately follows it whenever and wherever it is used within a sequence definition. This is important, because the BUFRLIB software will actually check that the immediately-following mnemonic matches the last 4 characters of the following-value mnemonic and will diagnose an error if it does not.

                                                              +
                                                              In general, the "following-value" attribute is useful because it allows the same mnemonic to be used repeatedly within the same overall Table A data subset definition in a very intuitive fashion and yet, since each occurrence retains its own unique identification (e.g. .DTHMXTM, .DTHTOPC, etc.), then each one can still be individually accessed independent of the others via subroutine ufbint(). An alternative would be to declare a regular mnemonic such as DTHRFV instead of .DTH.... within the first section of the tables file and then use that mnemonic in all of the same places within the same Table A data subset definition, but then we'd have to use subroutine ufbrep() to access all such values simultaneously, even if we weren't interested in all of them. And we'd also lose the intuitiveness provided by having available, within the mnemonic itself, the name of the mnemonic to which the corresponding value applies.

                                                              +Section 3

                                                              +
                                                              The third section of a DX BUFR tables file is used to define the scale factor, reference value, data width, and units for all of the Table B mnemonics that were previously declared in the first section. The units definition for each Table B mnemonic determines how data values corresponding to that mnemonic are read/written from/to the REAL*8 array USR within BUFRLIB subroutines such as ufbint(), ufbrep() and ufbseq().

                                                              +
                                                              In looking again at our sample DX BUFR tables file, we see that the format for the third section of such a file is the usual "|" delimiter in columns 1, 12, 19, 33, 39, 66, and 80 of each line. These delimiters form the columns for the mnemonic (listed exactly as it was previously within the first section), the scale factor (right-justified from column 17), the reference value (right-justified from column 31), the bit width (right-justified from column 37), and the units (left-justified from column 41).

                                                              +
                                                              As with the previous two sections, blank separator lines may be employed in order to improve human-readability. It's recommended to list the mnemonics in the same order in which they were declared within the first section. Any mnemonic whose corresponding data values are to be treated as character data must have its units listed as "CCITT IA5", which is just a formal synonym for ASCII.

                                                              +Sample DX BUFR tables file

                                                              +
                                                              +.------------------------------------------------------------------------------.
                                                              +| ------------   USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D   -------------- |
                                                              +|------------------------------------------------------------------------------|
                                                              +| MNEMONIC | NUMBER | DESCRIPTION                                              |
                                                              +|----------|--------|----------------------------------------------------------|
                                                              +|          |        |                                                          |
                                                              +| NC001003 | A63212 | MESSAGE TYPE 001-003  SURFACE MARINE FIXED BUOY          |
                                                              +|          |        |                                                          |
                                                              +| NC002001 | A63218 | MESSAGE TYPE 002-001  RAWINSONDE - FIXED LAND            |
                                                              +|          |        |                                                          |
                                                              +| NC002007 | A63223 | MESSAGE TYPE 002-007  WIND PROFILER                      |
                                                              +|          |        |                                                          |
                                                              +| TBLAEX1  | A58251 | TABLE A CONTRIVED EXAMPLE #1                             |
                                                              +| TBLAEX2  | A58252 | TABLE A CONTRIVED EXAMPLE #2                             |
                                                              +| TBLAEX3  | A58253 | TABLE A CONTRIVED EXAMPLE #3                             |
                                                              +| TBLAEX4  | A58254 | TABLE A CONTRIVED EXAMPLE #4                             |
                                                              +|          |        |                                                          |
                                                              +| PRGPTMDP | 303003 | GEOPOTENTIAL/TEMPERATURE/DEWPOINT AT PRESSURE LEVEL      |
                                                              +|          |        |                                                          |
                                                              +| RPSEC1   | 361036 | SYNOPTIC REPORT WMO FM 12/13 SECTION 1 DATA              |
                                                              +| TMPSQ1   | 361037 | SYNOPTIC REPORT TEMPERATURE DATA                         |
                                                              +| TMPSQ2   | 361038 | SYNOPTIC REPORT WET BULB TEMPERATURE DATA                |
                                                              +| TMPSQ3   | 361039 | SYNOPTIC REPORT MAXIMUM AND MINIMUM TEMPERATURE DATA     |
                                                              +| WNDSQ1   | 361042 | SYNOPTIC REPORT WIND DATA                                |
                                                              +| WNDSQ2   | 361043 | SYNOPTIC REPORT HIGHEST WIND GUST DATA                   |
                                                              +| WNDSQ3   | 361044 | SYNOPTIC REPORT PEAK WIND DATA                           |
                                                              +| PRSSQ1   | 361045 | SYNOPTIC REPORT PRESSURE DATA                            |
                                                              +| PCPSQ2   | 361049 | SYNOPTIC REPORT PRECIPITATION DATA 2                     |
                                                              +| PCPSQ3   | 361050 | SYNOPTIC REPORT PRECIPITATION DATA 3                     |
                                                              +| WAVSQ1   | 361051 | SYNOPTIC REPORT INSTRUMENT WAVE DATA                     |
                                                              +| WAVSQ2   | 361052 | SYNOPTIC REPORT WIND WAVE DATA                           |
                                                              +| WAVSQ3   | 361053 | SYNOPTIC REPORT SWELL WAVE DATA                          |
                                                              +| PPWSQ1   | 361054 | SYNOPTIC REPORT PRESENT AND PAST WEATHER DATA            |
                                                              +| MRPSC0   | 361076 | MARINE REPORT WMO FM 13 SECTION 0 DATA                   |
                                                              +| MRPIDS   | 361077 | MARINE REPORT IDS                                        |
                                                              +| ID1SQ    | 361078 | SHIP'S CALL SIGN SEQUENCE                                |
                                                              +| ID2SQ    | 361079 | NUMERIC BUOY PLATFORM ID                                 |
                                                              +| ID3SQ    | 361080 | CMAN / FIXED BUOY PLATFORM ID                            |
                                                              +| CTWNDS   | 361083 | CONTINUOUS WIND DATA                                     |
                                                              +| MPCPSQ   | 361085 | MARINE REPORT PRECIPITATION DATA                         |
                                                              +|          |        |                                                          |
                                                              +| UASID    | 361121 | RADIOSONDE STATION ID DATA                               |
                                                              +| UARID    | 361122 | RADIOSONDE REPORT ID DATA                                |
                                                              +| UARLV    | 361123 | RADIOSONDE REPORT LEVEL DATA                             |
                                                              +| UATMP    | 361125 | RADIOSONDE TEMPERATURE DATA                              |
                                                              +| UAWND    | 361126 | RADIOSONDE WIND DATA                                     |
                                                              +| UAWSH    | 361127 | RADIOSONDE WIND SHEAR DATA                               |
                                                              +| UACLD    | 361128 | RADIOSONDE CLOUD DATA                                    |
                                                              +| UASDG    | 361129 | RADIOSONDE SOUNDING SYSTEM DATA                          |
                                                              +| UAADF    | 361130 | RADIOSONDE 101AA "ADDITIONAL DATA" DATA                  |
                                                              +| UARDCS   | 361131 | RADIOSONDE REPORT DIAGNOSTIC DATA                        |
                                                              +| UARTM    | 361132 | RADIOSONDE REPORT TIME DATA                              |
                                                              +| UAGP07   | 361133 | RADIOSONDE CLASS 7 GEOPOTENTIAL DATA                     |
                                                              +| UAGP10   | 361134 | RADIOSONDE CLASS 10 GEOPOTENTIAL DATA                    |
                                                              +|          |        |                                                          |
                                                              +| OBSEQ    | 361161 | PROFILER OBSERVATION SEQUENCE                            |
                                                              +|          |        |                                                          |
                                                              +| BID      | 363001 | BULLETIN ID DATA                                         |
                                                              +| RAWRPT   | 363002 | RAW REPORT                                               |
                                                              +| RCPTIM   | 363003 | REPORT RECEIPT TIME DATA                                 |
                                                              +|          |        |                                                          |
                                                              +| WMOB     | 001001 | WMO BLOCK NUMBER                                         |
                                                              +| WMOS     | 001002 | WMO STATION NUMBER                                       |
                                                              +| WMOR     | 001003 | WMO REGION NUMBER                                        |
                                                              +| BPID     | 001005 | BUOY/PLATFORM IDENTIFIER                                 |
                                                              +| SBPI     | 001010 | STATIONARY BUOY PLATFORM ID                              |
                                                              +| ICLI     | 001063 | ICAO LOCATION IDENTIFIER                                 |
                                                              +| SHPC8    | 001166 | SHIP CALL SIGN (8 CHARACTERS)                            |
                                                              +| UAPART   | 001192 | RADIOSONDE PART NAME                                     |
                                                              +| BUHD     | 001194 | BULLETIN HEADER                                          |
                                                              +| RSML     | 001197 | RADIOSONDE SHIP, DROP, OR MOBIL STATION ID               |
                                                              +| RPID     | 001198 | REPORT IDENTIFIER                                        |
                                                              +|          |        |                                                          |
                                                              +| TOST     | 002001 | TYPE OF STATION                                          |
                                                              +| A4ME     | 002003 | TYPE OF MEASURING EQUIPMENT USED                         |
                                                              +| RATP     | 002011 | RADIOSONDE TYPE                                          |
                                                              +| SIRC     | 002013 | SOLAR AND INFRARED RADIATION CORRECTION                  |
                                                              +| TTSS     | 002014 | TRACKING TECHNIQUE/STATUS OF SYSTEM USED                 |
                                                              +| MSST     | 002038 | METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT            |
                                                              +| MWBT     | 002039 | METHOD OF WET BULB TEMPERATURE MEASUREMENT               |
                                                              +| ITSO     | 002193 | IND TYPE OF STATION OPERATION PAST/PRESENT WEATHER       |
                                                              +| SEQNUM   | 002195 | LDM CHANNEL SEQUENCE NUMBER                              |
                                                              +|          |        |                                                          |
                                                              +| YEAR     | 004001 | YEAR                                                     |
                                                              +| MNTH     | 004002 | MONTH                                                    |
                                                              +| DAYS     | 004003 | DAY                                                      |
                                                              +| HOUR     | 004004 | HOUR                                                     |
                                                              +| MINU     | 004005 | MINUTE                                                   |
                                                              +| TPMI     | 004025 | TIME PERIOD OR DISPLACEMENT                              |
                                                              +| .DTH.... | 004031 | DURATION OF TIME IN HOURS RELATING TO FOLLOWING VALUE    |
                                                              +| .DTM.... | 004032 | DURATION OF TIME IN MINUTES RELATING TO FOLLOWING VALUE  |
                                                              +| RCYR     | 004200 | YEAR   - TIME OF RECEIPT                                 |
                                                              +| RCMO     | 004201 | MONTH  - TIME OF RECEIPT                                 |
                                                              +| RCDY     | 004202 | DAY    - TIME OF RECEIPT                                 |
                                                              +| RCHR     | 004203 | HOUR   - TIME OF RECEIPT                                 |
                                                              +| RCMI     | 004204 | MINUTE - TIME OF RECEIPT                                 |
                                                              +| UALNHR   | 004210 | RADIOSONDE LAUNCH HOUR                                   |
                                                              +| UALNMN   | 004211 | RADIOSONDE LAUNCH MINUTE                                 |
                                                              +|          |        |                                                          |
                                                              +| CLAT     | 005002 | LATITUDE (COARSE ACCURACY)                               |
                                                              +|          |        |                                                          |
                                                              +| CLON     | 006002 | LONGITUDE (COARSE ACCURACY)                              |
                                                              +|          |        |                                                          |
                                                              +| SELV     | 007001 | HEIGHT OF STATION                                        |
                                                              +| PRLC     | 007004 | PRESSURE                                                 |
                                                              +| HINC     | 007005 | HEIGHT INCREMENT                                         |
                                                              +| HEIT     | 007007 | HEIGHT                                                   |
                                                              +| GP07     | 007008 | GEOPOTENTIAL                                             |
                                                              +| XMPRLC   | 007195 | EXTRAPOLATED MANDATORY LEVEL PRESSURE                    |
                                                              +|          |        |                                                          |
                                                              +| VSIG     | 008001 | VERTICAL SOUNDING SIGNIFICANCE                           |
                                                              +| TSIG     | 008021 | TIME SIGNIFICANCE                                        |
                                                              +| ACAV     | 008022 | TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE)   |
                                                              +| SUWS     | 008199 | SOURCE UNITS OF WIND SPEED                               |
                                                              +| RCTS     | 008202 | RECEIPT TIME SIGNIFICANCE                                |
                                                              +|          |        |                                                          |
                                                              +| GEOP     | 010003 | GEOPOTENTIAL                                             |
                                                              +| PRES     | 010004 | PRESSURE                                                 |
                                                              +| GP10     | 010008 | GEOPOTENTIAL                                             |
                                                              +| PMSL     | 010051 | PRESSURE REDUCED TO MSL                                  |
                                                              +| 3HPC     | 010061 | 3 HOUR PRESSURE CHANGE                                   |
                                                              +| CHPT     | 010063 | CHARACTERISTIC OF PRESSURE TENDENCY                      |
                                                              +| XMGP10   | 010196 | EXTRAPOLATED MANDATORY LEVEL GEOPOTENTIAL                |
                                                              +|          |        |                                                          |
                                                              +| WDIR     | 011001 | WIND DIRECTION                                           |
                                                              +| WSPD     | 011002 | WIND SPEED                                               |
                                                              +| UCMP     | 011003 | U-COMPONENT                                              |
                                                              +| VCMP     | 011004 | V-COMPONENT                                              |
                                                              +| WCMP     | 011006 | W-COMPONENT                                              |
                                                              +| MXGS     | 011041 | MAXIMUM WIND SPEED (GUSTS)                               |
                                                              +| MWDL     | 011044 | MEAN WIND DIRECTION FOR SURFACE-1500M LAYER              |
                                                              +| MWSL     | 011045 | MEAN WIND SPEED FOR SURFACE-1500M LAYER                  |
                                                              +| SDHS     | 011050 | STANDARD DEVIATION OF HORIZONTAL WIND SPEED              |
                                                              +| SDVS     | 011051 | STANDARD DEVIATION OF VERTICAL WIND SPEED                |
                                                              +| AWSB     | 011061 | ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW                  |
                                                              +| AWSA     | 011062 | ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE                  |
                                                              +| PKWDDR   | 011202 | PEAK WIND DIRECTION                                      |
                                                              +| PKWDSP   | 011203 | PEAK WIND SPEED                                          |
                                                              +| XS10     | 011223 | 10 METER EXTRAPOLATED WIND SPEED                         |
                                                              +| XS20     | 011224 | 20 METER EXTRAPOLATED WIND SPEED                         |
                                                              +| MWDH     | 011221 | MEAN WIND DIRECTION FOR 1500M-3000M LAYER                |
                                                              +| MWSH     | 011222 | MEAN WIND SPEED FOR 1500M-3000M LAYER                    |
                                                              +| WDRC     | 011227 | CONTINUOUS WIND DIRECTION IN DEGREES                     |
                                                              +| WDSC     | 011228 | CONTINUOUS WIND SPEED IN M/SEC                           |
                                                              +|          |        |                                                          |
                                                              +| TMDBST   | 012001 | TEMPERATURE/DRY BULB TEMPERATURE (SCALE 1)               |
                                                              +| TMDB     | 012101 | TEMPERATURE/DRY BULB TEMPERATURE                         |
                                                              +| TMWB     | 012102 | WET BULB TEMPERATURE                                     |
                                                              +| TMDP     | 012103 | DEW POINT TEMPERATURE                                    |
                                                              +| MXTM     | 012228 | MAXIMUM TEMPERATURE                                      |
                                                              +| MITM     | 012229 | MINIMUM TEMPERATURE                                      |
                                                              +|          |        |                                                          |
                                                              +| REHU     | 013003 | RELATIVE HUMIDITY                                        |
                                                              +| TOPC     | 013011 | TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT               |
                                                              +| REQV     | 013014 | RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGE RATE)         |
                                                              +| TP01     | 013019 | TOTAL PRECIPITATION PAST 1 HOUR                          |
                                                              +| TP03     | 013020 | TOTAL PRECIPITATION PAST 3 HOURS                         |
                                                              +| TP06     | 013021 | TOTAL PRECIPITATION PAST 6 HOURS                         |
                                                              +| TP12     | 013022 | TOTAL PRECIPITATION PAST 12 HOURS                        |
                                                              +| TP24     | 013023 | TOTAL PRECIPITATION PAST 24 HOURS                        |
                                                              +| INPC     | 013194 | INDIC INCLUSION/OMISSION OF PREC                         |
                                                              +| STBS5    | 013195 | MODIFIED SHOWALTER STABILITY INDEX                       |
                                                              +|          |        |                                                          |
                                                              +| HOVI     | 020001 | HORIZONTAL VISIBILITY                                    |
                                                              +| PRWE     | 020003 | PRESENT WEATHER                                          |
                                                              +| PSW1     | 020004 | PAST WEATHER (1)                                         |
                                                              +| PSW2     | 020005 | PAST WEATHER (2)                                         |
                                                              +| CLAM     | 020011 | CLOUD AMOUNT                                             |
                                                              +| CLTP     | 020012 | CLOUD TYPE                                               |
                                                              +| HOCB     | 020013 | HEIGHT OF BASE OF CLOUD                                  |
                                                              +|          |        |                                                          |
                                                              +| SPP01    | 021193 | SPECTRAL PEAK POWER 0TH MOMENT                           |
                                                              +|          |        |                                                          |
                                                              +| DOSW     | 022003 | DIRECTION OF SWELL WAVES                                 |
                                                              +| POWV     | 022011 | PERIOD OF WAVES                                          |
                                                              +| POWW     | 022012 | PERIOD OF WIND WAVES                                     |
                                                              +| POSW     | 022013 | PERIOD OF SWELL WAVES                                    |
                                                              +| HOWV     | 022021 | HEIGHT OF WAVES                                          |
                                                              +| HOWW     | 022022 | HEIGHT OF WIND WAVES                                     |
                                                              +| HOSW     | 022023 | HEIGHT OF SWELL WAVES                                    |
                                                              +| SST1     | 022043 | SEA TEMPERATURE                                          |
                                                              +|          |        |                                                          |
                                                              +| NPHL     | 025032 | WIND PROFILER MODE INFORMATION                           |
                                                              +| NPSM     | 025033 | WIND PROFILER SUBMODE INFORMATION                        |
                                                              +| NPQC     | 025034 | WIND PROFILER QUALITY CONTROL TEST RESULTS               |
                                                              +|          |        |                                                          |
                                                              +| QCEVR    | 033024 | STATION ELEVATION QUALITY MARK (FOR MOBIL STATIONS)      |
                                                              +| QMGP     | 033192 | ON29 QUALITY MARK FOR GEOPOTENTIAL                       |
                                                              +| QMAT     | 033193 | ON29 QUALITY MARK FOR TEMPERATURE                        |
                                                              +| QMDD     | 033194 | ON29 QUALITY MARK FOR DEWPOINT DEPRESSION                |
                                                              +| QMWN     | 033195 | ON29 QUALITY MARK FOR WIND                               |
                                                              +| QMCA     | 033197 | ON29 QUALITY MARK FOR CLOUD AMOUNT                       |
                                                              +| UARDC    | 033202 | RADIOSONDE REPORT DIAGNOSTIC CODE                        |
                                                              +| QMPR     | 033207 | ON29 QUALITY MARK FOR PRESSURE                           |
                                                              +| CORN     | 033215 | CORRECTED REPORT INDICATOR                               |
                                                              +| QMST     | 033218 | ON29 QUALITY MARK FOR SEA SURFACE TEMPERATURE            |
                                                              +|          |        |                                                          |
                                                              +| BULTIM   | 058006 | BULLETIN TIME (DDHHMM)                                   |
                                                              +| BBB      | 058007 | WMO BBB INDICATOR                                        |
                                                              +| RRSTG    | 058008 | RAW REPORT STRING                                        |
                                                              +|          |        |                                                          |
                                                              +|------------------------------------------------------------------------------|
                                                              +| MNEMONIC | SEQUENCE                                                          |
                                                              +|----------|-------------------------------------------------------------------|
                                                              +|          |                                                                   |
                                                              +| NC001003 | MRPSC0  BID    {RCPTIM} RPSEC1  WNDSQ1  XS10    XS20     TMPSQ1   |
                                                              +| NC001003 | PRSSQ1  MPCPSQ                                                    |
                                                              +| NC001003 | <PPWSQ1>   <WAVSQ1>   <WAVSQ2>  {WAVSQ3}    WNDSQ3   {CTWNDS}     |
                                                              +| NC001003 | {RAWRPT}                                                          |
                                                              +|          |                                                                   |
                                                              +| NC002001 | UARTM  {RCPTIM}  {BID}  UASID  {UARID}                            |
                                                              +| NC002001 | {UARLV}  <UASDG>  {UARDCS}  {RAWRPT}                              |
                                                              +| NC002001 | {UACLD}  <UAADF>                                                  |
                                                              +| NC002001 | WMOB  WMOS  WMOR                                                  |
                                                              +|          |                                                                   |
                                                              +| NC002007 | WMOB     WMOS     CLAT     CLON     SELV     YEAR     MNTH        |
                                                              +| NC002007 | DAYS     HOUR     MINU     TSIG     TPMI     WSPD     WDIR        |
                                                              +| NC002007 | PMSL     TMDBST   REQV     REHU                                   |
                                                              +| NC002007 | 201127   HINC     201000   NPSM                                   |
                                                              +| NC002007 | 201132   HINC     201000   "OBSEQ"36                              |
                                                              +| NC002007 | 201132   HINC     201000   "OBSEQ"7                               |
                                                              +|          |                                                                   |
                                                              +| TBLAEX1  | UASID  UARTM  {PRGPTMDP}                                          |
                                                              +|          |                                                                   |
                                                              +| TBLAEX2  | UASID  UARTM  "PRGPTMDP"100                                       |
                                                              +|          |                                                                   |
                                                              +| TBLAEX3  | UASID  UARTM  {PRGPTMDP}  PRLC  UACLD  PRLC  HOVI                 |
                                                              +|          |                                                                   |
                                                              +| TBLAEX4  | UASID  UARTM                                                      |
                                                              +| TBLAEX4  | PRLC  UACLD GEOP  TMDB  HOVI TMDP                                 |
                                                              +| TBLAEX4  | PRLC  UACLD TMDB  TMDP  HOVI GEOP                                 |
                                                              +| TBLAEX4  | PRLC  UACLD GEOP  TMDP  HOVI TMDB                                 |
                                                              +| TBLAEX4  | PRLC  UACLD TMDB  GEOP  HOVI TMDP                                 |
                                                              +|          |                                                                   |
                                                              +| PRGPTMDP | PRLC  GEOP  TMDB  TMDP                                            |
                                                              +|          |                                                                   |
                                                              +| RPSEC1   | ITSO    TOST    INPC    HOVI                                      |
                                                              +|          |                                                                   |
                                                              +| TMPSQ1   | QMAT    TMDB    QMDD    TMDP    MSST   QMST  SST1                 |
                                                              +| TMPSQ1   | <TMPSQ2>   <TMPSQ3>                                               |
                                                              +|          |                                                                   |
                                                              +| TMPSQ2   | MWBT    TMWB    REHU                                              |
                                                              +|          |                                                                   |
                                                              +| TMPSQ3   | .DTHMXTM   MXTM   .DTHMITM   MITM                                 |
                                                              +|          |                                                                   |
                                                              +| WNDSQ1   | SUWS    QMWN    WDIR    WSPD    <WNDSQ2>                          |
                                                              +|          |                                                                   |
                                                              +| WNDSQ2   | .DTMMXGS  MXGS                                                    |
                                                              +|          |                                                                   |
                                                              +| WNDSQ3   | YEAR    MNTH    DAYS    HOUR    MINU    PKWDDR    PKWDSP          |
                                                              +|          |                                                                   |
                                                              +| WAVSQ1   | POWV    HOWV                                                      |
                                                              +|          |                                                                   |
                                                              +| WAVSQ2   | POWW    HOWW                                                      |
                                                              +|          |                                                                   |
                                                              +| WAVSQ3   | DOSW    POSW    HOSW                                              |
                                                              +|          |                                                                   |
                                                              +| PRSSQ1   | QMPR  PRES  PMSL  CHPT  3HPC                                      |
                                                              +|          |                                                                   |
                                                              +| PCPSQ2   | TP01    TP03    TP12    TP24                                      |
                                                              +|          |                                                                   |
                                                              +| PCPSQ3   | .DTHTOPC   TOPC                                                   |
                                                              +|          |                                                                   |
                                                              +| PPWSQ1   | PRWE    PSW1    PSW2                                              |
                                                              +|          |                                                                   |
                                                              +| MRPSC0   | YEAR    MNTH    DAYS    HOUR    MINU    RPID   MRPIDS CLON        |
                                                              +| MRPSC0   | CLAT    SELV    CORN                                              |
                                                              +|          |                                                                   |
                                                              +| MRPIDS   | <ID1SQ> <ID2SQ> <ID3SQ>                                           |
                                                              +|          |                                                                   |
                                                              +| ID1SQ    | SHPC8                                                             |
                                                              +|          |                                                                   |
                                                              +| ID2SQ    | BPID                                                              |
                                                              +|          |                                                                   |
                                                              +| ID3SQ    | SBPI                                                              |
                                                              +|          |                                                                   |
                                                              +| CTWNDS   | TPMI    WDRC    WDSC                                              |
                                                              +|          |                                                                   |
                                                              +| MPCPSQ   | TP06    <PCPSQ2>   <PCPSQ3>                                       |
                                                              +|          |                                                                   |
                                                              +| BID      | SEQNUM  BUHD  ICLI  BULTIM  BBB                                   |
                                                              +|          |                                                                   |
                                                              +| RAWRPT   | RRSTG                                                             |
                                                              +|          |                                                                   |
                                                              +| RCPTIM   | RCTS  RCYR  RCMO  RCDY  RCHR  RCMI                                |
                                                              +|          |                                                                   |
                                                              +| UASID    | RPID  CLAT  CLON  SELV                                            |
                                                              +|          |                                                                   |
                                                              +| UARID    | RATP  A4ME  CORN  UAPART                                          |
                                                              +|          |                                                                   |
                                                              +| UARTM    | YEAR  MNTH  DAYS  HOUR                                            |
                                                              +|          |                                                                   |
                                                              +| UARLV    | VSIG  QMPR  PRLC  QMGP  <UAGP07>  <UAGP10>                        |
                                                              +| UARLV    | <UATMP>  <UAWND>  <UAWSH>                                         |
                                                              +|          |                                                                   |
                                                              +| UAGP07   | GP07                                                              |
                                                              +|          |                                                                   |
                                                              +| UAGP10   | GP10                                                              |
                                                              +|          |                                                                   |
                                                              +| UATMP    | QMAT  TMDB  QMDD  TMDP                                            |
                                                              +|          |                                                                   |
                                                              +| UAWND    | QMWN  WDIR  WSPD                                                  |
                                                              +|          |                                                                   |
                                                              +| UAWSH    | AWSB  AWSA                                                        |
                                                              +|          |                                                                   |
                                                              +| UACLD    | CLTP  QMCA  CLAM  HOCB                                            |
                                                              +|          |                                                                   |
                                                              +| UASDG    | QMST  SST1  SIRC  TTSS  UALNHR  UALNMN                            |
                                                              +|          |                                                                   |
                                                              +| UAADF    | MWDL  MWSL  MWDH  MWSH  STBS5  XMPRLC  XMGP10                     |
                                                              +|          |                                                                   |
                                                              +| UARDCS   | UARDC                                                             |
                                                              +|          |                                                                   |
                                                              +| OBSEQ    | NPHL     NPQC                                                     |
                                                              +| OBSEQ    | 201116   ACAV   201000   UCMP    VCMP   201127   SDHS  201000     |
                                                              +| OBSEQ    | 201116   ACAV   201000   SPP01   WCMP   SDVS                      |
                                                              +|          |                                                                   |
                                                              +|------------------------------------------------------------------------------|
                                                              +| MNEMONIC | SCAL | REFERENCE   | BIT | UNITS                    |-------------|
                                                              +|----------|------|-------------|-----|--------------------------|-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| WMOB     |    0 |           0 |   7 | NUMERIC                  |-------------|
                                                              +| WMOS     |    0 |           0 |  10 | NUMERIC                  |-------------|
                                                              +| WMOR     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| BPID     |    0 |           0 |  17 | NUMERIC                  |-------------|
                                                              +| SBPI     |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| ICLI     |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| SHPC8    |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| UAPART   |    0 |           0 |  32 | CCITT IA5                |-------------|
                                                              +| BUHD     |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| RSML     |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| RPID     |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| TOST     |    0 |           0 |   2 | CODE TABLE               |-------------|
                                                              +| A4ME     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| RATP     |    0 |           0 |   8 | CODE TABLE               |-------------|
                                                              +| SIRC     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| TTSS     |    0 |           0 |   7 | CODE TABLE               |-------------|
                                                              +| MSST     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| MWBT     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| ITSO     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| SEQNUM   |    0 |           0 |  32 | CCITT IA5                |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| YEAR     |    0 |           0 |  12 | YEAR                     |-------------|
                                                              +| MNTH     |    0 |           0 |   4 | MONTH                    |-------------|
                                                              +| DAYS     |    0 |           0 |   6 | DAY                      |-------------|
                                                              +| HOUR     |    0 |           0 |   5 | HOUR                     |-------------|
                                                              +| MINU     |    0 |           0 |   6 | MINUTE                   |-------------|
                                                              +| TPMI     |    0 |       -2048 |  12 | MINUTES                  |-------------|
                                                              +| .DTH.... |    0 |           0 |   8 | HOURS                    |-------------|
                                                              +| .DTM.... |    0 |           0 |   6 | MINUTES                  |-------------|
                                                              +| RCYR     |    0 |           0 |  12 | YEAR                     |-------------|
                                                              +| RCMO     |    0 |           0 |   4 | MONTH                    |-------------|
                                                              +| RCDY     |    0 |           0 |   6 | DAY                      |-------------|
                                                              +| RCHR     |    0 |           0 |   5 | HOUR                     |-------------|
                                                              +| RCMI     |    0 |           0 |   6 | MINUTE                   |-------------|
                                                              +| UALNHR   |    0 |           0 |   5 | HOUR                     |-------------|
                                                              +| UALNMN   |    0 |           0 |   6 | MINUTE                   |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| CLAT     |    2 |       -9000 |  15 | DEGREES                  |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| CLON     |    2 |      -18000 |  16 | DEGREES                  |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| SELV     |    0 |        -400 |  15 | METERS                   |-------------|
                                                              +| PRLC     |   -1 |           0 |  14 | PASCALS                  |-------------|
                                                              +| HEIT     |    0 |       -1000 |  17 | METERS                   |-------------|
                                                              +| GP07     |    0 |      -10000 |  20 | (METERS/SECOND)**2       |-------------|
                                                              +| HINC     |    0 |        -400 |  12 | METERS                   |-------------|
                                                              +| XMPRLC   |   -1 |           0 |  14 | PASCALS                  |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| VSIG     |    0 |           0 |   7 | FLAG TABLE               |-------------|
                                                              +| TSIG     |    0 |           0 |   5 | CODE TABLE               |-------------|
                                                              +| SUWS     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| RCTS     |    0 |           0 |   6 | CODE TABLE               |-------------|
                                                              +| ACAV     |    0 |           0 |  16 | NUMERIC                  |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| GEOP     |   -1 |        -400 |  17 | (METERS/SECOND)**2       |-------------|
                                                              +| PRES     |   -1 |           0 |  14 | PASCALS                  |-------------|
                                                              +| GP10     |    0 |      -10000 |  20 | (METERS/SECOND)**2       |-------------|
                                                              +| PMSL     |   -1 |           0 |  14 | PASCALS                  |-------------|
                                                              +| CHPT     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| 3HPC     |   -1 |        -500 |  10 | PASCALS                  |-------------|
                                                              +| XMGP10   |    0 |      -10000 |  20 | (METERS/SECOND)**2       |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| WDIR     |    0 |           0 |   9 | DEGREES TRUE             |-------------|
                                                              +| WSPD     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| UCMP     |    1 |       -4096 |  13 | METERS/SECOND            |-------------|
                                                              +| VCMP     |    1 |       -4096 |  13 | METERS/SECOND            |-------------|
                                                              +| WCMP     |    2 |       -4096 |  13 | METERS/SECOND            |-------------|
                                                              +| MXGS     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| MWDL     |    0 |           0 |   9 | DEGREES TRUE             |-------------|
                                                              +| MWSL     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| SDHS     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| SDVS     |    1 |           0 |   8 | METERS/SECOND            |-------------|
                                                              +| AWSB     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| AWSA     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| PKWDDR   |    0 |           0 |   9 | DEGREES TRUE             |-------------|
                                                              +| PKWDSP   |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| XS10     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| XS20     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| MWDH     |    0 |           0 |   9 | DEGREES TRUE             |-------------|
                                                              +| MWSH     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +| WDRC     |    0 |           0 |   9 | DEGREES TRUE             |-------------|
                                                              +| WDSC     |    1 |           0 |  12 | METERS/SECOND            |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| TMDBST   |    1 |           0 |  12 | DEGREES KELVIN           |-------------|
                                                              +| TMDB     |    2 |           0 |  16 | DEGREES KELVIN           |-------------|
                                                              +| TMWB     |    2 |           0 |  16 | DEGREES KELVIN           |-------------|
                                                              +| TMDP     |    2 |           0 |  16 | DEGREES KELVIN           |-------------|
                                                              +| MXTM     |    2 |           0 |  16 | DEGREES KELVIN           |-------------|
                                                              +| MITM     |    2 |           0 |  16 | DEGREES KELVIN           |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| REHU     |    0 |           0 |   7 | %                        |-------------|
                                                              +| TOPC     |    1 |          -1 |  14 | KG/METER**2              |-------------|
                                                              +| REQV     |    4 |           0 |  12 | KG/((METERS**2)*SECONDS) |-------------|
                                                              +| TP01     |    1 |          -1 |  14 | KG/METER**2              |-------------|
                                                              +| TP03     |    1 |          -1 |  14 | KG/METER**2              |-------------|
                                                              +| TP06     |    1 |          -1 |  14 | KG/METER**2              |-------------|
                                                              +| TP12     |    1 |          -1 |  14 | KG/METER**2              |-------------|
                                                              +| TP24     |    1 |          -1 |  14 | KG/METER**2              |-------------|
                                                              +| INPC     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| STBS5    |    0 |         -40 |   8 | NUMERIC                  |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| HOVI     |   -1 |           0 |  13 | METERS                   |-------------|
                                                              +| PRWE     |    0 |           0 |   9 | CODE TABLE               |-------------|
                                                              +| PSW1     |    0 |           0 |   5 | CODE TABLE               |-------------|
                                                              +| PSW2     |    0 |           0 |   5 | CODE TABLE               |-------------|
                                                              +| CLAM     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| CLTP     |    0 |           0 |   6 | CODE TABLE               |-------------|
                                                              +| HOCB     |   -1 |         -40 |  11 | METERS                   |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| SPP01    |    0 |           0 |   8 | DB                       |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| DOSW     |    0 |           0 |   9 | DEGREES TRUE             |-------------|
                                                              +| POWV     |    0 |           0 |   6 | SECONDS                  |-------------|
                                                              +| POWW     |    0 |           0 |   6 | SECONDS                  |-------------|
                                                              +| POSW     |    0 |           0 |   6 | SECONDS                  |-------------|
                                                              +| HOWV     |    1 |           0 |  10 | METERS                   |-------------|
                                                              +| HOWW     |    1 |           0 |  10 | METERS                   |-------------|
                                                              +| HOSW     |    1 |           0 |  10 | METERS                   |-------------|
                                                              +| SST1     |    2 |           0 |  15 | DEGREES KELVIN           |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| NPHL     |    0 |           0 |   2 | CODE TABLE               |-------------|
                                                              +| NPSM     |    0 |           0 |   2 | CODE TABLE               |-------------|
                                                              +| NPQC     |    0 |           0 |   4 | FLAG TABLE               |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| QCEVR    |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| QMGP     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| QMAT     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| QMDD     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| QMWN     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| QMCA     |    0 |           0 |   1 | CODE TABLE               |-------------|
                                                              +| UARDC    |    0 |           0 |   8 | CODE TABLE               |-------------|
                                                              +| QMPR     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +| CORN     |    0 |           0 |   3 | CODE TABLE               |-------------|
                                                              +| QMST     |    0 |           0 |   4 | CODE TABLE               |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +| BULTIM   |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| BBB      |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +| RRSTG    |    0 |           0 |  64 | CCITT IA5                |-------------|
                                                              +|          |      |             |     |                          |-------------|
                                                              +`------------------------------------------------------------------------------'
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html new file mode 100644 index 000000000..033440add --- /dev/null +++ b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html @@ -0,0 +1,418 @@ + + + + + + + +NCEPLIBS-bufr: Master BUFR Tables + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              Master BUFR Tables
                                                              +
                                                              +
                                                              +

                                                              Description and format of master BUFR tables for use with the library.
                                                              +

                                                              +

                                                              This document describes the format and concept of master BUFR tables. These are required by the NCEPLIBS-bufr software whenever the IO='SEC3' option is specified during a call to subroutine openbf() for the reading/decoding of a file of BUFR messages. Otherwise, if a different value of IO is specified, then only a DX BUFR tables file is normally required, and master BUFR tables are not needed.

                                                              +


                                                              +

                                                              +

                                                              Whenever master BUFR tables are used, they are read in by the BUFRLIB software as a corresponding set of four system files, from a directory on the local filesystem as specified within a separate preceding call to subroutine mtinfo() :

                                                              +
                                                                +
                                                              • Standard Table B - an ordered listing of all descriptors corresponding to an official release (i.e. version number) of the standard, international BUFR Table B
                                                              • +
                                                              • Local Table B - an ordered listing of all local Table B descriptors supplementing the standard BUFR Table B, as defined for use within a particular local originating center
                                                              • +
                                                              • Standard Table D - an ordered listing of all descriptors corresponding to an official release (i.e. version number) of the standard, international BUFR Table D
                                                              • +
                                                              • Local Table D - an ordered listing of all local Table D descriptors supplementing the standard BUFR Table D, as defined for use within a particular local originating center
                                                              • +
                                                              +

                                                              Actual filenames use the following convention:

                                                              +
                                                              +Standard tables:     bufrtab.Table.X_STD_M_V
                                                              +Local tables:        bufrtab.Table.X_LOC_M_C_L
                                                              +
                                                              +        where:       X = Table type ('B' or 'D')
                                                              +                     M = Master Table number ('0' for WMO, '10' for IOC, etc.)
                                                              +                     V = Version number of Master Table used
                                                              +                     C = Originating Center number ('7' for NCEP, etc.)
                                                              +                     L = Version number of local tables used
                                                              +

                                                              Whenever any of the message-reading subroutines are used to read a new BUFR message from a Fortran logical unit that was previously opened using subroutine openbf() with IO='SEC3', the identification section (Section 1) of the message is automatically scanned to determine the above values for that message. The BUFRLIB software then automatically generates the four necessary filenames using those values and attempts to open and read each of those files from within the directory that was specified as CMTDIR during the previous call to subroutine mtinfo(). This table information is then retained and re-used in memory until a subsequent message is read which has a different value for any one of the above values, and at which point a new set of tables is then read in from the same directory in order to be applied to the new message. With this approach, the user can have multiple master table files stored within the same directory, and the BUFRLIB software will always locate and read the appropriate files depending on the corresponding values stored within Section 1 of each new message to be decoded. For more details about the above values, see the discussion on Section 1 within the official WMO Manual 306, Volume I.2.

                                                              +


                                                              +

                                                              +

                                                              Now that we've discussed the content and naming conventions for master BUFR table files, let's turn our attention to the actual format of these files:

                                                              +

                                                              +Table B

                                                              +
                                                              As described above, two master Table B files (one standard and one local) are required for each BUFR message that is to be read and decoded. The BUFRLIB software will scan the identification section (Section 1) of each new message and then open and read the appropriate Table B files from within the directory specified by CMTDIR during the previous call to subroutine mtinfo(). In particular, a standard Table B file must be available corresponding to the version number of each BUFR message to be decoded, and the filename must follow the naming convention described above. In addition, if there are any local descriptors contained within the messages, then a local Table B file must also be available corresponding to the originating center and local version numbers encoded within Section 1 of those messages. Otherwise, if the messages to be decoded contain only standard descriptors (which is normally the case for data exchanged between operational centers), then the default local Table B file from NCEP (originating center 7) can be used as a placeholder since the software will not need to actually read any information from this table. In this way, users are relieved from having to provide a local Table B file for every originating center whose messages they wish to decode, and such a table only becomes necessary when the messages themselves actually contain one or more local descriptors defined by that particular originating center.

                                                              +
                                                              Here now is the format for each master Table B:

                                                              +
                                                              The first line of the file is as follows, where the symbols correspond to those used in the file naming convention described above. In this way, the software can perform internal consistency checks where needed. Note that the separator for each field is a "|" character, but otherwise the free use of white space is allowed within each field:
                                                              +Standard table:     Table B STD | M | V
                                                              +Local table:        Table B LOC | M | C | L
                                                              +
                                                              +       where:       M = Master Table number ('0' for WMO, '10' for IOC, etc.)
                                                              +                    V = Version number of Master Table used
                                                              +                    C = Originating Center number ('7' for NCEP, etc.)
                                                              +                    L = Version number of local tables used
                                                              +
                                                              Following this first header line, the remainder of the file contains a listing of all possible Table B descriptors corresponding to the specified version number of the table, ordered in ascending order with respect to the FXY number as shown below. Blank lines as well as comments (i.e. any line beginning with the character "#") are permitted throughout the file and will be ignored by the software, up until a line is reached which contains the string "END" in the first three characters, and which is a signal to the software to stop looking for any new Table B descriptor definitions in the table. Each definition line has the following format, where the "|" and ";" characters are required separators as shown, but otherwise the additional use of white space is allowed within each field.
                                                              + F-XX-YYY | SCALE | REFERENCE | BITS | UNITS  | MNEMONIC ; CODES ; ELEMENT NAME
                                                              +
                                                              The CODES field can be used for any annotations the user may wish to add for a particular definition line, or it can be left blank. All other fields should be self-explanatory based on earlier discussions and should contain a value. Here are some examples:
                                                              +  0-01-018 |   0 |  0 |  40 | CCITT IA5   | SSTN    ; ; Short station or site name
                                                              +  0-01-041 |   5 | -1073741824 |  31 | m/s | PS00   ;  ; Absolute platform velocity - first component
                                                              +  0-05-002 |   2 |       -9000 |  15 | Degree(N+,S-)  | CLAT     ;     ; Latitude (coarse accuracy)
                                                              +  0-07-002 |  -1 |         -40 |  16 | m              | HMSL     ;     ; Height or altitude
                                                              +
                                                              The above examples show how additional white space can vary from line to line and can be used according to individual preferences, but of course for overall readability it's usually best to pick one format and stick to it within a given table file. Here are some sample master Table B files that can be downloaded and used. These are also available as part of the standard distribution package for the software, within the tables subdirectory:
                                                              +

                                                              +Table D

                                                              +
                                                              As was the case for Table B, two master Table D files (one standard and one local) are also required for each BUFR message that is to be read and decoded, and these files must also exist within the same directory specified by CMTDIR during the previous call to subroutine mtinfo(). The BUFRLIB software will then scan the identification section (Section 1) of each BUFR message as it is read, in order to determine the exact master table files to open and read for that message, and a local Table D file is necessary whenever local descriptors from the originating center in question are included within a message; otherwise, the default local Table D file from NCEP (originating center 7) can be used as a placeholder.

                                                              +
                                                              The format of the first line of each master Table D file is the same as for Table B:
                                                              +Standard table:     Table D STD | M | V
                                                              +Local table:        Table D LOC | M | C | L
                                                              +
                                                              +       where:       M = Master Table number ('0' for WMO, '10' for IOC, etc.)
                                                              +                    V = Version number of Master Table used
                                                              +                    C = Originating Center number ('7' for NCEP, etc.)
                                                              +                    L = Version number of local tables used
                                                              +
                                                              and blank lines and comment lines (beginning with a "#" in column 1) are likewise allowed, but otherwise the format for a master Table D file differs from that of a master Table B file since entries now span multiple file lines as follows:
                                                              + F-XX-YYY | MNEMONIC  ; CODES ; SEQUENCE_NAME
                                                              +          | F-XX-YYY > | ELEMENT_NAME  
                                                              +          | F-XX-YYY   | ELEMENT_NAME 
                                                              +
                                                              As shown, the first line of each entry contains the FXY number of the Table D sequence, along with the corresponding sequence name, mnemonic and annotation codes (if any), and then each successive line contains a single element of that sequence. Each successive element is listed one per line, and note the ">" character after the FXY number within each element line up to, but not including, the last element of the sequence. The BUFRLIB software uses the lack of a ">" character to know when it has reached the last element of the sequence. Here are some examples:
                                                              +  3-01-004 | SFCSTNID   ;  ; Surface station identification
                                                              +           | 0-01-001 > | WMO block number
                                                              +           | 0-01-002 > | WMO station number
                                                              +           | 0-01-015 > | Station or site name
                                                              +           | 0-02-001   | Type of station
                                                              +
                                                              +  3-01-012 | HHMM       ; ;
                                                              +           | 0-04-004 >  | Hour
                                                              +           | 0-04-005    | Minute
                                                              +
                                                              +  3-01-023 | LTLONC   ;   ;
                                                              +           | 0-05-002 > | Latitude (coarse accuracy)
                                                              +           | 0-06-002   | Longitude (coarse accuracy)
                                                              +
                                                              +  3-01-025 | LTLONCDT   ;  ;
                                                              +           | 3-01-023 > | Latitude and longitude (coarse accuracy)
                                                              +           | 0-04-003 > | Day
                                                              +           | 3-01-012   | Time
                                                              +
                                                              +  3-01-045 | SATLOVEL   ;     ; Satellite location and velocity
                                                              +           | 3-01-011 > | Year, month, day
                                                              +           | 3-01-012 > | Time (hour, minute)
                                                              +           | 2-01-138 > | Change width to 16 bits
                                                              +           | 2-02-131 > | Change scale to 3
                                                              +           | 0-04-006 > | Second
                                                              +           | 2-01-000 > | Change width back to Table B
                                                              +           | 2-02-000 > | Change scale back to Table B
                                                              +           | 3-04-030 > | Location relative to the Earth's centre
                                                              +           | 3-04-031   | Velocity relative to the Earth's centre
                                                              +
                                                              +  3-03-050 | WDPLRAOB   ; ; Wind data at a pressure level with radiosonde position
                                                              +           | 0-04-086 > | Long time period or displacement (since launch time)
                                                              +           | 0-08-042 > | Extended vertical sounding significance
                                                              +           | 0-07-004 > | Pressure
                                                              +           | 0-05-015 > | Latitude displacement since launch site (high accuracy)
                                                              +           | 0-06-015 > | Longitude displacement since launch site (high accuracy)
                                                              +           | 0-11-001 > | Wind direction
                                                              +           | 0-11-002   | Wind speed
                                                              +
                                                              As with master Table B files, the entries within a master Table D file must all be sorted in ascending order with respect to the FXY number, and the software will continue reading from the file until it reaches a line with the string "END" in the first three characters. Here are some sample master Table D files that can be downloaded and used. These are also available as part of the standard distribution package for the software, within the tables subdirectory:
                                                              +

                                                              +Code/Flag Tables

                                                              +
                                                              Unlike for Table B and Table D, master Code/Flag tables are optional when the IO='SEC3' option is specified during a call to subroutine openbf() for the reading/decoding of BUFR messages. Instead, they are only required if the user intends to make one or more calls to subroutine getcfmng(), and in which case a prior call to subroutine codflg() is also required with the value of CF set to 'Y'.

                                                              +
                                                              Whenever master Code/Flag tables are used, they must exist within the same local filesystem directory specified by CMTDIR during the most recent call to subroutine mtinfo(). And just like for Table B and Table D, they must exist as a set of two separate tables files, one containing all of the standard entries and one containing all of the local entries, and where the default local Code/Flag tables file from NCEP (originating center 7) can be used as a placeholder for the local file whenever the BUFR messages to be decoded contain only standard descriptors.

                                                              +
                                                              The format of the first line of each master Code/Flag table file is the same as for Tables B and D:
                                                              +Standard table:     Table F STD | M | V
                                                              +Local table:        Table F LOC | M | C | L
                                                              +
                                                              +       where:       M = Master Table number ('0' for WMO, '10' for IOC, etc.)
                                                              +                    V = Version number of Master Table used
                                                              +                    C = Originating Center number ('7' for NCEP, etc.)
                                                              +                    L = Version number of local tables used
                                                              +
                                                              and blank lines and comment lines (beginning with a "#" in column 1) are likewise allowed throughout each table for readability. Entries span multiple lines and follow the format:
                                                              + F-XX-YYY | MNEMONIC ; CODE
                                                              +          | F-XX-YYY=VAL
                                                              +            | VAL > | MEANING
                                                              +            | VAL   | MEANING
                                                              +
                                                              for code tables, and:
                                                              + F-XX-YYY | MNEMONIC ; FLAG
                                                              +          | F-XX-YYY=BIT
                                                              +            | BIT > | MEANING
                                                              +            | BIT   | MEANING
                                                              +
                                                              for flag tables. As shown, the first line of each entry contains the FXY number and mnemonic of the associated Table B descriptor, along with the identifier "CODE" or "FLAG" depending on the table type. Successive lines contain individual entries within the associated table, grouped by dependency where applicable. For example, for mnemonic GSES (originating sub-center), whose meanings depend on that of the associated originating center as noted in the discussion for subroutine getcfmng(), the entry would look something like the following, and where 0-01-031, 0-01-033 and 0-01-035 are the respective FXY numbers for mnemonics GCLONG, OGCE and ORIGC:
                                                              +  0-01-034 | GSES ; CODE
                                                              +           | 0-01-031,0-01-033,0-01-035=39
                                                              +              | 0 > | No sub-centre
                                                              +              | 225 > | Beijing
                                                              +              | 226 > | Guangzhou
                                                              +              | 228 > | Urumuqi
                                                              +           | 0-01-031,0-01-033,0-01-035=80
                                                              +              | 0 > | No sub-centre
                                                              +              | 101 > | Albania (NMC)
                                                              +              | 102 > | National Research Council/Institute of Atmospheric Sciences and Climate (CNR-ISAC)
                                                              +           | 0-01-031,0-01-033,0-01-035=7
                                                              +              | 0 > | No sub-centre
                                                              +              | 1 > | NCEP Reanalysis Project
                                                              +              | 2 > | NCEP Ensemble Products
                                                              +              | 3 > | NCEP Central Operations
                                                              +              | 4 > | Environmental Modeling Center
                                                              +              | 5 > | Weather Prediction Center
                                                              +              | 6 > | Ocean Prediction Center
                                                              +              | 7 > | Climate Prediction Center
                                                              +              | 8 > | Aviation Weather Center
                                                              +              | 9 > | Storm Prediction Center
                                                              +              | 10 > | National Hurricane Center
                                                              +              | 11 > | NWS Techniques Development Laboratory
                                                              +              | 12 > | NESDIS Office of Research and Applications
                                                              +              | 13 > | Federal Aviation Administration
                                                              +              | 14 > | NWS Meteorological Development Laboratory
                                                              +              | 15 > | North American Regional Reanalysis Project
                                                              +              | 16 > | Space Weather Prediction Center
                                                              +              | 17 > | ESRL Global Systems Division
                                                              +           | 0-01-031,0-01-033,0-01-035=46
                                                              +              | 0 > | No sub-centre
                                                              +              | 10 > | Cachoeira Paulista (INPE)
                                                              +              | 11 > | Cuiaba (INPE)
                                                              +              | 12 > | Brasilia (INMET)
                                                              +              | 13 > | Fortaleza (FUNCEME)
                                                              +              | 14 > | Natal (Navy Hygrog. Centre)
                                                              +              | 15 > | Manaus (SIVAM)
                                                              +              | 16 > | Natal (INPE)
                                                              +              | 17 > | Boa Vista
                                                              +              | 25 > | São Paulo University - USP
                                                              +           | 0-01-031,0-01-033,0-01-035=254
                                                              +              | 0 > | No sub-centre
                                                              +              | 10 > | Tromso (Norway)
                                                              +              | 20 > | Maspalomas (Spain)
                                                              +              | 30 > | Kangerlussuaq (Greenland)
                                                              +              | 40 > | Edmonton (Canada)
                                                              +              | 50 > | Bedford (Canada)
                                                              +              | 60 > | Gander (Canada)
                                                              +              | 70 > | Monterey (USA)
                                                              +              | 80 > | Wallops Island (USA)
                                                              +              | 90 > | Gilmor Creek (USA)
                                                              +              | 100 > | Athens (Greece)
                                                              +              | 120 > | Ewa Beach, Hawaii
                                                              +              | 125 > | Ford Island, Hawaii
                                                              +              | 130 > | Miami, Florida
                                                              +              | 140 > | Lannion (France)
                                                              +              | 150 > | Svalbard (Norway)
                                                              +              | 170 > | St Denis (La Réunion)
                                                              +              | 180 > | Moscow
                                                              +              | 190 > | Muscat
                                                              +              | 200 > | Khabarovsk
                                                              +              | 210   | Novosibirsk
                                                              +
                                                              However, if the meanings of the code or flag table values for a particular mnemonic do not depend on those of any other mnemonic, then the dependency lines can be omitted from the above format, as shown in the following additional examples:
                                                              +  0-02-003 | A4ME ; CODE
                                                              +              | 0 > | Pressure Instrument associated with wind measuring equipment
                                                              +              | 1 > | Optical theodolite
                                                              +              | 2 > | Radio theodolite
                                                              +              | 3 > | Radar
                                                              +              | 4 > | VLF-Omega
                                                              +              | 5 > | Loran C
                                                              +              | 6 > | Wind profiler
                                                              +              | 7 > | Satellite navigation
                                                              +              | 8 > | Radio-acoustic Sounding System (RASS)
                                                              +              | 9 > | Sodar
                                                              +              | 10 > | LIDAR
                                                              +              | 14   | Pressure instrument associated with wind measuring equipment but pressure element failed during ascent
                                                              +
                                                              +  0-02-008 | TOFSP ; CODE
                                                              +              | 0 > | Fixed platform
                                                              +              | 1 > | Mobile offshore drill ship
                                                              +              | 2 > | Jack-up rig
                                                              +              | 3 > | Semi-submersible platform
                                                              +              | 4 > | FPSO (floating production storage and offloading unit)
                                                              +              | 5   | Light vessel
                                                              +
                                                              +  0-02-016 | RCONF ; FLAG
                                                              +              | 1 > | Train regulator
                                                              +              | 2 > | Light unit
                                                              +              | 3 > | Parachute
                                                              +              | 4   | Rooftop release
                                                              +
                                                              +  0-02-017 | CAHM ; CODE
                                                              +              | 0 > | No corrections
                                                              +              | 1 > | Time lag correction provided by the manufacturer
                                                              +              | 2 > | Solar radiation correction provided by the manufacturer
                                                              +              | 3 > | Solar radiation and time lag correction provided by the manufacturer
                                                              +              | 7   | GRUAN solar radiation and time lag correction
                                                              +
                                                              +  0-02-022 | SDPT ; FLAG
                                                              +              | 1 > | Processing technique not defined
                                                              +              | 2 > | Automated statistical regression
                                                              +              | 3 > | Clear path
                                                              +              | 4 > | Partly cloudy path
                                                              +              | 5   | Cloudy path
                                                              +
                                                              Note that the values for any entry are always listed one per line, and note the ">" character after the value within each line up to, but not including, the last defined value/meaning pair for that entry. The BUFRLIB software uses this lack of a ">" character to know when it has reached the last value/meaning pair for the associated entry. And as was also the case for master Table B and Table D files, all entries in a master Code/Flag table file must be in sorted ascending order with respect to the FXY number, and the BUFRLIB software will continue reading from the file until it reaches a line with the string "END" in the first three characters. Here are some sample master code/flag table files that can be downloaded and used. These are also available as part of the standard distribution package for the software, within the tables subdirectory:
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html new file mode 100644 index 000000000..2d83faca8 --- /dev/null +++ b/previous_versions/v12.0.1/md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html @@ -0,0 +1,609 @@ + + + + + + + +NCEPLIBS-bufr: Utilities + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              Utilities
                                                              +
                                                              +
                                                              +

                                                              Collection of commonly-used utilities based on the library.

                                                              +

                                                              The NCEPLIBS-bufr library includes some command line utilities which operate on BUFR files.

                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                              Utility Description
                                                              debufr Read BUFR file and write verbose listing of contents
                                                              readbp Read prepbufr file and print each report one at a time
                                                              readmp Read BUFR file containing embedded DX BUFR tables, and print each report one at a time
                                                              binv Print inventory of BUFR file by message type
                                                              sinv Print inventory of BUFR satellite data file by platform and instrument type
                                                              cmpbqm Print inventory of observations from prepbufr file by variable, report type and quality mark
                                                              gettab Print embedded DX BUFR tables from within a BUFR file
                                                              split_by_subset Split a BUFR file into separate BUFR files for each subset type
                                                              xbfmg Split a BUFR file into separate BUFR files for each message
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +debufr

                                                              +
                                                              This program decodes a BUFR file and writes a verbose listing of the contents to the file specified via the -o option. If a DX BUFR Tables file is specified (using the -f option) or if the specified BUFR file contains an embedded DX BUFR tables message as the first message in the file, then this information is used to decode the data messages in the file. Otherwise, or whenever the -m option is specified, master BUFR tables are read and used to decode the data messages in the file.
                                                              +Usage:
                                                              +
                                                              +   debufr [-v] [-h] [-b] [-c] [-m] [-o outfile] [-t tabledir] [-f tablefil] [-p prmstg] bufrfile
                                                              +
                                                              +     where:
                                                              +       -v        prints version information and exits
                                                              +
                                                              +       -h        prints program help and usage information and exits
                                                              +
                                                              +       -b        specifies the "basic" option, meaning that only the
                                                              +                 information in Sections 0-3 will be decoded from each
                                                              +                 BUFR message in the bufrfile, and no attempt will be
                                                              +                 made to decode the data in Section 4
                                                              +
                                                              +       -c        specifies that code and flag table meanings should not
                                                              +                 be read from master BUFR tables and included in the
                                                              +                 output; otherwise this feature is enabled by default
                                                              +
                                                              +       -m        specifies that master BUFR tables will be used to
                                                              +                 decode the data messages in the file, regardless of
                                                              +                 whether it contains any embedded DX BUFR table
                                                              +                 messages.  This option can be used to view the actual
                                                              +                 contents of DX BUFR table messages, which otherwise
                                                              +                 would not be printed in the output listing.
                                                              +
                                                              +       outfile   [path/]name of file to contain verbose output listing.
                                                              +                 The default is "bufrfilename.debufr.out" in the current
                                                              +                 working directory, where bufrfilename is the basename of
                                                              +                 the bufrfile (i.e. bufrfile with any preceding [path/]
                                                              +                 removed).
                                                              +
                                                              +       tabledir  [path/]name of directory containing tables to be used
                                                              +                 for decoding.  This directory contains the DX BUFR
                                                              +                 tables file to be used (if one was specified
                                                              +                 via the -f option), or it may contain all of the master
                                                              +                 BUFR tables when these are being used to decode a
                                                              +                 file.  If unspecified, the default directory location is
                                                              +                 the defined value of the MASTER_TABLE_DIR macro when the
                                                              +                 utility was built.
                                                              +
                                                              +       tablefil  file within tabledir containing DX BUFR tables
                                                              +                 to be used for decoding.
                                                              +
                                                              +       prmstg    string of comma-separated PARAMETER=VALUE pairs, up to a
                                                              +                 maximum of 20.  For each pair, the dynamic allocation
                                                              +                 PARAMETER will be set to VALUE within the underlying
                                                              +                 NCEPLIBS-bufr software, overriding the default value that
                                                              +                 would otherwise be used.  A complete list of parameters
                                                              +                 that can be dynamically sized is included within the
                                                              +                 documentation for NCEPLIBS-bufr function isetprm().
                                                              +
                                                              +       bufrfile  [path/]name of BUFR file to be decoded
                                                              +
                                                              See the source code at debufr.c and debufr.f


                                                              +

                                                              +
                                                              +

                                                              +readbp

                                                              +
                                                              A utility to read prepbufr files which prints each report one at a time, or jumps to a report with characteristics defined by various keys such as report type, subset type, xy locagtion, station id, etc. Keys can be entered as arguments to the program or entered while the program is running. Basic operation is to print one report at a time with the default being starting at the beginning and continuing until the end or the user enters 'q'. The following summary is printed if the program is run without arguments.
                                                              + Usage: readbp <-s> <-w> <-m> <-k> <-r> <-d> <-n> <-h>  prep bufrfile
                                                              +
                                                              + Search filter and/or print prepbufr reports in various ways
                                                              +
                                                              + -s "station_id " print reports where "station_id" matches the report id up to the len of "station_id"
                                                              + -w "x1 x2 y1 y2" print reports within a lon/lat box
                                                              + -m "subset     " print reports with this subset name
                                                              + -k "gsi  rtype " print reports with this gsi report type
                                                              + -r "on29 rtype " print reports with this on29 report type
                                                              + -d               print reports using ufdump - note: this works with any NCEP BUFR file
                                                              + -n               no pause between reports output
                                                              + -h               print only report headers
                                                              +
                                                              + Only a filename is required in which case step through the reports one at a time using "enter"
                                                              +
                                                              + Optional arguments can also be applied in the pause between reports output without using  a dash
                                                              +
                                                              + Optional arguments will be applied in concert in most cases
                                                              +
                                                              See the source code at readbp.f90
                                                              Sample output for: ‘readbp gdas.20200812/00/gdas.t00z.prepbufr’`
                                                              MESSAGE: ADPUPA 1 2 20081200
                                                              +
                                                              STATION: 89642 140.02 -66.67
                                                              +
                                                              TIME: 20081200 0.00
                                                              +
                                                              ELV: 43.00
                                                              +
                                                              PSL: ********
                                                              +
                                                              TYPE: 11. 177. 220.
                                                              +
                                                              SOURCE: vH7B
                                                              +
                                                              SEQUENCE **********
                                                              +
                                                              DATA:
                                                              +
                                                              LVL CAT POB SPH TOB ZOB UOB VOB
                                                              +
                                                              1 3 1002.0(2) *******(*) *******(*) *******(*) -3.8(2) 8.2(2)
                                                              +
                                                              2 1 1000.0(2) *******(*) *******(*) *******(*) -3.8(2) 8.2(2)
                                                              +
                                                              3 1 925.0(2) *******(*) *******(*) *******(*) -5.1(2) 6.1(2)
                                                              +
                                                              4 1 850.0(2) *******(*) *******(*) *******(*) -4.2(2) 4.2(2)
                                                              +
                                                              5 1 700.0(2) *******(*) *******(*) *******(*) 3.1(2) 8.5(2)
                                                              +
                                                              6 1 500.0(2) *******(*) *******(*) *******(*) 21.2(2) 21.2(2)
                                                              +
                                                              7 1 400.0(2) *******(*) *******(*) *******(*) 29.1(2) 24.4(2)
                                                              +
                                                              8 1 300.0(2) *******(*) *******(*) *******(*) 26.9(2) 26.9(2)
                                                              +
                                                              9 5 273.0(2) *******(*) *******(*) *******(*) 21.9(2) 26.0(2)
                                                              +
                                                              10 1 250.0(2) *******(*) *******(*) *******(*) 29.5(2) 20.6(2)
                                                              +
                                                              11 5 200.0(2) *******(*) *******(*) *******(*) 29.5(2) 20.6(2)
                                                              +
                                                              12 1 150.0(2) *******(*) *******(*) *******(*) 35.5(2) 20.5(2)
                                                              +
                                                              13 1 100.0(2) *******(*) *******(*) *******(*) 42.6(2) 19.9(2)
                                                              +
                                                              14 1 70.0(2) *******(*) *******(*) *******(*) 49.8(2) 23.2(2)
                                                              +
                                                              15 1 50.0(2) *******(*) *******(*) *******(*) 57.1(2) 26.6(2)
                                                              +
                                                              16 1 30.0(2) *******(*) *******(*) *******(*) 70.5(2) 18.9(2)
                                                              +
                                                              17 1 20.0(2) *******(*) *******(*) *******(*) 83.1(2) 22.3(2)
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +readmp

                                                              +
                                                              A utility to read any BUFR file with embedded DX tables, and print the contents of each subset one at a time.
                                                              See the source code at readmp.f90
                                                              Sample output for: readmp gdas.20200812/00/gdas.t00z.sfcshp.tm00.bufr_d
                                                              MESSAGE TYPE NC001001
                                                              +
                                                              +
                                                              004001 YEAR 2020.0 YEAR YEAR
                                                              +
                                                              004002 MNTH 8.0 MONTH MONTH
                                                              +
                                                              004003 DAYS 11.0 DAY DAY
                                                              +
                                                              004004 HOUR 21.0 HOUR HOUR
                                                              +
                                                              004005 MINU 0.0 MINUTE MINUTE
                                                              +
                                                              001198 RPID WCX7445 ( 8)CCITT IA5 REPORT IDENTIFIER
                                                              +
                                                              <ID1SQ> 1 REPLICATIONS
                                                              +
                                                              001203 SHPC8 WCX7445 ( 8)CCITT IA5 SHIP CALL SIGN (8 CHARACTERS)
                                                              +
                                                              <ID2SQ> 0 REPLICATIONS
                                                              +
                                                              <ID3SQ> 0 REPLICATIONS
                                                              +
                                                              005002 CLAT -53.10 DEGREES LATITUDE (COARSE ACCURACY)
                                                              +
                                                              006002 CLON -70.90 DEGREES LONGITUDE (COARSE ACCURACY)
                                                              +
                                                              007001 SELV 0.0 METERS HEIGHT OF STATION
                                                              +
                                                              033215 CORN 0.0 CODE TABLE CORRECTED REPORT INDICATOR
                                                              +
                                                              035200 RSRD 256.0 FLAG TABLE(1) RESTRICTIONS ON REDISTRIBUTION
                                                              +
                                                              035201 EXPRSRD MISSING HOURS EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION
                                                              +
                                                              {BID} 1 REPLICATIONS
                                                              +
                                                              035195 SEQNUM 477 ( 4)CCITT IA5 CHANNEL SEQUENCE NUMBER
                                                              +
                                                              035021 BUHD SIVC70 ( 6)CCITT IA5 BULLETIN BEING MONITORED (TTAAii)
                                                              +
                                                              035023 BORG KWBC ( 4)CCITT IA5 BULLETIN BEING MONITORED (CCCC)
                                                              +
                                                              035022 BULTIM 112100 ( 6)CCITT IA5 BULLETIN BEING MONITORED (YYGGgg)
                                                              +
                                                              035194 BBB MISSING ( 6)CCITT IA5 BULLETIN BEING MONITORED (BBB)
                                                              +
                                                              {RCPTIM} 1 REPLICATIONS
                                                              +
                                                              008202 RCTS 0.0 CODE TABLE RECEIPT TIME SIGNIFICANCE
                                                              +
                                                              004200 RCYR 2020.0 YEAR YEAR - TIME OF RECEIPT
                                                              +
                                                              004201 RCMO 8.0 MONTH MONTH - TIME OF RECEIPT
                                                              +
                                                              004202 RCDY 11.0 DAY DAY - TIME OF RECEIPT
                                                              +
                                                              004203 RCHR 21.0 HOUR HOUR - TIME OF RECEIPT
                                                              +
                                                              004204 RCMI 22.0 MINUTE MINUTE - TIME OF RECEIPT
                                                              +
                                                              002193 ITSO 2.0 CODE TABLE IND TYPE OF STATION OPERATION PAST/PRESENT WEATH
                                                              +
                                                              002001 TOST 1.0 CODE TABLE TYPE OF STATION
                                                              +
                                                              013194 INPC 4.0 CODE TABLE INDIC INCLUSION/OMISSION OF PREC
                                                              +
                                                              020001 HOVI MISSING METERS HORIZONTAL VISIBILITY
                                                              +
                                                              002002 TIWM 12.0 FLAG TABLE(1,2) TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT
                                                              +
                                                              033195 QMWN MISSING CODE TABLE SDMEDIT/QUIPS QUALITY MARK FOR WIND
                                                              +
                                                              011001 WDIR 310.0 DEGREES TRUE WIND DIRECTION
                                                              +
                                                              011002 WSPD 7.2 METERS/SECOND WIND SPEED
                                                              +
                                                              <WNDSQ2> 0 REPLICATIONS
                                                              +
                                                              033193 QMAT MISSING CODE TABLE SDMEDIT/QUIPS QUALITY MARK FOR TEMPERATURE
                                                              +
                                                              012101 TMDB 276.45 DEGREES KELVIN TEMPERATURE/DRY BULB TEMPERATURE
                                                              +
                                                              033194 QMDD MISSING CODE TABLE SDMEDIT/QUIPS QUALITY MARK FOR MOISTURE
                                                              +
                                                              012103 TMDP 274.85 DEGREES KELVIN DEW POINT TEMPERATURE
                                                              +
                                                              002038 MSST MISSING CODE TABLE METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT
                                                              +
                                                              033218 QMST MISSING CODE TABLE SDMEDIT/QUIPS QUALITY MARK FOR SEA SURFACE TEMPE
                                                              +
                                                              022043 SST1 MISSING DEGREES KELVIN SEA TEMPERATURE
                                                              +
                                                              <TMPSQ2> 0 REPLICATIONS
                                                              +
                                                              <TMPSQ3> 0 REPLICATIONS
                                                              +
                                                              033207 QMPR MISSING CODE TABLE SDMEDIT/QUIPS QUALITY MARK FOR PRESSURE
                                                              +
                                                              010004 PRES MISSING PASCALS PRESSURE
                                                              +
                                                              010051 PMSL 98660.0 PASCALS PRESSURE REDUCED TO MSL
                                                              +
                                                              010063 CHPT 7.0 CODE TABLE CHARACTERISTIC OF PRESSURE TENDENCY
                                                              +
                                                              010061 3HPC -350.0 PASCALS 3 HOUR PRESSURE CHANGE
                                                              +
                                                              010062 24PC MISSING PASCALS 24 HOUR PRESSURE CHANGE
                                                              +
                                                              013021 TP06 MISSING KG/METER**2 TOTAL PRECIPITATION PAST 6 HOURS
                                                              +
                                                              <PCPSQ2> 0 REPLICATIONS
                                                              +
                                                              <PCPSQ3> 0 REPLICATIONS
                                                              +
                                                              020010 TOCC MISSING % CLOUD COVER (TOTAL)
                                                              +
                                                              020201 HBLCS 14.0 CODE TABLE HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEE
                                                              +
                                                              {CLDSQ1} 0 REPLICATIONS
                                                              +
                                                              <PPWSQ1> 0 REPLICATIONS
                                                              +
                                                              <WAVSQ1> 0 REPLICATIONS
                                                              +
                                                              <WAVSQ2> 0 REPLICATIONS
                                                              +
                                                              {WAVSQ3} 0 REPLICATIONS
                                                              +
                                                              <MPLSQ1> 1 REPLICATIONS
                                                              +
                                                              001193 TDMP 0.0 CODE TABLE TRUE DIRECTION OF SHIP DURING PAST 3 HOURS
                                                              +
                                                              001200 ASMP 0.0 CODE TABLE AVG SPD OF SHIP DURING PAST 3 HOURS
                                                              +
                                                              <ICESQ1> 0 REPLICATIONS
                                                              +
                                                              <RPSEC3> 0 REPLICATIONS
                                                              +
                                                              {RAWRPT} 0 REPLICATIONS
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +binv

                                                              +
                                                              A utility to print a BUFR file inventory by message type.
                                                              See the source code at binv.f90
                                                              Sample output for: binv gdas.20200812/00/gdas.t00z.prepbufr
                                                              type messages subsets bytes
                                                              +
                                                              +
                                                              ADPUPA 363 1427 3091984 3.93
                                                              +
                                                              AIRCAR 1817 169107 18052250 93.07
                                                              +
                                                              AIRCFT 298 29002 2956428 97.32
                                                              +
                                                              SATWND 1439 192430 14317604 133.72
                                                              +
                                                              PROFLR 1 1 1050 1.00
                                                              +
                                                              VADWND 76 1853 733606 24.38
                                                              +
                                                              ADPSFC 1266 135037 12582648 106.66
                                                              +
                                                              SFCSHP 156 20001 1552260 128.21
                                                              +
                                                              GPSIPW 5 577 31428 115.40
                                                              +
                                                              RASSDA 10 200 90976 20.00
                                                              +
                                                              ASCATW 1390 225151 13809272 161.98
                                                              +
                                                              SYNDAT 2 102 13234 51.00
                                                              +
                                                              TOTAL 6823 774888 67232740
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +sinv

                                                              +
                                                              Utility to print an inventory of satellite data by platform and instrument type.
                                                              See the source code at sinv.f90
                                                              Sample output for: sinv gdas.20200812/00/gdas.t00z.satwnd.tm00.bufr_d
                                                              003 METOP-1 7220
                                                              +
                                                              004 METOP-2 8911
                                                              +
                                                              055 METEOSAT-8 172430
                                                              +
                                                              070 METEOSAT-1 176712
                                                              +
                                                              173 Himawari-8 133715
                                                              +
                                                              209 NOAA-18 147
                                                              +
                                                              223 NOAA-19 1565
                                                              +
                                                              224 NPP 41006 NOAA Imaging multi-spectral radiometer (vis/IR) VIIRS (Visible/infrared imager r
                                                              +
                                                              225 NOAA-20 47747 NOAA Imaging multi-spectral radiometer (vis/IR) VIIRS (Visible/infrared imager r
                                                              +
                                                              270 GOES-16 1156231 NOAA Imaging multi-spectral radiometer ABI (Advanced baseline imager)
                                                              +
                                                              271 GOES-17 1890729 NOAA Imaging multi-spectral radiometer ABI (Advanced baseline imager)
                                                              +
                                                              471 INSAT-3D 24108
                                                              +
                                                              473 INSAT-3DR 79427
                                                              +
                                                              784 AQUA 2850
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +cmpbqm

                                                              +
                                                              An inventory of prepbufr observations by variable, report type, and quality mark made from a prepbufr file. The ob type,total count,and quality marks are listed by column. The cka and ckb columns are counts of observed values with missing qm, or qms with missing observations. The cka and ckb should be zero but sometimes they're not. The qm values are found in bufr code tables, but below a quick summary. The GSI qms are added by a program run by the fit2obs system which copies that information from the convstat files. The sample output prepbufr was after prep but pre-analysis. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              Quality Marker Description
                                                              0 keep flag
                                                              1 passed checks and/or corrected by cqc
                                                              2 not checked
                                                              3 suspicious
                                                              4-7 rejected by oiqc (original mark + 4)
                                                              8 Ps more than 100mb off
                                                              9 filtered by missing ob errors in gsi error table
                                                              10 rejected by gsi gross check
                                                              11 rejected by gsi varqc
                                                              12 on manual reject list
                                                              13 rejected by cqc or acqc
                                                              14 sdm reject (manual purge)
                                                              15 rejected by prepdata code (ie failed various sanity checks)
                                                              cka a non-missing value with a missing quality mark
                                                              ckb a missing value with a non-missing quality mark
                                                              +
                                                              See the source code at cmpbqm.f90
                                                              Sample output for: cmpbqm gdas.20200811/00/gdas.t00z.prepbufr
                                                              DATA VALID AT 2020081100
                                                              +
                                                              +
                                                              PRESSURE
                                                              +
                                                              +
                                                              typ tot 0-3 4-7 8 9 10 11 12 13 14 15 cka ckb
                                                              +
                                                              ----------------------------------------------------------------------------------------
                                                              +
                                                              120 32154| 31952| 0| 43| 2| 0 0 0 1 156 0| 0| 0
                                                              +
                                                              126 1169| 1169| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              130 602| 601| 0| 1| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              131 10321| 10321| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              133 86356| 86356| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              134 4170| 4170| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              135 208| 208| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              180 9296| 9026| 0| 6| 0| 0 0 0 0 203 61| 0| 0
                                                              +
                                                              181 23224| 20989| 0| 326| 10| 0 0 0 0 87 1812| 0| 0
                                                              +
                                                              183 3626| 0| 0| 12| 3582| 0 0 0 0 32 0| 0| 0
                                                              +
                                                              187 42698| 42300| 0| 112| 0| 0 0 0 0 286 0| 0| 0
                                                              +
                                                              220 39385| 39194| 0| 2| 0| 0 0 0 0 189 0| 0| 0
                                                              +
                                                              221 720| 720| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              224 16527| 16527| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              229 4| 4| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              230 166| 166| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              231 10319| 10319| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              233 86112| 86112| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              234 4170| 4170| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              235 208| 208| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              242 27875| 25521| 0| 0| 0| 0 0 0 2354 0 0| 0| 0
                                                              +
                                                              243 7040| 7040| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              250 58010| 52503| 0| 0| 0| 0 0 0 5507 0 0| 0| 0
                                                              +
                                                              252 53788| 48854| 0| 0| 0| 0 0 0 4934 0 0| 0| 0
                                                              +
                                                              253 13601| 13601| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              254 34156| 34156| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              257 8139| 8139| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              258 4127| 4127| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              259 5208| 5208| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              280 8310| 8049| 0| 0| 0| 0 0 0 0 203 58| 0| 0
                                                              +
                                                              281 22689| 20662| 0| 190| 0| 0 0 0 0 87 1750| 0| 0
                                                              +
                                                              282 240| 240| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              284 3542| 3497| 0| 12| 0| 0 0 0 0 32 1| 0| 0
                                                              +
                                                              287 42327| 41985| 0| 73| 0| 0 0 0 0 268 1| 0| 0
                                                              +
                                                              290231701|231701| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              +
                                                              SPECIFIC HUMIDTY
                                                              +
                                                              +
                                                              120 28995| 14978| 0| 1| 13528| 0 0 0 3 219 266| 0| 0
                                                              +
                                                              133 13662| 9428| 0| 0| 3623| 0 0 0 329 216 66| 0| 0
                                                              +
                                                              134 3948| 2408| 0| 0| 165| 0 0 0 680 689 6| 0| 0
                                                              +
                                                              180 4327| 4299| 0| 0| 0| 0 0 0 0 0 28| 0| 0
                                                              +
                                                              181 22680| 0| 0| 311| 20525| 0 0 0 0 1844 0| 0| 0
                                                              +
                                                              183 2594| 0| 0| 12| 2550| 0 0 0 0 32 0| 0| 0
                                                              +
                                                              187 42303| 0| 0| 112| 41463| 0 0 0 0 728 0| 0| 0
                                                              +
                                                              +
                                                              TEMPERATURE
                                                              +
                                                              +
                                                              120 31833| 31540| 0| 1| 2| 0 0 0 71 219 0| 0| 0
                                                              +
                                                              126 1169| 0| 0| 0| 861| 0 0 0 308 0 0| 0| 0
                                                              +
                                                              130 436| 386| 0| 0| 0| 0 0 0 30 20 0| 0| 0
                                                              +
                                                              131 10321| 9297| 0| 0| 0| 0 0 0 890 134 0| 0| 0
                                                              +
                                                              133 86356| 81038| 0| 0| 0| 0 0 0 3780 1538 0| 0| 0
                                                              +
                                                              134 4170| 2876| 0| 0| 0| 0 0 0 677 617 0| 0| 0
                                                              +
                                                              135 208| 70| 0| 0| 131| 0 0 0 7 0 0| 0| 0
                                                              +
                                                              180 8029| 7675| 0| 3| 28| 0 0 0 0 296 27| 0| 0
                                                              +
                                                              181 23082| 0| 0| 2158| 20892| 0 0 0 0 32 0| 0| 0
                                                              +
                                                              183 3612| 0| 0| 44| 3568| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              187 42396| 0| 0| 931| 41446| 0 0 0 0 19 0| 0| 0
                                                              +
                                                              +
                                                              HEIGHT
                                                              +
                                                              +
                                                              120 10060| 9935| 0| 0| 0| 0 0 0 31 94 0| 0| 0
                                                              +
                                                              126 1169| 1169| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              130 602| 602| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              131 10321| 10321| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              133 86356| 86356| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              134 4170| 4170| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              135 208| 208| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              180 9296| 9026| 0| 0| 0| 0 0 0 0 203 67| 0| 0
                                                              +
                                                              181 23224| 21295| 0| 0| 0| 0 0 0 0 90 1839| 0| 0
                                                              +
                                                              183 3626| 3590| 0| 0| 0| 0 0 0 0 34 2| 0| 0
                                                              +
                                                              187 42698| 42411| 0| 0| 0| 0 0 0 0 286 1| 0| 0
                                                              +
                                                              220 10750| 10750| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              221 570| 570| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              224 16527| 16527| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              229 4| 4| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              230 166| 166| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              231 10319| 10319| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              233 86112| 86112| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              234 4170| 4170| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              235 208| 208| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              242 27875| 25521| 0| 0| 0| 0 0 0 2354 0 0| 0| 0
                                                              +
                                                              243 7040| 7040| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              250 58010| 52503| 0| 0| 0| 0 0 0 5507 0 0| 0| 0
                                                              +
                                                              252 53788| 48854| 0| 0| 0| 0 0 0 4934 0 0| 0| 0
                                                              +
                                                              253 13601| 13601| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              254 34156| 34156| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              257 8139| 8139| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              258 4127| 4127| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              259 5208| 5208| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              +
                                                              WIND COMPONENTS
                                                              +
                                                              +
                                                              220 39385| 38684| 0| 2| 0| 0 0 0 0 696 3| 0| 0
                                                              +
                                                              221 720| 686| 0| 0| 0| 0 0 0 0 33 1| 0| 0
                                                              +
                                                              224 16527| 13837| 0| 0| 0| 0 0 0 2690 0 0| 0| 0
                                                              +
                                                              229 4| 4| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              230 166| 148| 0| 0| 0| 0 0 0 6 12 0| 0| 0
                                                              +
                                                              231 10319| 9346| 0| 0| 0| 0 0 0 914 59 0| 0| 0
                                                              +
                                                              233 86112| 81300| 0| 0| 0| 0 0 0 4185 627 0| 0| 0
                                                              +
                                                              234 4170| 1051| 0| 0| 0| 0 0 0 1419 1700 0| 0| 0
                                                              +
                                                              235 208| 200| 0| 0| 0| 0 0 0 8 0 0| 0| 0
                                                              +
                                                              242 27875| 25521| 0| 0| 0| 0 0 0 2354 0 0| 0| 0
                                                              +
                                                              243 7040| 7040| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              250 58010| 52503| 0| 0| 0| 0 0 0 5507 0 0| 0| 0
                                                              +
                                                              252 53788| 48854| 0| 0| 0| 0 0 0 4934 0 0| 0| 0
                                                              +
                                                              253 13601| 13601| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              254 34156| 34156| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              257 8139| 8139| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              258 4127| 4115| 0| 0| 12| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              259 5208| 5050| 0| 0| 158| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              280 7923| 7826| 0| 30| 0| 0 0 0 0 12 55| 0| 0
                                                              +
                                                              281 22659| 0| 0| 190| 20673| 0 0 0 0 1796 0| 0| 0
                                                              +
                                                              282 192| 192| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              284 3540| 0| 0| 24| 3484| 0 0 0 0 32 0| 0| 0
                                                              +
                                                              287 40070| 0| 0| 59| 39770| 0 0 0 0 241 0| 0| 0
                                                              +
                                                              290231701|231701| 0| 0| 0| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              +
                                                              PRECIPITABLE H2O
                                                              +
                                                              +
                                                              153 644| 0| 0| 0| 644| 0 0 0 0 0 0| 0| 0
                                                              +
                                                              +
                                                              RELATIVE HUMIDTY
                                                              +
                                                              +
                                                              +
                                                              ******CMPBQM PROCESSED 7066 BUFR RECORDS******
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +gettab

                                                              +
                                                              A utility to read any BUFR file with embedded DX tables, and print the table.
                                                              See the source code at gettab.f90
                                                              Sample output for: gettab gdas.20200812/00/gdas.t00z.adpsfc.tm00.bufr_d
                                                              .------------------------------------------------------------------------------.
                                                              +
                                                              | ------------ USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D -------------- |
                                                              +
                                                              |------------------------------------------------------------------------------|
                                                              +
                                                              | MNEMONIC | NUMBER | DESCRIPTION |
                                                              +
                                                              |----------|--------|----------------------------------------------------------|
                                                              +
                                                              | | | |
                                                              +
                                                              | NC000000 | A51001 | MTYP 000-000 SYNOPTIC-LAND, RESTRICTED (WMO RES 40) |
                                                              +
                                                              | NC000001 | A63200 | MTYP 000-001 SYNOPTIC - FIXED LAND |
                                                              +
                                                              | NC000002 | A61192 | MTYP 000-002 SYNOPTIC - MOBIL LAND |
                                                              +
                                                              | NC000007 | A63206 | MTYP 000-007 AVIATION - METAR / SPECI |
                                                              +
                                                              | NC000008 | A63247 | MTYP 000-008 NPN AND MAP PROFILER SURFACE |
                                                              +
                                                              | NC000010 | A56100 | MTYP 000-010 PRODUCTS (SHEF) NOT IN ANY OTHER TANK |
                                                              +
                                                              | NC000011 | A63214 | MTYP 000-011 AFOS PRODUCTS (PRECIP) (SHEF) |
                                                              +
                                                              | NC000012 | A63215 | MTYP 000-012 SUPPLEMENTARY CLIMATOLOGICAL DATA |
                                                              +
                                                              | NC000020 | A56250 | MTYP 000-020 WIND ENERGY NACELLE, RESTRICTED |
                                                              +
                                                              | NC000100 | A51050 | MTYP 000-100 SYNOPTIC - FIXED LAND (BUFR) (WMO RES 40) |
                                                              +
                                                              | NC000101 | A51051 | MTYP 000-101 SYNOPTIC - FIXED LAND (BUFR) |
                                                              +
                                                              | NC000102 | A51052 | MTYP 000-102 SYNOPTIC - MOBIL LAND (BUFR) |
                                                              +
                                                              | | | |
                                                              +
                                                              | SFCSTNID | 301004 | SURFACE STATION IDENTIFICATION |
                                                              +
                                                              | YYMMDD | 301011 | DATE -- YEAR, MONTH, DAY |
                                                              +
                                                              | HHMM | 301012 | TIME -- HOUR, MINUTE |
                                                              +
                                                              | HHMMSS | 301013 | TIME -- HOUR, MINUTE, SECOND |
                                                              +
                                                              | LTLONH | 301021 | LOCATION -- LATITUDE, LONGITUDE (HIGH ACCURACY) |
                                                              +
                                                              | LALOLV | 301024 | LOCATION -- LATITUDE, LONGITUDE, ELEVATION |
                                                              +
                                                              | SFIDTIME | 301090 | SURFACE STATION IDENTIFICATION, TIME AND LOCATION |
                                                              +
                                                              | MOBIDENT | 301092 | MOBILE SURFACE STATION IDENTIFICATION, DATE/TIME, HORIZ |
                                                              +
                                                              | WIGOSID | 301150 | WIGOS IDENTIFIER |
                                                              +
                                                              | PRESSQ03 | 302001 | |
                                                              +
                                                              | GENCLOUD | 302004 | GENERAL CLOUD INFORMATION |
                                                              +
                                                              | PRESDATA | 302031 | PRESSURE INFORMATION |
                                                              +
                                                              | PWEATHER | 302038 | PRESENT AND PAST WEATHER |
                                                              +
                                                              | DIRCLDFT | 302047 | DIRECTION OF CLOUD DRIFT |
                                                              +
                                                              | VISBSEQN | 302069 | VISIBILITY DATA |
                                                              +
                                                              | TEMHUMDA | 302072 | TEMPERATURE AND HUMIDITY DATA |
                                                              +
                                                              | STGDSNDM | 302078 | STATE OF GROUND AND SNOW DEPTH MEASUREMENT |
                                                              +
                                                              | FILENAME | 352004 | FILE NAME SEQUENCE |
                                                              +
                                                              | SHTPMOSQ | 356101 | SHEF TIME PERIOD SEQUENCE (MONTHS) |
                                                              +
                                                              | SHTPHRSQ | 356102 | SHEF TIME PERIOD SEQUENCE (HOURS) |
                                                              +
                                                              | SHTPMISQ | 356103 | SHEF TIME PERIOD SEQUENCE (MINUTES) |
                                                              +
                                                              | SHPRESSQ | 356104 | SHEF PRESSURE SEQUENCE |
                                                              +
                                                              | SHPMSLSQ | 356105 | SHEF PRESSURE (MSL) SEQUENCE |
                                                              +


                                                              +

                                                              +
                                                              +

                                                              +split_by_subset

                                                              +
                                                              A utility to read any BUFR file and split it into separate BUFR files based on message subset type. To preview which files will be produced (one for each m/s type) use binv (documented above).
                                                              See the source code at split_by_subset.f90
                                                              Usage: split_by_subset gdas.20200812/00/gdas.t00z.satwnd.tm00.bufr_d


                                                              +

                                                              +
                                                              +

                                                              +xbfmg

                                                              +
                                                              This program splits a single file containing one or more BUFR messages into one or more BUFR files each containing a single BUFR message. The output BUFR files are written to the current working directory, according to a pre-defined naming convention as described below.
                                                              +Usage:
                                                              +
                                                              +   xbfmg [-v] [-h] [-g] bufrfile
                                                              +
                                                              +     where:
                                                              +       -v        prints version information and exits
                                                              +
                                                              +       -h        prints program help and usage information and exits
                                                              +
                                                              +       -g        preserves within each output file any GTS bulletin header and control
                                                              +                 characters associated with the corresponding BUFR message from the
                                                              +                 input file
                                                              +
                                                              +       bufrfile  [path/]name of input file containing one or more BUFR messages to be
                                                              +                 extracted into separate output files within the current working directory
                                                              +
                                                              +   The output will be stored within the current working directory using the
                                                              +   following filenames:
                                                              +
                                                              +       (basename).xbfmg.out.000001
                                                              +       (basename).xbfmg.out.000002
                                                              +       (basename).xbfmg.out.000003
                                                              +         and so on, up through 
                                                              +       (basename).xbfmg.out.(last#)
                                                              +
                                                              +   where:
                                                              +
                                                              +       (basename) = basename of bufrfile
                                                              +
                                                              +       (last#) = total number of BUFR messages in bufrfile
                                                              +
                                                              See the source code at xbfmg.c


                                                              +

                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/menu.js b/previous_versions/v12.0.1/menu.js new file mode 100644 index 000000000..2fe2214f2 --- /dev/null +++ b/previous_versions/v12.0.1/menu.js @@ -0,0 +1,51 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
                                                            • '); + } else { + $('#main-menu').append('
                                                            • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/previous_versions/v12.0.1/menudata.js b/previous_versions/v12.0.1/menudata.js new file mode 100644 index 000000000..77725629c --- /dev/null +++ b/previous_versions/v12.0.1/menudata.js @@ -0,0 +1,137 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Modules",url:"namespaces.html",children:[ +{text:"Modules List",url:"namespaces.html"}, +{text:"Module Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html",children:[ +{text:"b",url:"namespacemembers.html#index_b"}, +{text:"c",url:"namespacemembers_c.html#index_c"}, +{text:"d",url:"namespacemembers_d.html#index_d"}, +{text:"e",url:"namespacemembers_e.html#index_e"}, +{text:"f",url:"namespacemembers_f.html#index_f"}, +{text:"g",url:"namespacemembers_g.html#index_g"}, +{text:"i",url:"namespacemembers_i.html#index_i"}, +{text:"j",url:"namespacemembers_j.html#index_j"}, +{text:"k",url:"namespacemembers_k.html#index_k"}, +{text:"l",url:"namespacemembers_l.html#index_l"}, +{text:"m",url:"namespacemembers_m.html#index_m"}, +{text:"n",url:"namespacemembers_n.html#index_n"}, +{text:"o",url:"namespacemembers_o.html#index_o"}, +{text:"p",url:"namespacemembers_p.html#index_p"}, +{text:"r",url:"namespacemembers_r.html#index_r"}, +{text:"s",url:"namespacemembers_s.html#index_s"}, +{text:"t",url:"namespacemembers_t.html#index_t"}, +{text:"u",url:"namespacemembers_u.html#index_u"}, +{text:"v",url:"namespacemembers_v.html#index_v"}, +{text:"w",url:"namespacemembers_w.html#index_w"}, +{text:"x",url:"namespacemembers_x.html#index_x"}]}, +{text:"Functions/Subroutines",url:"namespacemembers_func.html",children:[ +{text:"b",url:"namespacemembers_func.html#index_b"}, +{text:"c",url:"namespacemembers_func.html#index_c"}, +{text:"d",url:"namespacemembers_func.html#index_d"}, +{text:"e",url:"namespacemembers_func.html#index_e"}, +{text:"g",url:"namespacemembers_func.html#index_g"}, +{text:"i",url:"namespacemembers_func.html#index_i"}, +{text:"m",url:"namespacemembers_func.html#index_m"}, +{text:"n",url:"namespacemembers_func.html#index_n"}, +{text:"o",url:"namespacemembers_func.html#index_o"}, +{text:"p",url:"namespacemembers_func.html#index_p"}, +{text:"r",url:"namespacemembers_func.html#index_r"}, +{text:"s",url:"namespacemembers_func.html#index_s"}, +{text:"u",url:"namespacemembers_func.html#index_u"}, +{text:"w",url:"namespacemembers_func.html#index_w"}]}, +{text:"Variables",url:"namespacemembers_vars.html",children:[ +{text:"b",url:"namespacemembers_vars.html#index_b"}, +{text:"c",url:"namespacemembers_vars.html#index_c"}, +{text:"f",url:"namespacemembers_vars.html#index_f"}, +{text:"i",url:"namespacemembers_vars.html#index_i"}, +{text:"j",url:"namespacemembers_vars.html#index_j"}, +{text:"k",url:"namespacemembers_vars.html#index_k"}, +{text:"l",url:"namespacemembers_vars.html#index_l"}, +{text:"m",url:"namespacemembers_vars.html#index_m"}, +{text:"n",url:"namespacemembers_vars.html#index_n"}, +{text:"s",url:"namespacemembers_vars.html#index_s"}, +{text:"t",url:"namespacemembers_vars.html#index_t"}, +{text:"v",url:"namespacemembers_vars.html#index_v"}, +{text:"w",url:"namespacemembers_vars.html#index_w"}, +{text:"x",url:"namespacemembers_vars.html#index_x"}]}]}]}, +{text:"Data Types List",url:"annotated.html",children:[ +{text:"Data Types List",url:"annotated.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html"}, +{text:"Functions/Subroutines",url:"functions_func.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"a",url:"globals.html#index_a"}, +{text:"b",url:"globals_b.html#index_b"}, +{text:"c",url:"globals_c.html#index_c"}, +{text:"d",url:"globals_d.html#index_d"}, +{text:"e",url:"globals_e.html#index_e"}, +{text:"f",url:"globals_f.html#index_f"}, +{text:"g",url:"globals_g.html#index_g"}, +{text:"h",url:"globals_h.html#index_h"}, +{text:"i",url:"globals_i.html#index_i"}, +{text:"j",url:"globals_j.html#index_j"}, +{text:"l",url:"globals_l.html#index_l"}, +{text:"m",url:"globals_m.html#index_m"}, +{text:"n",url:"globals_n.html#index_n"}, +{text:"o",url:"globals_o.html#index_o"}, +{text:"p",url:"globals_p.html#index_p"}, +{text:"r",url:"globals_r.html#index_r"}, +{text:"s",url:"globals_s.html#index_s"}, +{text:"t",url:"globals_t.html#index_t"}, +{text:"u",url:"globals_u.html#index_u"}, +{text:"v",url:"globals_v.html#index_v"}, +{text:"w",url:"globals_w.html#index_w"}, +{text:"x",url:"globals_x.html#index_x"}]}, +{text:"Functions/Subroutines",url:"globals_func.html",children:[ +{text:"a",url:"globals_func.html#index_a"}, +{text:"b",url:"globals_func_b.html#index_b"}, +{text:"c",url:"globals_func_c.html#index_c"}, +{text:"d",url:"globals_func_d.html#index_d"}, +{text:"e",url:"globals_func_e.html#index_e"}, +{text:"f",url:"globals_func_f.html#index_f"}, +{text:"g",url:"globals_func_g.html#index_g"}, +{text:"h",url:"globals_func_h.html#index_h"}, +{text:"i",url:"globals_func_i.html#index_i"}, +{text:"j",url:"globals_func_j.html#index_j"}, +{text:"l",url:"globals_func_l.html#index_l"}, +{text:"m",url:"globals_func_m.html#index_m"}, +{text:"n",url:"globals_func_n.html#index_n"}, +{text:"o",url:"globals_func_o.html#index_o"}, +{text:"p",url:"globals_func_p.html#index_p"}, +{text:"r",url:"globals_func_r.html#index_r"}, +{text:"s",url:"globals_func_s.html#index_s"}, +{text:"t",url:"globals_func_t.html#index_t"}, +{text:"u",url:"globals_func_u.html#index_u"}, +{text:"w",url:"globals_func_w.html#index_w"}, +{text:"x",url:"globals_func_x.html#index_x"}]}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/mesgbc_8f.html b/previous_versions/v12.0.1/mesgbc_8f.html similarity index 100% rename from mesgbc_8f.html rename to previous_versions/v12.0.1/mesgbc_8f.html diff --git a/mesgbc_8f.js b/previous_versions/v12.0.1/mesgbc_8f.js similarity index 100% rename from mesgbc_8f.js rename to previous_versions/v12.0.1/mesgbc_8f.js diff --git a/mesgbc_8f_source.html b/previous_versions/v12.0.1/mesgbc_8f_source.html similarity index 100% rename from mesgbc_8f_source.html rename to previous_versions/v12.0.1/mesgbc_8f_source.html diff --git a/mesgbf_8f.html b/previous_versions/v12.0.1/mesgbf_8f.html similarity index 100% rename from mesgbf_8f.html rename to previous_versions/v12.0.1/mesgbf_8f.html diff --git a/mesgbf_8f.js b/previous_versions/v12.0.1/mesgbf_8f.js similarity index 100% rename from mesgbf_8f.js rename to previous_versions/v12.0.1/mesgbf_8f.js diff --git a/mesgbf_8f_source.html b/previous_versions/v12.0.1/mesgbf_8f_source.html similarity index 100% rename from mesgbf_8f_source.html rename to previous_versions/v12.0.1/mesgbf_8f_source.html diff --git a/minimg_8f.html b/previous_versions/v12.0.1/minimg_8f.html similarity index 100% rename from minimg_8f.html rename to previous_versions/v12.0.1/minimg_8f.html diff --git a/minimg_8f.js b/previous_versions/v12.0.1/minimg_8f.js similarity index 100% rename from minimg_8f.js rename to previous_versions/v12.0.1/minimg_8f.js diff --git a/minimg_8f_source.html b/previous_versions/v12.0.1/minimg_8f_source.html similarity index 100% rename from minimg_8f_source.html rename to previous_versions/v12.0.1/minimg_8f_source.html diff --git a/previous_versions/v12.0.1/modules__arrs_8F90.html b/previous_versions/v12.0.1/modules__arrs_8F90.html new file mode 100644 index 000000000..78fa746dc --- /dev/null +++ b/previous_versions/v12.0.1/modules__arrs_8F90.html @@ -0,0 +1,717 @@ + + + + + + + +NCEPLIBS-bufr: modules_arrs.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              modules_arrs.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Declare module arrays. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Modules

                                                              module  moda_bitbuf
                                                               This module contains array and variable declarations used to store BUFR messages internally for multiple I/O streams.
                                                               
                                                              module  moda_bitmaps
                                                               This module contains array and variable declarations used to store bitmaps internally within a data subset definition.
                                                               
                                                              module  moda_bufrmg
                                                               This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message that was most recently written to that stream, for possible later retrieval via subroutine writsa().
                                                               
                                                              module  moda_bufrsr
                                                               This module contains arrays and variables needed to store the current position within a BUFR file.
                                                               
                                                              module  moda_comprs
                                                               This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output.
                                                               
                                                              module  moda_comprx
                                                               This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output.
                                                               
                                                              module  moda_dscach
                                                               This module contains array and variable declarations for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages.
                                                               
                                                              module  moda_h4wlc
                                                               This module contains array and variable declarations needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc().
                                                               
                                                              module  moda_idrdm
                                                               This module contains a declaration for an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages.
                                                               
                                                              module  moda_ival
                                                               This module contains a declaration for an array used to pack or unpack all of the values of a BUFR data subset.
                                                               
                                                              module  moda_ivttmp
                                                               This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of the internal subset buffers where the contents of an evolving BUFR message are sccumulated and stored under user control prior to being written out.
                                                               
                                                              module  moda_lushr
                                                               This module contains a declaration for an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information.
                                                               
                                                              module  moda_mgwa
                                                               This module contains a declaration for an array used by various subroutines and functions to hold a temporary working copy of a BUFR message.
                                                               
                                                              module  moda_mgwb
                                                               This module contains a declaration for an array used by various subroutines and functions to hold a temporary working qcopy of a BUFR message.
                                                               
                                                              module  moda_msgcwd
                                                               This module contains declarations for arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each internal I/O stream index.
                                                               
                                                              module  moda_msglim
                                                               This module contains a declaration for an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them.
                                                               
                                                              module  moda_msgmem
                                                               This module contains array and variable declarations used to store the contents of one or more BUFR files within internal memory.
                                                               
                                                              module  moda_mstabs
                                                               This module contains array and variable declarations used to store master Table B and Table D entries within internal memory.
                                                               
                                                              module  moda_nmikrp
                                                               This module contains declarations for arrays used by various subroutines to hold information about Table D sequences.
                                                               
                                                              module  moda_nrv203
                                                               This module contains array and variable declarations for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table.
                                                               
                                                              module  moda_nulbfr
                                                               This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether any BUFR messages should actually be written to the corresponding logical unit.
                                                               
                                                              module  moda_rdmtb
                                                               This module contains array and variable declarations used to store master Table B and Table D entries within internal memory.
                                                               
                                                              module  moda_rlccmn
                                                               This module contains array and variable declarations needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc().
                                                               
                                                              module  moda_s01cm
                                                               This module contains array and variable declarations used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units.
                                                               
                                                              module  moda_sc3bfr
                                                               This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables.
                                                               
                                                              module  moda_stbfr
                                                               This module contains array declarations used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf().
                                                               
                                                              module  moda_stcode
                                                               This module contains an array declaration used to store a status code for each internal I/O stream index if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit.
                                                               
                                                              module  moda_tababd
                                                               This module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams.
                                                               
                                                              module  moda_tables
                                                               This module contains array and variable declarations used to store the internal jump/link table.
                                                               
                                                              module  moda_ufbcpl
                                                               This module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy().
                                                               
                                                              module  moda_unptyp
                                                               This module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message.
                                                               
                                                              module  moda_usrbit
                                                               This module contains array declarations for internal storage of pointers to BUFR data subset values.
                                                               
                                                              module  moda_usrint
                                                               This module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index.
                                                               
                                                              module  moda_usrtmp
                                                               This module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays.
                                                               
                                                              module  moda_xtab
                                                               This module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program.
                                                               
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *(:), dimension(:,:), allocatable moda_comprs::catx
                                                               Character data values for all data subsets in message. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cbbw
                                                               Bit widths corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cbelem
                                                               Element names corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cbmnem
                                                               Mnemonics corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cbscl
                                                               Scale factors corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cbsref
                                                               Reference values corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cbunit
                                                               Units corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cdmnem
                                                               Mnemonics corresponding to idfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable moda_mstabs::cdseq
                                                               Sequence names corresponding to idfxyn. More...
                                                               
                                                              character *120, dimension(:,:), allocatable moda_rdmtb::ceelem
                                                               Element names corresponding to iefxyn. More...
                                                               
                                                              character *120, dimension(:), allocatable moda_h4wlc::chh4wlc
                                                               Long character strings. More...
                                                               
                                                              character *4, dimension(:), allocatable moda_rdmtb::cmdscb
                                                               Descriptor codes for Table B elements. More...
                                                               
                                                              character *4, dimension(:), allocatable moda_rdmtb::cmdscd
                                                               Descriptor codes for Table D sequences. More...
                                                               
                                                              character *8, dimension(:), allocatable moda_s01cm::cmnem
                                                               Section 0 and 1 mnemonics corresponding to ivmnem. More...
                                                               
                                                              character *8, dimension(mxcnem) moda_dscach::cnem
                                                               Table A mnemonics. More...
                                                               
                                                              character *10, dimension(:), allocatable moda_rlccmn::crtag
                                                               Table B mnemonics associated with long character strings. More...
                                                               
                                                              character *(:), dimension(:), allocatable moda_comprx::cstr
                                                               Character data value, if corresponding ityp value is set to 3. More...
                                                               
                                                              character *6, dimension(:,:), allocatable moda_bitmaps::ctco
                                                               Table C operators corresponding to inodtco. More...
                                                               
                                                              logical moda_comprx::flush
                                                               Flush flag. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitbuf::ibay
                                                               Current data subset. More...
                                                               
                                                              integer, dimension(:), allocatable moda_mstabs::ibfxyn
                                                               Bit-wise representations of FXY numbers for master Table B. More...
                                                               
                                                              integer moda_bitbuf::ibit
                                                               Bit pointer within IBAY. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::ibt
                                                               Bit widths corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_bitmaps::ibtmse
                                                               Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions can range in value from 1 to iszbtm for each stored bitmap. More...
                                                               
                                                              integer moda_nrv203::ibtnrv
                                                               Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in scope; set to 0 if no such operator is currently in scope. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::icdxts
                                                               Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the corresponding ifdxts. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgcwd::idate
                                                               Section 1 date-time of message. More...
                                                               
                                                              integer, dimension(mxcnem, maxnc) moda_dscach::idcach
                                                               Bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem. More...
                                                               
                                                              integer, dimension(:), allocatable moda_mstabs::idefxy
                                                               Bit-wise representations of child descriptors corresponding to idfxyn. More...
                                                               
                                                              integer, dimension(:), allocatable moda_mstabs::idfxyn
                                                               Bit-wise representations of FXY numbers for master Table D. More...
                                                               
                                                              integer, dimension(:,:,:), allocatable moda_tababd::idna
                                                               Message types (in array element 1) and subtypes (in array element 2) corresponding to taba. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_tababd::idnb
                                                               Bit-wise representations of the FXY values corresponding to tabb. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_tababd::idnd
                                                               Bit-wise representations of the FXY values corresponding to tabd. More...
                                                               
                                                              integer, dimension(:), allocatable moda_idrdm::idrdm
                                                               DX BUFR tables message count for each I/O internal stream index. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_rdmtb::iefxyn
                                                               Bit-wise representations of child descriptors of Table D sequences. More...
                                                               
                                                              integer, dimension(:), allocatable moda_nrv203::ienrv
                                                               End of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::ifdxts
                                                               Pointers to the beginning of each DX BUFR table within mdx. More...
                                                               
                                                              integer(8) moda_comprs::incr
                                                               Increment used when compressing non-character data values. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgcwd::inode
                                                               Table A mnemonic for type of BUFR message. More...
                                                               
                                                              integer, dimension(:), allocatable moda_nrv203::inodnrv
                                                               Entries within jump/link table which contain new reference values. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitmaps::inodtamc
                                                               Entries within jump/link table which contain Table A mnemonics. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_bitmaps::inodtco
                                                               Entries within jump/link table which contain Table C operators. More...
                                                               
                                                              integer, dimension(:,:), allocatable, target moda_usrint::inv
                                                               Inventory pointer which links each data value to its corresponding node in the internal jump/link table. More...
                                                               
                                                              integer, dimension(:), allocatable moda_stbfr::iolun
                                                               File status indicators. More...
                                                               
                                                              integer, dimension(:), allocatable moda_stbfr::iomsg
                                                               Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open within the internal arrays for the corresponding logical unit: More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::ipdxm
                                                               Pointers to the beginning of each message within mdx. More...
                                                               
                                                              integer moda_nrv203::ipfnrv
                                                               A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the current data subset in scope; set to 0 if no 2-03-YYY operators have been applied to the current data subset in scope. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::ipmsgs
                                                               Pointers to first message within msgs for which each DX BUFR table applies. More...
                                                               
                                                              integer, dimension(:), allocatable moda_rlccmn::irbit
                                                               Pointers in data subset to first bits of long character strings. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::irf
                                                               Reference values corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:), allocatable moda_rlccmn::irnch
                                                               Lengths (in bytes) of long character strings. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_nmikrp::irp
                                                               Replication indicators corresponding to nem: More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::isc
                                                               Scale factors corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:), allocatable moda_sc3bfr::isc3
                                                               Section 3 switch for each internal I/O stream index: More...
                                                               
                                                              integer, dimension(:), allocatable moda_stcode::iscodes
                                                               Abnormal status codes. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_tables::iseq
                                                               Temporary storage used in expanding sequences. More...
                                                               
                                                              integer, dimension(:), allocatable moda_nrv203::isnrv
                                                               Start of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitmaps::istbtm
                                                               Ordinal position in data subset definition corresponding to the first entry of the bitmap. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitmaps::iszbtm
                                                               Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not). More...
                                                               
                                                              integer, dimension(:), allocatable moda_ivttmp::itmp
                                                               inv array elements for new sections of a growing subset buffer. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::itp
                                                               Integer type values corresponding to typ: More...
                                                               
                                                              integer, dimension(:), allocatable moda_comprx::ityp
                                                               Type of each data value: More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_usrtmp::iutmp
                                                               inv array elements for new sections of a growing subset buffer. More...
                                                               
                                                              integer(8), dimension(:), allocatable moda_ival::ival
                                                               BUFR data subset values. More...
                                                               
                                                              integer, dimension(:), allocatable moda_s01cm::ivmnem
                                                               Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units. More...
                                                               
                                                              integer, dimension(:), allocatable moda_comprx::iwid
                                                               Bit width of underlying data descriptor as defined within Table B for each data value. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bufrsr::jbay
                                                               BUFR message. More...
                                                               
                                                              integer moda_bufrsr::jbit
                                                               Bit pointer within BUFR message. More...
                                                               
                                                              integer moda_bufrsr::jbyt
                                                               Length (in bytes) of BUFR message. More...
                                                               
                                                              integer moda_bufrsr::jdat
                                                               Section 1 date-time of BUFR message. More...
                                                               
                                                              integer moda_bufrsr::jill
                                                               File status indicator of BUFR file. More...
                                                               
                                                              integer moda_bufrsr::jimm
                                                               Message status indicator of BUFR file. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::jmpb
                                                               Jump backward indices corresponding to tag and typ: More...
                                                               
                                                              integer moda_bufrsr::jmsg
                                                               Sequential number of BUFR message, counting from the beginning of the file. More...
                                                               
                                                              integer moda_bufrsr::jnod
                                                               Positional index of Table A mnemonic within internal Table A. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::jseq
                                                               Temporary storage used in expanding sequences. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bufrsr::jsr
                                                               Indicator of stack status when entering subroutine rewnbf(). More...
                                                               
                                                              integer moda_bufrsr::jsub
                                                               Sequential number of BUFR data subset, counting from the beginning of the current BUFR message. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::jump
                                                               Jump forward indices corresponding to tag and typ: More...
                                                               
                                                              integer moda_bufrsr::junn
                                                               Internal I/O stream index of BUFR file. More...
                                                               
                                                              integer, dimension(:), allocatable moda_comprx::kbit
                                                               Number of bits needed to hold the increments for this data value within each data subset of the message. More...
                                                               
                                                              integer moda_comprx::kbyt
                                                               Number of bytes required to store Sections 0, 1, 2, and 3 of message. More...
                                                               
                                                              integer(8), dimension(:), allocatable moda_comprx::kmax
                                                               Maximum of each data value across all data subsets in message. More...
                                                               
                                                              integer(8), dimension(:), allocatable moda_comprx::kmin
                                                               Minimum of each data value across all data subsets in message. More...
                                                               
                                                              logical, dimension(:), allocatable moda_comprx::kmis
                                                               "Missing" values flag. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::knt
                                                               Temporary storage used in calculating delayed replication counts. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::knti
                                                               Initialized replication counts corresponding to typ and jump: More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_nmikrp::krp
                                                               Replication counts corresponding to nem: More...
                                                               
                                                              integer moda_bufrsr::ksub
                                                               Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message. More...
                                                               
                                                              integer moda_msgmem::ldxm
                                                               Number of array elements filled within mdx (up to a maximum of MXDXW). More...
                                                               
                                                              integer moda_msgmem::ldxts
                                                               Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is currently in scope from the most recent call to subroutine rdmemm() or readmm(). More...
                                                               
                                                              logical moda_bitmaps::linbtm
                                                               true if a bitmap is in the process of being read for the current data subset; false otherwise. More...
                                                               
                                                              integer, dimension(:), allocatable moda_tables::link
                                                               Link indices corresponding to tag, typ and jmpb: More...
                                                               
                                                              integer moda_bitmaps::lstnod
                                                               Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding value type was either numeric or CCITT IA5. More...
                                                               
                                                              integer moda_bitmaps::lstnodct
                                                               Current count of consecutive occurrences of lstnod. More...
                                                               
                                                              integer, dimension(:), allocatable moda_h4wlc::luh4wlc
                                                               I/O stream index into internal arrays for associated output file. More...
                                                               
                                                              integer moda_comprx::lunc
                                                               I/O stream index into internal arrays for output file. More...
                                                               
                                                              integer, dimension(:), allocatable moda_ufbcpl::luncpy
                                                               Logical unit numbers used to copy long character strings between BUFR data subsets. More...
                                                               
                                                              integer, dimension(:), allocatable moda_lushr::lus
                                                               Tracking index for each I/O internal stream index. More...
                                                               
                                                              integer(8), dimension(:,:), allocatable moda_comprs::matx
                                                               Non-character data values for all data subsets in message. More...
                                                               
                                                              integer moda_bitbuf::maxbyt
                                                               Maximum length of an output BUFR message. More...
                                                               
                                                              integer moda_tables::maxtab
                                                               Maximum number of entries in the jump/link table; equivalent to MAXJL. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_bitbuf::mbay
                                                               Current BUFR message for each internal I/O stream. More...
                                                               
                                                              integer, dimension(:), allocatable moda_usrbit::mbit
                                                               Pointer in data subset to first bit of each packed data value. More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitbuf::mbyt
                                                               Length (in bytes) of current BUFR message for each internal I/O stream. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::mdx
                                                               DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs. More...
                                                               
                                                              integer, dimension(:), allocatable moda_mgwa::mgwa
                                                               Temporary working copy of BUFR message. More...
                                                               
                                                              integer, dimension(:), allocatable moda_mgwb::mgwb
                                                               Temporary working copy of BUFR message. More...
                                                               
                                                              integer moda_msgmem::mlast
                                                               Number of array elements filled within msgs (up to a maximum of MAXMEM). More...
                                                               
                                                              integer, dimension(:), allocatable moda_bufrmg::msglen
                                                               Length (in integers) of BUFR message most recently written to each output I/O stream. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msglim::msglim
                                                               Tracking index for each I/O stream index. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::msgp
                                                               Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array element 0 contains the actual number of messages stored within msgs). More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgmem::msgs
                                                               BUFR messages read from one or more BUFR files. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_bufrmg::msgtxt
                                                               BUFR message most recently written to each output I/O stream. More...
                                                               
                                                              integer, dimension(:), allocatable moda_unptyp::msgunp
                                                               Flag indicating how to unpack data subsets from BUFR message: More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgcwd::msub
                                                               Total number of data subsets in message. More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_tababd::mtab
                                                               Entries within jump/link table corresponding to taba. More...
                                                               
                                                              integer moda_msgmem::munit
                                                               Fortran logical unit number for use in accessing contents of BUFR files within internal memory. More...
                                                               
                                                              integer moda_msgmem::mxdxm
                                                               Maximum number of DX BUFR table messages that can be stored within mdx. More...
                                                               
                                                              integer moda_msgmem::mxdxw
                                                               Maximum number of entries that can be stored within mdx. More...
                                                               
                                                              integer, dimension(:), allocatable moda_usrbit::nbit
                                                               Length (in bits) of each packed data value in data subset. More...
                                                               
                                                              integer moda_bitmaps::nbtm
                                                               Number of stored bitmaps for the current data subset (up to a maximum of MXBTM). More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitmaps::nbtmse
                                                               Number of "set" entries (set to a value of 0) in the bitmap. More...
                                                               
                                                              integer moda_dscach::ncnem
                                                               Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM). More...
                                                               
                                                              integer moda_comprs::ncol
                                                               Number of data subsets in message. More...
                                                               
                                                              integer, dimension(mxcnem) moda_dscach::ndc
                                                               Number of child descriptors for the corresponding Table A mnemonic in cnem. More...
                                                               
                                                              integer, dimension(:), allocatable moda_mstabs::ndelem
                                                               Numbers of child descriptors corresponding to idfxyn. More...
                                                               
                                                              integer moda_msgmem::ndxm
                                                               Number of DX BUFR table messages stored within mdx (up to a maximum of MXDXM). More...
                                                               
                                                              integer moda_msgmem::ndxts
                                                               Number of DX BUFR tables represented by the messages within mdx (up to a maximum of MXDXTS). More...
                                                               
                                                              character *8, dimension(:,:), allocatable moda_nmikrp::nem
                                                               Child mnemonics within Table D sequences. More...
                                                               
                                                              integer moda_h4wlc::nh4wlc
                                                               Number of long character strings being stored. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgcwd::nmsg
                                                               Current message pointer within logical unit. More...
                                                               
                                                              integer moda_mstabs::nmtb
                                                               Number of master Table B entries (up to a maximum of MXMTBB). More...
                                                               
                                                              integer moda_mstabs::nmtd
                                                               Number of master Table D entries (up to a maximum of MXMTBD). More...
                                                               
                                                              integer moda_nrv203::nnrv
                                                               Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV). More...
                                                               
                                                              integer, dimension(:,:), allocatable moda_usrint::nrfelm
                                                               Referenced data value, for data values which refer to a previous data value in the BUFR data subset via an internal bitmap. More...
                                                               
                                                              integer moda_comprx::nrow
                                                               Number of data values for each data subset in message. More...
                                                               
                                                              integer moda_rlccmn::nrst
                                                               Number of long character strings in data subset. More...
                                                               
                                                              integer *8, dimension(:), allocatable moda_nrv203::nrv
                                                               New reference values corresponding to inodnrv. More...
                                                               
                                                              integer moda_s01cm::ns01v = 0
                                                               Number of custom values stored. More...
                                                               
                                                              integer, dimension(:), allocatable moda_msgcwd::nsub
                                                               Current subset pointer within message. More...
                                                               
                                                              integer moda_tables::ntab
                                                               Number of entries in the jump/link table. More...
                                                               
                                                              integer moda_bitmaps::ntamc
                                                               Number of Table A mnemonics in jump/link table (up to a maximum of MXTAMC) which contain at least one Table C operator with an XX value of 21 or greater in their data subset definition; only Table C operators with an XX value of 21 or greater are tracked within this module, since all others are automatically processed within subroutines tabsub() and tabent(). More...
                                                               
                                                              integer, dimension(:), allocatable moda_tababd::ntba
                                                               Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable moda_tababd::ntbb
                                                               Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable moda_tababd::ntbd
                                                               Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable moda_bitmaps::ntco
                                                               Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of the corresponding Table A mnemonic in inodtamc. More...
                                                               
                                                              integer, dimension(:), allocatable moda_nulbfr::null
                                                               Output switch for each internal I/O stream index: More...
                                                               
                                                              integer, dimension(:), allocatable moda_usrint::nval
                                                               Number of data values in BUFR data subset. More...
                                                               
                                                              character *14, dimension(:), allocatable moda_h4wlc::sth4wlc
                                                               Table B mnemonics associated with long character strings. More...
                                                               
                                                              character *128, dimension(:,:), allocatable moda_tababd::taba
                                                               Table A entries for each internal I/O stream. More...
                                                               
                                                              character *128, dimension(:,:), allocatable moda_tababd::tabb
                                                               Table B entries for each internal I/O stream. More...
                                                               
                                                              character *600, dimension(:,:), allocatable moda_tababd::tabd
                                                               Table D entries for each internal I/O stream. More...
                                                               
                                                              character *10, dimension(:), allocatable moda_tables::tag
                                                               Mnemonics in the jump/link table. More...
                                                               
                                                              character *8, dimension(:), allocatable moda_nrv203::tagnrv
                                                               Table B mnemonic to which the corresponding new reference value in nrv applies. More...
                                                               
                                                              character *8, dimension(:), allocatable moda_sc3bfr::tamnem
                                                               Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream. More...
                                                               
                                                              character *10, dimension(:), allocatable moda_ivttmp::ttmp
                                                               tag array elements for new sections of a growing subset buffer. More...
                                                               
                                                              character *3, dimension(:), allocatable moda_tables::typ
                                                               Type indicators corresponding to tag: More...
                                                               
                                                              real *8, dimension(:,:), allocatable, target moda_usrint::val
                                                               Data values. More...
                                                               
                                                              real *8, dimension(:), allocatable moda_tables::vali
                                                               Initialized data values corresponding to typ: More...
                                                               
                                                              real *8, dimension(:), allocatable moda_ivttmp::vtmp
                                                               val array elements for new sections of a growing subset buffer. More...
                                                               
                                                              real *8, dimension(:,:), allocatable moda_usrtmp::vutmp
                                                               val array elements for new sections of a growing subset buffer. More...
                                                               
                                                              logical moda_comprx::writ1
                                                               Write-out flag. More...
                                                               
                                                              logical, dimension(:), allocatable moda_xtab::xtab
                                                               Tracking index for each internal I/O stream index. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Declare module arrays.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-02-10
                                                              + +

                                                              Definition in file modules_arrs.F90.

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/modules__arrs_8F90.js b/previous_versions/v12.0.1/modules__arrs_8F90.js new file mode 100644 index 000000000..e33176237 --- /dev/null +++ b/previous_versions/v12.0.1/modules__arrs_8F90.js @@ -0,0 +1,167 @@ +var modules__arrs_8F90 = +[ + [ "catx", "modules__arrs_8F90.html#a94ea2c3cfc88079d837ac29324d61937", null ], + [ "cbbw", "modules__arrs_8F90.html#a31164f84ab9d27493a19afee2fda502a", null ], + [ "cbelem", "modules__arrs_8F90.html#aa842e38ba6243a4ff1ab1e56404c2cb7", null ], + [ "cbmnem", "modules__arrs_8F90.html#a4c761088ff4243b661ec78773c07adaa", null ], + [ "cbscl", "modules__arrs_8F90.html#aab2cc4c7c57e7c7d111f49187aff44ea", null ], + [ "cbsref", "modules__arrs_8F90.html#ac34001b0c39f1c7b156214adaf3381d0", null ], + [ "cbunit", "modules__arrs_8F90.html#a0ccfcc43067ef6debce2218ad50abb0b", null ], + [ "cdmnem", "modules__arrs_8F90.html#ab2e77035e8e8a5f8e6a2f544279ab168", null ], + [ "cdseq", "modules__arrs_8F90.html#a37a325646f12fe6d0dd3ae3c341f20d7", null ], + [ "ceelem", "modules__arrs_8F90.html#a1152389e5fc9eadddbea89bd76abc653", null ], + [ "chh4wlc", "modules__arrs_8F90.html#afbc0cd7c0f91147bca16c7fd909a0d75", null ], + [ "cmdscb", "modules__arrs_8F90.html#a21983afeacfaf7e7755271343aca9055", null ], + [ "cmdscd", "modules__arrs_8F90.html#ab8fe0a01ea7ba06916fd450273c1c38f", null ], + [ "cmnem", "modules__arrs_8F90.html#ab7e403dca694be4ae4d4c3803e7bc4c7", null ], + [ "cnem", "modules__arrs_8F90.html#a0ba1605c1f5ecd4655b010b52dab6c2a", null ], + [ "crtag", "modules__arrs_8F90.html#acaa72aa1ab54d9a7a82f83e58c8aeed1", null ], + [ "cstr", "modules__arrs_8F90.html#a07c74b931e7ddbba553f8391b8e24aaf", null ], + [ "ctco", "modules__arrs_8F90.html#adbe38c29980443a65ff0bb0cfa1bb753", null ], + [ "flush", "modules__arrs_8F90.html#a47438a5eff5e61065fce0dc3df1694a7", null ], + [ "ibay", "modules__arrs_8F90.html#a4910f483014af612d37ea34a1f477434", null ], + [ "ibfxyn", "modules__arrs_8F90.html#af0d2b78411b01dc1aabe9baf6c946b38", null ], + [ "ibit", "modules__arrs_8F90.html#a8c052fc732472f6f329209ac2db75cf9", null ], + [ "ibt", "modules__arrs_8F90.html#a1ff254e3c0f169340a16225a17c5a2c2", null ], + [ "ibtmse", "modules__arrs_8F90.html#ab3096b8b9d713e5183ac8275305e002a", null ], + [ "ibtnrv", "modules__arrs_8F90.html#af1ca5281543dc4ce645d861f7f744c6d", null ], + [ "icdxts", "modules__arrs_8F90.html#a52a37b6bcc7ed3492325f47e1f8018ab", null ], + [ "idate", "modules__arrs_8F90.html#a37df9d6a60023612be784db0b759da3b", null ], + [ "idcach", "modules__arrs_8F90.html#a7d18bfabd11b41f2510a9bdd180976d3", null ], + [ "idefxy", "modules__arrs_8F90.html#aeabc918978c598efc0231fc59d2bfd24", null ], + [ "idfxyn", "modules__arrs_8F90.html#a089cf80d582ff75c6596063d0ed8c049", null ], + [ "idna", "modules__arrs_8F90.html#a6e28d53baf8dce1d6a5c4b91546cfcca", null ], + [ "idnb", "modules__arrs_8F90.html#ab09abac79a48acf677cf36764ffe5db5", null ], + [ "idnd", "modules__arrs_8F90.html#a9e14841d9a084410d3ee7d5d08d3bf5e", null ], + [ "idrdm", "modules__arrs_8F90.html#a24e12e5c288360f0e7e6483094773db6", null ], + [ "iefxyn", "modules__arrs_8F90.html#ab26bcc9dccfa0b250af20392755adf93", null ], + [ "ienrv", "modules__arrs_8F90.html#a2784f03b6c19452c601b1377a3ed59a1", null ], + [ "ifdxts", "modules__arrs_8F90.html#a55020aca1118bb6f09f8b3d1f68a5c74", null ], + [ "incr", "modules__arrs_8F90.html#a5a26b3bab3a4964256b56ff2a1522b27", null ], + [ "inode", "modules__arrs_8F90.html#a034d50224d3416c855472ead1043b1aa", null ], + [ "inodnrv", "modules__arrs_8F90.html#ad4299c9b916b83272f07cba8d2d22d4f", null ], + [ "inodtamc", "modules__arrs_8F90.html#a6ab1ee23535fd8b352c4f5d863a1c458", null ], + [ "inodtco", "modules__arrs_8F90.html#a481c60320ac88f9d5b5d85d1af3a60cf", null ], + [ "inv", "modules__arrs_8F90.html#a7e27d4bdf5a372fd7dac8ede033f969e", null ], + [ "iolun", "modules__arrs_8F90.html#aa6ed42f02eb5933c83e7acf1422b8d99", null ], + [ "iomsg", "modules__arrs_8F90.html#ac23d0e71777440374b51773ab34d31c7", null ], + [ "ipdxm", "modules__arrs_8F90.html#af55ccb71d40a6980f3e18dee2ea3a9db", null ], + [ "ipfnrv", "modules__arrs_8F90.html#aadd51c4f00c0c4a12b922aace0ed04f7", null ], + [ "ipmsgs", "modules__arrs_8F90.html#a07ee8cbf949167ffea7e2ac9ceddd536", null ], + [ "irbit", "modules__arrs_8F90.html#a90cc348c7156330efc75a45e5e5860ca", null ], + [ "irf", "modules__arrs_8F90.html#a17c04e8d3d8d361463e3f2fc0b3dd599", null ], + [ "irnch", "modules__arrs_8F90.html#a76b8845911215f91b5a91128facb7cbd", null ], + [ "irp", "modules__arrs_8F90.html#a6e3f292bfc1ab7b63b783bdf0266c812", null ], + [ "isc", "modules__arrs_8F90.html#a1c370e229cc62002283ca2462296273e", null ], + [ "isc3", "modules__arrs_8F90.html#ac3bbd45f25c8071e161bf7898230695a", null ], + [ "iscodes", "modules__arrs_8F90.html#a81b647a972ded879adf10cb98bfaab2e", null ], + [ "iseq", "modules__arrs_8F90.html#a18e681f9bedbaadf3526641e19598901", null ], + [ "isnrv", "modules__arrs_8F90.html#a61eaac2cb0e3dd6de4d02e9986cab602", null ], + [ "istbtm", "modules__arrs_8F90.html#a5a7267a967fec712c56a680893698965", null ], + [ "iszbtm", "modules__arrs_8F90.html#a2648b6b58fd6cf4c983b5c4c23b29574", null ], + [ "itmp", "modules__arrs_8F90.html#af59d63e63df8f925e55a922d70a37785", null ], + [ "itp", "modules__arrs_8F90.html#ab12171885e93720ae2716b4b1ecae251", null ], + [ "ityp", "modules__arrs_8F90.html#a8ecc5d87d79c8c3aa778665041bcb522", null ], + [ "iutmp", "modules__arrs_8F90.html#a77349b5f0a6f8916850dcb253aee1f30", null ], + [ "ival", "modules__arrs_8F90.html#a5b960a10512f7450b54e1b728770bd58", null ], + [ "ivmnem", "modules__arrs_8F90.html#a320a25005a0063e8a0713fc66973b655", null ], + [ "iwid", "modules__arrs_8F90.html#aa945d27bc1c5cf32ea5ba624ef289808", null ], + [ "jbay", "modules__arrs_8F90.html#adff426f406bb1f795e94c0af6d68d856", null ], + [ "jbit", "modules__arrs_8F90.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08", null ], + [ "jbyt", "modules__arrs_8F90.html#ab23685bcce40ee0d9f71f881bdfa0d07", null ], + [ "jdat", "modules__arrs_8F90.html#a6ed2bbddb1fe31a67e91755a97327a47", null ], + [ "jill", "modules__arrs_8F90.html#a157bb0cb25913753748822ce3c384b06", null ], + [ "jimm", "modules__arrs_8F90.html#a225d75cc454938f8da4ed39857ff2c5c", null ], + [ "jmpb", "modules__arrs_8F90.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb", null ], + [ "jmsg", "modules__arrs_8F90.html#a4971d723fe9c86ed7741f7cfae61f2f0", null ], + [ "jnod", "modules__arrs_8F90.html#a80378e3ec74ac01799783b12a2d93218", null ], + [ "jseq", "modules__arrs_8F90.html#a0b8b25c6365505c5045ab473f54e03f6", null ], + [ "jsr", "modules__arrs_8F90.html#a38470e8cca9ad2afce56dd577ddd5b51", null ], + [ "jsub", "modules__arrs_8F90.html#a821fcf75cf865aaebdba3527d04190e0", null ], + [ "jump", "modules__arrs_8F90.html#a945fc956c1c6ba8c37bfe63c04837b36", null ], + [ "junn", "modules__arrs_8F90.html#a9ec76b10297b2e9521682a1e2014370d", null ], + [ "kbit", "modules__arrs_8F90.html#ad9b27559a7e05f9939764fa6688d7147", null ], + [ "kbyt", "modules__arrs_8F90.html#a243a2baa283f951be51ea9466cca35b8", null ], + [ "kmax", "modules__arrs_8F90.html#a1ffd4baa8c4d960216a59e8c900c6a71", null ], + [ "kmin", "modules__arrs_8F90.html#ad51ebce67c88b36c4ad4a07ee1a49732", null ], + [ "kmis", "modules__arrs_8F90.html#aedf59ef218e980c24d128aa7bc8884b1", null ], + [ "knt", "modules__arrs_8F90.html#a28b0f02b81a535890fc64ec13fdfc35b", null ], + [ "knti", "modules__arrs_8F90.html#af5a5b5688cbfbea4a3d5d0705172fba3", null ], + [ "krp", "modules__arrs_8F90.html#a547378be8180b17844161916eca1e876", null ], + [ "ksub", "modules__arrs_8F90.html#ab0dfe362eac51af76fd38ba7ecd3bbc6", null ], + [ "ldxm", "modules__arrs_8F90.html#a79bdd90460fa467a8e9130089d7963a5", null ], + [ "ldxts", "modules__arrs_8F90.html#aa92c2a9b9faf87958775d45a00ee866f", null ], + [ "linbtm", "modules__arrs_8F90.html#acd6cd1e5190bdc17381e81624a7e2e80", null ], + [ "link", "modules__arrs_8F90.html#ac0c5953da2d8867d81acad1800fec53c", null ], + [ "lstnod", "modules__arrs_8F90.html#a352a33aaf989dcaab7646f86aa41e27d", null ], + [ "lstnodct", "modules__arrs_8F90.html#accaa0826b48e876c29f6bb8ebe21c83e", null ], + [ "luh4wlc", "modules__arrs_8F90.html#aec0b91e9c09fffd506b27ea574b7da71", null ], + [ "lunc", "modules__arrs_8F90.html#ac17dd8dc0aeb695a1046a884673b1fc3", null ], + [ "luncpy", "modules__arrs_8F90.html#abf94758379c91be61fcf18f6c9dae5cf", null ], + [ "lus", "modules__arrs_8F90.html#a3baea9191da6d91a8590cba5181493a6", null ], + [ "matx", "modules__arrs_8F90.html#a7797aca7884ff0e46979d4a5c120a576", null ], + [ "maxbyt", "modules__arrs_8F90.html#aeb00e574adb63bf7cc809d540d5a02bc", null ], + [ "maxtab", "modules__arrs_8F90.html#a36137a9a943b036fa381924821caf8e2", null ], + [ "mbay", "modules__arrs_8F90.html#aad8a1595878ac1a9907c708067c4c050", null ], + [ "mbit", "modules__arrs_8F90.html#ab5ade5e51c2620a6e6be9cad890baf7a", null ], + [ "mbyt", "modules__arrs_8F90.html#acfcd2b4391b00ae43bdb026de8573c7a", null ], + [ "mdx", "modules__arrs_8F90.html#ab991cce44554fb17b1c1cd0474929a94", null ], + [ "mgwa", "modules__arrs_8F90.html#abe572c04d3aa498e8135d20e656d0e6a", null ], + [ "mgwb", "modules__arrs_8F90.html#ac38651460e5e05dd70fe8c19fc1a9caa", null ], + [ "mlast", "modules__arrs_8F90.html#a9905d8bc2ddc7681086ea0319442d0d9", null ], + [ "msglen", "modules__arrs_8F90.html#a2514f74da635c6ba7047ec108ce4e211", null ], + [ "msglim", "modules__arrs_8F90.html#abe63e3ddf9a739b073e8dd5b01460ddf", null ], + [ "msgp", "modules__arrs_8F90.html#a030ff35af84549af17fe0b0e4315ebf2", null ], + [ "msgs", "modules__arrs_8F90.html#a0db33f8017f2c46947f0a5589ba98227", null ], + [ "msgtxt", "modules__arrs_8F90.html#a67590bc418c6aeb7792572c11a6bc793", null ], + [ "msgunp", "modules__arrs_8F90.html#abc7e7be12befacea858a7f249c9425ca", null ], + [ "msub", "modules__arrs_8F90.html#aaf25479459e35ef12ce20eecfc632295", null ], + [ "mtab", "modules__arrs_8F90.html#a29788f9aef200e10d2f557c16abfaa56", null ], + [ "munit", "modules__arrs_8F90.html#a5ac2ef8f11fcf81b55a5353dbfda18cc", null ], + [ "mxdxm", "modules__arrs_8F90.html#a549e012729bbc3cb18894d34380ce5bd", null ], + [ "mxdxw", "modules__arrs_8F90.html#af2710ff69575fa7a323c654e7998e142", null ], + [ "nbit", "modules__arrs_8F90.html#a99268fc2b9168fcbbd5f8ab70e6da0b7", null ], + [ "nbtm", "modules__arrs_8F90.html#a6530eb70f0a9131f659c61a74652c93d", null ], + [ "nbtmse", "modules__arrs_8F90.html#ad03b1bbbb4eb8366a77af6da12f0793c", null ], + [ "ncnem", "modules__arrs_8F90.html#aa768890377f016eaae82cb56404ecdc6", null ], + [ "ncol", "modules__arrs_8F90.html#a0bab4a779995493580b46f231516e133", null ], + [ "ndc", "modules__arrs_8F90.html#af3bfb995ad7362f75b23ef21cc384e3c", null ], + [ "ndelem", "modules__arrs_8F90.html#a5f77a3f33df1fc46f007160428b674d1", null ], + [ "ndxm", "modules__arrs_8F90.html#a6e754cd1cdefe0c8c93ab497fcb33637", null ], + [ "ndxts", "modules__arrs_8F90.html#ab1873371ca3b5f3e44a5d19ebf30af23", null ], + [ "nem", "modules__arrs_8F90.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3", null ], + [ "nh4wlc", "modules__arrs_8F90.html#a013b7b1f0e72002222c0ee2ae5a3dcac", null ], + [ "nmsg", "modules__arrs_8F90.html#a43a1031d5c017c6f61ba6deabe22daad", null ], + [ "nmtb", "modules__arrs_8F90.html#a2861db4fcd6083b5f6d194c92e873c95", null ], + [ "nmtd", "modules__arrs_8F90.html#ae8e13371b82ad223284aeac9d6ad9aae", null ], + [ "nnrv", "modules__arrs_8F90.html#a7f37665c0422638e65824c8b9183169e", null ], + [ "nrfelm", "modules__arrs_8F90.html#ab05877244c7131b445de4326efd8aa8a", null ], + [ "nrow", "modules__arrs_8F90.html#a574b3c666f5e8aa725910e20a739f561", null ], + [ "nrst", "modules__arrs_8F90.html#a6ee3ae8f4cfb91d15189834b8b62d41f", null ], + [ "nrv", "modules__arrs_8F90.html#a9c4d7ff754fd79feb908c6858f7e4e5f", null ], + [ "ns01v", "modules__arrs_8F90.html#a7dfdd248050c7cc36f38933711526888", null ], + [ "nsub", "modules__arrs_8F90.html#ac477545b5d44685da84af7f23d7baa59", null ], + [ "ntab", "modules__arrs_8F90.html#a74976394b2b70036d27222507ba4bfcc", null ], + [ "ntamc", "modules__arrs_8F90.html#a4dfbf13c3d38b007276cb0f5c5418396", null ], + [ "ntba", "modules__arrs_8F90.html#a02ea2421e524ac9f2f8e213dd0151558", null ], + [ "ntbb", "modules__arrs_8F90.html#a8f322e3d7724bb96f7ce06beec989c0f", null ], + [ "ntbd", "modules__arrs_8F90.html#a875c0ff90cd5fdc88e3f10ae7b5bc556", null ], + [ "ntco", "modules__arrs_8F90.html#aef82673973ab814f34658d9a1e5f3404", null ], + [ "null", "modules__arrs_8F90.html#a1b6c0eaf2305df7abddd8c6c66723526", null ], + [ "nval", "modules__arrs_8F90.html#a2269ddd572fded029ca62080b38f6261", null ], + [ "sth4wlc", "modules__arrs_8F90.html#a25deca91911dc2223155e55c8b47f889", null ], + [ "taba", "modules__arrs_8F90.html#a21f38471f40c0eaecdf011d5b594de65", null ], + [ "tabb", "modules__arrs_8F90.html#ad3fddde254d512cae401fc3f5532fe7c", null ], + [ "tabd", "modules__arrs_8F90.html#a043c64825f8bdb44c4e6b69d2f5c253c", null ], + [ "tag", "modules__arrs_8F90.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4", null ], + [ "tagnrv", "modules__arrs_8F90.html#a5f80cd868154c06f202e5886d40750de", null ], + [ "tamnem", "modules__arrs_8F90.html#aa480a82940946343d0d30d8f65c27584", null ], + [ "ttmp", "modules__arrs_8F90.html#a126e6cfde8da74741042004b33f48a9e", null ], + [ "typ", "modules__arrs_8F90.html#a4ff0c6b9328407caa52c08dd22d7525c", null ], + [ "val", "modules__arrs_8F90.html#a7ad9ef51fc135aad9fcecba2a636f486", null ], + [ "vali", "modules__arrs_8F90.html#a2a706219ab0edde0511570bfa32093ed", null ], + [ "vtmp", "modules__arrs_8F90.html#ad4937a8d8159f5b7fff9d51b59c6324b", null ], + [ "vutmp", "modules__arrs_8F90.html#afcc556a5fac9b693f0be507fafccf973", null ], + [ "writ1", "modules__arrs_8F90.html#a8be10a997d67944a328d256bfc60bf02", null ], + [ "xtab", "modules__arrs_8F90.html#ada2721216de79b6527d89323df61956d", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/modules__arrs_8F90_source.html b/previous_versions/v12.0.1/modules__arrs_8F90_source.html new file mode 100644 index 000000000..97a533996 --- /dev/null +++ b/previous_versions/v12.0.1/modules__arrs_8F90_source.html @@ -0,0 +1,577 @@ + + + + + + + +NCEPLIBS-bufr: modules_arrs.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              modules_arrs.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              + +
                                                              12  integer :: maxbyt
                                                              +
                                                              14  integer :: ibit
                                                              +
                                                              16  integer, allocatable :: ibay(:)
                                                              +
                                                              18  integer, allocatable :: mbyt(:)
                                                              +
                                                              20  integer, allocatable :: mbay(:,:)
                                                              +
                                                              21 end module moda_bitbuf
                                                              +
                                                              22 
                                                              + +
                                                              33  integer :: nbtm
                                                              +
                                                              40  integer :: ntamc
                                                              +
                                                              44  integer :: lstnod
                                                              +
                                                              46  integer :: lstnodct
                                                              +
                                                              49  logical :: linbtm
                                                              +
                                                              51  integer, allocatable :: inodtamc(:)
                                                              +
                                                              55  integer, allocatable :: ntco(:)
                                                              +
                                                              57  character*6, allocatable :: ctco(:,:)
                                                              +
                                                              59  integer, allocatable :: inodtco(:,:)
                                                              +
                                                              61  integer, allocatable :: nbtmse(:)
                                                              +
                                                              64  integer, allocatable :: istbtm(:)
                                                              +
                                                              67  integer, allocatable :: iszbtm(:)
                                                              +
                                                              71  integer, allocatable :: ibtmse(:,:)
                                                              +
                                                              72 end module moda_bitmaps
                                                              +
                                                              73 
                                                              + +
                                                              83  integer, allocatable :: msglen(:)
                                                              +
                                                              85  integer, allocatable :: msgtxt(:,:)
                                                              +
                                                              86 end module moda_bufrmg
                                                              +
                                                              87 
                                                              + +
                                                              99  integer :: junn
                                                              +
                                                              101  integer :: jill
                                                              +
                                                              103  integer :: jimm
                                                              +
                                                              105  integer :: jbit
                                                              +
                                                              107  integer :: jbyt
                                                              +
                                                              110  integer :: jmsg
                                                              +
                                                              113  integer :: jsub
                                                              +
                                                              116  integer :: ksub
                                                              +
                                                              118  integer :: jnod
                                                              +
                                                              120  integer :: jdat
                                                              +
                                                              122  integer, allocatable :: jsr(:)
                                                              +
                                                              124  integer, allocatable :: jbay(:)
                                                              +
                                                              125 end module moda_bufrsr
                                                              +
                                                              126 
                                                              + +
                                                              137  integer :: ncol
                                                              +
                                                              139  integer(8) :: incr
                                                              +
                                                              141  integer(8), allocatable :: matx(:,:)
                                                              +
                                                              143  character*(:), allocatable :: catx(:,:)
                                                              +
                                                              144 end module moda_comprs
                                                              +
                                                              145 
                                                              + +
                                                              156  integer :: nrow
                                                              +
                                                              158  integer :: lunc
                                                              +
                                                              160  integer :: kbyt
                                                              +
                                                              165  logical :: flush
                                                              +
                                                              168  logical :: writ1
                                                              +
                                                              170  integer(8), allocatable :: kmin(:)
                                                              +
                                                              172  integer(8), allocatable :: kmax(:)
                                                              +
                                                              176  logical, allocatable :: kmis(:)
                                                              +
                                                              179  integer, allocatable :: kbit(:)
                                                              +
                                                              184  integer, allocatable :: ityp(:)
                                                              +
                                                              187  integer, allocatable :: iwid(:)
                                                              +
                                                              189  character*(:), allocatable :: cstr(:)
                                                              +
                                                              190 end module moda_comprx
                                                              +
                                                              191 
                                                              + +
                                                              201  use modv_maxnc
                                                              +
                                                              202  use modv_mxcnem
                                                              +
                                                              205  integer :: ncnem
                                                              +
                                                              207  character*8 :: cnem(mxcnem)
                                                              +
                                                              210  integer :: ndc(mxcnem)
                                                              +
                                                              213  integer :: idcach(mxcnem,maxnc)
                                                              +
                                                              214 end module moda_dscach
                                                              +
                                                              215 
                                                              + +
                                                              224  use modv_mxh4wlc
                                                              +
                                                              226  integer :: nh4wlc
                                                              +
                                                              228  integer, allocatable :: luh4wlc(:)
                                                              +
                                                              230  character*14, allocatable :: sth4wlc(:)
                                                              +
                                                              232  character*120, allocatable :: chh4wlc(:)
                                                              +
                                                              233 end module moda_h4wlc
                                                              +
                                                              234 
                                                              + +
                                                              246  integer, allocatable :: idrdm(:)
                                                              +
                                                              247 end module moda_idrdm
                                                              +
                                                              248 
                                                              +
                                                              255 module moda_ival
                                                              +
                                                              257  integer(8), allocatable :: ival(:)
                                                              +
                                                              258 end module moda_ival
                                                              +
                                                              259 
                                                              + +
                                                              269  character*10, allocatable :: ttmp(:)
                                                              +
                                                              271  integer, allocatable :: itmp(:)
                                                              +
                                                              273  real*8, allocatable :: vtmp(:)
                                                              +
                                                              274 end module moda_ivttmp
                                                              +
                                                              275 
                                                              + +
                                                              286  integer, allocatable :: lus(:)
                                                              +
                                                              287 end module moda_lushr
                                                              +
                                                              288 
                                                              +
                                                              294 module moda_mgwa
                                                              +
                                                              296  integer, allocatable :: mgwa(:)
                                                              +
                                                              297 end module moda_mgwa
                                                              +
                                                              298 
                                                              +
                                                              304 module moda_mgwb
                                                              +
                                                              306  integer, allocatable :: mgwb(:)
                                                              +
                                                              307 end module moda_mgwb
                                                              +
                                                              308 
                                                              + +
                                                              317  integer, allocatable :: nmsg(:)
                                                              +
                                                              319  integer, allocatable :: nsub(:)
                                                              +
                                                              321  integer, allocatable :: msub(:)
                                                              +
                                                              323  integer, allocatable :: inode(:)
                                                              +
                                                              325  integer, allocatable :: idate(:)
                                                              +
                                                              326 end module moda_msgcwd
                                                              +
                                                              327 
                                                              + +
                                                              343  integer, allocatable :: msglim(:)
                                                              +
                                                              344 end module moda_msglim
                                                              +
                                                              345 
                                                              + +
                                                              355  integer :: munit
                                                              +
                                                              357  integer :: mlast
                                                              +
                                                              359  integer :: ldxm
                                                              +
                                                              362  integer :: ndxm
                                                              +
                                                              366  integer :: ldxts
                                                              +
                                                              369  integer :: ndxts
                                                              +
                                                              371  integer :: mxdxm
                                                              +
                                                              373  integer :: mxdxw
                                                              +
                                                              377  integer, allocatable :: msgp(:)
                                                              +
                                                              379  integer, allocatable :: msgs(:)
                                                              +
                                                              382  integer, allocatable :: mdx(:)
                                                              +
                                                              384  integer, allocatable :: ipdxm(:)
                                                              +
                                                              386  integer, allocatable :: ifdxts(:)
                                                              +
                                                              389  integer, allocatable :: icdxts(:)
                                                              +
                                                              391  integer, allocatable :: ipmsgs(:)
                                                              +
                                                              392 end module moda_msgmem
                                                              +
                                                              393 
                                                              + +
                                                              402  integer :: nmtb
                                                              +
                                                              404  integer :: nmtd
                                                              +
                                                              406  integer, allocatable :: ibfxyn(:)
                                                              +
                                                              408  character, allocatable :: cbscl(:,:)
                                                              +
                                                              410  character, allocatable :: cbsref(:,:)
                                                              +
                                                              412  character, allocatable :: cbbw(:,:)
                                                              +
                                                              414  character, allocatable :: cbunit(:,:)
                                                              +
                                                              416  character, allocatable :: cbmnem(:,:)
                                                              +
                                                              418  character, allocatable :: cbelem(:,:)
                                                              +
                                                              420  integer, allocatable :: idfxyn(:)
                                                              +
                                                              422  character, allocatable :: cdseq(:,:)
                                                              +
                                                              424  character, allocatable :: cdmnem(:,:)
                                                              +
                                                              426  integer, allocatable :: ndelem(:)
                                                              +
                                                              428  integer, allocatable :: idefxy(:)
                                                              +
                                                              429 end module moda_mstabs
                                                              +
                                                              430 
                                                              + +
                                                              438  character*8, allocatable :: nem(:,:)
                                                              +
                                                              446  integer, allocatable :: irp(:,:)
                                                              +
                                                              451  integer, allocatable :: krp(:,:)
                                                              +
                                                              452 end module moda_nmikrp
                                                              +
                                                              453 
                                                              + +
                                                              464  integer :: nnrv
                                                              +
                                                              468  integer :: ibtnrv
                                                              +
                                                              473  integer :: ipfnrv
                                                              +
                                                              476  character*8, allocatable :: tagnrv(:)
                                                              +
                                                              478  integer, allocatable :: inodnrv(:)
                                                              +
                                                              480  integer*8, allocatable :: nrv(:)
                                                              +
                                                              484  integer, allocatable :: isnrv(:)
                                                              +
                                                              488  integer, allocatable :: ienrv(:)
                                                              +
                                                              489 end module moda_nrv203
                                                              +
                                                              490 
                                                              + +
                                                              511  integer, allocatable :: null(:)
                                                              +
                                                              512 end module moda_nulbfr
                                                              +
                                                              513 
                                                              + +
                                                              522  integer, allocatable :: iefxyn(:,:)
                                                              +
                                                              524  character*4, allocatable :: cmdscb(:)
                                                              +
                                                              526  character*4, allocatable :: cmdscd(:)
                                                              +
                                                              528  character*120, allocatable :: ceelem(:,:)
                                                              +
                                                              529 end module moda_rdmtb
                                                              +
                                                              530 
                                                              + +
                                                              539  integer :: nrst
                                                              +
                                                              541  integer, allocatable :: irnch(:)
                                                              +
                                                              543  integer, allocatable :: irbit(:)
                                                              +
                                                              545  character*10, allocatable :: crtag(:)
                                                              +
                                                              546 end module moda_rlccmn
                                                              +
                                                              547 
                                                              + +
                                                              558  integer, allocatable :: ivmnem(:)
                                                              +
                                                              560  character*8, allocatable :: cmnem(:)
                                                              +
                                                              562  integer :: ns01v = 0
                                                              +
                                                              563 end module moda_s01cm
                                                              +
                                                              564 
                                                              + +
                                                              584  integer, allocatable :: isc3(:)
                                                              +
                                                              587  character*8, allocatable :: tamnem(:)
                                                              +
                                                              588 end module moda_sc3bfr
                                                              +
                                                              589 
                                                              + +
                                                              602  integer, allocatable :: iolun(:)
                                                              +
                                                              607  integer, allocatable :: iomsg(:)
                                                              +
                                                              608 end module moda_stbfr
                                                              +
                                                              609 
                                                              + +
                                                              621  integer, allocatable :: iscodes(:)
                                                              +
                                                              622 end module moda_stcode
                                                              +
                                                              623 
                                                              + +
                                                              631  integer, allocatable :: ntba(:)
                                                              +
                                                              634  integer, allocatable :: ntbb(:)
                                                              +
                                                              637  integer, allocatable :: ntbd(:)
                                                              +
                                                              639  integer, allocatable :: mtab(:,:)
                                                              +
                                                              642  integer, allocatable :: idna(:,:,:)
                                                              +
                                                              644  Integer, allocatable :: idnb(:,:)
                                                              +
                                                              646  integer, allocatable :: idnd(:,:)
                                                              +
                                                              648  character*128, allocatable :: taba(:,:)
                                                              +
                                                              650  character*128, allocatable :: tabb(:,:)
                                                              +
                                                              652  character*600, allocatable :: tabd(:,:)
                                                              +
                                                              653 end module moda_tababd
                                                              +
                                                              654 
                                                              + +
                                                              664  integer :: maxtab
                                                              +
                                                              666  integer :: ntab
                                                              +
                                                              668  character*10, allocatable :: tag(:)
                                                              +
                                                              683  character*3, allocatable :: typ(:)
                                                              +
                                                              685  integer, allocatable :: knt(:)
                                                              +
                                                              692  integer, allocatable :: jump(:)
                                                              +
                                                              699  integer, allocatable :: link(:)
                                                              +
                                                              706  integer, allocatable :: jmpb(:)
                                                              +
                                                              710  integer, allocatable :: ibt(:)
                                                              +
                                                              716  integer, allocatable :: irf(:)
                                                              +
                                                              722  integer, allocatable :: isc(:)
                                                              +
                                                              728  integer, allocatable :: itp(:)
                                                              +
                                                              732  real*8, allocatable :: vali(:)
                                                              +
                                                              738  integer, allocatable :: knti(:)
                                                              +
                                                              740  integer, allocatable :: iseq(:,:)
                                                              +
                                                              742  integer, allocatable :: jseq(:)
                                                              +
                                                              743 end module moda_tables
                                                              +
                                                              744 
                                                              + +
                                                              757  integer, allocatable :: luncpy(:)
                                                              +
                                                              758 end module moda_ufbcpl
                                                              +
                                                              759 
                                                              + +
                                                              771  integer, allocatable :: msgunp(:)
                                                              +
                                                              772 end module moda_unptyp
                                                              +
                                                              773 
                                                              + +
                                                              781  integer, allocatable :: nbit(:)
                                                              +
                                                              783  integer, allocatable :: mbit(:)
                                                              +
                                                              784 end module moda_usrbit
                                                              +
                                                              785 
                                                              + +
                                                              795  integer, allocatable :: nval(:)
                                                              +
                                                              797  integer, target, allocatable :: inv(:,:)
                                                              +
                                                              800  integer, allocatable :: nrfelm(:,:)
                                                              +
                                                              802  real*8, target, allocatable :: val(:,:)
                                                              +
                                                              803 end module moda_usrint
                                                              +
                                                              804 
                                                              + +
                                                              811  parameter( maxrcr = 100 )
                                                              +
                                                              813  integer, allocatable :: iutmp(:,:)
                                                              +
                                                              815  real*8, allocatable :: vutmp(:,:)
                                                              +
                                                              816 end module moda_usrtmp
                                                              +
                                                              817 
                                                              +
                                                              829 module moda_xtab
                                                              +
                                                              834  logical, allocatable :: xtab(:)
                                                              +
                                                              835 end module moda_xtab
                                                              +
                                                              This module contains array and variable declarations used to store BUFR messages internally for multi...
                                                              +
                                                              integer, dimension(:), allocatable ibay
                                                              Current data subset.
                                                              +
                                                              integer ibit
                                                              Bit pointer within IBAY.
                                                              +
                                                              integer, dimension(:,:), allocatable mbay
                                                              Current BUFR message for each internal I/O stream.
                                                              +
                                                              integer, dimension(:), allocatable mbyt
                                                              Length (in bytes) of current BUFR message for each internal I/O stream.
                                                              +
                                                              integer maxbyt
                                                              Maximum length of an output BUFR message.
                                                              +
                                                              This module contains array and variable declarations used to store bitmaps internally within a data s...
                                                              +
                                                              integer, dimension(:), allocatable iszbtm
                                                              Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not).
                                                              +
                                                              integer lstnod
                                                              Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding v...
                                                              +
                                                              integer, dimension(:,:), allocatable inodtco
                                                              Entries within jump/link table which contain Table C operators.
                                                              +
                                                              integer ntamc
                                                              Number of Table A mnemonics in jump/link table (up to a maximum of MXTAMC) which contain at least one...
                                                              +
                                                              integer, dimension(:), allocatable istbtm
                                                              Ordinal position in data subset definition corresponding to the first entry of the bitmap.
                                                              +
                                                              integer nbtm
                                                              Number of stored bitmaps for the current data subset (up to a maximum of MXBTM).
                                                              +
                                                              integer, dimension(:), allocatable inodtamc
                                                              Entries within jump/link table which contain Table A mnemonics.
                                                              +
                                                              integer, dimension(:,:), allocatable ibtmse
                                                              Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions ca...
                                                              +
                                                              integer lstnodct
                                                              Current count of consecutive occurrences of lstnod.
                                                              +
                                                              logical linbtm
                                                              true if a bitmap is in the process of being read for the current data subset; false otherwise.
                                                              +
                                                              integer, dimension(:), allocatable nbtmse
                                                              Number of "set" entries (set to a value of 0) in the bitmap.
                                                              +
                                                              character *6, dimension(:,:), allocatable ctco
                                                              Table C operators corresponding to inodtco.
                                                              +
                                                              integer, dimension(:), allocatable ntco
                                                              Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of ...
                                                              +
                                                              This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message tha...
                                                              +
                                                              integer, dimension(:), allocatable msglen
                                                              Length (in integers) of BUFR message most recently written to each output I/O stream.
                                                              +
                                                              integer, dimension(:,:), allocatable msgtxt
                                                              BUFR message most recently written to each output I/O stream.
                                                              +
                                                              This module contains arrays and variables needed to store the current position within a BUFR file.
                                                              +
                                                              integer jill
                                                              File status indicator of BUFR file.
                                                              +
                                                              integer jimm
                                                              Message status indicator of BUFR file.
                                                              +
                                                              integer, dimension(:), allocatable jsr
                                                              Indicator of stack status when entering subroutine rewnbf().
                                                              +
                                                              integer jmsg
                                                              Sequential number of BUFR message, counting from the beginning of the file.
                                                              +
                                                              integer jdat
                                                              Section 1 date-time of BUFR message.
                                                              +
                                                              integer jnod
                                                              Positional index of Table A mnemonic within internal Table A.
                                                              +
                                                              integer jbit
                                                              Bit pointer within BUFR message.
                                                              +
                                                              integer jsub
                                                              Sequential number of BUFR data subset, counting from the beginning of the current BUFR message.
                                                              +
                                                              integer junn
                                                              Internal I/O stream index of BUFR file.
                                                              +
                                                              integer ksub
                                                              Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message.
                                                              +
                                                              integer jbyt
                                                              Length (in bytes) of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable jbay
                                                              BUFR message.
                                                              +
                                                              This module contains arrays and variable declarations for the storage of data values needed when writ...
                                                              +
                                                              integer ncol
                                                              Number of data subsets in message.
                                                              +
                                                              integer(8) incr
                                                              Increment used when compressing non-character data values.
                                                              +
                                                              integer(8), dimension(:,:), allocatable matx
                                                              Non-character data values for all data subsets in message.
                                                              +
                                                              character *(:), dimension(:,:), allocatable catx
                                                              Character data values for all data subsets in message.
                                                              +
                                                              This module contains arrays and variable declarations for the storage of data values needed when writ...
                                                              +
                                                              character *(:), dimension(:), allocatable cstr
                                                              Character data value, if corresponding ityp value is set to 3.
                                                              +
                                                              integer(8), dimension(:), allocatable kmax
                                                              Maximum of each data value across all data subsets in message.
                                                              +
                                                              integer kbyt
                                                              Number of bytes required to store Sections 0, 1, 2, and 3 of message.
                                                              +
                                                              logical flush
                                                              Flush flag.
                                                              +
                                                              integer nrow
                                                              Number of data values for each data subset in message.
                                                              +
                                                              logical writ1
                                                              Write-out flag.
                                                              +
                                                              integer, dimension(:), allocatable ityp
                                                              Type of each data value:
                                                              +
                                                              integer, dimension(:), allocatable iwid
                                                              Bit width of underlying data descriptor as defined within Table B for each data value.
                                                              +
                                                              integer lunc
                                                              I/O stream index into internal arrays for output file.
                                                              +
                                                              integer(8), dimension(:), allocatable kmin
                                                              Minimum of each data value across all data subsets in message.
                                                              +
                                                              integer, dimension(:), allocatable kbit
                                                              Number of bits needed to hold the increments for this data value within each data subset of the messa...
                                                              +
                                                              logical, dimension(:), allocatable kmis
                                                              "Missing" values flag.
                                                              +
                                                              This module contains array and variable declarations for the internal Table A mnemonic cache that is ...
                                                              +
                                                              character *8, dimension(mxcnem) cnem
                                                              Table A mnemonics.
                                                              +
                                                              integer, dimension(mxcnem, maxnc) idcach
                                                              Bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem.
                                                              +
                                                              integer ncnem
                                                              Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM).
                                                              +
                                                              integer, dimension(mxcnem) ndc
                                                              Number of child descriptors for the corresponding Table A mnemonic in cnem.
                                                              +
                                                              This module contains array and variable declarations needed to store long character strings (greater ...
                                                              +
                                                              integer nh4wlc
                                                              Number of long character strings being stored.
                                                              +
                                                              character *14, dimension(:), allocatable sth4wlc
                                                              Table B mnemonics associated with long character strings.
                                                              +
                                                              integer, dimension(:), allocatable luh4wlc
                                                              I/O stream index into internal arrays for associated output file.
                                                              +
                                                              character *120, dimension(:), allocatable chh4wlc
                                                              Long character strings.
                                                              +
                                                              This module contains a declaration for an array used by subroutine readerme() to read in a new DX dic...
                                                              +
                                                              integer, dimension(:), allocatable idrdm
                                                              DX BUFR tables message count for each I/O internal stream index.
                                                              +
                                                              This module contains a declaration for an array used to pack or unpack all of the values of a BUFR da...
                                                              +
                                                              integer(8), dimension(:), allocatable ival
                                                              BUFR data subset values.
                                                              +
                                                              This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()...
                                                              +
                                                              character *10, dimension(:), allocatable ttmp
                                                              tag array elements for new sections of a growing subset buffer.
                                                              +
                                                              real *8, dimension(:), allocatable vtmp
                                                              val array elements for new sections of a growing subset buffer.
                                                              +
                                                              integer, dimension(:), allocatable itmp
                                                              inv array elements for new sections of a growing subset buffer.
                                                              +
                                                              This module contains a declaration for an array used by subroutine makestab() to keep track of which ...
                                                              +
                                                              integer, dimension(:), allocatable lus
                                                              Tracking index for each I/O internal stream index.
                                                              +
                                                              This module contains a declaration for an array used by various subroutines and functions to hold a t...
                                                              +
                                                              integer, dimension(:), allocatable mgwa
                                                              Temporary working copy of BUFR message.
                                                              +
                                                              This module contains a declaration for an array used by various subroutines and functions to hold a t...
                                                              +
                                                              integer, dimension(:), allocatable mgwb
                                                              Temporary working copy of BUFR message.
                                                              +
                                                              This module contains declarations for arrays used to store information about the current BUFR message...
                                                              +
                                                              integer, dimension(:), allocatable inode
                                                              Table A mnemonic for type of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable idate
                                                              Section 1 date-time of message.
                                                              +
                                                              integer, dimension(:), allocatable nmsg
                                                              Current message pointer within logical unit.
                                                              +
                                                              integer, dimension(:), allocatable msub
                                                              Total number of data subsets in message.
                                                              +
                                                              integer, dimension(:), allocatable nsub
                                                              Current subset pointer within message.
                                                              +
                                                              This module contains a declaration for an array used to keep track of which logical units should not ...
                                                              +
                                                              integer, dimension(:), allocatable msglim
                                                              Tracking index for each I/O stream index.
                                                              +
                                                              This module contains array and variable declarations used to store the contents of one or more BUFR f...
                                                              +
                                                              integer, dimension(:), allocatable msgp
                                                              Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array ele...
                                                              +
                                                              integer, dimension(:), allocatable ipmsgs
                                                              Pointers to first message within msgs for which each DX BUFR table applies.
                                                              +
                                                              integer, dimension(:), allocatable msgs
                                                              BUFR messages read from one or more BUFR files.
                                                              +
                                                              integer, dimension(:), allocatable icdxts
                                                              Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the cor...
                                                              +
                                                              integer mxdxm
                                                              Maximum number of DX BUFR table messages that can be stored within mdx.
                                                              +
                                                              integer, dimension(:), allocatable ifdxts
                                                              Pointers to the beginning of each DX BUFR table within mdx.
                                                              +
                                                              integer munit
                                                              Fortran logical unit number for use in accessing contents of BUFR files within internal memory.
                                                              +
                                                              integer ndxm
                                                              Number of DX BUFR table messages stored within mdx (up to a maximum of MXDXM).
                                                              +
                                                              integer ldxm
                                                              Number of array elements filled within mdx (up to a maximum of MXDXW).
                                                              +
                                                              integer mlast
                                                              Number of array elements filled within msgs (up to a maximum of MAXMEM).
                                                              +
                                                              integer ldxts
                                                              Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is cu...
                                                              +
                                                              integer ndxts
                                                              Number of DX BUFR tables represented by the messages within mdx (up to a maximum of MXDXTS).
                                                              +
                                                              integer, dimension(:), allocatable mdx
                                                              DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.
                                                              +
                                                              integer mxdxw
                                                              Maximum number of entries that can be stored within mdx.
                                                              +
                                                              integer, dimension(:), allocatable ipdxm
                                                              Pointers to the beginning of each message within mdx.
                                                              +
                                                              This module contains array and variable declarations used to store master Table B and Table D entries...
                                                              +
                                                              integer, dimension(:), allocatable idfxyn
                                                              Bit-wise representations of FXY numbers for master Table D.
                                                              +
                                                              character, dimension(:,:), allocatable cbunit
                                                              Units corresponding to ibfxyn.
                                                              +
                                                              integer nmtb
                                                              Number of master Table B entries (up to a maximum of MXMTBB).
                                                              +
                                                              character, dimension(:,:), allocatable cbbw
                                                              Bit widths corresponding to ibfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cdseq
                                                              Sequence names corresponding to idfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbmnem
                                                              Mnemonics corresponding to ibfxyn.
                                                              +
                                                              integer, dimension(:), allocatable ndelem
                                                              Numbers of child descriptors corresponding to idfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbelem
                                                              Element names corresponding to ibfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbscl
                                                              Scale factors corresponding to ibfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cdmnem
                                                              Mnemonics corresponding to idfxyn.
                                                              +
                                                              character, dimension(:,:), allocatable cbsref
                                                              Reference values corresponding to ibfxyn.
                                                              +
                                                              integer nmtd
                                                              Number of master Table D entries (up to a maximum of MXMTBD).
                                                              +
                                                              integer, dimension(:), allocatable idefxy
                                                              Bit-wise representations of child descriptors corresponding to idfxyn.
                                                              +
                                                              integer, dimension(:), allocatable ibfxyn
                                                              Bit-wise representations of FXY numbers for master Table B.
                                                              +
                                                              This module contains declarations for arrays used by various subroutines to hold information about Ta...
                                                              +
                                                              integer, dimension(:,:), allocatable krp
                                                              Replication counts corresponding to nem:
                                                              +
                                                              integer, dimension(:,:), allocatable irp
                                                              Replication indicators corresponding to nem:
                                                              +
                                                              character *8, dimension(:,:), allocatable nem
                                                              Child mnemonics within Table D sequences.
                                                              +
                                                              This module contains array and variable declarations for use with any 2-03-YYY (change reference valu...
                                                              +
                                                              integer, dimension(:), allocatable ienrv
                                                              End of entry range in jump/link table, within which the corresponding new reference value in nrv will...
                                                              +
                                                              character *8, dimension(:), allocatable tagnrv
                                                              Table B mnemonic to which the corresponding new reference value in nrv applies.
                                                              +
                                                              integer, dimension(:), allocatable isnrv
                                                              Start of entry range in jump/link table, within which the corresponding new reference value in nrv wi...
                                                              +
                                                              integer nnrv
                                                              Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV...
                                                              +
                                                              integer *8, dimension(:), allocatable nrv
                                                              New reference values corresponding to inodnrv.
                                                              +
                                                              integer ipfnrv
                                                              A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the c...
                                                              +
                                                              integer, dimension(:), allocatable inodnrv
                                                              Entries within jump/link table which contain new reference values.
                                                              +
                                                              integer ibtnrv
                                                              Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in...
                                                              +
                                                              This module contains an array declaration used to store a switch for each internal I/O stream index,...
                                                              +
                                                              integer, dimension(:), allocatable null
                                                              Output switch for each internal I/O stream index:
                                                              +
                                                              This module contains array and variable declarations used to store master Table B and Table D entries...
                                                              +
                                                              character *120, dimension(:,:), allocatable ceelem
                                                              Element names corresponding to iefxyn.
                                                              +
                                                              character *4, dimension(:), allocatable cmdscb
                                                              Descriptor codes for Table B elements.
                                                              +
                                                              integer, dimension(:,:), allocatable iefxyn
                                                              Bit-wise representations of child descriptors of Table D sequences.
                                                              +
                                                              character *4, dimension(:), allocatable cmdscd
                                                              Descriptor codes for Table D sequences.
                                                              +
                                                              This module contains array and variable declarations needed to store information about long character...
                                                              +
                                                              integer nrst
                                                              Number of long character strings in data subset.
                                                              +
                                                              integer, dimension(:), allocatable irnch
                                                              Lengths (in bytes) of long character strings.
                                                              +
                                                              integer, dimension(:), allocatable irbit
                                                              Pointers in data subset to first bits of long character strings.
                                                              +
                                                              character *10, dimension(:), allocatable crtag
                                                              Table B mnemonics associated with long character strings.
                                                              +
                                                              This module contains array and variable declarations used to store custom values for certain mnemonic...
                                                              +
                                                              integer, dimension(:), allocatable ivmnem
                                                              Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
                                                              +
                                                              integer ns01v
                                                              Number of custom values stored.
                                                              +
                                                              character *8, dimension(:), allocatable cmnem
                                                              Section 0 and 1 mnemonics corresponding to ivmnem.
                                                              +
                                                              This module contains an array declaration used to store a switch for each internal I/O stream index,...
                                                              +
                                                              character *8, dimension(:), allocatable tamnem
                                                              Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream.
                                                              +
                                                              integer, dimension(:), allocatable isc3
                                                              Section 3 switch for each internal I/O stream index:
                                                              +
                                                              This module contains array declarations used to store file and message status indicators for all logi...
                                                              +
                                                              integer, dimension(:), allocatable iolun
                                                              File status indicators.
                                                              +
                                                              integer, dimension(:), allocatable iomsg
                                                              Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
                                                              +
                                                              This module contains an array declaration used to store a status code for each internal I/O stream in...
                                                              +
                                                              integer, dimension(:), allocatable iscodes
                                                              Abnormal status codes.
                                                              +
                                                              This module contains array and variable declarations used to store DX BUFR tables internally for mult...
                                                              +
                                                              integer, dimension(:), allocatable ntba
                                                              Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA,...
                                                              +
                                                              character *600, dimension(:,:), allocatable tabd
                                                              Table D entries for each internal I/O stream.
                                                              +
                                                              character *128, dimension(:,:), allocatable taba
                                                              Table A entries for each internal I/O stream.
                                                              +
                                                              integer, dimension(:,:), allocatable mtab
                                                              Entries within jump/link table corresponding to taba.
                                                              +
                                                              integer, dimension(:,:,:), allocatable idna
                                                              Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.
                                                              +
                                                              integer, dimension(:), allocatable ntbd
                                                              Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD,...
                                                              +
                                                              integer, dimension(:), allocatable ntbb
                                                              Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
                                                              +
                                                              integer, dimension(:,:), allocatable idnd
                                                              Bit-wise representations of the FXY values corresponding to tabd.
                                                              +
                                                              integer, dimension(:,:), allocatable idnb
                                                              Bit-wise representations of the FXY values corresponding to tabb.
                                                              +
                                                              character *128, dimension(:,:), allocatable tabb
                                                              Table B entries for each internal I/O stream.
                                                              +
                                                              This module contains array and variable declarations used to store the internal jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable jseq
                                                              Temporary storage used in expanding sequences.
                                                              +
                                                              integer, dimension(:), allocatable irf
                                                              Reference values corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:,:), allocatable iseq
                                                              Temporary storage used in expanding sequences.
                                                              +
                                                              integer, dimension(:), allocatable isc
                                                              Scale factors corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable ibt
                                                              Bit widths corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable knt
                                                              Temporary storage used in calculating delayed replication counts.
                                                              +
                                                              real *8, dimension(:), allocatable vali
                                                              Initialized data values corresponding to typ:
                                                              +
                                                              integer maxtab
                                                              Maximum number of entries in the jump/link table; equivalent to MAXJL.
                                                              +
                                                              character *3, dimension(:), allocatable typ
                                                              Type indicators corresponding to tag:
                                                              +
                                                              integer, dimension(:), allocatable jmpb
                                                              Jump backward indices corresponding to tag and typ:
                                                              +
                                                              character *10, dimension(:), allocatable tag
                                                              Mnemonics in the jump/link table.
                                                              +
                                                              integer ntab
                                                              Number of entries in the jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable jump
                                                              Jump forward indices corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable itp
                                                              Integer type values corresponding to typ:
                                                              +
                                                              integer, dimension(:), allocatable link
                                                              Link indices corresponding to tag, typ and jmpb:
                                                              +
                                                              integer, dimension(:), allocatable knti
                                                              Initialized replication counts corresponding to typ and jump:
                                                              +
                                                              This module contains an array declaration used to store, for each I/O stream index,...
                                                              +
                                                              integer, dimension(:), allocatable luncpy
                                                              Logical unit numbers used to copy long character strings between BUFR data subsets.
                                                              +
                                                              This module contains an array declaration used to store, for each I/O stream index from which a BUFR ...
                                                              +
                                                              integer, dimension(:), allocatable msgunp
                                                              Flag indicating how to unpack data subsets from BUFR message:
                                                              +
                                                              This module contains array declarations for internal storage of pointers to BUFR data subset values.
                                                              +
                                                              integer, dimension(:), allocatable nbit
                                                              Length (in bits) of each packed data value in data subset.
                                                              +
                                                              integer, dimension(:), allocatable mbit
                                                              Pointer in data subset to first bit of each packed data value.
                                                              +
                                                              This module contains declarations for arrays used to store data values and associated metadata for th...
                                                              +
                                                              integer, dimension(:), allocatable nval
                                                              Number of data values in BUFR data subset.
                                                              +
                                                              real *8, dimension(:,:), allocatable, target val
                                                              Data values.
                                                              +
                                                              integer, dimension(:,:), allocatable, target inv
                                                              Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                                              +
                                                              integer, dimension(:,:), allocatable nrfelm
                                                              Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
                                                              +
                                                              This module contains arrays used in subroutine rcstpl() to store subset segments that are being copie...
                                                              +
                                                              integer, dimension(:,:), allocatable iutmp
                                                              inv array elements for new sections of a growing subset buffer.
                                                              +
                                                              real *8, dimension(:,:), allocatable vutmp
                                                              val array elements for new sections of a growing subset buffer.
                                                              +
                                                              This module contains an array declaration used to track, for each I/O stream index,...
                                                              +
                                                              logical, dimension(:), allocatable xtab
                                                              Tracking index for each internal I/O stream index.
                                                              +
                                                              This module declares and initializes the MAXNC variable.
                                                              +
                                                              integer, parameter, public maxnc
                                                              Maximum number of descriptors within Section 3 of a BUFR message.
                                                              +
                                                              This module declares and initializes the MXCNEM variable.
                                                              +
                                                              integer, parameter, public mxcnem
                                                              Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding ...
                                                              +
                                                              This module declares and initializes the MXH4WLC variable.
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/modules__vars_8F90.html b/previous_versions/v12.0.1/modules__vars_8F90.html new file mode 100644 index 000000000..585a64db2 --- /dev/null +++ b/previous_versions/v12.0.1/modules__vars_8F90.html @@ -0,0 +1,315 @@ + + + + + + + +NCEPLIBS-bufr: modules_vars.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              modules_vars.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Declare and initialize module variables. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Modules

                                                              module  modv_bmiss
                                                               This module declares and initializes the BMISS variable.
                                                               
                                                              module  modv_ifopbf
                                                               This module declares and initializes the IFOPBF variable.
                                                               
                                                              module  modv_im8b
                                                               This module declares and initializes the IM8B variable.
                                                               
                                                              module  modv_maxcd
                                                               This module declares and initializes the MAXCD variable.
                                                               
                                                              module  modv_maxjl
                                                               This module declares and initializes the MAXJL variable.
                                                               
                                                              module  modv_maxmem
                                                               This module declares and initializes the MAXMEM variable.
                                                               
                                                              module  modv_maxmsg
                                                               This module declares and initializes the MAXMSG variable.
                                                               
                                                              module  modv_maxnc
                                                               This module declares and initializes the MAXNC variable.
                                                               
                                                              module  modv_maxss
                                                               This module declares and initializes the MAXSS variable.
                                                               
                                                              module  modv_maxtba
                                                               This module declares and initializes the MAXTBA variable.
                                                               
                                                              module  modv_maxtbb
                                                               This module declares and initializes the MAXTBB variable.
                                                               
                                                              module  modv_maxtbd
                                                               This module declares and initializes the MAXTBD variable.
                                                               
                                                              module  modv_mxbtm
                                                               This module declares and initializes the MXBTM variable.
                                                               
                                                              module  modv_mxbtmse
                                                               This module declares and initializes the MXBTMSE variable.
                                                               
                                                              module  modv_mxcdv
                                                               This module declares and initializes the MXCDV variable.
                                                               
                                                              module  modv_mxcnem
                                                               This module declares and initializes the MXCNEM variable.
                                                               
                                                              module  modv_mxcsb
                                                               This module declares and initializes the MXCSB variable.
                                                               
                                                              module  modv_mxdxts
                                                               This module declares and initializes the MXDXTS variable.
                                                               
                                                              module  modv_mxh4wlc
                                                               This module declares and initializes the MXH4WLC variable.
                                                               
                                                              module  modv_mxlcc
                                                               This module declares and initializes the MXLCC variable.
                                                               
                                                              module  modv_mxmsgl
                                                               This module declares and initializes the MXMSGL variable.
                                                               
                                                              module  modv_mxmtbb
                                                               This module declares and initializes the MXMTBB variable.
                                                               
                                                              module  modv_mxmtbd
                                                               This module declares and initializes the MXMTBD variable.
                                                               
                                                              module  modv_mxmtbf
                                                               This module declares and initializes the MXMTBF variable.
                                                               
                                                              module  modv_mxnaf
                                                               This module declares and initializes the MXNAF variable.
                                                               
                                                              module  modv_mxnrv
                                                               This module declares and initializes the MXNRV variable.
                                                               
                                                              module  modv_mxrst
                                                               This module declares and initializes the MXRST variable.
                                                               
                                                              module  modv_mxs
                                                               This module declares and initializes the MXS variable.
                                                               
                                                              module  modv_mxs01v
                                                               This module declares and initializes the MXS01V variable.
                                                               
                                                              module  modv_mxtamc
                                                               This module declares and initializes the MXTAMC variable.
                                                               
                                                              module  modv_mxtco
                                                               This module declares and initializes the MXTCO variable.
                                                               
                                                              module  modv_nfiles
                                                               This module declares and initializes the NFILES variable.
                                                               
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              real *8, public modv_bmiss::bmiss = 10E10_8
                                                               Current placeholder value to represent "missing" data when reading from or writing to BUFR files; this value can be changed at any time via a call to subroutine setbmiss(). More...
                                                               
                                                              integer, public modv_ifopbf::ifopbf = 0
                                                               Status indicator to keep track of whether subroutine openbf() has already been called: More...
                                                               
                                                              logical, public modv_im8b::im8b = .false.
                                                               Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from a Fortran application program will be made using 8-byte integer arguments. More...
                                                               
                                                              integer, public modv_maxcd::maxcd = 250
                                                               Maximum number of child descriptors that can be included within the sequence definition of a Table D descriptor, not counting the recursive resolution of any child descriptors which may themselves be Table D descriptors. More...
                                                               
                                                              integer modv_maxjl::maxjl = 96000
                                                               Maximum number of entries in the internal jump/link table. More...
                                                               
                                                              integer modv_maxmem::maxmem = 50000000
                                                               Maximum number of bytes that can be used to store BUFR messages within internal memory. More...
                                                               
                                                              integer modv_maxmsg::maxmsg = 200000
                                                               Maximum number of BUFR messages that can be stored within internal memory. More...
                                                               
                                                              integer, parameter, public modv_maxnc::maxnc = 600
                                                               Maximum number of descriptors within Section 3 of a BUFR message. More...
                                                               
                                                              integer modv_maxss::maxss = 120000
                                                               Maximum number of data values that can be read from or written into a data subset by the BUFRLIB software. More...
                                                               
                                                              integer modv_maxtba::maxtba = 150
                                                               Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the BUFRLIB software. More...
                                                               
                                                              integer modv_maxtbb::maxtbb = 500
                                                               Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the BUFRLIB software. More...
                                                               
                                                              integer modv_maxtbd::maxtbd = 500
                                                               Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the BUFRLIB software. More...
                                                               
                                                              integer modv_mxbtm::mxbtm = 5
                                                               Maximum number of bitmaps that can be stored internally for a data subset. More...
                                                               
                                                              integer modv_mxbtmse::mxbtmse = 500
                                                               Maximum number of "set" entries (set to a value of 0) within a bitmap. More...
                                                               
                                                              integer modv_mxcdv::mxcdv = 3000
                                                               Maximum number of data values that can be written into a data subset of a compressed BUFR message by the BUFRLIB software. More...
                                                               
                                                              integer, parameter, public modv_mxcnem::mxcnem = 450
                                                               Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages. More...
                                                               
                                                              integer modv_mxcsb::mxcsb = 4000
                                                               Maximum number of data subsets that can be written into a compressed BUFR message by the BUFRLIB software. More...
                                                               
                                                              integer modv_mxdxts::mxdxts = 200
                                                               Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory. More...
                                                               
                                                              integer modv_mxh4wlc::mxh4wlc = 10
                                                               Maximum number of long character strings that can be held for writing into an uncompressed BUFR subset by future internal calls to subroutine writlc(). More...
                                                               
                                                              integer modv_mxlcc::mxlcc = 32
                                                               Maximum length (in bytes) of a character string that can be written into a data subset of a compressed BUFR message by the BUFRLIB software. More...
                                                               
                                                              integer modv_mxmsgl::mxmsgl = 600000
                                                               Maximum length (in bytes) of a BUFR message that can be read or written by the BUFRLIB software. More...
                                                               
                                                              integer modv_mxmsgl::mxmsgld4
                                                               The value of mxmsgl divided by 4. More...
                                                               
                                                              integer modv_mxmtbb::mxmtbb = 4000
                                                               Maximum number of entries in a master BUFR Table B. More...
                                                               
                                                              integer modv_mxmtbd::mxmtbd = 1000
                                                               Maximum number of entries in a master BUFR Table D. More...
                                                               
                                                              integer modv_mxmtbf::mxmtbf = 25000
                                                               Maximum number of entries in a master BUFR Code/Flag table, counting across all individual Code/Flag tables, and counting each defined code figure (within each individual Code table) or defined bit number (within each individual Flag table) as a separate entry. More...
                                                               
                                                              integer, parameter, public modv_mxnaf::mxnaf = 4
                                                               Maximum number of associated fields that can be in effect at any given time for a Table B descriptor. More...
                                                               
                                                              integer modv_mxnrv::mxnrv = 15
                                                               Maximum number of entries in the internal jump/link table that can contain new reference values. More...
                                                               
                                                              integer modv_mxrst::mxrst = 50
                                                               Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset of a compressed BUFR message. More...
                                                               
                                                              integer, parameter, public modv_mxs::mxs = 1000
                                                               Maximum number of entries in the internal string cache. More...
                                                               
                                                              integer modv_mxs01v::mxs01v = 10
                                                               Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR message by the BUFRLIB software. More...
                                                               
                                                              integer modv_mxtamc::mxtamc = 15
                                                               Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table C operator with an XX value of 21 or greater in their definition. More...
                                                               
                                                              integer modv_mxtco::mxtco = 30
                                                               Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data subset definition of a Table A mnemonic. More...
                                                               
                                                              integer, public modv_nfiles::nfiles = 32
                                                               Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) at any one time. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Declare and initialize module variables.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-02-10
                                                              + +

                                                              Definition in file modules_vars.F90.

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/modules__vars_8F90.js b/previous_versions/v12.0.1/modules__vars_8F90.js new file mode 100644 index 000000000..716fbd6cb --- /dev/null +++ b/previous_versions/v12.0.1/modules__vars_8F90.js @@ -0,0 +1,36 @@ +var modules__vars_8F90 = +[ + [ "bmiss", "modules__vars_8F90.html#a765c07216d8fe91b2876890e540f1519", null ], + [ "ifopbf", "modules__vars_8F90.html#a39326be0f9fc667b811dbe4f49588e71", null ], + [ "im8b", "modules__vars_8F90.html#af89ce869fc472b48531a4356395ca8af", null ], + [ "maxcd", "modules__vars_8F90.html#a9de0bfc19c54f103e9edb2864d8778f8", null ], + [ "maxjl", "modules__vars_8F90.html#adb7e2a387689aae3a964d3f379e14d61", null ], + [ "maxmem", "modules__vars_8F90.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1", null ], + [ "maxmsg", "modules__vars_8F90.html#a00da6b40b76b72a75b2948b026e8ad46", null ], + [ "maxnc", "modules__vars_8F90.html#a9ba251d03efb6ce30eb35ccefa5fee1e", null ], + [ "maxss", "modules__vars_8F90.html#a0109e3f912cb9a045bd0bdbc2c3599a2", null ], + [ "maxtba", "modules__vars_8F90.html#ac5b7bef2c4078bf74e81a1773767624a", null ], + [ "maxtbb", "modules__vars_8F90.html#a64a2fe94d8f8c4459f811370e8ff71f2", null ], + [ "maxtbd", "modules__vars_8F90.html#af0bace2fd3fb04c6d0243ca4004616e0", null ], + [ "mxbtm", "modules__vars_8F90.html#ab4a909f2f76ec550ae2776645a8df46f", null ], + [ "mxbtmse", "modules__vars_8F90.html#a5cbb45a528e6d0aa7c0920ad894d51ac", null ], + [ "mxcdv", "modules__vars_8F90.html#a4a04738aa454a7cad1dbc581f50d0ff7", null ], + [ "mxcnem", "modules__vars_8F90.html#aa365d7315624259a7a21adeb3a628cd3", null ], + [ "mxcsb", "modules__vars_8F90.html#a32acff1af258eba800833e352391e17c", null ], + [ "mxdxts", "modules__vars_8F90.html#a5f1a9fea4a54d99b9967c8aec183f884", null ], + [ "mxh4wlc", "modules__vars_8F90.html#a5f5b13fe947cc288f30e436dd890b886", null ], + [ "mxlcc", "modules__vars_8F90.html#aae993775b8e9aac22197a7636a31b8af", null ], + [ "mxmsgl", "modules__vars_8F90.html#af27eca23c1db9f9eaa447523aacb9ccc", null ], + [ "mxmsgld4", "modules__vars_8F90.html#a2f7d0410150f8171819ce9dd08a04ce9", null ], + [ "mxmtbb", "modules__vars_8F90.html#a5485fe7cfc03d43037332374b6978139", null ], + [ "mxmtbd", "modules__vars_8F90.html#a9a0e83b3c30a94df1f775cbac21909ea", null ], + [ "mxmtbf", "modules__vars_8F90.html#a1d1180c7ebc57b9027adad1c8416b363", null ], + [ "mxnaf", "modules__vars_8F90.html#a4bcae72ec91bf4e2aa24ded587ee0b2e", null ], + [ "mxnrv", "modules__vars_8F90.html#ad92fefa0c5524719c3c05092dbc55050", null ], + [ "mxrst", "modules__vars_8F90.html#a73203ec7925d5389a84367c937d3da97", null ], + [ "mxs", "modules__vars_8F90.html#a72f17d1827d2fafc9ea4f8fc4effe375", null ], + [ "mxs01v", "modules__vars_8F90.html#a23decd12e10b603556fb90d309b32f51", null ], + [ "mxtamc", "modules__vars_8F90.html#ade76aa5db387438d3bd279e599df3e11", null ], + [ "mxtco", "modules__vars_8F90.html#a9a6ec441e7b71d30945ad61d917eda81", null ], + [ "nfiles", "modules__vars_8F90.html#a0523fa736e5303f831ba35f28f0e12e3", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/modules__vars_8F90_source.html b/previous_versions/v12.0.1/modules__vars_8F90_source.html new file mode 100644 index 000000000..5075fc18a --- /dev/null +++ b/previous_versions/v12.0.1/modules__vars_8F90_source.html @@ -0,0 +1,293 @@ + + + + + + + +NCEPLIBS-bufr: modules_vars.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              modules_vars.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              9 module modv_bmiss
                                                              +
                                                              13  real*8, public :: bmiss = 10e10_8
                                                              +
                                                              14 end module modv_bmiss
                                                              +
                                                              15 
                                                              + +
                                                              24  integer, public :: ifopbf = 0
                                                              +
                                                              25 end module modv_ifopbf
                                                              +
                                                              26 
                                                              +
                                                              30 module modv_im8b
                                                              +
                                                              39  logical, public :: im8b = .false.
                                                              +
                                                              40 end module modv_im8b
                                                              +
                                                              41 
                                                              +
                                                              45 module modv_maxcd
                                                              +
                                                              54  integer, public :: maxcd = 250
                                                              +
                                                              55 end module modv_maxcd
                                                              +
                                                              56 
                                                              +
                                                              60 module modv_maxjl
                                                              +
                                                              66  integer :: maxjl = 96000
                                                              +
                                                              67 end module modv_maxjl
                                                              +
                                                              68 
                                                              + +
                                                              79  integer :: maxmem = 50000000
                                                              +
                                                              80 end module modv_maxmem
                                                              +
                                                              81 
                                                              + +
                                                              92  integer :: maxmsg = 200000
                                                              +
                                                              93 end module modv_maxmsg
                                                              +
                                                              94 
                                                              +
                                                              98 module modv_maxnc
                                                              +
                                                              100  integer, parameter, public :: maxnc = 600
                                                              +
                                                              101 end module modv_maxnc
                                                              +
                                                              102 
                                                              + +
                                                              113  integer :: maxss = 120000
                                                              +
                                                              114 end module modv_maxss
                                                              +
                                                              115 
                                                              + +
                                                              126  integer :: maxtba = 150
                                                              +
                                                              127 end module modv_maxtba
                                                              +
                                                              128 
                                                              + +
                                                              139  integer :: maxtbb = 500
                                                              +
                                                              140 end module modv_maxtbb
                                                              +
                                                              141 
                                                              + +
                                                              152  integer :: maxtbd = 500
                                                              +
                                                              153 end module modv_maxtbd
                                                              +
                                                              154 
                                                              + +
                                                              164  integer :: mxbtm = 5
                                                              +
                                                              165 end module modv_mxbtm
                                                              +
                                                              166 
                                                              + +
                                                              176  integer :: mxbtmse = 500
                                                              +
                                                              177 end module modv_mxbtmse
                                                              +
                                                              178 
                                                              + +
                                                              189  integer :: mxcdv = 3000
                                                              +
                                                              190 end module modv_mxcdv
                                                              +
                                                              191 
                                                              + +
                                                              198  integer, parameter, public :: mxcnem = 450
                                                              +
                                                              199 end module modv_mxcnem
                                                              +
                                                              200 
                                                              + +
                                                              211  integer :: mxcsb = 4000
                                                              +
                                                              212 end module modv_mxcsb
                                                              +
                                                              213 
                                                              + +
                                                              224  integer :: mxdxts = 200
                                                              +
                                                              225 end module modv_mxdxts
                                                              +
                                                              226 
                                                              + +
                                                              234  integer :: mxh4wlc = 10
                                                              +
                                                              235 end module modv_mxh4wlc
                                                              +
                                                              236 
                                                              + +
                                                              248  integer :: mxlcc = 32
                                                              +
                                                              249 end module modv_mxlcc
                                                              +
                                                              250 
                                                              + +
                                                              261  integer :: mxmsgl = 600000
                                                              +
                                                              263  integer :: mxmsgld4
                                                              +
                                                              264 end module modv_mxmsgl
                                                              +
                                                              265 
                                                              + +
                                                              275  integer :: mxmtbb = 4000
                                                              +
                                                              276 end module modv_mxmtbb
                                                              +
                                                              277 
                                                              + +
                                                              287  integer :: mxmtbd = 1000
                                                              +
                                                              288 end module modv_mxmtbd
                                                              +
                                                              289 
                                                              + +
                                                              303  integer :: mxmtbf = 25000
                                                              +
                                                              304 end module modv_mxmtbf
                                                              +
                                                              305 
                                                              + +
                                                              312  integer, parameter, public :: mxnaf = 4
                                                              +
                                                              313 end module modv_mxnaf
                                                              +
                                                              314 
                                                              + +
                                                              325  integer :: mxnrv = 15
                                                              +
                                                              326 end module modv_mxnrv
                                                              +
                                                              327 
                                                              + +
                                                              338  integer :: mxrst = 50
                                                              +
                                                              339 end module modv_mxrst
                                                              +
                                                              340 
                                                              + +
                                                              352  integer :: mxs01v = 10
                                                              +
                                                              353 end module modv_mxs01v
                                                              +
                                                              354 
                                                              +
                                                              358 module modv_mxs
                                                              +
                                                              360  integer, parameter, public :: mxs = 1000
                                                              +
                                                              361 end module modv_mxs
                                                              +
                                                              362 
                                                              + +
                                                              374  integer :: mxtamc = 15
                                                              +
                                                              375 end module modv_mxtamc
                                                              +
                                                              376 
                                                              + +
                                                              388  integer :: mxtco = 30
                                                              +
                                                              389 end module modv_mxtco
                                                              +
                                                              390 
                                                              + +
                                                              401  integer, public :: nfiles = 32
                                                              +
                                                              402 end module modv_nfiles
                                                              +
                                                              This module declares and initializes the BMISS variable.
                                                              Definition: modules_vars.F90:9
                                                              +
                                                              real *8, public bmiss
                                                              Current placeholder value to represent "missing" data when reading from or writing to BUFR files; thi...
                                                              +
                                                              This module declares and initializes the IFOPBF variable.
                                                              +
                                                              integer, public ifopbf
                                                              Status indicator to keep track of whether subroutine openbf() has already been called:
                                                              +
                                                              This module declares and initializes the IM8B variable.
                                                              +
                                                              logical, public im8b
                                                              Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from ...
                                                              +
                                                              This module declares and initializes the MAXCD variable.
                                                              +
                                                              integer, public maxcd
                                                              Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
                                                              +
                                                              This module declares and initializes the MAXJL variable.
                                                              +
                                                              integer maxjl
                                                              Maximum number of entries in the internal jump/link table.
                                                              +
                                                              This module declares and initializes the MAXMEM variable.
                                                              +
                                                              integer maxmem
                                                              Maximum number of bytes that can be used to store BUFR messages within internal memory.
                                                              +
                                                              This module declares and initializes the MAXMSG variable.
                                                              +
                                                              integer maxmsg
                                                              Maximum number of BUFR messages that can be stored within internal memory.
                                                              +
                                                              This module declares and initializes the MAXNC variable.
                                                              +
                                                              integer, parameter, public maxnc
                                                              Maximum number of descriptors within Section 3 of a BUFR message.
                                                              +
                                                              This module declares and initializes the MAXSS variable.
                                                              +
                                                              integer maxss
                                                              Maximum number of data values that can be read from or written into a data subset by the BUFRLIB soft...
                                                              +
                                                              This module declares and initializes the MAXTBA variable.
                                                              +
                                                              integer maxtba
                                                              Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the BU...
                                                              +
                                                              This module declares and initializes the MAXTBB variable.
                                                              +
                                                              integer maxtbb
                                                              Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the BU...
                                                              +
                                                              This module declares and initializes the MAXTBD variable.
                                                              +
                                                              integer maxtbd
                                                              Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the BU...
                                                              +
                                                              This module declares and initializes the MXBTM variable.
                                                              +
                                                              integer mxbtm
                                                              Maximum number of bitmaps that can be stored internally for a data subset.
                                                              +
                                                              This module declares and initializes the MXBTMSE variable.
                                                              +
                                                              integer mxbtmse
                                                              Maximum number of "set" entries (set to a value of 0) within a bitmap.
                                                              +
                                                              This module declares and initializes the MXCDV variable.
                                                              +
                                                              integer mxcdv
                                                              Maximum number of data values that can be written into a data subset of a compressed BUFR message by ...
                                                              +
                                                              This module declares and initializes the MXCNEM variable.
                                                              +
                                                              integer, parameter, public mxcnem
                                                              Maximum number of entries in the internal Table A mnemonic cache that is used for Section 3 decoding ...
                                                              +
                                                              This module declares and initializes the MXCSB variable.
                                                              +
                                                              integer mxcsb
                                                              Maximum number of data subsets that can be written into a compressed BUFR message by the BUFRLIB soft...
                                                              +
                                                              This module declares and initializes the MXDXTS variable.
                                                              +
                                                              integer mxdxts
                                                              Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory.
                                                              +
                                                              This module declares and initializes the MXH4WLC variable.
                                                              +
                                                              integer mxh4wlc
                                                              Maximum number of long character strings that can be held for writing into an uncompressed BUFR subse...
                                                              +
                                                              This module declares and initializes the MXLCC variable.
                                                              +
                                                              integer mxlcc
                                                              Maximum length (in bytes) of a character string that can be written into a data subset of a compresse...
                                                              +
                                                              This module declares and initializes the MXMSGL variable.
                                                              +
                                                              integer mxmsgld4
                                                              The value of mxmsgl divided by 4.
                                                              +
                                                              integer mxmsgl
                                                              Maximum length (in bytes) of a BUFR message that can be read or written by the BUFRLIB software.
                                                              +
                                                              This module declares and initializes the MXMTBB variable.
                                                              +
                                                              integer mxmtbb
                                                              Maximum number of entries in a master BUFR Table B.
                                                              +
                                                              This module declares and initializes the MXMTBD variable.
                                                              +
                                                              integer mxmtbd
                                                              Maximum number of entries in a master BUFR Table D.
                                                              +
                                                              This module declares and initializes the MXMTBF variable.
                                                              +
                                                              This module declares and initializes the MXNAF variable.
                                                              +
                                                              integer, parameter, public mxnaf
                                                              Maximum number of associated fields that can be in effect at any given time for a Table B descriptor.
                                                              +
                                                              This module declares and initializes the MXNRV variable.
                                                              +
                                                              integer mxnrv
                                                              Maximum number of entries in the internal jump/link table that can contain new reference values.
                                                              +
                                                              This module declares and initializes the MXRST variable.
                                                              +
                                                              integer mxrst
                                                              Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset...
                                                              +
                                                              This module declares and initializes the MXS01V variable.
                                                              +
                                                              integer mxs01v
                                                              Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR...
                                                              +
                                                              This module declares and initializes the MXS variable.
                                                              +
                                                              integer, parameter, public mxs
                                                              Maximum number of entries in the internal string cache.
                                                              +
                                                              This module declares and initializes the MXTAMC variable.
                                                              +
                                                              integer mxtamc
                                                              Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table ...
                                                              +
                                                              This module declares and initializes the MXTCO variable.
                                                              +
                                                              integer mxtco
                                                              Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data...
                                                              +
                                                              This module declares and initializes the NFILES variable.
                                                              +
                                                              integer, public nfiles
                                                              Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...
                                                              +
                                                              +
                                                              + + + + diff --git a/mrginv_8f.html b/previous_versions/v12.0.1/mrginv_8f.html similarity index 100% rename from mrginv_8f.html rename to previous_versions/v12.0.1/mrginv_8f.html diff --git a/mrginv_8f.js b/previous_versions/v12.0.1/mrginv_8f.js similarity index 100% rename from mrginv_8f.js rename to previous_versions/v12.0.1/mrginv_8f.js diff --git a/mrginv_8f_source.html b/previous_versions/v12.0.1/mrginv_8f_source.html similarity index 100% rename from mrginv_8f_source.html rename to previous_versions/v12.0.1/mrginv_8f_source.html diff --git a/msgfull_8f.html b/previous_versions/v12.0.1/msgfull_8f.html similarity index 100% rename from msgfull_8f.html rename to previous_versions/v12.0.1/msgfull_8f.html diff --git a/msgfull_8f.js b/previous_versions/v12.0.1/msgfull_8f.js similarity index 100% rename from msgfull_8f.js rename to previous_versions/v12.0.1/msgfull_8f.js diff --git a/msgfull_8f_source.html b/previous_versions/v12.0.1/msgfull_8f_source.html similarity index 100% rename from msgfull_8f_source.html rename to previous_versions/v12.0.1/msgfull_8f_source.html diff --git a/msgini_8f.html b/previous_versions/v12.0.1/msgini_8f.html similarity index 100% rename from msgini_8f.html rename to previous_versions/v12.0.1/msgini_8f.html diff --git a/msgini_8f.js b/previous_versions/v12.0.1/msgini_8f.js similarity index 100% rename from msgini_8f.js rename to previous_versions/v12.0.1/msgini_8f.js diff --git a/msgini_8f_source.html b/previous_versions/v12.0.1/msgini_8f_source.html similarity index 100% rename from msgini_8f_source.html rename to previous_versions/v12.0.1/msgini_8f_source.html diff --git a/msgupd_8f.html b/previous_versions/v12.0.1/msgupd_8f.html similarity index 100% rename from msgupd_8f.html rename to previous_versions/v12.0.1/msgupd_8f.html diff --git a/msgupd_8f.js b/previous_versions/v12.0.1/msgupd_8f.js similarity index 100% rename from msgupd_8f.js rename to previous_versions/v12.0.1/msgupd_8f.js diff --git a/msgupd_8f_source.html b/previous_versions/v12.0.1/msgupd_8f_source.html similarity index 100% rename from msgupd_8f_source.html rename to previous_versions/v12.0.1/msgupd_8f_source.html diff --git a/msgwrt_8f.html b/previous_versions/v12.0.1/msgwrt_8f.html similarity index 100% rename from msgwrt_8f.html rename to previous_versions/v12.0.1/msgwrt_8f.html diff --git a/msgwrt_8f.js b/previous_versions/v12.0.1/msgwrt_8f.js similarity index 100% rename from msgwrt_8f.js rename to previous_versions/v12.0.1/msgwrt_8f.js diff --git a/msgwrt_8f_source.html b/previous_versions/v12.0.1/msgwrt_8f_source.html similarity index 100% rename from msgwrt_8f_source.html rename to previous_versions/v12.0.1/msgwrt_8f_source.html diff --git a/previous_versions/v12.0.1/mstabs_8h.html b/previous_versions/v12.0.1/mstabs_8h.html new file mode 100644 index 000000000..8c9f61b00 --- /dev/null +++ b/previous_versions/v12.0.1/mstabs_8h.html @@ -0,0 +1,524 @@ + + + + + + + +NCEPLIBS-bufr: mstabs.h File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              mstabs.h File Reference
                                                              +
                                                              +
                                                              + +

                                                              Declare variables for internal storage of master Table B and Table D entries. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              char(* cbbw_c )[4]
                                                               Master Table B bit widths; copied from Fortran cbbw array. More...
                                                               
                                                              char(* cbelem_c )[120]
                                                               Master Table B element names; copied from Fortran cbelem array. More...
                                                               
                                                              char(* cbmnem_c )[8]
                                                               Master Table B mnemonics; copied from Fortran cbmnem array. More...
                                                               
                                                              char(* cbscl_c )[4]
                                                               Master Table B scale factors; copied from Fortran cbscl array. More...
                                                               
                                                              char(* cbsref_c )[12]
                                                               Master Table B reference value; copied from Fortran cbsref array. More...
                                                               
                                                              char(* cbunit_c )[24]
                                                               Master Table B units; copied from Fortran cbunit array. More...
                                                               
                                                              char(* cdmnem_c )[8]
                                                               Master Table D mnemonics; copied from Fortran cdmnem array. More...
                                                               
                                                              char(* cdseq_c )[120]
                                                               Master Table D sequence names; copied from Fortran cdseq array. More...
                                                               
                                                              int * ibfxyn_c
                                                               Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array. More...
                                                               
                                                              int * idefxy_c
                                                               Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy array. More...
                                                               
                                                              int * idfxyn_c
                                                               Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array. More...
                                                               
                                                              int * ndelem_c
                                                               Number of child descriptors for master Table D sequence; copied from Fortran ndelem array. More...
                                                               
                                                              int nmtb_c
                                                               Number of master Table B entries; copied from Fortran nmtb variable. More...
                                                               
                                                              int nmtd_c
                                                               Number of master Table D entries; copied from Fortran nmtd variable. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Declare variables for internal storage of master Table B and Table D entries.

                                                              +

                                                              Since the arrays in Fortran module MODA_MSTABS are dynamically allocated and their size isn't known at compile time, then we can't directly access them from within C. Instead, we need to allocate separate array space in C and then use subroutine cpmstabs() to copy the relevant information from the Fortran module MODA_MSTABS arrays to these C arrays at run time, in order to be able to access this information from within C.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-04
                                                              + +

                                                              Definition in file mstabs.h.

                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cbbw_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cbbw_c)[4]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table B bit widths; copied from Fortran cbbw array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbelem_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cbelem_c)[120]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table B element names; copied from Fortran cbelem array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbmnem_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cbmnem_c)[8]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table B mnemonics; copied from Fortran cbmnem array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbscl_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cbscl_c)[4]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table B scale factors; copied from Fortran cbscl array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbsref_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cbsref_c)[12]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table B reference value; copied from Fortran cbsref array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbunit_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cbunit_c)[24]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table B units; copied from Fortran cbunit array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cdmnem_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cdmnem_c)[8]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table D mnemonics; copied from Fortran cdmnem array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cdseq_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              char(* cdseq_c)[120]
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Master Table D sequence names; copied from Fortran cdseq array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ibfxyn_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              int* ibfxyn_c
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and nummtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idefxy_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              int* idefxy_c
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idfxyn_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              int* idfxyn_c
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and nummtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ndelem_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              int* ndelem_c
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.

                                                              + +

                                                              Referenced by arallocc(), ardllocc(), cpmstabs(), and stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmtb_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              int nmtb_c
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Number of master Table B entries; copied from Fortran nmtb variable.

                                                              + +

                                                              Referenced by cpmstabs(), and nummtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmtd_c

                                                              + +
                                                              +
                                                              + + + + + +
                                                              + + + + +
                                                              int nmtd_c
                                                              +
                                                              +extern
                                                              +
                                                              + +

                                                              Number of master Table D entries; copied from Fortran nmtd variable.

                                                              + +

                                                              Referenced by cpmstabs(), and nummtb().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/mstabs_8h.js b/previous_versions/v12.0.1/mstabs_8h.js new file mode 100644 index 000000000..5c88932c2 --- /dev/null +++ b/previous_versions/v12.0.1/mstabs_8h.js @@ -0,0 +1,17 @@ +var mstabs_8h = +[ + [ "cbbw_c", "mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0", null ], + [ "cbelem_c", "mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d", null ], + [ "cbmnem_c", "mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b", null ], + [ "cbscl_c", "mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47", null ], + [ "cbsref_c", "mstabs_8h.html#a944736d6f549e144e77482a27d57d54f", null ], + [ "cbunit_c", "mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc", null ], + [ "cdmnem_c", "mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51", null ], + [ "cdseq_c", "mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2", null ], + [ "ibfxyn_c", "mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad", null ], + [ "idefxy_c", "mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0", null ], + [ "idfxyn_c", "mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab", null ], + [ "ndelem_c", "mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26", null ], + [ "nmtb_c", "mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0", null ], + [ "nmtd_c", "mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/mstabs_8h_source.html b/previous_versions/v12.0.1/mstabs_8h_source.html new file mode 100644 index 000000000..cd5f21924 --- /dev/null +++ b/previous_versions/v12.0.1/mstabs_8h_source.html @@ -0,0 +1,145 @@ + + + + + + + +NCEPLIBS-bufr: mstabs.h Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              mstabs.h
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              15 #ifdef IN_ARALLOCC
                                                              +
                                                              17  int nmtb_c;
                                                              +
                                                              19  int *ibfxyn_c;
                                                              +
                                                              21  char (*cbscl_c)[4];
                                                              +
                                                              23  char (*cbsref_c)[12];
                                                              +
                                                              25  char (*cbbw_c)[4];
                                                              +
                                                              27  char (*cbunit_c)[24];
                                                              +
                                                              29  char (*cbmnem_c)[8];
                                                              +
                                                              31  char (*cbelem_c)[120];
                                                              +
                                                              33  int nmtd_c;
                                                              +
                                                              35  int *idfxyn_c;
                                                              +
                                                              37  char (*cdseq_c)[120];
                                                              +
                                                              39  char (*cdmnem_c)[8];
                                                              +
                                                              41  int *ndelem_c;
                                                              +
                                                              43  int *idefxy_c;
                                                              +
                                                              44 #else
                                                              +
                                                              46  extern int nmtb_c;
                                                              +
                                                              48  extern int *ibfxyn_c;
                                                              +
                                                              50  extern char (*cbscl_c)[4];
                                                              +
                                                              52  extern char (*cbsref_c)[12];
                                                              +
                                                              54  extern char (*cbbw_c)[4];
                                                              +
                                                              56  extern char (*cbunit_c)[24];
                                                              +
                                                              58  extern char (*cbmnem_c)[8];
                                                              +
                                                              60  extern char (*cbelem_c)[120];
                                                              +
                                                              62  extern int nmtd_c;
                                                              +
                                                              64  extern int *idfxyn_c;
                                                              +
                                                              66  extern char (*cdseq_c)[120];
                                                              +
                                                              68  extern char (*cdmnem_c)[8];
                                                              +
                                                              70  extern int *ndelem_c;
                                                              +
                                                              72  extern int *idefxy_c;
                                                              +
                                                              73 #endif
                                                              +
                                                              char(* cbunit_c)[24]
                                                              Master Table B units; copied from Fortran cbunit array.
                                                              +
                                                              int * idfxyn_c
                                                              Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                                              +
                                                              char(* cdmnem_c)[8]
                                                              Master Table D mnemonics; copied from Fortran cdmnem array.
                                                              +
                                                              char(* cbelem_c)[120]
                                                              Master Table B element names; copied from Fortran cbelem array.
                                                              +
                                                              int * ndelem_c
                                                              Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
                                                              +
                                                              int nmtd_c
                                                              Number of master Table D entries; copied from Fortran nmtd variable.
                                                              +
                                                              int * idefxy_c
                                                              Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
                                                              +
                                                              char(* cbbw_c)[4]
                                                              Master Table B bit widths; copied from Fortran cbbw array.
                                                              +
                                                              char(* cbsref_c)[12]
                                                              Master Table B reference value; copied from Fortran cbsref array.
                                                              +
                                                              char(* cdseq_c)[120]
                                                              Master Table D sequence names; copied from Fortran cdseq array.
                                                              +
                                                              int * ibfxyn_c
                                                              Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                                              +
                                                              int nmtb_c
                                                              Number of master Table B entries; copied from Fortran nmtb variable.
                                                              +
                                                              char(* cbscl_c)[4]
                                                              Master Table B scale factors; copied from Fortran cbscl array.
                                                              +
                                                              char(* cbmnem_c)[8]
                                                              Master Table B mnemonics; copied from Fortran cbmnem array.
                                                              +
                                                              +
                                                              + + + + diff --git a/mtfnam_8f.html b/previous_versions/v12.0.1/mtfnam_8f.html similarity index 100% rename from mtfnam_8f.html rename to previous_versions/v12.0.1/mtfnam_8f.html diff --git a/mtfnam_8f.js b/previous_versions/v12.0.1/mtfnam_8f.js similarity index 100% rename from mtfnam_8f.js rename to previous_versions/v12.0.1/mtfnam_8f.js diff --git a/mtfnam_8f_source.html b/previous_versions/v12.0.1/mtfnam_8f_source.html similarity index 100% rename from mtfnam_8f_source.html rename to previous_versions/v12.0.1/mtfnam_8f_source.html diff --git a/mtinfo_8f.html b/previous_versions/v12.0.1/mtinfo_8f.html similarity index 100% rename from mtinfo_8f.html rename to previous_versions/v12.0.1/mtinfo_8f.html diff --git a/mtinfo_8f.js b/previous_versions/v12.0.1/mtinfo_8f.js similarity index 100% rename from mtinfo_8f.js rename to previous_versions/v12.0.1/mtinfo_8f.js diff --git a/mtinfo_8f_source.html b/previous_versions/v12.0.1/mtinfo_8f_source.html similarity index 100% rename from mtinfo_8f_source.html rename to previous_versions/v12.0.1/mtinfo_8f_source.html diff --git a/mvb_8f.html b/previous_versions/v12.0.1/mvb_8f.html similarity index 100% rename from mvb_8f.html rename to previous_versions/v12.0.1/mvb_8f.html diff --git a/mvb_8f.js b/previous_versions/v12.0.1/mvb_8f.js similarity index 100% rename from mvb_8f.js rename to previous_versions/v12.0.1/mvb_8f.js diff --git a/mvb_8f_source.html b/previous_versions/v12.0.1/mvb_8f_source.html similarity index 100% rename from mvb_8f_source.html rename to previous_versions/v12.0.1/mvb_8f_source.html diff --git a/previous_versions/v12.0.1/namespacebufr__c2f__interface.html b/previous_versions/v12.0.1/namespacebufr__c2f__interface.html new file mode 100644 index 000000000..27bb90112 --- /dev/null +++ b/previous_versions/v12.0.1/namespacebufr__c2f__interface.html @@ -0,0 +1,2815 @@ + + + + + + + +NCEPLIBS-bufr: bufr_c2f_interface Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_c2f_interface Module Reference
                                                              +
                                                              +
                                                              + +

                                                              Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions/Subroutines

                                                              subroutine, public bort_c (errstr)
                                                               Log one error message and abort application program. More...
                                                               
                                                              subroutine, public bvers_c (cverstr, cverstr_len)
                                                               Get the version number of the NCEPLIBS-bufr software. More...
                                                               
                                                              subroutine, public cadn30_c (idn, adn, adn_str_len)
                                                               Convert an FXY value from its WMO bit-wise representation to its six-character representation. More...
                                                               
                                                              subroutine, public closbf_c (bufr_unit)
                                                               Close a previously opened file and disconnect it from the library. More...
                                                               
                                                              subroutine, public close_c (lunit)
                                                               Close a Fortran file from a C program. More...
                                                               
                                                              subroutine, public delete_table_data_c ()
                                                               Deletes the copies of the moda_tables arrays. More...
                                                               
                                                              subroutine, public elemdx_c (card, lun)
                                                               Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition. More...
                                                               
                                                              subroutine, public exitbufr_c ()
                                                               Reset the library. More...
                                                               
                                                              subroutine, public get_inode_c (lun, start_node)
                                                               Get the bufr node idx for the start node of the subset. More...
                                                               
                                                              subroutine, public get_inv_c (lun, inv_ptr, inv_size)
                                                               Get pointer to the moda_usrint INV array. More...
                                                               
                                                              subroutine, public get_irf_c (irf_ptr, irf_size)
                                                               Get copy of the moda_tables IRF array. More...
                                                               
                                                              subroutine, public get_isc_c (isc_ptr, isc_size)
                                                               Get copy of the moda_tables ISC array. More...
                                                               
                                                              subroutine, public get_itp_c (itp_ptr, itp_size)
                                                               Get copy of the moda_tables ITP array. More...
                                                               
                                                              subroutine, public get_jmpb_c (jmpb_ptr, jmpb_size)
                                                               Get copy of the moda_tables JMPB array. More...
                                                               
                                                              subroutine, public get_link_c (link_ptr, link_size)
                                                               Get copy of the moda_tables LINK array. More...
                                                               
                                                              subroutine, public get_nval_c (lun, num_nodes)
                                                               Get the number of values in the current subset. More...
                                                               
                                                              subroutine, public get_tag_c (tag_ptr, tag_len, mem_size)
                                                               Get copy of the moda_tables TAG array. More...
                                                               
                                                              subroutine, public get_typ_c (typ_ptr, typ_len, mem_size)
                                                               Get copy of the moda_tables TYP array. More...
                                                               
                                                              subroutine, public get_val_c (lun, val_ptr, val_size)
                                                               Get pointer to the moda_usrint VAL array. More...
                                                               
                                                              integer(c_int) function, public ibfms_c (r8val)
                                                               Test whether a data value is "missing". More...
                                                               
                                                              integer(c_int) function, public ifxy_c (cfxy)
                                                               Convert an FXY value from its 6 character representation to its WMO bit-wise representation. More...
                                                               
                                                              integer(c_int) function, public igetmxby_c ()
                                                               Get the maximum length of a BUFR message that can be written to an output file. More...
                                                               
                                                              integer(c_int) function, public igetntbi_c (lun, table_type)
                                                               Get the next index for storing an entry within an internal DX BUFR table. More...
                                                               
                                                              integer(c_int) function, public igetprm_c (cprmnm)
                                                               Get the current value of a parameter. More...
                                                               
                                                              integer(c_int) function, public igettdi_c (iflag)
                                                               Get the next usable Table D index for the current master table, or reset the index. More...
                                                               
                                                              integer(c_int) function, public imrkopr_c (nemo)
                                                               Check whether a specified mnemonic is a Table C marker operator. More...
                                                               
                                                              integer(c_int) function, public ireadmg_c (bufr_unit, c_subset, iddate, subset_str_len)
                                                               Read the next message from a BUFR file. More...
                                                               
                                                              integer(c_int) function, public ireadns_c (bufr_unit, c_subset, iddate, subset_str_len)
                                                               Read the next data subset from a BUFR file. More...
                                                               
                                                              integer(c_int) function, public ireadsb_c (bufr_unit)
                                                               Read the next data subset from a BUFR message. More...
                                                               
                                                              integer(c_int) function, public isetprm_c (cprmnm, ipval)
                                                               Define a customized parameter value for dynamic allocation. More...
                                                               
                                                              integer(c_int) function, public istdesc_c (idn)
                                                               Check whether a descriptor is WMO-standard. More...
                                                               
                                                              integer(c_int) function, public iupb_c (mbay, nbyt, nbit)
                                                               Decode an integer value from an integer array. More...
                                                               
                                                              integer(c_int) function, public iupbs01_c (bufr, mnemonic)
                                                               Read a data value from Section 0 or Section 1 of a BUFR message. More...
                                                               
                                                              subroutine, public maxout_c (max0)
                                                               Define a customized maximum length for output BUFR messages. More...
                                                               
                                                              subroutine, public mtinfo_c (path, file_unit_1, file_unit_2)
                                                               Specify location of master BUFR tables on local file system. More...
                                                               
                                                              subroutine, public nemdefs_c (file_unit, mnemonic, unit_c, unit_str_len, desc_c, desc_str_len, iret)
                                                               Get the element name and units associated with a Table B mnemonic. More...
                                                               
                                                              subroutine, public nemspecs_c (file_unit, mnemonic, mnemonic_idx, scale, reference, bits, iret)
                                                               Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic. More...
                                                               
                                                              subroutine, public nemtab_c (lun, mnemonic, descriptor, table_type, table_idx)
                                                               Get information about a descriptor. More...
                                                               
                                                              subroutine, public nemtbb_c (lun, table_idx, unit_str, unit_str_len, scale, reference, bits)
                                                               Get information about a Table B descriptor. More...
                                                               
                                                              subroutine, public numtbd_c (lun, idn, nemo, nemo_str_len, tab, iret)
                                                               Search for a Table B or Table D descriptor within the internal DX BUFR tables. More...
                                                               
                                                              subroutine, public open_c (lunit, filepath)
                                                               Open a Fortran file from a C program. More...
                                                               
                                                              subroutine, public openbf_c (bufr_unit, cio, table_file_id)
                                                               Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file. More...
                                                               
                                                              subroutine, public openmb_c (bufr_unit, c_subset, iddate)
                                                               Open a new message for output in a BUFR file that was previously opened for writing. More...
                                                               
                                                              subroutine, public pktdd_c (id, lun, idn, iret)
                                                               Store information about a child mnemonic within the internal arrays. More...
                                                               
                                                              subroutine, public readlc_c (lunit, str_id, output_str, output_str_len)
                                                               Function used to get long strings from the BUFR file. More...
                                                               
                                                              subroutine, public status_c (file_unit, lun, il, im)
                                                               Check whether a file is connected to the library. More...
                                                               
                                                              subroutine, public stntbi_c (n, lun, numb, nemo, celsq)
                                                               Store a new entry within the internal BUFR Table B or D. More...
                                                               
                                                              subroutine, public strnum_c (str, num, iret)
                                                               Decode an integer from a character string. More...
                                                               
                                                              subroutine, public ufbint_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
                                                               Read/write one or more data values from/to a data subset. More...
                                                               
                                                              subroutine, public ufbrep_c (bufr_unit, c_data, dim_1, dim_2, iret, table_b_mnemonic)
                                                               Read/write one or more data values from/to a data subset. More...
                                                               
                                                              subroutine, public ufbseq_c (bufr_unit, c_data, dim_1, dim_2, iret, table_d_mnemonic)
                                                               Read/write an entire sequence of data values from/to a data subset. More...
                                                               
                                                              subroutine, public uptdd_c (id, lun, ient, iret)
                                                               Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence. More...
                                                               
                                                              subroutine, public wrdlen_c ()
                                                               Determine important information about the local machine. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Wrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C.

                                                              +

                                                              Local copies of some Fortran variables are stored as allocatable objects, especially isc, link, jmpb, tag and typ. It's the application program's responsibility to call delete_table_data_f in order to properly delete these variables.

                                                              +
                                                              Author
                                                              Ronald Mclaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ bort_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::bort_c (character(kind=c_char, len=1), dimension(*), intent(in) errstr)
                                                              +
                                                              + +

                                                              Log one error message and abort application program.

                                                              +

                                                              Wraps bort() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              errstr- Error message.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1039 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References bort().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ bvers_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::bvers_c (character(kind=c_char, len=1), dimension(*), intent(out) cverstr,
                                                              integer(c_int), intent(in), value cverstr_len 
                                                              )
                                                              +
                                                              + +

                                                              Get the version number of the NCEPLIBS-bufr software.

                                                              +

                                                              Wraps bvers() subroutine.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              cverstr- Version string.
                                                              cverstr_len- Length of the version string.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1070 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References bvers().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cadn30_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::cadn30_c (integer(c_int), intent(in), value idn,
                                                              character(kind=c_char, len=1), dimension(*), intent(out) adn,
                                                              integer(c_int), intent(in), value adn_str_len 
                                                              )
                                                              +
                                                              + +

                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.

                                                              +

                                                              Wraps cadn30() function.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              idn- WMO bit-wise representation of FXY value.
                                                              adn- FXY value.
                                                              adn_str_len- Length of adn string.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 725 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References cadn30().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ closbf_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::closbf_c (integer(c_int), intent(in), value bufr_unit)
                                                              +
                                                              + +

                                                              Close a previously opened file and disconnect it from the library.

                                                              +

                                                              Wraps closbf() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              bufr_unit- Fortran logical unit number to close
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 137 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References closbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ close_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::close_c (integer(c_int), intent(in), value lunit)
                                                              +
                                                              + +

                                                              Close a Fortran file from a C program.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunit- Fortran logical unit
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 106 of file bufr_c2f_interface.F90.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ delete_table_data_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              subroutine, public bufr_c2f_interface::delete_table_data_c
                                                              +
                                                              + +

                                                              Deletes the copies of the moda_tables arrays.

                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 617 of file bufr_c2f_interface.F90.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ elemdx_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::elemdx_c (character(kind=c_char, len=1), dimension(*), intent(in) card,
                                                              integer(c_int), intent(in), value lun 
                                                              )
                                                              +
                                                              + +

                                                              Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.

                                                              +

                                                              Wraps elemdx() subroutine.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              card- Mnemonic definition card.
                                                              lun- File ID.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 765 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References elemdx().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ exitbufr_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              subroutine, public bufr_c2f_interface::exitbufr_c
                                                              +
                                                              + +

                                                              Reset the library.

                                                              +

                                                              Wraps exitbufr() subroutine.

                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 148 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References exitbufr().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_inode_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_inode_c (integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(out) start_node 
                                                              )
                                                              +
                                                              + +

                                                              Get the bufr node idx for the start node of the subset.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID.
                                                              start_node- The start node of the subset
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 534 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_msgcwd::inode.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_inv_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_inv_c (integer(c_int), intent(in), value lun,
                                                              type(c_ptr), intent(inout) inv_ptr,
                                                              integer(c_int), intent(out) inv_size 
                                                              )
                                                              +
                                                              + +

                                                              Get pointer to the moda_usrint INV array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lun- File ID.
                                                              inv_ptr- C-style pointer to the INV array
                                                              inv_size- Length of the array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 580 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_usrint::inv.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_irf_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_irf_c (type(c_ptr), intent(inout) irf_ptr,
                                                              integer(c_int), intent(out) irf_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables IRF array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              irf_ptr- C-style pointer to the IRF array
                                                              irf_size- Length of the array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2023-04-05
                                                              + +

                                                              Definition at line 517 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::irf, and moda_tables::ntab.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_isc_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_isc_c (type(c_ptr), intent(inout) isc_ptr,
                                                              integer(c_int), intent(out) isc_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables ISC array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              isc_ptr- C-style pointer to the ISC array
                                                              isc_size- Size of the ISC array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 409 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::isc, and moda_tables::ntab.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_itp_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_itp_c (type(c_ptr), intent(inout) itp_ptr,
                                                              integer(c_int), intent(out) itp_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables ITP array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              itp_ptr- C-style pointer to the ITP array
                                                              itp_size- Size of the ITP array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 443 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::itp, and moda_tables::ntab.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_jmpb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_jmpb_c (type(c_ptr), intent(inout) jmpb_ptr,
                                                              integer(c_int), intent(out) jmpb_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables JMPB array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              jmpb_ptr- C-style pointer to the JMPB array
                                                              jmpb_size- Length of the array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 500 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::jmpb, and moda_tables::ntab.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_link_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_link_c (type(c_ptr), intent(inout) link_ptr,
                                                              integer(c_int), intent(out) link_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables LINK array.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              link_ptr- C-style pointer to the LINK array
                                                              link_size- Size of the LINK array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 426 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::link, and moda_tables::ntab.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_nval_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_nval_c (integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(out) num_nodes 
                                                              )
                                                              +
                                                              + +

                                                              Get the number of values in the current subset.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID.
                                                              num_nodes- number of values in the subset
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 548 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_usrint::nval.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_tag_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_tag_c (type(c_ptr), intent(inout) tag_ptr,
                                                              integer(c_int), intent(out) tag_len,
                                                              integer(c_int), intent(out) mem_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables TAG array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              tag_ptr- C-style pointer to the TAG array
                                                              tag_len- Length of the tag string
                                                              mem_size- Size of TAG array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 481 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::ntab, and moda_tables::tag.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_typ_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_typ_c (type(c_ptr), intent(inout) typ_ptr,
                                                              integer(c_int), intent(out) typ_len,
                                                              integer(c_int), intent(out) mem_size 
                                                              )
                                                              +
                                                              + +

                                                              Get copy of the moda_tables TYP array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              typ_ptr- C-style pointer to the TYP array
                                                              typ_len- Size of each string within the TYP array
                                                              mem_size- Size of the TYP array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 461 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_tables::ntab, and moda_tables::typ.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ get_val_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::get_val_c (integer(c_int), intent(in), value lun,
                                                              type(c_ptr), intent(inout) val_ptr,
                                                              integer(c_int), intent(out) val_size 
                                                              )
                                                              +
                                                              + +

                                                              Get pointer to the moda_usrint VAL array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lun- File ID.
                                                              val_ptr- C-style pointer to the VAL array
                                                              val_size- Length of the array
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 563 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References moda_usrint::val.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ibfms_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::ibfms_c (real(c_double), intent(in), value r8val)
                                                              +
                                                              + +

                                                              Test whether a data value is "missing".

                                                              +

                                                              Wraps ibfms() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              r8val- Data value.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ibfms_c - 1 if r8val is "missing", or 0 otherwise.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 940 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ibfms().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ifxy_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::ifxy_c (character(kind=c_char, len=1), dimension(*), intent(in) cfxy)
                                                              +
                                                              + +

                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.

                                                              +

                                                              Wraps ifxy() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              cfxy- FXY value.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ifxy_c - WMO bit-wise representation of FXY value.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 813 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ifxy().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetmxby_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::igetmxby_c
                                                              +
                                                              + +

                                                              Get the maximum length of a BUFR message that can be written to an output file.

                                                              +

                                                              Wraps igetmxby() function.

                                                              +
                                                              Returns
                                                              igetmxby_c - Maximum length of a BUFR message that can be written to an output file.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 708 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References igetmxby().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetntbi_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::igetntbi_c (integer(c_int), intent(in), value lun,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) table_type 
                                                              )
                                                              +
                                                              + +

                                                              Get the next index for storing an entry within an internal DX BUFR table.

                                                              +

                                                              Wraps igetntbi() subroutine.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID.
                                                              table_type- Type of internal DX BUFR table ('A', 'B', or 'D')
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              igetntbi_c - Next available index within table_type.
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-08-16
                                                              + +

                                                              Definition at line 744 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References igetntbi().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetprm_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::igetprm_c (character(kind=c_char, len=1), dimension(*), intent(in) cprmnm)
                                                              +
                                                              + +

                                                              Get the current value of a parameter.

                                                              +

                                                              Wraps igetprm() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              cprmnm- Parameter.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              igetprm_c - Value corresponding to cprmnm, or -1 if not found or other error occurred.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 658 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References igetprm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igettdi_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::igettdi_c (integer(c_int), intent(in), value iflag)
                                                              +
                                                              + +

                                                              Get the next usable Table D index for the current master table, or reset the index.

                                                              +

                                                              Wraps igettdi() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              iflag- if 0, will reset the index.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              igettdi_c - -1 if iflag=0, otherwise the next usable index.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1005 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References igettdi().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ imrkopr_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::imrkopr_c (character(kind=c_char, len=1), dimension(*), intent(in) nemo)
                                                              +
                                                              + +

                                                              Check whether a specified mnemonic is a Table C marker operator.

                                                              +

                                                              Wraps imrkopr() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              nemo- Mnemonic.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              imrkopr_c - 1 if nemo is a Table C marker operator, else 0.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 853 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References imrkopr().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadmg_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::ireadmg_c (integer(c_int), intent(in), value bufr_unit,
                                                              character(kind=c_char, len=1), dimension(*), intent(out) c_subset,
                                                              integer(c_int), intent(out) iddate,
                                                              integer(c_int), intent(in), value subset_str_len 
                                                              )
                                                              +
                                                              + +

                                                              Read the next message from a BUFR file.

                                                              +

                                                              Wraps ireadmg() function.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bufr_unit- Fortran logical unit number to read from
                                                              c_subset- Subset string
                                                              iddate- Datetime of message
                                                              subset_str_len- Length of the subset string
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ireadmg_c - Return code:
                                                                +
                                                              • 0 new BUFR message was successfully read into internal arrays.
                                                              • +
                                                              • -1 there are no more BUFR messages in bufr_unit.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 166 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ireadmg().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadns_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::ireadns_c (integer(c_int), intent(in), value bufr_unit,
                                                              character(kind=c_char, len=1), dimension(*), intent(out) c_subset,
                                                              integer(c_int), intent(out) iddate,
                                                              integer(c_int), intent(in), value subset_str_len 
                                                              )
                                                              +
                                                              + +

                                                              Read the next data subset from a BUFR file.

                                                              +

                                                              Wraps ireadns() function.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              bufr_unit- Fortran logical unit number to read from.
                                                              c_subset- Subset string.
                                                              iddate- Datetime of message.
                                                              subset_str_len- Length of the subset string.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ireadns_c - Return code:
                                                                +
                                                              • 0 new BUFR data subset was successfully read into internal arrays.
                                                              • +
                                                              • -1 there are no more BUFR data subsets in bufr_unit.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 915 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ireadns().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadsb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::ireadsb_c (integer(c_int), intent(in), value bufr_unit)
                                                              +
                                                              + +

                                                              Read the next data subset from a BUFR message.

                                                              +

                                                              Wraps ireadsb() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              bufr_unit- Fortran logical unit number to read from
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ireadsb_c - Return code:
                                                                +
                                                              • 0 new BUFR data subset was successfully read into internal arrays.
                                                              • +
                                                              • -1 there are no more BUFR data subsets in the BUFR message associated with bufr_unit
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 192 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ireadsb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ isetprm_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::isetprm_c (character(kind=c_char, len=1), dimension(*), intent(in) cprmnm,
                                                              integer(c_int), intent(in), value ipval 
                                                              )
                                                              +
                                                              + +

                                                              Define a customized parameter value for dynamic allocation.

                                                              +

                                                              Wraps isetprm() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              cprmnm- Parameter.
                                                              ipval- Value to be set for cprmnm.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              isetprm_c - 0 if successful, or -1 if cprmnm unknown.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 676 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References isetprm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ istdesc_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::istdesc_c (integer(c_int), intent(in), value idn)
                                                              +
                                                              + +

                                                              Check whether a descriptor is WMO-standard.

                                                              +

                                                              Wraps istdesc() function.

                                                              +
                                                              Parameters
                                                              + + +
                                                              idn- WMO bit-wise representation of FXY value for descriptor.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              istdesc_c - 1 if idn is WMO-standard, else 0.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 870 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References istdesc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iupb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::iupb_c (integer(c_int), dimension(*), intent(in) mbay,
                                                              integer(c_int), intent(in), value nbyt,
                                                              integer(c_int), intent(in), value nbit 
                                                              )
                                                              +
                                                              + +

                                                              Decode an integer value from an integer array.

                                                              +

                                                              Wraps iupb() function.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              mbay- Array containing encoded value.
                                                              nbyt- Byte within mbay at whose first bit to begin decoding.
                                                              nbit- Number of bits to decode.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              iupb_c - Decoded value.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1099 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References cmpmsg(), and iupb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iupbs01_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              integer(c_int) function, public bufr_c2f_interface::iupbs01_c (integer(c_int), dimension(*), intent(in) bufr,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read a data value from Section 0 or Section 1 of a BUFR message.

                                                              +

                                                              Wraps iupbs01() function.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              bufr- BUFR message.
                                                              mnemonic- Value to be read from Section 0 or Section 1 of BUFR message.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              iupbs01_c - Value corresponding to mnemonic, or -1 if not found or other error occurred.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 639 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References iupbs01().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ maxout_c()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::maxout_c (integer(c_int), intent(in), value max0)
                                                              +
                                                              + +

                                                              Define a customized maximum length for output BUFR messages.

                                                              +

                                                              Wraps maxout() subroutine.

                                                              +
                                                              Parameters
                                                              + + +
                                                              max0- New maximum length (in bytes) for all BUFR messages written to all output files.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 693 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References maxout().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mtinfo_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::mtinfo_c (character(kind=c_char, len=1), dimension(*), intent(in) path,
                                                              integer(c_int), intent(in), value file_unit_1,
                                                              integer(c_int), intent(in), value file_unit_2 
                                                              )
                                                              +
                                                              + +

                                                              Specify location of master BUFR tables on local file system.

                                                              +

                                                              Wraps mtinfo() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              path- Path where the WMO tables are stored
                                                              file_unit_1- Number to use for first logical unit
                                                              file_unit_2- Number to use for second logical unit
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 255 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References mtinfo().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemdefs_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::nemdefs_c (integer(c_int), intent(in), value file_unit,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) mnemonic,
                                                              character(kind=c_char, len=1), dimension(*), intent(out) unit_c,
                                                              integer(c_int), intent(in), value unit_str_len,
                                                              character(kind=c_char, len=1), dimension(*), intent(out) desc_c,
                                                              integer(c_int), intent(in), value desc_str_len,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Get the element name and units associated with a Table B mnemonic.

                                                              +

                                                              Wraps nemdefs() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              file_unit- Fortran logical unit for the open file.
                                                              mnemonic- Mnemonic.
                                                              unit_c- Unit string.
                                                              unit_str_len- Unit string length.
                                                              desc_c- Description string.
                                                              desc_str_len- Description string length.
                                                              iret- Return value. 0 indicates success -1 indicates failure.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-08-08
                                                              + +

                                                              Definition at line 295 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References nemdefs().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemspecs_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::nemspecs_c (integer(c_int), intent(in), value file_unit,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) mnemonic,
                                                              integer(c_int), intent(in), value mnemonic_idx,
                                                              integer(c_int), intent(out) scale,
                                                              integer(c_int), intent(out) reference,
                                                              integer(c_int), intent(out) bits,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Get the scale factor, reference value and bit width associated with a specified occurrence of a Table B mnemonic.

                                                              +

                                                              Wraps nemspecs() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              file_unit- Fortran logical unit for the open file.
                                                              mnemonic- Mnemonic.
                                                              mnemonic_idx- Ordinal indicator of specific mnemonic element (if repeated).
                                                              scale- Scale of element.
                                                              reference- Reference value of element.
                                                              bits- Number of bits representing the element.
                                                              iret- Return value. 0 indicates success -1 indicates failure.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-08-08
                                                              + +

                                                              Definition at line 333 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References nemspecs().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemtab_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::nemtab_c (integer(c_int), intent(in), value lun,
                                                              character(kind=c_char,len=1), dimension(*), intent(in) mnemonic,
                                                              integer(c_int), intent(out) descriptor,
                                                              character(kind=c_char,len=1), dimension(*), intent(out) table_type,
                                                              integer(c_int), intent(out) table_idx 
                                                              )
                                                              +
                                                              + +

                                                              Get information about a descriptor.

                                                              +

                                                              Wraps nemtab() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              lun- File ID.
                                                              mnemonic- Mnemonic
                                                              descriptor- The binary descriptor for the mnemonic
                                                              table_type- Type of internal DX BUFR table ('B', 'C', or 'D').
                                                              table_idx- The table index, or 0 if not found
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-08-16
                                                              + +

                                                              Definition at line 358 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References nemtab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nemtbb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::nemtbb_c (integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(in), value table_idx,
                                                              character(kind=c_char,len=1), dimension(*), intent(out) unit_str,
                                                              integer(c_int), intent(in), value unit_str_len,
                                                              integer(c_int), intent(out) scale,
                                                              integer(c_int), intent(out) reference,
                                                              integer(c_int), intent(out) bits 
                                                              )
                                                              +
                                                              + +

                                                              Get information about a Table B descriptor.

                                                              +

                                                              Wraps nemtbb() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lun- File ID.
                                                              table_idx- Table B index.
                                                              unit_str- Unit string.
                                                              unit_str_len- Unit string length.
                                                              scale- Scale of element.
                                                              reference- Reference value of element.
                                                              bits- Number of bits representing the element.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-08-16
                                                              + +

                                                              Definition at line 386 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References nemtbb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ numtbd_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::numtbd_c (integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(in), value idn,
                                                              character(kind=c_char,len=1), dimension(*), intent(out) nemo,
                                                              integer(c_int), intent(in), value nemo_str_len,
                                                              character(kind=c_char,len=1), dimension(*), intent(out) tab,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.

                                                              +

                                                              Wraps numtbd() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lun- File ID.
                                                              idn- Bit-wise representation of FXY value.
                                                              nemo- Mnemonic.
                                                              nemo_str_len- Length of nemo string.
                                                              tab- Type of internal DX BUFR table ('B', or 'D').
                                                              iret- Positional index of idn within Table B or D, or 0 if not found.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 789 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References numtbd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ open_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::open_c (integer(c_int), intent(in), value lunit,
                                                              character(kind=c_char, len=1) filepath 
                                                              )
                                                              +
                                                              + +

                                                              Open a Fortran file from a C program.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lunit- Fortran logical unit
                                                              filepath- Path to the file we want to open.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 94 of file bufr_c2f_interface.F90.

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openbf_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::openbf_c (integer(c_int), intent(in), value bufr_unit,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) cio,
                                                              integer(c_int), intent(in), value table_file_id 
                                                              )
                                                              +
                                                              + +

                                                              Connect a new file to the library, or initialize the library, or change verbosity associated with already-connected file.

                                                              +

                                                              Wraps openbf() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bufr_unit- Fortran logical unit number
                                                              cio- cio string
                                                              table_file_id- table_file unit number
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 122 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References openbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openmb_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::openmb_c (integer(c_int), intent(in), value bufr_unit,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) c_subset,
                                                              integer(c_int), intent(in), value iddate 
                                                              )
                                                              +
                                                              + +

                                                              Open a new message for output in a BUFR file that was previously opened for writing.

                                                              +

                                                              Wraps openmb() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              bufr_unit- Fortran logical unit number to write to.
                                                              c_subset- Table A mnemonic of message.
                                                              iddate- Date-time to be stored within Section 1 of message.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1055 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References openmb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ pktdd_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::pktdd_c (integer(c_int), intent(in), value id,
                                                              integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(in), value idn,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Store information about a child mnemonic within the internal arrays.

                                                              +

                                                              Wraps pktdd() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              id- Index of parent mnemonic within internal BUFR Table D array.
                                                              lun- File ID.
                                                              idn- WMO bit-wise representation of FXY value corresponding to child mnemonic; set to 0 to delete all child mnemonic information.
                                                              iret- 0 if idn=0; -1 if error occurred; otherwise, the total number of child mnemonics stored so far for parent mnemonic id.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1025 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References pktdd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readlc_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::readlc_c (integer(c_int), intent(in), value lunit,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) str_id,
                                                              character(kind=c_char, len=1), dimension(*), intent(out) output_str,
                                                              integer(c_int), intent(in), value output_str_len 
                                                              )
                                                              +
                                                              + +

                                                              Function used to get long strings from the BUFR file.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunit- Fortran logical unit.
                                                              str_id- Mnemonic for the string for the source field plus the index number (ex: 'IDMN#2')
                                                              output_str- The pre-allocated result string
                                                              output_str_len- Size of the result string buffer
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2023-07-03
                                                              + +

                                                              Definition at line 599 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References readlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ status_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::status_c (integer(c_int), intent(in), value file_unit,
                                                              integer(c_int), intent(out) lun,
                                                              integer(c_int), intent(out) il,
                                                              integer(c_int), intent(out) im 
                                                              )
                                                              +
                                                              + +

                                                              Check whether a file is connected to the library.

                                                              +

                                                              Wraps status() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              file_unit- Fortran logical unit number of file.
                                                              lun- File ID.
                                                              il- File status.
                                                              im- Message status.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2022-03-23
                                                              + +

                                                              Definition at line 273 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References status().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ stntbi_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::stntbi_c (integer(c_int), intent(in), value n,
                                                              integer(c_int), intent(in), value lun,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) numb,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) nemo,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) celsq 
                                                              )
                                                              +
                                                              + +

                                                              Store a new entry within the internal BUFR Table B or D.

                                                              +

                                                              Wraps stntbi() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              n- Storage index into internal Table B or D.
                                                              lun- File ID.
                                                              numb- FXY number for new entry.
                                                              nemo- Mnemonic corresponding to numb.
                                                              celsq- Element or sequence description corresponding to numb.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 975 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References stntbi().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ strnum_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::strnum_c (character(kind=c_char, len=1), dimension(*), intent(in) str,
                                                              integer(c_int), intent(out) num,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Decode an integer from a character string.

                                                              +

                                                              Wraps strnum() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              str- String.
                                                              num- Value decoded from str.
                                                              iret- 0 if successful, -1 otherwise.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 957 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References strnum().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbint_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::ufbint_c (integer(c_int), intent(in), value bufr_unit,
                                                              type(c_ptr), intent(inout) c_data,
                                                              integer(c_int), intent(in), value dim_1,
                                                              integer(c_int), intent(in), value dim_2,
                                                              integer(c_int), intent(out) iret,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) table_b_mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read/write one or more data values from/to a data subset.

                                                              +

                                                              Wraps ufbint() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              bufr_unit- Fortran logical unit number to read from
                                                              c_data- C-style pointer to a pre-allocated buffer
                                                              dim_1,dim_2- Dimensionality of data to read or write
                                                              iret- Return value, length of data read
                                                              table_b_mnemonic- String of mnemonics
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 211 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ufbint().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbrep_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::ufbrep_c (integer(c_int), intent(in), value bufr_unit,
                                                              type(c_ptr), intent(inout) c_data,
                                                              integer(c_int), intent(in), value dim_1,
                                                              integer(c_int), intent(in), value dim_2,
                                                              integer(c_int), intent(out) iret,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) table_b_mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read/write one or more data values from/to a data subset.

                                                              +

                                                              Wraps ufbrep() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              bufr_unit- Fortran logical unit number to read from
                                                              c_data- C-style pointer to a pre-allocated buffer
                                                              dim_1,dim_2- Dimensionality of data to read or write
                                                              iret- Return value, length of data read
                                                              table_b_mnemonic- String of mnemonics
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ronald McLaren
                                                              +
                                                              Date
                                                              2020-07-29
                                                              + +

                                                              Definition at line 234 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ufbrep().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbseq_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::ufbseq_c (integer(c_int), intent(in), value bufr_unit,
                                                              type(c_ptr), intent(inout) c_data,
                                                              integer(c_int), intent(in), value dim_1,
                                                              integer(c_int), intent(in), value dim_2,
                                                              integer(c_int), intent(out) iret,
                                                              character(kind=c_char, len=1), dimension(*), intent(in) table_d_mnemonic 
                                                              )
                                                              +
                                                              + +

                                                              Read/write an entire sequence of data values from/to a data subset.

                                                              +

                                                              Wraps ufbseq() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              bufr_unit- Fortran logical unit number to read from
                                                              c_data- C-style pointer to a pre-allocated buffer
                                                              dim_1,dim_2- Dimensionality of data to read or write
                                                              iret- Return value, length of data read
                                                              table_d_mnemonic- Table A or Table D mnemonic.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 889 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References ufbseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ uptdd_c()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine, public bufr_c2f_interface::uptdd_c (integer(c_int), intent(in), value id,
                                                              integer(c_int), intent(in), value lun,
                                                              integer(c_int), intent(in), value ient,
                                                              integer(c_int), intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D sequence.

                                                              +

                                                              Wraps uptdd() subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              id- Positional index of parent mnemonic within internal BUFR Table D array.
                                                              lun- File ID.
                                                              ient- Ordinal indicator of child mnemonic to return from within parent sequence; set to 0 to request a count of the total number of child mnemonics.
                                                              iret- Total number of child mnemonics if ient = 0; otherwise the WMO bit-wise representation of the FXY value corresponding to the ient'th mnemonic.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 837 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References uptdd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ wrdlen_c()

                                                              + +
                                                              +
                                                              + + + + +
                                                              subroutine, public bufr_c2f_interface::wrdlen_c
                                                              +
                                                              + +

                                                              Determine important information about the local machine.

                                                              +

                                                              Wraps wrdlen() subroutine.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-04-07
                                                              + +

                                                              Definition at line 1084 of file bufr_c2f_interface.F90.

                                                              + +

                                                              References wrdlen().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacebufr__interface.html b/previous_versions/v12.0.1/namespacebufr__interface.html new file mode 100644 index 000000000..9ca4e73f4 --- /dev/null +++ b/previous_versions/v12.0.1/namespacebufr__interface.html @@ -0,0 +1,122 @@ + + + + + + + +NCEPLIBS-bufr: bufr_interface Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufr_interface Module Reference
                                                              +
                                                              +
                                                              + +

                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs. +More...

                                                              + + + + + + + + + + + + +

                                                              +Data Types

                                                              interface  ccbfl_c
                                                               
                                                              interface  cobfl_c
                                                               
                                                              interface  crbmg_c
                                                               
                                                              interface  cwbmg_c
                                                               
                                                              interface  dlloctbf_c
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-03-22
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacebufr__interface.js b/previous_versions/v12.0.1/namespacebufr__interface.js new file mode 100644 index 000000000..a614a1be7 --- /dev/null +++ b/previous_versions/v12.0.1/namespacebufr__interface.js @@ -0,0 +1,8 @@ +var namespacebufr__interface = +[ + [ "ccbfl_c", "interfacebufr__interface_1_1ccbfl__c.html", "interfacebufr__interface_1_1ccbfl__c" ], + [ "cobfl_c", "interfacebufr__interface_1_1cobfl__c.html", "interfacebufr__interface_1_1cobfl__c" ], + [ "crbmg_c", "interfacebufr__interface_1_1crbmg__c.html", "interfacebufr__interface_1_1crbmg__c" ], + [ "cwbmg_c", "interfacebufr__interface_1_1cwbmg__c.html", "interfacebufr__interface_1_1cwbmg__c" ], + [ "dlloctbf_c", "interfacebufr__interface_1_1dlloctbf__c.html", "interfacebufr__interface_1_1dlloctbf__c" ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/namespacebufrlib.html b/previous_versions/v12.0.1/namespacebufrlib.html new file mode 100644 index 000000000..abfc7e365 --- /dev/null +++ b/previous_versions/v12.0.1/namespacebufrlib.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-bufr: bufrlib Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              bufrlib Module Reference
                                                              +
                                                              +
                                                              + +

                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Data Types

                                                              interface  arallocc_c
                                                               
                                                              interface  ardllocc_c
                                                               
                                                              interface  backbufr_c
                                                               
                                                              interface  bort_exit_c
                                                               
                                                              interface  cewind_c
                                                               
                                                              interface  closfb_c
                                                               
                                                              interface  cpmstabs_c
                                                               
                                                              interface  crdbufr_c
                                                               
                                                              interface  cwrbufr_c
                                                               
                                                              interface  icvidx_c
                                                               
                                                              interface  inittbf_c
                                                               
                                                              interface  openab_c
                                                               
                                                              interface  openrb_c
                                                               
                                                              interface  openwb_c
                                                               
                                                              interface  restd_c
                                                               
                                                              interface  sorttbf_c
                                                               
                                                              interface  srchtbf_c
                                                               
                                                              interface  strtbfe_c
                                                               
                                                              interface  stseq_c
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2023-03-22
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacebufrlib.js b/previous_versions/v12.0.1/namespacebufrlib.js new file mode 100644 index 000000000..989f9baf4 --- /dev/null +++ b/previous_versions/v12.0.1/namespacebufrlib.js @@ -0,0 +1,22 @@ +var namespacebufrlib = +[ + [ "arallocc_c", "interfacebufrlib_1_1arallocc__c.html", "interfacebufrlib_1_1arallocc__c" ], + [ "ardllocc_c", "interfacebufrlib_1_1ardllocc__c.html", "interfacebufrlib_1_1ardllocc__c" ], + [ "backbufr_c", "interfacebufrlib_1_1backbufr__c.html", "interfacebufrlib_1_1backbufr__c" ], + [ "bort_exit_c", "interfacebufrlib_1_1bort__exit__c.html", "interfacebufrlib_1_1bort__exit__c" ], + [ "cewind_c", "interfacebufrlib_1_1cewind__c.html", "interfacebufrlib_1_1cewind__c" ], + [ "closfb_c", "interfacebufrlib_1_1closfb__c.html", "interfacebufrlib_1_1closfb__c" ], + [ "cpmstabs_c", "interfacebufrlib_1_1cpmstabs__c.html", "interfacebufrlib_1_1cpmstabs__c" ], + [ "crdbufr_c", "interfacebufrlib_1_1crdbufr__c.html", "interfacebufrlib_1_1crdbufr__c" ], + [ "cwrbufr_c", "interfacebufrlib_1_1cwrbufr__c.html", "interfacebufrlib_1_1cwrbufr__c" ], + [ "icvidx_c", "interfacebufrlib_1_1icvidx__c.html", "interfacebufrlib_1_1icvidx__c" ], + [ "inittbf_c", "interfacebufrlib_1_1inittbf__c.html", "interfacebufrlib_1_1inittbf__c" ], + [ "openab_c", "interfacebufrlib_1_1openab__c.html", "interfacebufrlib_1_1openab__c" ], + [ "openrb_c", "interfacebufrlib_1_1openrb__c.html", "interfacebufrlib_1_1openrb__c" ], + [ "openwb_c", "interfacebufrlib_1_1openwb__c.html", "interfacebufrlib_1_1openwb__c" ], + [ "restd_c", "interfacebufrlib_1_1restd__c.html", "interfacebufrlib_1_1restd__c" ], + [ "sorttbf_c", "interfacebufrlib_1_1sorttbf__c.html", "interfacebufrlib_1_1sorttbf__c" ], + [ "srchtbf_c", "interfacebufrlib_1_1srchtbf__c.html", "interfacebufrlib_1_1srchtbf__c" ], + [ "strtbfe_c", "interfacebufrlib_1_1strtbfe__c.html", "interfacebufrlib_1_1strtbfe__c" ], + [ "stseq_c", "interfacebufrlib_1_1stseq__c.html", "interfacebufrlib_1_1stseq__c" ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/namespacemembers.html b/previous_versions/v12.0.1/namespacemembers.html new file mode 100644 index 000000000..0034bab33 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers.html @@ -0,0 +1,107 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - b -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_c.html b/previous_versions/v12.0.1/namespacemembers_c.html new file mode 100644 index 000000000..c7a708913 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_c.html @@ -0,0 +1,161 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - c -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_d.html b/previous_versions/v12.0.1/namespacemembers_d.html new file mode 100644 index 000000000..351ee0c3f --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_d.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - d -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_dup.js b/previous_versions/v12.0.1/namespacemembers_dup.js new file mode 100644 index 000000000..97d6c45eb --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_dup.js @@ -0,0 +1,24 @@ +var namespacemembers_dup = +[ + [ "b", "namespacemembers.html", null ], + [ "c", "namespacemembers_c.html", null ], + [ "d", "namespacemembers_d.html", null ], + [ "e", "namespacemembers_e.html", null ], + [ "f", "namespacemembers_f.html", null ], + [ "g", "namespacemembers_g.html", null ], + [ "i", "namespacemembers_i.html", null ], + [ "j", "namespacemembers_j.html", null ], + [ "k", "namespacemembers_k.html", null ], + [ "l", "namespacemembers_l.html", null ], + [ "m", "namespacemembers_m.html", null ], + [ "n", "namespacemembers_n.html", null ], + [ "o", "namespacemembers_o.html", null ], + [ "p", "namespacemembers_p.html", null ], + [ "r", "namespacemembers_r.html", null ], + [ "s", "namespacemembers_s.html", null ], + [ "t", "namespacemembers_t.html", null ], + [ "u", "namespacemembers_u.html", null ], + [ "v", "namespacemembers_v.html", null ], + [ "w", "namespacemembers_w.html", null ], + [ "x", "namespacemembers_x.html", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/namespacemembers_e.html b/previous_versions/v12.0.1/namespacemembers_e.html new file mode 100644 index 000000000..4c55c5b3b --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_e.html @@ -0,0 +1,104 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - e -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_f.html b/previous_versions/v12.0.1/namespacemembers_f.html new file mode 100644 index 000000000..54fda7e8f --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_f.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - f -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_func.html b/previous_versions/v12.0.1/namespacemembers_func.html new file mode 100644 index 000000000..585a906a0 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_func.html @@ -0,0 +1,309 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - b -

                                                              + + +

                                                              - c -

                                                              + + +

                                                              - d -

                                                              + + +

                                                              - e -

                                                              + + +

                                                              - g -

                                                              + + +

                                                              - i -

                                                              + + +

                                                              - m -

                                                              + + +

                                                              - n -

                                                              + + +

                                                              - o -

                                                              + + +

                                                              - p -

                                                              + + +

                                                              - r -

                                                              + + +

                                                              - s -

                                                              + + +

                                                              - u -

                                                              + + +

                                                              - w -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_g.html b/previous_versions/v12.0.1/namespacemembers_g.html new file mode 100644 index 000000000..7e34fb79e --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_g.html @@ -0,0 +1,131 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - g -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_i.html b/previous_versions/v12.0.1/namespacemembers_i.html new file mode 100644 index 000000000..aceb2098c --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_i.html @@ -0,0 +1,287 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - i -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_j.html b/previous_versions/v12.0.1/namespacemembers_j.html new file mode 100644 index 000000000..87ddd3254 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_j.html @@ -0,0 +1,140 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - j -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_k.html b/previous_versions/v12.0.1/namespacemembers_k.html new file mode 100644 index 000000000..3ae72262b --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_k.html @@ -0,0 +1,125 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - k -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_l.html b/previous_versions/v12.0.1/namespacemembers_l.html new file mode 100644 index 000000000..d2355ef30 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_l.html @@ -0,0 +1,134 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - l -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_m.html b/previous_versions/v12.0.1/namespacemembers_m.html new file mode 100644 index 000000000..f3694da9f --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_m.html @@ -0,0 +1,254 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - m -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_n.html b/previous_versions/v12.0.1/namespacemembers_n.html new file mode 100644 index 000000000..237fc76ea --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_n.html @@ -0,0 +1,203 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - n -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_o.html b/previous_versions/v12.0.1/namespacemembers_o.html new file mode 100644 index 000000000..8ac6cef61 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_o.html @@ -0,0 +1,107 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - o -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_p.html b/previous_versions/v12.0.1/namespacemembers_p.html new file mode 100644 index 000000000..626f6bf07 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_p.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - p -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_r.html b/previous_versions/v12.0.1/namespacemembers_r.html new file mode 100644 index 000000000..5026b3e68 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_r.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - r -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_s.html b/previous_versions/v12.0.1/namespacemembers_s.html new file mode 100644 index 000000000..424562f6a --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_s.html @@ -0,0 +1,110 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - s -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_t.html b/previous_versions/v12.0.1/namespacemembers_t.html new file mode 100644 index 000000000..897f8b4bc --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_t.html @@ -0,0 +1,125 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - t -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_u.html b/previous_versions/v12.0.1/namespacemembers_u.html new file mode 100644 index 000000000..edf6318b0 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_u.html @@ -0,0 +1,110 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - u -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_v.html b/previous_versions/v12.0.1/namespacemembers_v.html new file mode 100644 index 000000000..648b28639 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_v.html @@ -0,0 +1,110 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - v -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_vars.html b/previous_versions/v12.0.1/namespacemembers_vars.html new file mode 100644 index 000000000..fc47b0101 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_vars.html @@ -0,0 +1,750 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +  + +

                                                              - b -

                                                              + + +

                                                              - c -

                                                              + + +

                                                              - f -

                                                              + + +

                                                              - i -

                                                              + + +

                                                              - j -

                                                              + + +

                                                              - k -

                                                              + + +

                                                              - l -

                                                              + + +

                                                              - m -

                                                              + + +

                                                              - n -

                                                              + + +

                                                              - s -

                                                              + + +

                                                              - t -

                                                              + + +

                                                              - v -

                                                              + + +

                                                              - w -

                                                              + + +

                                                              - x -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_w.html b/previous_versions/v12.0.1/namespacemembers_w.html new file mode 100644 index 000000000..2bac4d8b1 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_w.html @@ -0,0 +1,104 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - w -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemembers_x.html b/previous_versions/v12.0.1/namespacemembers_x.html new file mode 100644 index 000000000..896ac498e --- /dev/null +++ b/previous_versions/v12.0.1/namespacemembers_x.html @@ -0,0 +1,101 @@ + + + + + + + +NCEPLIBS-bufr: Module Members + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              Here is a list of all documented module members with links to the modules they belong to:
                                                              + +

                                                              - x -

                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__bitbuf.html b/previous_versions/v12.0.1/namespacemoda__bitbuf.html new file mode 100644 index 000000000..cf85eb506 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__bitbuf.html @@ -0,0 +1,228 @@ + + + + + + + +NCEPLIBS-bufr: moda_bitbuf Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_bitbuf Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store BUFR messages internally for multiple I/O streams. +More...

                                                              + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable ibay
                                                               Current data subset. More...
                                                               
                                                              integer ibit
                                                               Bit pointer within IBAY. More...
                                                               
                                                              integer maxbyt
                                                               Maximum length of an output BUFR message. More...
                                                               
                                                              integer, dimension(:,:), allocatable mbay
                                                               Current BUFR message for each internal I/O stream. More...
                                                               
                                                              integer, dimension(:), allocatable mbyt
                                                               Length (in bytes) of current BUFR message for each internal I/O stream. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store BUFR messages internally for multiple I/O streams.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ibay

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitbuf::ibay
                                                              +
                                                              + +

                                                              Current data subset.

                                                              + +

                                                              Definition at line 16 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), msgupd(), wrcmps(), and wrtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ibit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bitbuf::ibit
                                                              +
                                                              + +

                                                              Bit pointer within IBAY.

                                                              + +

                                                              Definition at line 14 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by copysb(), msgupd(), rdcmps(), rdtree(), readsb(), restd(), rewnbf(), ufbinx(), ufbtab(), ufbtam(), wrcmps(), writlc(), and wrtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ maxbyt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bitbuf::maxbyt
                                                              +
                                                              + +

                                                              Maximum length of an output BUFR message.

                                                              + +

                                                              Definition at line 12 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by bfrini(), cpyupd(), igetmxby(), maxout(), and msgupd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mbay

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_bitbuf::mbay
                                                              +
                                                              +
                                                              + +

                                                              ◆ mbyt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitbuf::mbyt
                                                              +
                                                              + +

                                                              Length (in bytes) of current BUFR message for each internal I/O stream.

                                                              + +

                                                              Definition at line 18 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), closmg(), copysb(), cpyupd(), msgini(), msgupd(), rdcmps(), rdmems(), readsb(), rewnbf(), ufbget(), ufbinx(), ufbtab(), and ufbtam().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__bitmaps.html b/previous_versions/v12.0.1/namespacemoda__bitmaps.html new file mode 100644 index 000000000..53c7472c7 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__bitmaps.html @@ -0,0 +1,413 @@ + + + + + + + +NCEPLIBS-bufr: moda_bitmaps Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_bitmaps Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store bitmaps internally within a data subset definition. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *6, dimension(:,:), allocatable ctco
                                                               Table C operators corresponding to inodtco. More...
                                                               
                                                              integer, dimension(:,:), allocatable ibtmse
                                                               Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions can range in value from 1 to iszbtm for each stored bitmap. More...
                                                               
                                                              integer, dimension(:), allocatable inodtamc
                                                               Entries within jump/link table which contain Table A mnemonics. More...
                                                               
                                                              integer, dimension(:,:), allocatable inodtco
                                                               Entries within jump/link table which contain Table C operators. More...
                                                               
                                                              integer, dimension(:), allocatable istbtm
                                                               Ordinal position in data subset definition corresponding to the first entry of the bitmap. More...
                                                               
                                                              integer, dimension(:), allocatable iszbtm
                                                               Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not). More...
                                                               
                                                              logical linbtm
                                                               true if a bitmap is in the process of being read for the current data subset; false otherwise. More...
                                                               
                                                              integer lstnod
                                                               Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding value type was either numeric or CCITT IA5. More...
                                                               
                                                              integer lstnodct
                                                               Current count of consecutive occurrences of lstnod. More...
                                                               
                                                              integer nbtm
                                                               Number of stored bitmaps for the current data subset (up to a maximum of MXBTM). More...
                                                               
                                                              integer, dimension(:), allocatable nbtmse
                                                               Number of "set" entries (set to a value of 0) in the bitmap. More...
                                                               
                                                              integer ntamc
                                                               Number of Table A mnemonics in jump/link table (up to a maximum of MXTAMC) which contain at least one Table C operator with an XX value of 21 or greater in their data subset definition; only Table C operators with an XX value of 21 or greater are tracked within this module, since all others are automatically processed within subroutines tabsub() and tabent(). More...
                                                               
                                                              integer, dimension(:), allocatable ntco
                                                               Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of the corresponding Table A mnemonic in inodtamc. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store bitmaps internally within a data subset definition.

                                                              +

                                                              Data values within this module are stored by subprograms strbtm(), igetrfel(), makestab() and tabsub().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2016-05-27
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ctco

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*6, dimension(:,:), allocatable moda_bitmaps::ctco
                                                              +
                                                              + +

                                                              Table C operators corresponding to inodtco.

                                                              + +

                                                              Definition at line 57 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), strbtm(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ibtmse

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_bitmaps::ibtmse
                                                              +
                                                              + +

                                                              Ordinal positions in bitmap of bits that were "set" (set to a value of 0); these ordinal positions can range in value from 1 to iszbtm for each stored bitmap.

                                                              + +

                                                              Definition at line 71 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), and strbtm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ inodtamc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitmaps::inodtamc
                                                              +
                                                              + +

                                                              Entries within jump/link table which contain Table A mnemonics.

                                                              + +

                                                              Definition at line 51 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), strbtm(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ inodtco

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_bitmaps::inodtco
                                                              +
                                                              + +

                                                              Entries within jump/link table which contain Table C operators.

                                                              + +

                                                              Definition at line 59 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), strbtm(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ istbtm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitmaps::istbtm
                                                              +
                                                              + +

                                                              Ordinal position in data subset definition corresponding to the first entry of the bitmap.

                                                              + +

                                                              Definition at line 64 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), and strbtm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iszbtm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitmaps::iszbtm
                                                              +
                                                              + +

                                                              Size of bitmap (total number of entries, whether "set" (set to a value of 0) or not).

                                                              + +

                                                              Definition at line 67 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), and strbtm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ linbtm

                                                              + +
                                                              +
                                                              + + + + +
                                                              logical moda_bitmaps::linbtm
                                                              +
                                                              + +

                                                              true if a bitmap is in the process of being read for the current data subset; false otherwise.

                                                              + +

                                                              Definition at line 49 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by readsb(), and strbtm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ lstnod

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bitmaps::lstnod
                                                              +
                                                              + +

                                                              Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding value type was either numeric or CCITT IA5.

                                                              + +

                                                              Definition at line 44 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by igetrfel(), and readsb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ lstnodct

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bitmaps::lstnodct
                                                              +
                                                              + +

                                                              Current count of consecutive occurrences of lstnod.

                                                              + +

                                                              Definition at line 46 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by igetrfel(), and readsb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nbtm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bitmaps::nbtm
                                                              +
                                                              + +

                                                              Number of stored bitmaps for the current data subset (up to a maximum of MXBTM).

                                                              + +

                                                              Definition at line 33 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by igetrfel(), readsb(), and strbtm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nbtmse

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitmaps::nbtmse
                                                              +
                                                              + +

                                                              Number of "set" entries (set to a value of 0) in the bitmap.

                                                              + +

                                                              Definition at line 61 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), and strbtm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ntamc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bitmaps::ntamc
                                                              +
                                                              + +

                                                              Number of Table A mnemonics in jump/link table (up to a maximum of MXTAMC) which contain at least one Table C operator with an XX value of 21 or greater in their data subset definition; only Table C operators with an XX value of 21 or greater are tracked within this module, since all others are automatically processed within subroutines tabsub() and tabent().

                                                              + +

                                                              Definition at line 40 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by igetrfel(), makestab(), strbtm(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ntco

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bitmaps::ntco
                                                              +
                                                              + +

                                                              Number of Table C operators (with an XX value of 21 or greater) within the data subset definition of the corresponding Table A mnemonic in inodtamc.

                                                              + +

                                                              Definition at line 55 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), strbtm(), and tabsub().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__bufrmg.html b/previous_versions/v12.0.1/namespacemoda__bufrmg.html new file mode 100644 index 000000000..0cfabd6ed --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__bufrmg.html @@ -0,0 +1,159 @@ + + + + + + + +NCEPLIBS-bufr: moda_bufrmg Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_bufrmg Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message that was most recently written to that stream, for possible later retrieval via subroutine writsa(). +More...

                                                              + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable msglen
                                                               Length (in integers) of BUFR message most recently written to each output I/O stream. More...
                                                               
                                                              integer, dimension(:,:), allocatable msgtxt
                                                               BUFR message most recently written to each output I/O stream. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains arrays used to store, for each output I/O stream, a copy of the BUFR message that was most recently written to that stream, for possible later retrieval via subroutine writsa().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ msglen

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bufrmg::msglen
                                                              +
                                                              + +

                                                              Length (in integers) of BUFR message most recently written to each output I/O stream.

                                                              + +

                                                              Definition at line 83 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), main(), msgwrt(), and writsa().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgtxt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_bufrmg::msgtxt
                                                              +
                                                              + +

                                                              BUFR message most recently written to each output I/O stream.

                                                              + +

                                                              Definition at line 85 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), msgwrt(), and writsa().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__bufrsr.html b/previous_versions/v12.0.1/namespacemoda__bufrsr.html new file mode 100644 index 000000000..4eab70787 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__bufrsr.html @@ -0,0 +1,391 @@ + + + + + + + +NCEPLIBS-bufr: moda_bufrsr Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_bufrsr Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains arrays and variables needed to store the current position within a BUFR file. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable jbay
                                                               BUFR message. More...
                                                               
                                                              integer jbit
                                                               Bit pointer within BUFR message. More...
                                                               
                                                              integer jbyt
                                                               Length (in bytes) of BUFR message. More...
                                                               
                                                              integer jdat
                                                               Section 1 date-time of BUFR message. More...
                                                               
                                                              integer jill
                                                               File status indicator of BUFR file. More...
                                                               
                                                              integer jimm
                                                               Message status indicator of BUFR file. More...
                                                               
                                                              integer jmsg
                                                               Sequential number of BUFR message, counting from the beginning of the file. More...
                                                               
                                                              integer jnod
                                                               Positional index of Table A mnemonic within internal Table A. More...
                                                               
                                                              integer, dimension(:), allocatable jsr
                                                               Indicator of stack status when entering subroutine rewnbf(). More...
                                                               
                                                              integer jsub
                                                               Sequential number of BUFR data subset, counting from the beginning of the current BUFR message. More...
                                                               
                                                              integer junn
                                                               Internal I/O stream index of BUFR file. More...
                                                               
                                                              integer ksub
                                                               Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains arrays and variables needed to store the current position within a BUFR file.

                                                              +

                                                              This allows a rewind back to the first message within the file, while retaining the capability to return to the original file position at a later point within the application program.

                                                              +

                                                              The current position can be stored for only one BUFR file at a time.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ jbay

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bufrsr::jbay
                                                              +
                                                              + +

                                                              BUFR message.

                                                              + +

                                                              Definition at line 124 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jbit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jbit
                                                              +
                                                              + +

                                                              Bit pointer within BUFR message.

                                                              + +

                                                              Definition at line 105 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jbyt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jbyt
                                                              +
                                                              + +

                                                              Length (in bytes) of BUFR message.

                                                              + +

                                                              Definition at line 107 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jdat

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jdat
                                                              +
                                                              + +

                                                              Section 1 date-time of BUFR message.

                                                              + +

                                                              Definition at line 120 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jill

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jill
                                                              +
                                                              + +

                                                              File status indicator of BUFR file.

                                                              + +

                                                              Definition at line 101 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jimm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jimm
                                                              +
                                                              + +

                                                              Message status indicator of BUFR file.

                                                              + +

                                                              Definition at line 103 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jmsg

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jmsg
                                                              +
                                                              + +

                                                              Sequential number of BUFR message, counting from the beginning of the file.

                                                              + +

                                                              Definition at line 110 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jnod

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jnod
                                                              +
                                                              + +

                                                              Positional index of Table A mnemonic within internal Table A.

                                                              + +

                                                              Definition at line 118 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jsr

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_bufrsr::jsr
                                                              +
                                                              + +

                                                              Indicator of stack status when entering subroutine rewnbf().

                                                              + +

                                                              Definition at line 122 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), and rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jsub

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::jsub
                                                              +
                                                              + +

                                                              Sequential number of BUFR data subset, counting from the beginning of the current BUFR message.

                                                              + +

                                                              Definition at line 113 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ junn

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::junn
                                                              +
                                                              + +

                                                              Internal I/O stream index of BUFR file.

                                                              + +

                                                              Definition at line 99 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ksub

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_bufrsr::ksub
                                                              +
                                                              + +

                                                              Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message.

                                                              + +

                                                              Definition at line 116 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rewnbf().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__comprs.html b/previous_versions/v12.0.1/namespacemoda__comprs.html new file mode 100644 index 000000000..51028e2a2 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__comprs.html @@ -0,0 +1,206 @@ + + + + + + + +NCEPLIBS-bufr: moda_comprs Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_comprs Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output. +More...

                                                              + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *(:), dimension(:,:), allocatable catx
                                                               Character data values for all data subsets in message. More...
                                                               
                                                              integer(8) incr
                                                               Increment used when compressing non-character data values. More...
                                                               
                                                              integer(8), dimension(:,:), allocatable matx
                                                               Non-character data values for all data subsets in message. More...
                                                               
                                                              integer ncol
                                                               Number of data subsets in message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output.

                                                              +

                                                              This module can only be used to store the information for one compressed BUFR message at any given time.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2002-05-14
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ catx

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*(:), dimension(:,:), allocatable moda_comprs::catx
                                                              +
                                                              + +

                                                              Character data values for all data subsets in message.

                                                              + +

                                                              Definition at line 143 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by ardllocf(), wrcmps(), and writlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ incr

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer(8) moda_comprs::incr
                                                              +
                                                              + +

                                                              Increment used when compressing non-character data values.

                                                              + +

                                                              Definition at line 139 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ matx

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer(8), dimension(:,:), allocatable moda_comprs::matx
                                                              +
                                                              + +

                                                              Non-character data values for all data subsets in message.

                                                              + +

                                                              Definition at line 141 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), wrcmps(), and writlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ncol

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_comprs::ncol
                                                              +
                                                              + +

                                                              Number of data subsets in message.

                                                              + +

                                                              Definition at line 137 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps(), and writlc().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__comprx.html b/previous_versions/v12.0.1/namespacemoda__comprx.html new file mode 100644 index 000000000..06840801a --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__comprx.html @@ -0,0 +1,398 @@ + + + + + + + +NCEPLIBS-bufr: moda_comprx Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_comprx Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *(:), dimension(:), allocatable cstr
                                                               Character data value, if corresponding ityp value is set to 3. More...
                                                               
                                                              logical flush
                                                               Flush flag. More...
                                                               
                                                              integer, dimension(:), allocatable ityp
                                                               Type of each data value: More...
                                                               
                                                              integer, dimension(:), allocatable iwid
                                                               Bit width of underlying data descriptor as defined within Table B for each data value. More...
                                                               
                                                              integer, dimension(:), allocatable kbit
                                                               Number of bits needed to hold the increments for this data value within each data subset of the message. More...
                                                               
                                                              integer kbyt
                                                               Number of bytes required to store Sections 0, 1, 2, and 3 of message. More...
                                                               
                                                              integer(8), dimension(:), allocatable kmax
                                                               Maximum of each data value across all data subsets in message. More...
                                                               
                                                              integer(8), dimension(:), allocatable kmin
                                                               Minimum of each data value across all data subsets in message. More...
                                                               
                                                              logical, dimension(:), allocatable kmis
                                                               "Missing" values flag. More...
                                                               
                                                              integer lunc
                                                               I/O stream index into internal arrays for output file. More...
                                                               
                                                              integer nrow
                                                               Number of data values for each data subset in message. More...
                                                               
                                                              logical writ1
                                                               Write-out flag. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output.

                                                              +

                                                              This module can only be used to store the information for one compressed BUFR message at any given time.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2002-05-14
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cstr

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*(:), dimension(:), allocatable moda_comprx::cstr
                                                              +
                                                              + +

                                                              Character data value, if corresponding ityp value is set to 3.

                                                              + +

                                                              Definition at line 189 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ flush

                                                              + +
                                                              +
                                                              + + + + +
                                                              logical moda_comprx::flush
                                                              +
                                                              + +

                                                              Flush flag.

                                                              +

                                                              Set to .true. if a subroutine call was made to force the writing of the message to the corresponding output file, even if there may still be room in the message for additional data subsets. Otherwise set to .false.

                                                              + +

                                                              Definition at line 165 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ityp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_comprx::ityp
                                                              +
                                                              + +

                                                              Type of each data value:

                                                              +
                                                                +
                                                              • 1 Delayed descriptor replication factor.
                                                              • +
                                                              • 2 Other non-character data.
                                                              • +
                                                              • 3 Character data.
                                                              • +
                                                              + +

                                                              Definition at line 184 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iwid

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_comprx::iwid
                                                              +
                                                              + +

                                                              Bit width of underlying data descriptor as defined within Table B for each data value.

                                                              + +

                                                              Definition at line 187 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ kbit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_comprx::kbit
                                                              +
                                                              + +

                                                              Number of bits needed to hold the increments for this data value within each data subset of the message.

                                                              + +

                                                              Definition at line 179 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ kbyt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_comprx::kbyt
                                                              +
                                                              + +

                                                              Number of bytes required to store Sections 0, 1, 2, and 3 of message.

                                                              + +

                                                              Definition at line 160 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ kmax

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer(8), dimension(:), allocatable moda_comprx::kmax
                                                              +
                                                              + +

                                                              Maximum of each data value across all data subsets in message.

                                                              + +

                                                              Definition at line 172 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ kmin

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer(8), dimension(:), allocatable moda_comprx::kmin
                                                              +
                                                              + +

                                                              Minimum of each data value across all data subsets in message.

                                                              + +

                                                              Definition at line 170 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ kmis

                                                              + +
                                                              +
                                                              + + + + +
                                                              logical, dimension(:), allocatable moda_comprx::kmis
                                                              +
                                                              + +

                                                              "Missing" values flag.

                                                              +

                                                              Set to .true. if at least one occurrence of this data value is "missing" within any data subset of the message. Otherwise set to .false.

                                                              + +

                                                              Definition at line 176 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ lunc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_comprx::lunc
                                                              +
                                                              + +

                                                              I/O stream index into internal arrays for output file.

                                                              + +

                                                              Definition at line 158 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nrow

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_comprx::nrow
                                                              +
                                                              + +

                                                              Number of data values for each data subset in message.

                                                              + +

                                                              Definition at line 156 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ writ1

                                                              + +
                                                              +
                                                              + + + + +
                                                              logical moda_comprx::writ1
                                                              +
                                                              + +

                                                              Write-out flag.

                                                              +

                                                              Set to .true. if the message needs to be written to the corresponding output file. Otherwise set to .false.

                                                              + +

                                                              Definition at line 168 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by wrcmps().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__dscach.html b/previous_versions/v12.0.1/namespacemoda__dscach.html new file mode 100644 index 000000000..09c9e7d39 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__dscach.html @@ -0,0 +1,206 @@ + + + + + + + +NCEPLIBS-bufr: moda_dscach Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_dscach Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages. +More...

                                                              + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *8, dimension(mxcnem) cnem
                                                               Table A mnemonics. More...
                                                               
                                                              integer, dimension(mxcnem, maxnc) idcach
                                                               Bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem. More...
                                                               
                                                              integer ncnem
                                                               Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM). More...
                                                               
                                                              integer, dimension(mxcnem) ndc
                                                               Number of child descriptors for the corresponding Table A mnemonic in cnem. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages.

                                                              +

                                                              Data values within this module are stored by subroutine reads3().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2012-03-02
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*8, dimension(mxcnem) moda_dscach::cnem
                                                              +
                                                              + +

                                                              Table A mnemonics.

                                                              + +

                                                              Definition at line 207 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by reads3().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idcach

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(mxcnem,maxnc) moda_dscach::idcach
                                                              +
                                                              + +

                                                              Bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem.

                                                              + +

                                                              Definition at line 213 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by reads3().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ncnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_dscach::ncnem
                                                              +
                                                              + +

                                                              Number of entries in the internal Table A mnemonic cache (up to a maximum of MXCNEM).

                                                              + +

                                                              Definition at line 205 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by bfrini(), and reads3().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ndc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(mxcnem) moda_dscach::ndc
                                                              +
                                                              + +

                                                              Number of child descriptors for the corresponding Table A mnemonic in cnem.

                                                              + +

                                                              Definition at line 210 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by reads3().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__h4wlc.html b/previous_versions/v12.0.1/namespacemoda__h4wlc.html new file mode 100644 index 000000000..3ad2459c7 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__h4wlc.html @@ -0,0 +1,206 @@ + + + + + + + +NCEPLIBS-bufr: moda_h4wlc Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_h4wlc Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc(). +More...

                                                              + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *120, dimension(:), allocatable chh4wlc
                                                               Long character strings. More...
                                                               
                                                              integer, dimension(:), allocatable luh4wlc
                                                               I/O stream index into internal arrays for associated output file. More...
                                                               
                                                              integer nh4wlc
                                                               Number of long character strings being stored. More...
                                                               
                                                              character *14, dimension(:), allocatable sth4wlc
                                                               Table B mnemonics associated with long character strings. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc().

                                                              +

                                                              These strings can be held for writing into an uncompressed BUFR data subset via future internal calls to subroutine writlc().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-02-05
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ chh4wlc

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*120, dimension(:), allocatable moda_h4wlc::chh4wlc
                                                              +
                                                              + +

                                                              Long character strings.

                                                              + +

                                                              Definition at line 232 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), hold4wlc(), and msgupd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ luh4wlc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_h4wlc::luh4wlc
                                                              +
                                                              + +

                                                              I/O stream index into internal arrays for associated output file.

                                                              + +

                                                              Definition at line 228 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), hold4wlc(), and msgupd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nh4wlc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_h4wlc::nh4wlc
                                                              +
                                                              + +

                                                              Number of long character strings being stored.

                                                              + +

                                                              Definition at line 226 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by bfrini(), hold4wlc(), and msgupd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ sth4wlc

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*14, dimension(:), allocatable moda_h4wlc::sth4wlc
                                                              +
                                                              + +

                                                              Table B mnemonics associated with long character strings.

                                                              + +

                                                              Definition at line 230 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), hold4wlc(), and msgupd().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__idrdm.html b/previous_versions/v12.0.1/namespacemoda__idrdm.html new file mode 100644 index 000000000..208063c34 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__idrdm.html @@ -0,0 +1,137 @@ + + + + + + + +NCEPLIBS-bufr: moda_idrdm Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_idrdm Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains a declaration for an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable idrdm
                                                               DX BUFR tables message count for each I/O internal stream index. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains a declaration for an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ idrdm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_idrdm::idrdm
                                                              +
                                                              + +

                                                              DX BUFR tables message count for each I/O internal stream index.

                                                              +

                                                              Set to a value of zero unless a new DX dictionary table is in the process of being read in by subroutine readerme() for the associated logical unit, and in which case it keeps track of how many such messages have been read in so far.

                                                              + +

                                                              Definition at line 246 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), and readerme().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__ival.html b/previous_versions/v12.0.1/namespacemoda__ival.html new file mode 100644 index 000000000..76c21ec6a --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__ival.html @@ -0,0 +1,137 @@ + + + + + + + +NCEPLIBS-bufr: moda_ival Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_ival Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains a declaration for an array used to pack or unpack all of the values of a BUFR data subset. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer(8), dimension(:), allocatable ival
                                                               BUFR data subset values. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains a declaration for an array used to pack or unpack all of the values of a BUFR data subset.

                                                              +

                                                              It is used when packing a data subset for output via subroutine wrtree(), or when unpacking an input data subset via subroutine rdtree().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ival

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer(8), dimension(:), allocatable moda_ival::ival
                                                              +
                                                              + +

                                                              BUFR data subset values.

                                                              + +

                                                              Definition at line 257 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rdtree(), strtbfe(), and wrtree().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__ivttmp.html b/previous_versions/v12.0.1/namespacemoda__ivttmp.html new file mode 100644 index 000000000..57a952029 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__ivttmp.html @@ -0,0 +1,182 @@ + + + + + + + +NCEPLIBS-bufr: moda_ivttmp Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_ivttmp Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of the internal subset buffers where the contents of an evolving BUFR message are sccumulated and stored under user control prior to being written out. +More...

                                                              + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable itmp
                                                               inv array elements for new sections of a growing subset buffer. More...
                                                               
                                                              character *10, dimension(:), allocatable ttmp
                                                               tag array elements for new sections of a growing subset buffer. More...
                                                               
                                                              real *8, dimension(:), allocatable vtmp
                                                               val array elements for new sections of a growing subset buffer. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of the internal subset buffers where the contents of an evolving BUFR message are sccumulated and stored under user control prior to being written out.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ itmp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_ivttmp::itmp
                                                              +
                                                              + +

                                                              inv array elements for new sections of a growing subset buffer.

                                                              + +

                                                              Definition at line 271 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), ufbcup(), and usrtpl().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ttmp

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*10, dimension(:), allocatable moda_ivttmp::ttmp
                                                              +
                                                              + +

                                                              tag array elements for new sections of a growing subset buffer.

                                                              + +

                                                              Definition at line 269 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and ufbcup().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ vtmp

                                                              + +
                                                              +
                                                              + + + + +
                                                              real*8, dimension(:), allocatable moda_ivttmp::vtmp
                                                              +
                                                              + +

                                                              val array elements for new sections of a growing subset buffer.

                                                              + +

                                                              Definition at line 273 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and usrtpl().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__lushr.html b/previous_versions/v12.0.1/namespacemoda__lushr.html new file mode 100644 index 000000000..9ab1cc182 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__lushr.html @@ -0,0 +1,137 @@ + + + + + + + +NCEPLIBS-bufr: moda_lushr Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_lushr Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains a declaration for an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable lus
                                                               Tracking index for each I/O internal stream index. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains a declaration for an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ lus

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_lushr::lus
                                                              +
                                                              + +

                                                              Tracking index for each I/O internal stream index.

                                                              +

                                                              Set to a value of zero if the corresponding logical unit does not share DX BUFR table information with any other logical unit. Otherwise set to a non-zero value within subroutine makestab().

                                                              + +

                                                              Definition at line 286 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), makestab(), and openbf().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__mgwa.html b/previous_versions/v12.0.1/namespacemoda__mgwa.html new file mode 100644 index 000000000..bad0d0e0c --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__mgwa.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: moda_mgwa Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_mgwa Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains a declaration for an array used by various subroutines and functions to hold a temporary working copy of a BUFR message. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable mgwa
                                                               Temporary working copy of BUFR message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains a declaration for an array used by various subroutines and functions to hold a temporary working copy of a BUFR message.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ mgwa

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_mgwa::mgwa
                                                              +
                                                              + +

                                                              Temporary working copy of BUFR message.

                                                              + +

                                                              Definition at line 296 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), copybf(), cpdxmm(), datebf(), dumpbf(), mesgbc(), mesgbf(), msgwrt(), posapx(), rdbfdx(), rdmemm(), ufbmem(), ufbmex(), wrcmps(), and wrdxtb().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__mgwb.html b/previous_versions/v12.0.1/namespacemoda__mgwb.html new file mode 100644 index 000000000..876464589 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__mgwb.html @@ -0,0 +1,136 @@ + + + + + + + +NCEPLIBS-bufr: moda_mgwb Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_mgwb Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains a declaration for an array used by various subroutines and functions to hold a temporary working qcopy of a BUFR message. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable mgwb
                                                               Temporary working copy of BUFR message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains a declaration for an array used by various subroutines and functions to hold a temporary working qcopy of a BUFR message.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ mgwb

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_mgwb::mgwb
                                                              +
                                                              + +

                                                              Temporary working copy of BUFR message.

                                                              + +

                                                              Definition at line 306 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and msgwrt().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__msgcwd.html b/previous_versions/v12.0.1/namespacemoda__msgcwd.html new file mode 100644 index 000000000..c8164901f --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__msgcwd.html @@ -0,0 +1,228 @@ + + + + + + + +NCEPLIBS-bufr: moda_msgcwd Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_msgcwd Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains declarations for arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each internal I/O stream index. +More...

                                                              + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable idate
                                                               Section 1 date-time of message. More...
                                                               
                                                              integer, dimension(:), allocatable inode
                                                               Table A mnemonic for type of BUFR message. More...
                                                               
                                                              integer, dimension(:), allocatable msub
                                                               Total number of data subsets in message. More...
                                                               
                                                              integer, dimension(:), allocatable nmsg
                                                               Current message pointer within logical unit. More...
                                                               
                                                              integer, dimension(:), allocatable nsub
                                                               Current subset pointer within message. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains declarations for arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each internal I/O stream index.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ idate

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgcwd::idate
                                                              +
                                                              + +

                                                              Section 1 date-time of message.

                                                              + +

                                                              Definition at line 325 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), copymg(), cpymem(), msgini(), openbf(), openmb(), openmg(), readmg(), readns(), rewnbf(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ inode

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgcwd::inode
                                                              +
                                                              +
                                                              + +

                                                              ◆ msub

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgcwd::msub
                                                              +
                                                              + +

                                                              Total number of data subsets in message.

                                                              + +

                                                              Definition at line 321 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), copymg(), copysb(), cpymem(), ifbget(), nmsub(), openbf(), rdcmps(), rdmems(), readsb(), rewnbf(), ufbget(), ufbinx(), ufbmms(), ufbrms(), ufbtab(), and ufbtam().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmsg

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgcwd::nmsg
                                                              +
                                                              + +

                                                              Current message pointer within logical unit.

                                                              + +

                                                              Definition at line 317 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), closmg(), copymg(), cpymem(), msgini(), openbf(), rdmemm(), rewnbf(), ufbcnt(), ufbpos(), ufbtab(), and ufbtam().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nsub

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgcwd::nsub
                                                              +
                                                              + +

                                                              Current subset pointer within message.

                                                              + +

                                                              Definition at line 319 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), closmg(), copymg(), copysb(), cpymem(), cpyupd(), ifbget(), msgini(), msgupd(), openbf(), rdcmps(), rdmems(), readsb(), rewnbf(), ufbcnt(), ufbget(), ufbinx(), ufbpos(), ufbtab(), ufbtam(), ufdump(), wrcmps(), and writlc().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__msglim.html b/previous_versions/v12.0.1/namespacemoda__msglim.html new file mode 100644 index 000000000..edcab0571 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__msglim.html @@ -0,0 +1,138 @@ + + + + + + + +NCEPLIBS-bufr: moda_msglim Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_msglim Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains a declaration for an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable msglim
                                                               Tracking index for each I/O stream index. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains a declaration for an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them.

                                                              +

                                                              This setting is turned on via a call to subroutine closmg() with LUNIN < 0 for the logical unit in question, and once set it remains in effect for the remainder of the life of the application program for that particular logical unit.

                                                              +
                                                              Author
                                                              D. Keyser
                                                              +
                                                              Date
                                                              2005-05-26
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ msglim

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msglim::msglim
                                                              +
                                                              + +

                                                              Tracking index for each I/O stream index.

                                                              +

                                                              Initialized to a value of 3 within subroutine bfrini(), and then reset to a value of 0 within subroutine closmg() if the corresponding logical unit should not have any empty (zero data subset) BUFR messages written to it.

                                                              + +

                                                              Definition at line 343 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), and closmg().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__msgmem.html b/previous_versions/v12.0.1/namespacemoda__msgmem.html new file mode 100644 index 000000000..1f97177df --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__msgmem.html @@ -0,0 +1,459 @@ + + + + + + + +NCEPLIBS-bufr: moda_msgmem Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_msgmem Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store the contents of one or more BUFR files within internal memory. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable icdxts
                                                               Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the corresponding ifdxts. More...
                                                               
                                                              integer, dimension(:), allocatable ifdxts
                                                               Pointers to the beginning of each DX BUFR table within mdx. More...
                                                               
                                                              integer, dimension(:), allocatable ipdxm
                                                               Pointers to the beginning of each message within mdx. More...
                                                               
                                                              integer, dimension(:), allocatable ipmsgs
                                                               Pointers to first message within msgs for which each DX BUFR table applies. More...
                                                               
                                                              integer ldxm
                                                               Number of array elements filled within mdx (up to a maximum of MXDXW). More...
                                                               
                                                              integer ldxts
                                                               Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is currently in scope from the most recent call to subroutine rdmemm() or readmm(). More...
                                                               
                                                              integer, dimension(:), allocatable mdx
                                                               DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs. More...
                                                               
                                                              integer mlast
                                                               Number of array elements filled within msgs (up to a maximum of MAXMEM). More...
                                                               
                                                              integer, dimension(:), allocatable msgp
                                                               Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array element 0 contains the actual number of messages stored within msgs). More...
                                                               
                                                              integer, dimension(:), allocatable msgs
                                                               BUFR messages read from one or more BUFR files. More...
                                                               
                                                              integer munit
                                                               Fortran logical unit number for use in accessing contents of BUFR files within internal memory. More...
                                                               
                                                              integer mxdxm
                                                               Maximum number of DX BUFR table messages that can be stored within mdx. More...
                                                               
                                                              integer mxdxw
                                                               Maximum number of entries that can be stored within mdx. More...
                                                               
                                                              integer ndxm
                                                               Number of DX BUFR table messages stored within mdx (up to a maximum of MXDXM). More...
                                                               
                                                              integer ndxts
                                                               Number of DX BUFR tables represented by the messages within mdx (up to a maximum of MXDXTS). More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store the contents of one or more BUFR files within internal memory.

                                                              +

                                                              Data values within this module are stored by subroutines ufbmem() and cpdxmm().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ icdxts

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::icdxts
                                                              +
                                                              + +

                                                              Number of consecutive messages within mdx which constitute each DX BUFR table, beginning with the corresponding ifdxts.

                                                              + +

                                                              Definition at line 389 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpdxmm(), and rdmemm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ifdxts

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::ifdxts
                                                              +
                                                              + +

                                                              Pointers to the beginning of each DX BUFR table within mdx.

                                                              + +

                                                              Definition at line 386 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpdxmm(), and rdmemm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ipdxm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::ipdxm
                                                              +
                                                              + +

                                                              Pointers to the beginning of each message within mdx.

                                                              + +

                                                              Definition at line 384 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpdxmm(), and rdmemm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ipmsgs

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::ipmsgs
                                                              +
                                                              + +

                                                              Pointers to first message within msgs for which each DX BUFR table applies.

                                                              + +

                                                              Definition at line 391 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpdxmm(), rdmemm(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ldxm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::ldxm
                                                              +
                                                              + +

                                                              Number of array elements filled within mdx (up to a maximum of MXDXW).

                                                              + +

                                                              Definition at line 359 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by cpdxmm(), rdmemm(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ldxts

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::ldxts
                                                              +
                                                              + +

                                                              Number of DX BUFR table that is currently in scope, depending on which BUFR message within msgs is currently in scope from the most recent call to subroutine rdmemm() or readmm().

                                                              + +

                                                              Definition at line 366 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rdmemm(), ufbmem(), ufbmex(), and ufbtam().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mdx

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::mdx
                                                              +
                                                              + +

                                                              DX BUFR table messages read from one or more BUFR files, for use in decoding the messages in msgs.

                                                              + +

                                                              Definition at line 382 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpdxmm(), and rdmemm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mlast

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::mlast
                                                              +
                                                              + +

                                                              Number of array elements filled within msgs (up to a maximum of MAXMEM).

                                                              + +

                                                              Definition at line 357 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rdmemm(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::msgp
                                                              +
                                                              + +

                                                              Pointers to the beginning of each message within msgs (up to a maximum of MAXMSG, and where array element 0 contains the actual number of messages stored within msgs).

                                                              + +

                                                              Definition at line 377 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpdxmm(), rdmemm(), ufbmem(), ufbmex(), ufbmms(), ufbrms(), and ufbtam().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgs

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_msgmem::msgs
                                                              +
                                                              + +

                                                              BUFR messages read from one or more BUFR files.

                                                              + +

                                                              Definition at line 379 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rdmemm(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ munit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::munit
                                                              +
                                                              + +

                                                              Fortran logical unit number for use in accessing contents of BUFR files within internal memory.

                                                              + +

                                                              Definition at line 355 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by cpymem(), rdmemm(), rdmems(), ufbmem(), ufbmex(), ufbmms(), ufbmns(), ufbrms(), and ufbtam().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mxdxm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::mxdxm
                                                              +
                                                              + +

                                                              Maximum number of DX BUFR table messages that can be stored within mdx.

                                                              + +

                                                              Definition at line 371 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), and cpdxmm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mxdxw

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::mxdxw
                                                              +
                                                              + +

                                                              Maximum number of entries that can be stored within mdx.

                                                              + +

                                                              Definition at line 373 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), and cpdxmm().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ndxm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::ndxm
                                                              +
                                                              + +

                                                              Number of DX BUFR table messages stored within mdx (up to a maximum of MXDXM).

                                                              + +

                                                              Definition at line 362 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by cpdxmm(), rdmemm(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ndxts

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_msgmem::ndxts
                                                              +
                                                              + +

                                                              Number of DX BUFR tables represented by the messages within mdx (up to a maximum of MXDXTS).

                                                              + +

                                                              Definition at line 369 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by cpdxmm(), rdmemm(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__mstabs.html b/previous_versions/v12.0.1/namespacemoda__mstabs.html new file mode 100644 index 000000000..9c8135bd7 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__mstabs.html @@ -0,0 +1,436 @@ + + + + + + + +NCEPLIBS-bufr: moda_mstabs Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_mstabs Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store master Table B and Table D entries within internal memory. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character, dimension(:,:), allocatable cbbw
                                                               Bit widths corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cbelem
                                                               Element names corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cbmnem
                                                               Mnemonics corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cbscl
                                                               Scale factors corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cbsref
                                                               Reference values corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cbunit
                                                               Units corresponding to ibfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cdmnem
                                                               Mnemonics corresponding to idfxyn. More...
                                                               
                                                              character, dimension(:,:), allocatable cdseq
                                                               Sequence names corresponding to idfxyn. More...
                                                               
                                                              integer, dimension(:), allocatable ibfxyn
                                                               Bit-wise representations of FXY numbers for master Table B. More...
                                                               
                                                              integer, dimension(:), allocatable idefxy
                                                               Bit-wise representations of child descriptors corresponding to idfxyn. More...
                                                               
                                                              integer, dimension(:), allocatable idfxyn
                                                               Bit-wise representations of FXY numbers for master Table D. More...
                                                               
                                                              integer, dimension(:), allocatable ndelem
                                                               Numbers of child descriptors corresponding to idfxyn. More...
                                                               
                                                              integer nmtb
                                                               Number of master Table B entries (up to a maximum of MXMTBB). More...
                                                               
                                                              integer nmtd
                                                               Number of master Table D entries (up to a maximum of MXMTBD). More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store master Table B and Table D entries within internal memory.

                                                              +

                                                              Data values within this module are stored by subroutine ireadmt().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cbbw

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cbbw
                                                              +
                                                              + +

                                                              Bit widths corresponding to ibfxyn.

                                                              + +

                                                              Definition at line 412 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbelem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cbelem
                                                              +
                                                              + +

                                                              Element names corresponding to ibfxyn.

                                                              + +

                                                              Definition at line 418 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbmnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cbmnem
                                                              +
                                                              + +

                                                              Mnemonics corresponding to ibfxyn.

                                                              + +

                                                              Definition at line 416 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbscl

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cbscl
                                                              +
                                                              + +

                                                              Scale factors corresponding to ibfxyn.

                                                              + +

                                                              Definition at line 408 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbsref

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cbsref
                                                              +
                                                              + +

                                                              Reference values corresponding to ibfxyn.

                                                              + +

                                                              Definition at line 410 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cbunit

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cbunit
                                                              +
                                                              + +

                                                              Units corresponding to ibfxyn.

                                                              + +

                                                              Definition at line 414 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cdmnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cdmnem
                                                              +
                                                              + +

                                                              Mnemonics corresponding to idfxyn.

                                                              + +

                                                              Definition at line 424 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cdseq

                                                              + +
                                                              +
                                                              + + + + +
                                                              character, dimension(:,:), allocatable moda_mstabs::cdseq
                                                              +
                                                              + +

                                                              Sequence names corresponding to idfxyn.

                                                              + +

                                                              Definition at line 422 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ibfxyn

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_mstabs::ibfxyn
                                                              +
                                                              + +

                                                              Bit-wise representations of FXY numbers for master Table B.

                                                              + +

                                                              Definition at line 406 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idefxy

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_mstabs::idefxy
                                                              +
                                                              + +

                                                              Bit-wise representations of child descriptors corresponding to idfxyn.

                                                              + +

                                                              Definition at line 428 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idfxyn

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_mstabs::idfxyn
                                                              +
                                                              + +

                                                              Bit-wise representations of FXY numbers for master Table D.

                                                              + +

                                                              Definition at line 420 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ndelem

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_mstabs::ndelem
                                                              +
                                                              + +

                                                              Numbers of child descriptors corresponding to idfxyn.

                                                              + +

                                                              Definition at line 426 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmtb

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_mstabs::nmtb
                                                              +
                                                              + +

                                                              Number of master Table B entries (up to a maximum of MXMTBB).

                                                              + +

                                                              Definition at line 402 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmtd

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_mstabs::nmtd
                                                              +
                                                              + +

                                                              Number of master Table D entries (up to a maximum of MXMTBD).

                                                              + +

                                                              Definition at line 404 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by cpmstabs(), and ireadmt().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__nmikrp.html b/previous_versions/v12.0.1/namespacemoda__nmikrp.html new file mode 100644 index 000000000..2dbdb3802 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__nmikrp.html @@ -0,0 +1,195 @@ + + + + + + + +NCEPLIBS-bufr: moda_nmikrp Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_nmikrp Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains declarations for arrays used by various subroutines to hold information about Table D sequences. +More...

                                                              + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:,:), allocatable irp
                                                               Replication indicators corresponding to nem: More...
                                                               
                                                              integer, dimension(:,:), allocatable krp
                                                               Replication counts corresponding to nem: More...
                                                               
                                                              character *8, dimension(:,:), allocatable nem
                                                               Child mnemonics within Table D sequences. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains declarations for arrays used by various subroutines to hold information about Table D sequences.

                                                              +

                                                              These values are set via an internal call to subroutine nemtbd().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ irp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_nmikrp::irp
                                                              +
                                                              + +

                                                              Replication indicators corresponding to nem:

                                                              +
                                                                +
                                                              • 5, if corresponding nem is a Table D mnemonic using 1-bit delayed replication
                                                              • +
                                                              • 4, if corresponding nem is a Table D mnemonic using 8-bit delayed (stack) replication
                                                              • +
                                                              • 3, if corresponding nem is a Table D mnemonic using 8-bit delayed replication
                                                              • +
                                                              • 2, if corresponding nem is a Table D mnemonic using 16-bit delayed replication
                                                              • +
                                                              • 1, if corresponding nem is a Table D mnemonic using regular (non-delayed) replication
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 446 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), chekstab(), dxdump(), getabdb(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ krp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_nmikrp::krp
                                                              +
                                                              + +

                                                              Replication counts corresponding to nem:

                                                              +
                                                                +
                                                              • Number of replications, if corresponding nem is a Table D mnemonic using regular (non-delayed) replication
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 451 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), chekstab(), dxdump(), getabdb(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*8, dimension(:,:), allocatable moda_nmikrp::nem
                                                              +
                                                              + +

                                                              Child mnemonics within Table D sequences.

                                                              + +

                                                              Definition at line 438 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), chekstab(), dxdump(), getabdb(), and tabsub().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__nrv203.html b/previous_versions/v12.0.1/namespacemoda__nrv203.html new file mode 100644 index 000000000..4819d09b9 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__nrv203.html @@ -0,0 +1,298 @@ + + + + + + + +NCEPLIBS-bufr: moda_nrv203 Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_nrv203 Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer ibtnrv
                                                               Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in scope; set to 0 if no such operator is currently in scope. More...
                                                               
                                                              integer, dimension(:), allocatable ienrv
                                                               End of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv. More...
                                                               
                                                              integer, dimension(:), allocatable inodnrv
                                                               Entries within jump/link table which contain new reference values. More...
                                                               
                                                              integer ipfnrv
                                                               A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the current data subset in scope; set to 0 if no 2-03-YYY operators have been applied to the current data subset in scope. More...
                                                               
                                                              integer, dimension(:), allocatable isnrv
                                                               Start of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv. More...
                                                               
                                                              integer nnrv
                                                               Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV). More...
                                                               
                                                              integer *8, dimension(:), allocatable nrv
                                                               New reference values corresponding to inodnrv. More...
                                                               
                                                              character *8, dimension(:), allocatable tagnrv
                                                               Table B mnemonic to which the corresponding new reference value in nrv applies. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table.

                                                              +

                                                              Data values within this module are stored by subroutine tabsub().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2012-03-02
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ibtnrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_nrv203::ibtnrv
                                                              +
                                                              + +

                                                              Number of bits in Section 4 occupied by each new reference value for the current 2-03-YYY operator in scope; set to 0 if no such operator is currently in scope.

                                                              + +

                                                              Definition at line 468 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by tabent(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ienrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_nrv203::ienrv
                                                              +
                                                              + +

                                                              End of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv.

                                                              + +

                                                              Definition at line 488 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), ipks(), nemspecs(), tabsub(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ inodnrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_nrv203::inodnrv
                                                              +
                                                              + +

                                                              Entries within jump/link table which contain new reference values.

                                                              + +

                                                              Definition at line 478 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), ipks(), nemspecs(), tabent(), ufdump(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ipfnrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_nrv203::ipfnrv
                                                              +
                                                              + +

                                                              A number between 1 and nnrv, denoting the first entry within the module arrays which applies to the current data subset in scope; set to 0 if no 2-03-YYY operators have been applied to the current data subset in scope.

                                                              + +

                                                              Definition at line 473 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by tabent(), and tabsub().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ isnrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_nrv203::isnrv
                                                              +
                                                              + +

                                                              Start of entry range in jump/link table, within which the corresponding new reference value in nrv will be applied to all occurrences of the corresponding Table B mnemonic in tagnrv.

                                                              + +

                                                              Definition at line 484 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), ipks(), nemspecs(), tabent(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nnrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_nrv203::nnrv
                                                              +
                                                              + +

                                                              Number of entries in the jump/link table which contain new reference values (up to a maximum of MXNRV).

                                                              + +

                                                              Definition at line 464 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by igetrfel(), ipks(), makestab(), nemspecs(), tabent(), tabsub(), ufdump(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer*8, dimension(:), allocatable moda_nrv203::nrv
                                                              +
                                                              + +

                                                              New reference values corresponding to inodnrv.

                                                              + +

                                                              Definition at line 480 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), ipks(), nemspecs(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ tagnrv

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*8, dimension(:), allocatable moda_nrv203::tagnrv
                                                              +
                                                              + +

                                                              Table B mnemonic to which the corresponding new reference value in nrv applies.

                                                              + +

                                                              Definition at line 476 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), ipks(), nemspecs(), tabent(), and ups().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__nulbfr.html b/previous_versions/v12.0.1/namespacemoda__nulbfr.html new file mode 100644 index 000000000..56991eebf --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__nulbfr.html @@ -0,0 +1,141 @@ + + + + + + + +NCEPLIBS-bufr: moda_nulbfr Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_nulbfr Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether any BUFR messages should actually be written to the corresponding logical unit. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable null
                                                               Output switch for each internal I/O stream index: More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether any BUFR messages should actually be written to the corresponding logical unit.

                                                              +

                                                              The default value is "on", indicating that BUFR messages should be written to the corresponding logical unit, but it can be switched to a value of "off" if it is connected to the library via a call to subroutine openbf() with IO = 'NUL', and in which case no output will actually be written to the corresponding logical unit. This can be useful if, for example, an application program is planning to use subroutine writsa() to return output BUFR messages via a memory array and doesn't want to also have them automatically written out to a file.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2003-11-04
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ null

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_nulbfr::null
                                                              +
                                                              + +

                                                              Output switch for each internal I/O stream index:

                                                              +
                                                                +
                                                              • 0 BUFR messages will be written to corresponding logical unit (default)
                                                              • +
                                                              • 1 no BUFR messages will be written to corresponding logical unit
                                                              • +
                                                              + +

                                                              Definition at line 511 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), closbf(), msgwrt(), and openbf().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__rdmtb.html b/previous_versions/v12.0.1/namespacemoda__rdmtb.html new file mode 100644 index 000000000..a3ed8d94f --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__rdmtb.html @@ -0,0 +1,206 @@ + + + + + + + +NCEPLIBS-bufr: moda_rdmtb Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_rdmtb Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store master Table B and Table D entries within internal memory. +More...

                                                              + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *120, dimension(:,:), allocatable ceelem
                                                               Element names corresponding to iefxyn. More...
                                                               
                                                              character *4, dimension(:), allocatable cmdscb
                                                               Descriptor codes for Table B elements. More...
                                                               
                                                              character *4, dimension(:), allocatable cmdscd
                                                               Descriptor codes for Table D sequences. More...
                                                               
                                                              integer, dimension(:,:), allocatable iefxyn
                                                               Bit-wise representations of child descriptors of Table D sequences. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store master Table B and Table D entries within internal memory.

                                                              +

                                                              Data values within this module are stored by subroutine ireadmt().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ceelem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*120, dimension(:,:), allocatable moda_rdmtb::ceelem
                                                              +
                                                              + +

                                                              Element names corresponding to iefxyn.

                                                              + +

                                                              Definition at line 528 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cmdscb

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*4, dimension(:), allocatable moda_rdmtb::cmdscb
                                                              +
                                                              + +

                                                              Descriptor codes for Table B elements.

                                                              + +

                                                              Definition at line 524 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cmdscd

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*4, dimension(:), allocatable moda_rdmtb::cmdscd
                                                              +
                                                              + +

                                                              Descriptor codes for Table D sequences.

                                                              + +

                                                              Definition at line 526 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and ireadmt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iefxyn

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_rdmtb::iefxyn
                                                              +
                                                              + +

                                                              Bit-wise representations of child descriptors of Table D sequences.

                                                              + +

                                                              Definition at line 522 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and ireadmt().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__rlccmn.html b/previous_versions/v12.0.1/namespacemoda__rlccmn.html new file mode 100644 index 000000000..e449d6bbc --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__rlccmn.html @@ -0,0 +1,205 @@ + + + + + + + +NCEPLIBS-bufr: moda_rlccmn Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_rlccmn Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc(). +More...

                                                              + + + + + + + + + + + + + + +

                                                              +Variables

                                                              character *10, dimension(:), allocatable crtag
                                                               Table B mnemonics associated with long character strings. More...
                                                               
                                                              integer, dimension(:), allocatable irbit
                                                               Pointers in data subset to first bits of long character strings. More...
                                                               
                                                              integer, dimension(:), allocatable irnch
                                                               Lengths (in bytes) of long character strings. More...
                                                               
                                                              integer nrst
                                                               Number of long character strings in data subset. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2009-03-23
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ crtag

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*10, dimension(:), allocatable moda_rlccmn::crtag
                                                              +
                                                              + +

                                                              Table B mnemonics associated with long character strings.

                                                              + +

                                                              Definition at line 545 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rdcmps(), and readlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ irbit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_rlccmn::irbit
                                                              +
                                                              + +

                                                              Pointers in data subset to first bits of long character strings.

                                                              + +

                                                              Definition at line 543 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rdcmps(), and readlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ irnch

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_rlccmn::irnch
                                                              +
                                                              + +

                                                              Lengths (in bytes) of long character strings.

                                                              + +

                                                              Definition at line 541 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rdcmps(), and readlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nrst

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_rlccmn::nrst
                                                              +
                                                              + +

                                                              Number of long character strings in data subset.

                                                              + +

                                                              Definition at line 539 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by rdcmps(), and readlc().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__s01cm.html b/previous_versions/v12.0.1/namespacemoda__s01cm.html new file mode 100644 index 000000000..71f689051 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__s01cm.html @@ -0,0 +1,183 @@ + + + + + + + +NCEPLIBS-bufr: moda_s01cm Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_s01cm Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units. +More...

                                                              + + + + + + + + + + + +

                                                              +Variables

                                                              character *8, dimension(:), allocatable cmnem
                                                               Section 0 and 1 mnemonics corresponding to ivmnem. More...
                                                               
                                                              integer, dimension(:), allocatable ivmnem
                                                               Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units. More...
                                                               
                                                              integer ns01v = 0
                                                               Number of custom values stored. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units.

                                                              +

                                                              These values are specified via one or more calls to subroutine pkvs01(). Otherwise, default values for these mnemonics are used as defined within subroutines msgini(), cmsgini(), or dxmini().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2015-03-03
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ cmnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*8, dimension(:), allocatable moda_s01cm::cmnem
                                                              +
                                                              + +

                                                              Section 0 and 1 mnemonics corresponding to ivmnem.

                                                              + +

                                                              Definition at line 560 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), msgwrt(), pkvs01(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ivmnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_s01cm::ivmnem
                                                              +
                                                              + +

                                                              Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units.

                                                              + +

                                                              Definition at line 558 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), msgwrt(), pkvs01(), and wrcmps().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ns01v

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_s01cm::ns01v = 0
                                                              +
                                                              + +

                                                              Number of custom values stored.

                                                              + +

                                                              Definition at line 562 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by exitbufr(), msgwrt(), pkvs01(), and wrcmps().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__sc3bfr.html b/previous_versions/v12.0.1/namespacemoda__sc3bfr.html new file mode 100644 index 000000000..b2ad286ba --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__sc3bfr.html @@ -0,0 +1,164 @@ + + + + + + + +NCEPLIBS-bufr: moda_sc3bfr Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_sc3bfr Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables. +More...

                                                              + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable isc3
                                                               Section 3 switch for each internal I/O stream index: More...
                                                               
                                                              character *8, dimension(:), allocatable tamnem
                                                               Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables.

                                                              +

                                                              The default value is "off", indicating that BUFR messages read from the corresponding logical unit should be decoded using DX BUFR tables, but it can be switched to a value of "on" if the corresponding logical unit is connected to the library via a call to subroutine openbf() with IO = 'SEC3', and in which case each BUFR message will be decoded according to the contents of Section 3 and using master BUFR tables.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ isc3

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_sc3bfr::isc3
                                                              +
                                                              + +

                                                              Section 3 switch for each internal I/O stream index:

                                                              +
                                                                +
                                                              • 0 BUFR messages read from corresponding logical unit will be decoded using DX BUFR tables (default)
                                                              • +
                                                              • 1 BUFR messages read from corresponding logical unit will be decoded using master BUFR tables
                                                              • +
                                                              + +

                                                              Definition at line 584 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), ireadmt(), openbf(), readerme(), and readmg().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ tamnem

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*8, dimension(:), allocatable moda_sc3bfr::tamnem
                                                              +
                                                              + +

                                                              Table A mnemonic most recently read from each internal I/O stream index, if isc3 = 1 for that stream.

                                                              + +

                                                              Definition at line 587 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), and reads3().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__stbfr.html b/previous_versions/v12.0.1/namespacemoda__stbfr.html new file mode 100644 index 000000000..4f4369666 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__stbfr.html @@ -0,0 +1,167 @@ + + + + + + + +NCEPLIBS-bufr: moda_stbfr Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_stbfr Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array declarations used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf(). +More...

                                                              + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable iolun
                                                               File status indicators. More...
                                                               
                                                              integer, dimension(:), allocatable iomsg
                                                               Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open within the internal arrays for the corresponding logical unit: More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array declarations used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ iolun

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_stbfr::iolun
                                                              +
                                                              + +

                                                              File status indicators.

                                                              +

                                                              Every connected I/O stream index has a non-zero value in this array:

                                                                +
                                                              • if the value is positive, then the logical unit number of this same value is connected for output (i.e. writing/encoding) BUFR
                                                              • +
                                                              • if the value is negative, then the logical unit number of the absolute value of this same value is connected for input (i.e. reading/decoding) BUFR
                                                              • +
                                                              + +

                                                              Definition at line 602 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), exitbufr(), makestab(), status(), and wtstat().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iomsg

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_stbfr::iomsg
                                                              +
                                                              + +

                                                              Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open within the internal arrays for the corresponding logical unit:

                                                              +
                                                                +
                                                              • 0 no
                                                              • +
                                                              • 1 yes
                                                              • +
                                                              + +

                                                              Definition at line 607 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), makestab(), status(), and wtstat().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__stcode.html b/previous_versions/v12.0.1/namespacemoda__stcode.html new file mode 100644 index 000000000..10453871a --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__stcode.html @@ -0,0 +1,141 @@ + + + + + + + +NCEPLIBS-bufr: moda_stcode Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_stcode Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains an array declaration used to store a status code for each internal I/O stream index if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable iscodes
                                                               Abnormal status codes. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains an array declaration used to store a status code for each internal I/O stream index if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit.

                                                              +

                                                              The status code can be retrieved at any time by the application program via a call to subroutine igetsc().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2010-05-11
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ iscodes

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_stcode::iscodes
                                                              +
                                                              + +

                                                              Abnormal status codes.

                                                              +
                                                                +
                                                              • 0 all is normal; no error occurred
                                                              • +
                                                              • 1 replication factor overflow in subroutine usrtpl()
                                                              • +
                                                              + +

                                                              Definition at line 621 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetsc(), openbf(), rdcmps(), readsb(), and usrtpl().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__tababd.html b/previous_versions/v12.0.1/namespacemoda__tababd.html new file mode 100644 index 000000000..f5e2278d1 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__tababd.html @@ -0,0 +1,343 @@ + + + + + + + +NCEPLIBS-bufr: moda_tababd Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_tababd Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:,:,:), allocatable idna
                                                               Message types (in array element 1) and subtypes (in array element 2) corresponding to taba. More...
                                                               
                                                              integer, dimension(:,:), allocatable idnb
                                                               Bit-wise representations of the FXY values corresponding to tabb. More...
                                                               
                                                              integer, dimension(:,:), allocatable idnd
                                                               Bit-wise representations of the FXY values corresponding to tabd. More...
                                                               
                                                              integer, dimension(:,:), allocatable mtab
                                                               Entries within jump/link table corresponding to taba. More...
                                                               
                                                              integer, dimension(:), allocatable ntba
                                                               Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable ntbb
                                                               Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB, whose value is stored in array element 0). More...
                                                               
                                                              integer, dimension(:), allocatable ntbd
                                                               Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD, whose value is stored in array element 0). More...
                                                               
                                                              character *128, dimension(:,:), allocatable taba
                                                               Table A entries for each internal I/O stream. More...
                                                               
                                                              character *128, dimension(:,:), allocatable tabb
                                                               Table B entries for each internal I/O stream. More...
                                                               
                                                              character *600, dimension(:,:), allocatable tabd
                                                               Table D entries for each internal I/O stream. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ idna

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:,:), allocatable moda_tababd::idna
                                                              +
                                                              + +

                                                              Message types (in array element 1) and subtypes (in array element 2) corresponding to taba.

                                                              + +

                                                              Definition at line 642 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), icmpdx(), nemtbax(), and stntbia().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idnb

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_tababd::idnb
                                                              +
                                                              + +

                                                              Bit-wise representations of the FXY values corresponding to tabb.

                                                              + +

                                                              Definition at line 644 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), icmpdx(), nemtab(), nemtbb(), numtbd(), stbfdx(), and stntbi().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ idnd

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_tababd::idnd
                                                              +
                                                              + +

                                                              Bit-wise representations of the FXY values corresponding to tabd.

                                                              + +

                                                              Definition at line 646 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), icmpdx(), nemtab(), nemtbd(), numtbd(), stbfdx(), and stntbi().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ mtab

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_tababd::mtab
                                                              +
                                                              + +

                                                              Entries within jump/link table corresponding to taba.

                                                              + +

                                                              Definition at line 639 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxinit(), ishrdx(), makestab(), and nemtbax().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ntba

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tababd::ntba
                                                              +
                                                              + +

                                                              Number of Table A entries for each internal I/O stream (up to a maximum of MAXTBA, whose value is stored in array element 0).

                                                              + +

                                                              Definition at line 631 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), icmpdx(), igetntbi(), ishrdx(), makestab(), nemtbax(), stntbia(), and wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ntbb

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tababd::ntbb
                                                              +
                                                              + +

                                                              Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB, whose value is stored in array element 0).

                                                              + +

                                                              Definition at line 634 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), igetntbi(), nemtab(), nemtbb(), nenubd(), numtbd(), stbfdx(), stntbi(), and wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ntbd

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tababd::ntbd
                                                              +
                                                              + +

                                                              Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD, whose value is stored in array element 0).

                                                              + +

                                                              Definition at line 637 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bfrini(), chekstab(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), igetntbi(), nemtab(), nemtbd(), nenubd(), numtbd(), stbfdx(), stntbi(), and wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ taba

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*128, dimension(:,:), allocatable moda_tababd::taba
                                                              +
                                                              + +

                                                              Table A entries for each internal I/O stream.

                                                              + +

                                                              Definition at line 648 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), chekstab(), cpbfdx(), dxdump(), dxinit(), icmpdx(), makestab(), nemtbax(), stbfdx(), stntbia(), and wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ tabb

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*128, dimension(:,:), allocatable moda_tababd::tabb
                                                              +
                                                              + +

                                                              Table B entries for each internal I/O stream.

                                                              + +

                                                              Definition at line 650 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxdump(), dxinit(), elemdx(), getabdb(), getcfmng(), icmpdx(), nemdefs(), nemtab(), nemtbb(), nenubd(), numtbd(), stbfdx(), stntbi(), ufbdmp(), ufdump(), upftbv(), and wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ tabd

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*600, dimension(:,:), allocatable moda_tababd::tabd
                                                              +
                                                              + +

                                                              Table D entries for each internal I/O stream.

                                                              + +

                                                              Definition at line 652 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cpbfdx(), dxdump(), dxinit(), getabdb(), icmpdx(), nemtab(), nemtbd(), nenubd(), numtbd(), pktdd(), stbfdx(), stntbi(), uptdd(), and wrdxtb().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__tables.html b/previous_versions/v12.0.1/namespacemoda__tables.html new file mode 100644 index 000000000..3e8417a6a --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__tables.html @@ -0,0 +1,537 @@ + + + + + + + +NCEPLIBS-bufr: moda_tables Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_tables Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array and variable declarations used to store the internal jump/link table. +More...

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable ibt
                                                               Bit widths corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:), allocatable irf
                                                               Reference values corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:), allocatable isc
                                                               Scale factors corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:,:), allocatable iseq
                                                               Temporary storage used in expanding sequences. More...
                                                               
                                                              integer, dimension(:), allocatable itp
                                                               Integer type values corresponding to typ: More...
                                                               
                                                              integer, dimension(:), allocatable jmpb
                                                               Jump backward indices corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:), allocatable jseq
                                                               Temporary storage used in expanding sequences. More...
                                                               
                                                              integer, dimension(:), allocatable jump
                                                               Jump forward indices corresponding to tag and typ: More...
                                                               
                                                              integer, dimension(:), allocatable knt
                                                               Temporary storage used in calculating delayed replication counts. More...
                                                               
                                                              integer, dimension(:), allocatable knti
                                                               Initialized replication counts corresponding to typ and jump: More...
                                                               
                                                              integer, dimension(:), allocatable link
                                                               Link indices corresponding to tag, typ and jmpb: More...
                                                               
                                                              integer maxtab
                                                               Maximum number of entries in the jump/link table; equivalent to MAXJL. More...
                                                               
                                                              integer ntab
                                                               Number of entries in the jump/link table. More...
                                                               
                                                              character *10, dimension(:), allocatable tag
                                                               Mnemonics in the jump/link table. More...
                                                               
                                                              character *3, dimension(:), allocatable typ
                                                               Type indicators corresponding to tag: More...
                                                               
                                                              real *8, dimension(:), allocatable vali
                                                               Initialized data values corresponding to typ: More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array and variable declarations used to store the internal jump/link table.

                                                              +

                                                              Data values within this module are stored by subroutines makestab(), tabsub() and tabent().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-12-10
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ibt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::ibt
                                                              +
                                                              + +

                                                              Bit widths corresponding to tag and typ:

                                                              +
                                                                +
                                                              • Bit width of corresponding tag entry, if corresponding typ entry is "CHR", "NUM", "DRB" or "DRP"
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 710 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), makestab(), nemspecs(), rcstpl(), rdcmps(), rdtree(), tabent(), tabsub(), ufbdmp(), ufbget(), ufbtab(), ufbtam(), ufdump(), ups(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ irf

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::irf
                                                              +
                                                              + +

                                                              Reference values corresponding to tag and typ:

                                                              +
                                                                +
                                                              • Reference value of corresponding tag entry, if corresponding typ entry is "NUM"
                                                              • +
                                                              • Number of regular (non-delayed) replications of Table D mnemonic referenced by corresponding jump entry, if corresponding typ entry is "REP"
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 716 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_irf_c(), igetrfel(), iok2cpy(), ipks(), makestab(), nemspecs(), tabent(), tabsub(), ufbdmp(), ufdump(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ isc

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::isc
                                                              +
                                                              + +

                                                              Scale factors corresponding to tag and typ:

                                                              +
                                                                +
                                                              • Scale factor of corresponding tag entry, if corresponding typ entry is "NUM"
                                                              • +
                                                              • Jump/link table entry for Table B or Table D mnemonic which is the last sequential child descriptor of the corresponding tag entry, if the corresponding typ entry is "SUB"
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 722 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_isc_c(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), strbtm(), tabent(), tabsub(), ufbdmp(), ufbseq(), ufdump(), and ups().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ iseq

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_tables::iseq
                                                              +
                                                              + +

                                                              Temporary storage used in expanding sequences.

                                                              + +

                                                              Definition at line 740 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ itp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::itp
                                                              +
                                                              + +

                                                              Integer type values corresponding to typ:

                                                              +
                                                                +
                                                              • 1, if corresponding typ entry is "DRS", "DRP" or "DRB"
                                                              • +
                                                              • 2, if corresponding typ entry is "NUM"
                                                              • +
                                                              • 3, if corresponding typ entry is "CHR"
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 728 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), drfini(), bufr_c2f_interface::get_itp_c(), igetrfel(), invmrg(), makestab(), rcstpl(), rdcmps(), rdtree(), readlc(), strbtm(), ufbcup(), ufbdmp(), ufbget(), ufbseq(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jmpb

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::jmpb
                                                              +
                                                              + +

                                                              Jump backward indices corresponding to tag and typ:

                                                              +
                                                                +
                                                              • 0, if corresponding typ entry is "SUB"
                                                              • +
                                                              • Jump/link table entry denoting the replication of corresponding tag entry, if corresponding typ entry is "RPC", or if corresponding typ entry is "SEQ" and corresponding tag entry uses either short (1-bit) or regular (non-delayed) replication
                                                              • +
                                                              • Jump/link table entry for Table A or D mnemonic of which corresponding tag entry is a child descriptor, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 706 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_jmpb_c(), gettagpr(), lstjpb(), makestab(), tabent(), tabsub(), ufbdmp(), ufbseq(), and usrtpl().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jseq

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::jseq
                                                              +
                                                              + +

                                                              Temporary storage used in expanding sequences.

                                                              + +

                                                              Definition at line 742 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ jump

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::jump
                                                              +
                                                              + +

                                                              Jump forward indices corresponding to tag and typ:

                                                              +
                                                                +
                                                              • 0, if corresponding typ entry is "CHR" or "NUM"
                                                              • +
                                                              • Jump/link table entry for Table D mnemonic whose replication is denoted by corresponding tag entry, if corresponding typ entry is "DRB", "DRP" or "REP"
                                                              • +
                                                              • Jump/link table entry for Table B or D mnemonic which is the first sequential child descriptor of the corresponding tag entry, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 692 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), makestab(), tabent(), tabsub(), and ufbdmp().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ knt

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::knt
                                                              +
                                                              + +

                                                              Temporary storage used in calculating delayed replication counts.

                                                              + +

                                                              Definition at line 685 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ knti

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::knti
                                                              +
                                                              + +

                                                              Initialized replication counts corresponding to typ and jump:

                                                              +
                                                                +
                                                              • 0, if corresponding typ entry is "RPC", "RPS" or "DRB"
                                                              • +
                                                              • Number of regular (non-delayed) replications of Table D mnemonic referenced by corresponding jump entry, if corresponding typ entry is "REP"
                                                              • +
                                                              • 1, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 738 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ link

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_tables::link
                                                              +
                                                              + +

                                                              Link indices corresponding to tag, typ and jmpb:

                                                              +
                                                                +
                                                              • 0, if corresponding typ entry is "SUB" or "RPC", or if corresponding typ entry is "SEQ" and corresponding tag entry uses either short (1-bit) or regular (non-delayed) replication, or if corresponding tag entry is the last sequential child descriptor of the Table A or D mnemonic referenced by corresponding jmpb entry
                                                              • +
                                                              • Jump/link table entry for Table B or D mnemonic which follows the corresponding tag entry as the next sequential child descriptor of the Table A or D mnemonic referenced by corresponding jmpb entry, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 699 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_link_c(), makestab(), tabent(), tabsub(), ufbdmp(), and ufbseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ maxtab

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer moda_tables::maxtab
                                                              +
                                                              + +

                                                              Maximum number of entries in the jump/link table; equivalent to MAXJL.

                                                              + +

                                                              Definition at line 664 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by bfrini(), and inctab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ntab

                                                              + + + +

                                                              ◆ tag

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*10, dimension(:), allocatable moda_tables::tag
                                                              +
                                                              +
                                                              + +

                                                              ◆ typ

                                                              + +
                                                              +
                                                              + + + + +
                                                              character*3, dimension(:), allocatable moda_tables::typ
                                                              +
                                                              + +

                                                              Type indicators corresponding to tag:

                                                              +
                                                                +
                                                              • "SUB", if corresponding tag entry is a Table A mnemonic
                                                              • +
                                                              • "SEQ", if corresponding tag entry is a Table D mnemonic using either short (1-bit) delayed replication, regular (non-delayed) replication, or no replication at all
                                                              • +
                                                              • "RPC", if corresponding tag entry is a Table D mnemonic using either medium (8-bit) or long (16-bit) delayed replication
                                                              • +
                                                              • "RPS", if corresponding tag entry is a Table D mnemonic using medium (8-bit) delayed replication in a stack
                                                              • +
                                                              • "DRB", if corresponding tag entry denotes the short (1-bit) delayed replication of a Table D mnemonic
                                                              • +
                                                              • "DRP", if corresponding tag entry denotes the medium (8-bit) or long (16-bit) delayed replication of a Table D mnemonic
                                                              • +
                                                              • "DRS", if corresponding tag entry denotes the medium (8-bit) delayed replication of a Table D mnemonic in a stack
                                                              • +
                                                              • "REP", if corresponding tag entry denotes the regular (non-delayed) replication of a Table D mnemonic
                                                              • +
                                                              • "CHR", if corresponding tag entry is a Table B mnemonic with units of CCITT IA5
                                                              • +
                                                              • "NUM", if corresponding tag entry is a Table B mnemonic with any units other than CCITT IA5
                                                              • +
                                                              + +

                                                              Definition at line 683 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_typ_c(), inctab(), invmrg(), iok2cpy(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), ufbdmp(), ufbseq(), ufdump(), usrtpl(), writlc(), and wrtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ vali

                                                              + +
                                                              +
                                                              + + + + +
                                                              real*8, dimension(:), allocatable moda_tables::vali
                                                              +
                                                              + +

                                                              Initialized data values corresponding to typ:

                                                              +
                                                                +
                                                              • Current placeholder value for "missing" data, if corresponding typ entry is "REP", "NUM" or "CHR"
                                                              • +
                                                              • 0, otherwise
                                                              • +
                                                              + +

                                                              Definition at line 732 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__ufbcpl.html b/previous_versions/v12.0.1/namespacemoda__ufbcpl.html new file mode 100644 index 000000000..829a38c8b --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__ufbcpl.html @@ -0,0 +1,137 @@ + + + + + + + +NCEPLIBS-bufr: moda_ufbcpl Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_ufbcpl Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy(). +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable luncpy
                                                               Logical unit numbers used to copy long character strings between BUFR data subsets. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy().

                                                              +

                                                              In such cases, this stored logical unit number is later accessed within subroutine wrtree() to enable the copying of long character strings (greater than 8 bytes) between the two logical units.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2009-08-11
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ luncpy

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_ufbcpl::luncpy
                                                              +
                                                              + +

                                                              Logical unit numbers used to copy long character strings between BUFR data subsets.

                                                              + +

                                                              Definition at line 757 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), msgini(), ufbcpy(), and wrtree().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__unptyp.html b/previous_versions/v12.0.1/namespacemoda__unptyp.html new file mode 100644 index 000000000..8dff4ff36 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__unptyp.html @@ -0,0 +1,141 @@ + + + + + + + +NCEPLIBS-bufr: moda_unptyp Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_unptyp Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message. +More...

                                                              + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable msgunp
                                                               Flag indicating how to unpack data subsets from BUFR message: More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ msgunp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_unptyp::msgunp
                                                              +
                                                              + +

                                                              Flag indicating how to unpack data subsets from BUFR message:

                                                              +
                                                                +
                                                              • 0 message contains data subset byte counters and other non-standard enhancements
                                                              • +
                                                              • 1 message is fully standard and contains no non-standard enhancements
                                                              • +
                                                              • 2 message is compressed
                                                              • +
                                                              + +

                                                              Definition at line 771 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), cktaba(), rdmems(), readlc(), readsb(), and ufbtab().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__usrbit.html b/previous_versions/v12.0.1/namespacemoda__usrbit.html new file mode 100644 index 000000000..922b15268 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__usrbit.html @@ -0,0 +1,160 @@ + + + + + + + +NCEPLIBS-bufr: moda_usrbit Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_usrbit Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains array declarations for internal storage of pointers to BUFR data subset values. +More...

                                                              + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:), allocatable mbit
                                                               Pointer in data subset to first bit of each packed data value. More...
                                                               
                                                              integer, dimension(:), allocatable nbit
                                                               Length (in bits) of each packed data value in data subset. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains array declarations for internal storage of pointers to BUFR data subset values.

                                                              +

                                                              They are used when unpacking an input data subset via subroutines rcstpl() and rdtree().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ mbit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_usrbit::mbit
                                                              +
                                                              + +

                                                              Pointer in data subset to first bit of each packed data value.

                                                              + +

                                                              Definition at line 783 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rcstpl(), rdtree(), readlc(), and ufbget().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nbit

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_usrbit::nbit
                                                              +
                                                              + +

                                                              Length (in bits) of each packed data value in data subset.

                                                              + +

                                                              Definition at line 781 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), rcstpl(), rdtree(), readlc(), and ufbget().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__usrint.html b/previous_versions/v12.0.1/namespacemoda__usrint.html new file mode 100644 index 000000000..d60ba8d6c --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__usrint.html @@ -0,0 +1,206 @@ + + + + + + + +NCEPLIBS-bufr: moda_usrint Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_usrint Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index. +More...

                                                              + + + + + + + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:,:), allocatable, target inv
                                                               Inventory pointer which links each data value to its corresponding node in the internal jump/link table. More...
                                                               
                                                              integer, dimension(:,:), allocatable nrfelm
                                                               Referenced data value, for data values which refer to a previous data value in the BUFR data subset via an internal bitmap. More...
                                                               
                                                              integer, dimension(:), allocatable nval
                                                               Number of data values in BUFR data subset. More...
                                                               
                                                              real *8, dimension(:,:), allocatable, target val
                                                               Data values. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index.

                                                              +

                                                              This module is used by numerous subroutines throughout the library which read or write BUFR data subsets.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ inv

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable, target moda_usrint::inv
                                                              +
                                                              +
                                                              + +

                                                              ◆ nrfelm

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_usrint::nrfelm
                                                              +
                                                              + +

                                                              Referenced data value, for data values which refer to a previous data value in the BUFR data subset via an internal bitmap.

                                                              + +

                                                              Definition at line 800 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), gettagre(), rcstpl(), rdcmps(), ufbcpy(), and ufdump().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nval

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:), allocatable moda_usrint::nval
                                                              +
                                                              +
                                                              + +

                                                              ◆ val

                                                              + +
                                                              +
                                                              + + + + +
                                                              real*8, dimension(:,:), allocatable, target moda_usrint::val
                                                              +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__usrtmp.html b/previous_versions/v12.0.1/namespacemoda__usrtmp.html new file mode 100644 index 000000000..12cfa8642 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__usrtmp.html @@ -0,0 +1,158 @@ + + + + + + + +NCEPLIBS-bufr: moda_usrtmp Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_usrtmp Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays. +More...

                                                              + + + + + + + + +

                                                              +Variables

                                                              integer, dimension(:,:), allocatable iutmp
                                                               inv array elements for new sections of a growing subset buffer. More...
                                                               
                                                              real *8, dimension(:,:), allocatable vutmp
                                                               val array elements for new sections of a growing subset buffer. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays.

                                                              +
                                                              Author
                                                              J. Woollen 1994-01-06
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ iutmp

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer, dimension(:,:), allocatable moda_usrtmp::iutmp
                                                              +
                                                              + +

                                                              inv array elements for new sections of a growing subset buffer.

                                                              + +

                                                              Definition at line 813 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and rcstpl().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ vutmp

                                                              + +
                                                              +
                                                              + + + + +
                                                              real*8, dimension(:,:), allocatable moda_usrtmp::vutmp
                                                              +
                                                              + +

                                                              val array elements for new sections of a growing subset buffer.

                                                              + +

                                                              Definition at line 815 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and rcstpl().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespacemoda__xtab.html b/previous_versions/v12.0.1/namespacemoda__xtab.html new file mode 100644 index 000000000..3df454b32 --- /dev/null +++ b/previous_versions/v12.0.1/namespacemoda__xtab.html @@ -0,0 +1,138 @@ + + + + + + + +NCEPLIBS-bufr: moda_xtab Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              moda_xtab Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program. +More...

                                                              + + + + + +

                                                              +Variables

                                                              logical, dimension(:), allocatable xtab
                                                               Tracking index for each internal I/O stream index. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program.

                                                              +

                                                              This information is stored and tracked within subroutine makestab(), which checks each time it is called to see if the DX BUFR table has changed for any I/O stream index since the last time it was called.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2009-03-18
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ xtab

                                                              + +
                                                              +
                                                              + + + + +
                                                              logical, dimension(:), allocatable moda_xtab::xtab
                                                              +
                                                              + +

                                                              Tracking index for each internal I/O stream index.

                                                              +

                                                              Set to .true. if the DX BUFR table for the corresponding logical unit has changed since the previous call to subroutine makestab(); set to .false. otherwise.

                                                              + +

                                                              Definition at line 834 of file modules_arrs.F90.

                                                              + +

                                                              Referenced by arallocf(), ardllocf(), and makestab().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/namespacemodv__bmiss.html b/previous_versions/v12.0.1/namespacemodv__bmiss.html similarity index 100% rename from namespacemodv__bmiss.html rename to previous_versions/v12.0.1/namespacemodv__bmiss.html diff --git a/namespacemodv__ifopbf.html b/previous_versions/v12.0.1/namespacemodv__ifopbf.html similarity index 100% rename from namespacemodv__ifopbf.html rename to previous_versions/v12.0.1/namespacemodv__ifopbf.html diff --git a/namespacemodv__im8b.html b/previous_versions/v12.0.1/namespacemodv__im8b.html similarity index 100% rename from namespacemodv__im8b.html rename to previous_versions/v12.0.1/namespacemodv__im8b.html diff --git a/namespacemodv__maxcd.html b/previous_versions/v12.0.1/namespacemodv__maxcd.html similarity index 100% rename from namespacemodv__maxcd.html rename to previous_versions/v12.0.1/namespacemodv__maxcd.html diff --git a/namespacemodv__maxjl.html b/previous_versions/v12.0.1/namespacemodv__maxjl.html similarity index 100% rename from namespacemodv__maxjl.html rename to previous_versions/v12.0.1/namespacemodv__maxjl.html diff --git a/namespacemodv__maxmem.html b/previous_versions/v12.0.1/namespacemodv__maxmem.html similarity index 100% rename from namespacemodv__maxmem.html rename to previous_versions/v12.0.1/namespacemodv__maxmem.html diff --git a/namespacemodv__maxmsg.html b/previous_versions/v12.0.1/namespacemodv__maxmsg.html similarity index 100% rename from namespacemodv__maxmsg.html rename to previous_versions/v12.0.1/namespacemodv__maxmsg.html diff --git a/namespacemodv__maxnc.html b/previous_versions/v12.0.1/namespacemodv__maxnc.html similarity index 100% rename from namespacemodv__maxnc.html rename to previous_versions/v12.0.1/namespacemodv__maxnc.html diff --git a/namespacemodv__maxss.html b/previous_versions/v12.0.1/namespacemodv__maxss.html similarity index 100% rename from namespacemodv__maxss.html rename to previous_versions/v12.0.1/namespacemodv__maxss.html diff --git a/namespacemodv__maxtba.html b/previous_versions/v12.0.1/namespacemodv__maxtba.html similarity index 100% rename from namespacemodv__maxtba.html rename to previous_versions/v12.0.1/namespacemodv__maxtba.html diff --git a/namespacemodv__maxtbb.html b/previous_versions/v12.0.1/namespacemodv__maxtbb.html similarity index 100% rename from namespacemodv__maxtbb.html rename to previous_versions/v12.0.1/namespacemodv__maxtbb.html diff --git a/namespacemodv__maxtbd.html b/previous_versions/v12.0.1/namespacemodv__maxtbd.html similarity index 100% rename from namespacemodv__maxtbd.html rename to previous_versions/v12.0.1/namespacemodv__maxtbd.html diff --git a/namespacemodv__mxbtm.html b/previous_versions/v12.0.1/namespacemodv__mxbtm.html similarity index 100% rename from namespacemodv__mxbtm.html rename to previous_versions/v12.0.1/namespacemodv__mxbtm.html diff --git a/namespacemodv__mxbtmse.html b/previous_versions/v12.0.1/namespacemodv__mxbtmse.html similarity index 100% rename from namespacemodv__mxbtmse.html rename to previous_versions/v12.0.1/namespacemodv__mxbtmse.html diff --git a/namespacemodv__mxcdv.html b/previous_versions/v12.0.1/namespacemodv__mxcdv.html similarity index 100% rename from namespacemodv__mxcdv.html rename to previous_versions/v12.0.1/namespacemodv__mxcdv.html diff --git a/namespacemodv__mxcnem.html b/previous_versions/v12.0.1/namespacemodv__mxcnem.html similarity index 100% rename from namespacemodv__mxcnem.html rename to previous_versions/v12.0.1/namespacemodv__mxcnem.html diff --git a/namespacemodv__mxcsb.html b/previous_versions/v12.0.1/namespacemodv__mxcsb.html similarity index 100% rename from namespacemodv__mxcsb.html rename to previous_versions/v12.0.1/namespacemodv__mxcsb.html diff --git a/namespacemodv__mxdxts.html b/previous_versions/v12.0.1/namespacemodv__mxdxts.html similarity index 100% rename from namespacemodv__mxdxts.html rename to previous_versions/v12.0.1/namespacemodv__mxdxts.html diff --git a/namespacemodv__mxh4wlc.html b/previous_versions/v12.0.1/namespacemodv__mxh4wlc.html similarity index 100% rename from namespacemodv__mxh4wlc.html rename to previous_versions/v12.0.1/namespacemodv__mxh4wlc.html diff --git a/namespacemodv__mxlcc.html b/previous_versions/v12.0.1/namespacemodv__mxlcc.html similarity index 100% rename from namespacemodv__mxlcc.html rename to previous_versions/v12.0.1/namespacemodv__mxlcc.html diff --git a/namespacemodv__mxmsgl.html b/previous_versions/v12.0.1/namespacemodv__mxmsgl.html similarity index 100% rename from namespacemodv__mxmsgl.html rename to previous_versions/v12.0.1/namespacemodv__mxmsgl.html diff --git a/namespacemodv__mxmtbb.html b/previous_versions/v12.0.1/namespacemodv__mxmtbb.html similarity index 100% rename from namespacemodv__mxmtbb.html rename to previous_versions/v12.0.1/namespacemodv__mxmtbb.html diff --git a/namespacemodv__mxmtbd.html b/previous_versions/v12.0.1/namespacemodv__mxmtbd.html similarity index 100% rename from namespacemodv__mxmtbd.html rename to previous_versions/v12.0.1/namespacemodv__mxmtbd.html diff --git a/namespacemodv__mxmtbf.html b/previous_versions/v12.0.1/namespacemodv__mxmtbf.html similarity index 100% rename from namespacemodv__mxmtbf.html rename to previous_versions/v12.0.1/namespacemodv__mxmtbf.html diff --git a/namespacemodv__mxnaf.html b/previous_versions/v12.0.1/namespacemodv__mxnaf.html similarity index 100% rename from namespacemodv__mxnaf.html rename to previous_versions/v12.0.1/namespacemodv__mxnaf.html diff --git a/namespacemodv__mxnrv.html b/previous_versions/v12.0.1/namespacemodv__mxnrv.html similarity index 100% rename from namespacemodv__mxnrv.html rename to previous_versions/v12.0.1/namespacemodv__mxnrv.html diff --git a/namespacemodv__mxrst.html b/previous_versions/v12.0.1/namespacemodv__mxrst.html similarity index 100% rename from namespacemodv__mxrst.html rename to previous_versions/v12.0.1/namespacemodv__mxrst.html diff --git a/namespacemodv__mxs.html b/previous_versions/v12.0.1/namespacemodv__mxs.html similarity index 100% rename from namespacemodv__mxs.html rename to previous_versions/v12.0.1/namespacemodv__mxs.html diff --git a/namespacemodv__mxs01v.html b/previous_versions/v12.0.1/namespacemodv__mxs01v.html similarity index 100% rename from namespacemodv__mxs01v.html rename to previous_versions/v12.0.1/namespacemodv__mxs01v.html diff --git a/namespacemodv__mxtamc.html b/previous_versions/v12.0.1/namespacemodv__mxtamc.html similarity index 100% rename from namespacemodv__mxtamc.html rename to previous_versions/v12.0.1/namespacemodv__mxtamc.html diff --git a/namespacemodv__mxtco.html b/previous_versions/v12.0.1/namespacemodv__mxtco.html similarity index 100% rename from namespacemodv__mxtco.html rename to previous_versions/v12.0.1/namespacemodv__mxtco.html diff --git a/namespacemodv__nfiles.html b/previous_versions/v12.0.1/namespacemodv__nfiles.html similarity index 100% rename from namespacemodv__nfiles.html rename to previous_versions/v12.0.1/namespacemodv__nfiles.html diff --git a/previous_versions/v12.0.1/namespaces.html b/previous_versions/v12.0.1/namespaces.html new file mode 100644 index 000000000..3c7d56e04 --- /dev/null +++ b/previous_versions/v12.0.1/namespaces.html @@ -0,0 +1,197 @@ + + + + + + + +NCEPLIBS-bufr: Modules List + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              Modules List
                                                              +
                                                              +
                                                              +
                                                              Here is a list of all documented modules with brief descriptions:
                                                              +
                                                              [detail level 12]
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                               Nbufr_c2f_interfaceWrap Fortran NCEPLIBS-bufr subprograms and variables so they can be called from within C
                                                               Nbufr_interfaceWrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs
                                                               Cccbfl_c
                                                               Ccobfl_c
                                                               Ccrbmg_c
                                                               Ccwbmg_c
                                                               Cdlloctbf_c
                                                               NbufrlibWrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library
                                                               Carallocc_c
                                                               Cardllocc_c
                                                               Cbackbufr_c
                                                               Cbort_exit_c
                                                               Ccewind_c
                                                               Cclosfb_c
                                                               Ccpmstabs_c
                                                               Ccrdbufr_c
                                                               Ccwrbufr_c
                                                               Cicvidx_c
                                                               Cinittbf_c
                                                               Copenab_c
                                                               Copenrb_c
                                                               Copenwb_c
                                                               Crestd_c
                                                               Csorttbf_c
                                                               Csrchtbf_c
                                                               Cstrtbfe_c
                                                               Cstseq_c
                                                               Nmoda_bitbufThis module contains array and variable declarations used to store BUFR messages internally for multiple I/O streams
                                                               Nmoda_bitmapsThis module contains array and variable declarations used to store bitmaps internally within a data subset definition
                                                               Nmoda_bufrmgThis module contains arrays used to store, for each output I/O stream, a copy of the BUFR message that was most recently written to that stream, for possible later retrieval via subroutine writsa()
                                                               Nmoda_bufrsrThis module contains arrays and variables needed to store the current position within a BUFR file
                                                               Nmoda_comprsThis module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output
                                                               Nmoda_comprxThis module contains arrays and variable declarations for the storage of data values needed when writing compressed data subsets to a BUFR message for output
                                                               Nmoda_dscachThis module contains array and variable declarations for the internal Table A mnemonic cache that is used for Section 3 decoding of BUFR messages
                                                               Nmoda_h4wlcThis module contains array and variable declarations needed to store long character strings (greater than 8 bytes) via subroutine hold4wlc()
                                                               Nmoda_idrdmThis module contains a declaration for an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive set of one or more DX BUFR tables messages
                                                               Nmoda_ivalThis module contains a declaration for an array used to pack or unpack all of the values of a BUFR data subset
                                                               Nmoda_ivttmpThis module contains arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manipulate the contents of the internal subset buffers where the contents of an evolving BUFR message are sccumulated and stored under user control prior to being written out
                                                               Nmoda_lushrThis module contains a declaration for an array used by subroutine makestab() to keep track of which logical units share DX BUFR table information
                                                               Nmoda_mgwaThis module contains a declaration for an array used by various subroutines and functions to hold a temporary working copy of a BUFR message
                                                               Nmoda_mgwbThis module contains a declaration for an array used by various subroutines and functions to hold a temporary working qcopy of a BUFR message
                                                               Nmoda_msgcwdThis module contains declarations for arrays used to store information about the current BUFR message that is in the process of being read from or written to the logical unit associated with each internal I/O stream index
                                                               Nmoda_msglimThis module contains a declaration for an array used to keep track of which logical units should not have any empty (zero data subset) BUFR messages written to them
                                                               Nmoda_msgmemThis module contains array and variable declarations used to store the contents of one or more BUFR files within internal memory
                                                               Nmoda_mstabsThis module contains array and variable declarations used to store master Table B and Table D entries within internal memory
                                                               Nmoda_nmikrpThis module contains declarations for arrays used by various subroutines to hold information about Table D sequences
                                                               Nmoda_nrv203This module contains array and variable declarations for use with any 2-03-YYY (change reference value) operators present within the internal jump/link table
                                                               Nmoda_nulbfrThis module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether any BUFR messages should actually be written to the corresponding logical unit
                                                               Nmoda_rdmtbThis module contains array and variable declarations used to store master Table B and Table D entries within internal memory
                                                               Nmoda_rlccmnThis module contains array and variable declarations needed to store information about long character strings (greater than 8 bytes) when reading them from input data subsets in compressed BUFR messages via subroutines rdcmps() and readlc()
                                                               Nmoda_s01cmThis module contains array and variable declarations used to store custom values for certain mnemonics within Sections 0 and 1 of all future output BUFR messages written to all Fortran logical units
                                                               Nmoda_sc3bfrThis module contains an array declaration used to store a switch for each internal I/O stream index, indicating whether BUFR messages read from the corresponding logical unit should be decoded according to the contents of Section 3 and using master BUFR tables, rather than using DX BUFR tables
                                                               Nmoda_stbfrThis module contains array declarations used to store file and message status indicators for all logical units that have been connected to the library via previous calls to subroutine openbf()
                                                               Nmoda_stcodeThis module contains an array declaration used to store a status code for each internal I/O stream index if an error or other abnormal result occurs while processing a BUFR message within the associated logical unit
                                                               Nmoda_tababdThis module contains array and variable declarations used to store DX BUFR tables internally for multiple I/O streams
                                                               Nmoda_tablesThis module contains array and variable declarations used to store the internal jump/link table
                                                               Nmoda_ufbcplThis module contains an array declaration used to store, for each I/O stream index, the logical unit number corresponding to a separate I/O stream index whenever BUFR data subsets are being copied from the latter to the former via subroutine ufbcpy()
                                                               Nmoda_unptypThis module contains an array declaration used to store, for each I/O stream index from which a BUFR message is currently being read as input, a flag indicating how to unpack the data subsets from the message
                                                               Nmoda_usrbitThis module contains array declarations for internal storage of pointers to BUFR data subset values
                                                               Nmoda_usrintThis module contains declarations for arrays used to store data values and associated metadata for the current BUFR data subset in scope for each I/O stream index
                                                               Nmoda_usrtmpThis module contains arrays used in subroutine rcstpl() to store subset segments that are being copied from a subset template into internal subset arrays
                                                               Nmoda_xtabThis module contains an array declaration used to track, for each I/O stream index, whether the DX BUFR table associated with the corresponding logical unit has changed during the life of the application program
                                                               Nmodv_bmissThis module declares and initializes the BMISS variable
                                                               Nmodv_ifopbfThis module declares and initializes the IFOPBF variable
                                                               Nmodv_im8bThis module declares and initializes the IM8B variable
                                                               Nmodv_maxcdThis module declares and initializes the MAXCD variable
                                                               Nmodv_maxjlThis module declares and initializes the MAXJL variable
                                                               Nmodv_maxmemThis module declares and initializes the MAXMEM variable
                                                               Nmodv_maxmsgThis module declares and initializes the MAXMSG variable
                                                               Nmodv_maxncThis module declares and initializes the MAXNC variable
                                                               Nmodv_maxssThis module declares and initializes the MAXSS variable
                                                               Nmodv_maxtbaThis module declares and initializes the MAXTBA variable
                                                               Nmodv_maxtbbThis module declares and initializes the MAXTBB variable
                                                               Nmodv_maxtbdThis module declares and initializes the MAXTBD variable
                                                               Nmodv_mxbtmThis module declares and initializes the MXBTM variable
                                                               Nmodv_mxbtmseThis module declares and initializes the MXBTMSE variable
                                                               Nmodv_mxcdvThis module declares and initializes the MXCDV variable
                                                               Nmodv_mxcnemThis module declares and initializes the MXCNEM variable
                                                               Nmodv_mxcsbThis module declares and initializes the MXCSB variable
                                                               Nmodv_mxdxtsThis module declares and initializes the MXDXTS variable
                                                               Nmodv_mxh4wlcThis module declares and initializes the MXH4WLC variable
                                                               Nmodv_mxlccThis module declares and initializes the MXLCC variable
                                                               Nmodv_mxmsglThis module declares and initializes the MXMSGL variable
                                                               Nmodv_mxmtbbThis module declares and initializes the MXMTBB variable
                                                               Nmodv_mxmtbdThis module declares and initializes the MXMTBD variable
                                                               Nmodv_mxmtbfThis module declares and initializes the MXMTBF variable
                                                               Nmodv_mxnafThis module declares and initializes the MXNAF variable
                                                               Nmodv_mxnrvThis module declares and initializes the MXNRV variable
                                                               Nmodv_mxrstThis module declares and initializes the MXRST variable
                                                               Nmodv_mxsThis module declares and initializes the MXS variable
                                                               Nmodv_mxs01vThis module declares and initializes the MXS01V variable
                                                               Nmodv_mxtamcThis module declares and initializes the MXTAMC variable
                                                               Nmodv_mxtcoThis module declares and initializes the MXTCO variable
                                                               Nmodv_nfilesThis module declares and initializes the NFILES variable
                                                               Nshare_table_infoThis module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/namespaces_dup.js b/previous_versions/v12.0.1/namespaces_dup.js new file mode 100644 index 000000000..f3352dfa1 --- /dev/null +++ b/previous_versions/v12.0.1/namespaces_dup.js @@ -0,0 +1,406 @@ +var namespaces_dup = +[ + [ "bufr_c2f_interface", "namespacebufr__c2f__interface.html", [ + [ "bort_c", "namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f", null ], + [ "bvers_c", "namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0", null ], + [ "c_f_string", "namespacebufr__c2f__interface.html#a7c95d71e3921bb7093e56dbc458de10c", null ], + [ "cadn30_c", "namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5", null ], + [ "closbf_c", "namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d", null ], + [ "close_c", "namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3", null ], + [ "cmpmsg_c", "namespacebufr__c2f__interface.html#acc6413f0b94cba90a23f594d70e11291", null ], + [ "copy_f_c_str", "namespacebufr__c2f__interface.html#a139959903905b228c3228e3b3a09e025", null ], + [ "delete_table_data_c", "namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e", null ], + [ "elemdx_c", "namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241", null ], + [ "exitbufr_c", "namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab", null ], + [ "get_inode_c", "namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f", null ], + [ "get_inv_c", "namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6", null ], + [ "get_irf_c", "namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252", null ], + [ "get_isc_c", "namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102", null ], + [ "get_itp_c", "namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d", null ], + [ "get_jmpb_c", "namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f", null ], + [ "get_link_c", "namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9", null ], + [ "get_nval_c", "namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503", null ], + [ "get_tag_c", "namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a", null ], + [ "get_typ_c", "namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102", null ], + [ "get_val_c", "namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54", null ], + [ "ibfms_c", "namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c", null ], + [ "ifxy_c", "namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6", null ], + [ "igetmxby_c", "namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb", null ], + [ "igetntbi_c", "namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e", null ], + [ "igetprm_c", "namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b", null ], + [ "igettdi_c", "namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d", null ], + [ "imrkopr_c", "namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f", null ], + [ "ireadmg_c", "namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b", null ], + [ "ireadns_c", "namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7", null ], + [ "ireadsb_c", "namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1", null ], + [ "isetprm_c", "namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490", null ], + [ "istdesc_c", "namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae", null ], + [ "iupb_c", "namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe", null ], + [ "iupbs01_c", "namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd", null ], + [ "maxout_c", "namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42", null ], + [ "mtinfo_c", "namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364", null ], + [ "nemdefs_c", "namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48", null ], + [ "nemspecs_c", "namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55", null ], + [ "nemtab_c", "namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9", null ], + [ "nemtbb_c", "namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2", null ], + [ "numtbd_c", "namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64", null ], + [ "open_c", "namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53", null ], + [ "openbf_c", "namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d", null ], + [ "openmb_c", "namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44", null ], + [ "pktdd_c", "namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0", null ], + [ "readlc_c", "namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc", null ], + [ "status_c", "namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0", null ], + [ "stntbi_c", "namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6", null ], + [ "strnum_c", "namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2", null ], + [ "ufbint_c", "namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67", null ], + [ "ufbrep_c", "namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93", null ], + [ "ufbseq_c", "namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca", null ], + [ "uptdd_c", "namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea", null ], + [ "wrdlen_c", "namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1", null ], + [ "irf_f", "namespacebufr__c2f__interface.html#a2efc35235defecb306c8324c0599d0b9", null ], + [ "isc_f", "namespacebufr__c2f__interface.html#a2b81bdfdb8a2380ba294b375c67d343a", null ], + [ "itp_f", "namespacebufr__c2f__interface.html#a5c0b51f6d15b30a289d69c36e19b1264", null ], + [ "jmpb_f", "namespacebufr__c2f__interface.html#ad5ac970a71d7050263e85a2e17d11cf6", null ], + [ "link_f", "namespacebufr__c2f__interface.html#a415acfb9ec053e0ef1a931b0eac2ee4a", null ], + [ "tag_f", "namespacebufr__c2f__interface.html#ad33aa8215beed2cd017faf769a7a2dc2", null ], + [ "typ_f", "namespacebufr__c2f__interface.html#aea7e3ac1560fbe3760ff6c4c3f72b78b", null ] + ] ], + [ "bufr_interface", "namespacebufr__interface.html", "namespacebufr__interface" ], + [ "bufrlib", "namespacebufrlib.html", "namespacebufrlib" ], + [ "moda_bitbuf", "namespacemoda__bitbuf.html", [ + [ "ibay", "namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434", null ], + [ "ibit", "namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9", null ], + [ "maxbyt", "namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc", null ], + [ "mbay", "namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050", null ], + [ "mbyt", "namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a", null ] + ] ], + [ "moda_bitmaps", "namespacemoda__bitmaps.html", [ + [ "ctco", "namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753", null ], + [ "ibtmse", "namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a", null ], + [ "inodtamc", "namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458", null ], + [ "inodtco", "namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf", null ], + [ "istbtm", "namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965", null ], + [ "iszbtm", "namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574", null ], + [ "linbtm", "namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80", null ], + [ "lstnod", "namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d", null ], + [ "lstnodct", "namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e", null ], + [ "nbtm", "namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d", null ], + [ "nbtmse", "namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c", null ], + [ "ntamc", "namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396", null ], + [ "ntco", "namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404", null ] + ] ], + [ "moda_bufrmg", "namespacemoda__bufrmg.html", [ + [ "msglen", "namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211", null ], + [ "msgtxt", "namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793", null ] + ] ], + [ "moda_bufrsr", "namespacemoda__bufrsr.html", [ + [ "jbay", "namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856", null ], + [ "jbit", "namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08", null ], + [ "jbyt", "namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07", null ], + [ "jdat", "namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47", null ], + [ "jill", "namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06", null ], + [ "jimm", "namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c", null ], + [ "jmsg", "namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0", null ], + [ "jnod", "namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218", null ], + [ "jsr", "namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51", null ], + [ "jsub", "namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0", null ], + [ "junn", "namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d", null ], + [ "ksub", "namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6", null ] + ] ], + [ "moda_comprs", "namespacemoda__comprs.html", [ + [ "catx", "namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937", null ], + [ "incr", "namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27", null ], + [ "matx", "namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576", null ], + [ "ncol", "namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133", null ] + ] ], + [ "moda_comprx", "namespacemoda__comprx.html", [ + [ "cstr", "namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf", null ], + [ "flush", "namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7", null ], + [ "ityp", "namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522", null ], + [ "iwid", "namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808", null ], + [ "kbit", "namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147", null ], + [ "kbyt", "namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8", null ], + [ "kmax", "namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71", null ], + [ "kmin", "namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732", null ], + [ "kmis", "namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1", null ], + [ "lunc", "namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3", null ], + [ "nrow", "namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561", null ], + [ "writ1", "namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02", null ] + ] ], + [ "moda_dscach", "namespacemoda__dscach.html", [ + [ "cnem", "namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a", null ], + [ "idcach", "namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3", null ], + [ "ncnem", "namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6", null ], + [ "ndc", "namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c", null ] + ] ], + [ "moda_h4wlc", "namespacemoda__h4wlc.html", [ + [ "chh4wlc", "namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75", null ], + [ "luh4wlc", "namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71", null ], + [ "nh4wlc", "namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac", null ], + [ "sth4wlc", "namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889", null ] + ] ], + [ "moda_idrdm", "namespacemoda__idrdm.html", [ + [ "idrdm", "namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6", null ] + ] ], + [ "moda_ival", "namespacemoda__ival.html", [ + [ "ival", "namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58", null ] + ] ], + [ "moda_ivttmp", "namespacemoda__ivttmp.html", [ + [ "itmp", "namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785", null ], + [ "ttmp", "namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e", null ], + [ "vtmp", "namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b", null ] + ] ], + [ "moda_lushr", "namespacemoda__lushr.html", [ + [ "lus", "namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6", null ] + ] ], + [ "moda_mgwa", "namespacemoda__mgwa.html", [ + [ "mgwa", "namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a", null ] + ] ], + [ "moda_mgwb", "namespacemoda__mgwb.html", [ + [ "mgwb", "namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa", null ] + ] ], + [ "moda_msgcwd", "namespacemoda__msgcwd.html", [ + [ "idate", "namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b", null ], + [ "inode", "namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa", null ], + [ "msub", "namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295", null ], + [ "nmsg", "namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad", null ], + [ "nsub", "namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59", null ] + ] ], + [ "moda_msglim", "namespacemoda__msglim.html", [ + [ "msglim", "namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf", null ] + ] ], + [ "moda_msgmem", "namespacemoda__msgmem.html", [ + [ "icdxts", "namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab", null ], + [ "ifdxts", "namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74", null ], + [ "ipdxm", "namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db", null ], + [ "ipmsgs", "namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536", null ], + [ "ldxm", "namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5", null ], + [ "ldxts", "namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f", null ], + [ "mdx", "namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94", null ], + [ "mlast", "namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9", null ], + [ "msgp", "namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2", null ], + [ "msgs", "namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227", null ], + [ "munit", "namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc", null ], + [ "mxdxm", "namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd", null ], + [ "mxdxw", "namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142", null ], + [ "ndxm", "namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637", null ], + [ "ndxts", "namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23", null ] + ] ], + [ "moda_mstabs", "namespacemoda__mstabs.html", [ + [ "cbbw", "namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a", null ], + [ "cbelem", "namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7", null ], + [ "cbmnem", "namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa", null ], + [ "cbscl", "namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea", null ], + [ "cbsref", "namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0", null ], + [ "cbunit", "namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b", null ], + [ "cdmnem", "namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168", null ], + [ "cdseq", "namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7", null ], + [ "ibfxyn", "namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38", null ], + [ "idefxy", "namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24", null ], + [ "idfxyn", "namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049", null ], + [ "ndelem", "namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1", null ], + [ "nmtb", "namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95", null ], + [ "nmtd", "namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae", null ] + ] ], + [ "moda_nmikrp", "namespacemoda__nmikrp.html", [ + [ "irp", "namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812", null ], + [ "krp", "namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876", null ], + [ "nem", "namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3", null ] + ] ], + [ "moda_nrv203", "namespacemoda__nrv203.html", [ + [ "ibtnrv", "namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d", null ], + [ "ienrv", "namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1", null ], + [ "inodnrv", "namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f", null ], + [ "ipfnrv", "namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7", null ], + [ "isnrv", "namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602", null ], + [ "nnrv", "namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e", null ], + [ "nrv", "namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f", null ], + [ "tagnrv", "namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de", null ] + ] ], + [ "moda_nulbfr", "namespacemoda__nulbfr.html", [ + [ "null", "namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526", null ] + ] ], + [ "moda_rdmtb", "namespacemoda__rdmtb.html", [ + [ "ceelem", "namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653", null ], + [ "cmdscb", "namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055", null ], + [ "cmdscd", "namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f", null ], + [ "iefxyn", "namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93", null ] + ] ], + [ "moda_rlccmn", "namespacemoda__rlccmn.html", [ + [ "crtag", "namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1", null ], + [ "irbit", "namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca", null ], + [ "irnch", "namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd", null ], + [ "nrst", "namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f", null ] + ] ], + [ "moda_s01cm", "namespacemoda__s01cm.html", [ + [ "cmnem", "namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7", null ], + [ "ivmnem", "namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655", null ], + [ "ns01v", "namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888", null ] + ] ], + [ "moda_sc3bfr", "namespacemoda__sc3bfr.html", [ + [ "isc3", "namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a", null ], + [ "tamnem", "namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584", null ] + ] ], + [ "moda_stbfr", "namespacemoda__stbfr.html", [ + [ "iolun", "namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99", null ], + [ "iomsg", "namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7", null ] + ] ], + [ "moda_stcode", "namespacemoda__stcode.html", [ + [ "iscodes", "namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e", null ] + ] ], + [ "moda_tababd", "namespacemoda__tababd.html", [ + [ "idna", "namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca", null ], + [ "idnb", "namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5", null ], + [ "idnd", "namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e", null ], + [ "mtab", "namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56", null ], + [ "ntba", "namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558", null ], + [ "ntbb", "namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f", null ], + [ "ntbd", "namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556", null ], + [ "taba", "namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65", null ], + [ "tabb", "namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c", null ], + [ "tabd", "namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c", null ] + ] ], + [ "moda_tables", "namespacemoda__tables.html", [ + [ "ibt", "namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2", null ], + [ "irf", "namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599", null ], + [ "isc", "namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e", null ], + [ "iseq", "namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901", null ], + [ "itp", "namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251", null ], + [ "jmpb", "namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb", null ], + [ "jseq", "namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6", null ], + [ "jump", "namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36", null ], + [ "knt", "namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b", null ], + [ "knti", "namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3", null ], + [ "link", "namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c", null ], + [ "maxtab", "namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2", null ], + [ "ntab", "namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc", null ], + [ "tag", "namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4", null ], + [ "typ", "namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c", null ], + [ "vali", "namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed", null ] + ] ], + [ "moda_ufbcpl", "namespacemoda__ufbcpl.html", [ + [ "luncpy", "namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf", null ] + ] ], + [ "moda_unptyp", "namespacemoda__unptyp.html", [ + [ "msgunp", "namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca", null ] + ] ], + [ "moda_usrbit", "namespacemoda__usrbit.html", [ + [ "mbit", "namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a", null ], + [ "nbit", "namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7", null ] + ] ], + [ "moda_usrint", "namespacemoda__usrint.html", [ + [ "inv", "namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e", null ], + [ "nrfelm", "namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a", null ], + [ "nval", "namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261", null ], + [ "val", "namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486", null ] + ] ], + [ "moda_usrtmp", "namespacemoda__usrtmp.html", [ + [ "iutmp", "namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30", null ], + [ "vutmp", "namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973", null ] + ] ], + [ "moda_xtab", "namespacemoda__xtab.html", [ + [ "xtab", "namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d", null ] + ] ], + [ "modv_bmiss", "namespacemodv__bmiss.html", [ + [ "bmiss", "namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519", null ] + ] ], + [ "modv_ifopbf", "namespacemodv__ifopbf.html", [ + [ "ifopbf", "namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71", null ] + ] ], + [ "modv_im8b", "namespacemodv__im8b.html", [ + [ "im8b", "namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af", null ] + ] ], + [ "modv_maxcd", "namespacemodv__maxcd.html", [ + [ "maxcd", "namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8", null ] + ] ], + [ "modv_maxjl", "namespacemodv__maxjl.html", [ + [ "maxjl", "namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61", null ] + ] ], + [ "modv_maxmem", "namespacemodv__maxmem.html", [ + [ "maxmem", "namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1", null ] + ] ], + [ "modv_maxmsg", "namespacemodv__maxmsg.html", [ + [ "maxmsg", "namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46", null ] + ] ], + [ "modv_maxnc", "namespacemodv__maxnc.html", [ + [ "maxnc", "namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e", null ] + ] ], + [ "modv_maxss", "namespacemodv__maxss.html", [ + [ "maxss", "namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2", null ] + ] ], + [ "modv_maxtba", "namespacemodv__maxtba.html", [ + [ "maxtba", "namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a", null ] + ] ], + [ "modv_maxtbb", "namespacemodv__maxtbb.html", [ + [ "maxtbb", "namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2", null ] + ] ], + [ "modv_maxtbd", "namespacemodv__maxtbd.html", [ + [ "maxtbd", "namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0", null ] + ] ], + [ "modv_mxbtm", "namespacemodv__mxbtm.html", [ + [ "mxbtm", "namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f", null ] + ] ], + [ "modv_mxbtmse", "namespacemodv__mxbtmse.html", [ + [ "mxbtmse", "namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac", null ] + ] ], + [ "modv_mxcdv", "namespacemodv__mxcdv.html", [ + [ "mxcdv", "namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7", null ] + ] ], + [ "modv_mxcnem", "namespacemodv__mxcnem.html", [ + [ "mxcnem", "namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3", null ] + ] ], + [ "modv_mxcsb", "namespacemodv__mxcsb.html", [ + [ "mxcsb", "namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c", null ] + ] ], + [ "modv_mxdxts", "namespacemodv__mxdxts.html", [ + [ "mxdxts", "namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884", null ] + ] ], + [ "modv_mxh4wlc", "namespacemodv__mxh4wlc.html", [ + [ "mxh4wlc", "namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886", null ] + ] ], + [ "modv_mxlcc", "namespacemodv__mxlcc.html", [ + [ "mxlcc", "namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af", null ] + ] ], + [ "modv_mxmsgl", "namespacemodv__mxmsgl.html", [ + [ "mxmsgl", "namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc", null ], + [ "mxmsgld4", "namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9", null ] + ] ], + [ "modv_mxmtbb", "namespacemodv__mxmtbb.html", [ + [ "mxmtbb", "namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139", null ] + ] ], + [ "modv_mxmtbd", "namespacemodv__mxmtbd.html", [ + [ "mxmtbd", "namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea", null ] + ] ], + [ "modv_mxmtbf", "namespacemodv__mxmtbf.html", [ + [ "mxmtbf", "namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363", null ] + ] ], + [ "modv_mxnaf", "namespacemodv__mxnaf.html", [ + [ "mxnaf", "namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e", null ] + ] ], + [ "modv_mxnrv", "namespacemodv__mxnrv.html", [ + [ "mxnrv", "namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050", null ] + ] ], + [ "modv_mxrst", "namespacemodv__mxrst.html", [ + [ "mxrst", "namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97", null ] + ] ], + [ "modv_mxs", "namespacemodv__mxs.html", [ + [ "mxs", "namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375", null ] + ] ], + [ "modv_mxs01v", "namespacemodv__mxs01v.html", [ + [ "mxs01v", "namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51", null ] + ] ], + [ "modv_mxtamc", "namespacemodv__mxtamc.html", [ + [ "mxtamc", "namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11", null ] + ] ], + [ "modv_mxtco", "namespacemodv__mxtco.html", [ + [ "mxtco", "namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81", null ] + ] ], + [ "modv_nfiles", "namespacemodv__nfiles.html", [ + [ "nfiles", "namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3", null ] + ] ], + [ "share_table_info", "namespaceshare__table__info.html", [ + [ "ltbd", "namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c", null ], + [ "ludx", "namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f", null ], + [ "tbldir_f", "namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02", null ] + ] ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/namespaceshare__table__info.html b/previous_versions/v12.0.1/namespaceshare__table__info.html new file mode 100644 index 000000000..898b8ca3e --- /dev/null +++ b/previous_versions/v12.0.1/namespaceshare__table__info.html @@ -0,0 +1,182 @@ + + + + + + + +NCEPLIBS-bufr: share_table_info Module Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              share_table_info Module Reference
                                                              +
                                                              +
                                                              + +

                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software. +More...

                                                              + + + + + + + + + + + +

                                                              +Variables

                                                              integer ltbd
                                                               Length (in characters) of tbldir_f. More...
                                                               
                                                              integer ludx
                                                               Fortran logical unit number to use for referencing a DX table. More...
                                                               
                                                              character(len=:), allocatable tbldir_f
                                                               Directory containing DX BUFR tables to be used for decoding. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-01
                                                              +

                                                              Variable Documentation

                                                              + +

                                                              ◆ ltbd

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer share_table_info::ltbd
                                                              +
                                                              + +

                                                              Length (in characters) of tbldir_f.

                                                              + +

                                                              Definition at line 17 of file debufr.F90.

                                                              + +

                                                              Referenced by fdebufr_c(), and openbt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ludx

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer share_table_info::ludx
                                                              +
                                                              + +

                                                              Fortran logical unit number to use for referencing a DX table.

                                                              + +

                                                              Definition at line 20 of file debufr.F90.

                                                              + +

                                                              Referenced by fdebufr_c(), and openbt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ tbldir_f

                                                              + +
                                                              +
                                                              + + + + +
                                                              character(len=:), allocatable share_table_info::tbldir_f
                                                              +
                                                              + +

                                                              Directory containing DX BUFR tables to be used for decoding.

                                                              + +

                                                              Definition at line 14 of file debufr.F90.

                                                              + +

                                                              Referenced by openbt().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/nav_f.png b/previous_versions/v12.0.1/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/nav_g.png b/previous_versions/v12.0.1/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +NCEPLIBS-bufr: Related Pages + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              Related Pages
                                                              +
                                                              +
                                                              +
                                                              Here is a list of all related documentation pages:
                                                              + + + + + +
                                                               DX BUFR TablesDescription and format of DX BUFR tables for use with the library.
                                                               Master BUFR TablesDescription and format of master BUFR tables for use with the library.
                                                               Release NotesDetailed description of changes included within each new release
                                                               UtilitiesCollection of commonly-used utilities based on the library
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/parstr_8f.html b/previous_versions/v12.0.1/parstr_8f.html similarity index 100% rename from parstr_8f.html rename to previous_versions/v12.0.1/parstr_8f.html diff --git a/parstr_8f.js b/previous_versions/v12.0.1/parstr_8f.js similarity index 100% rename from parstr_8f.js rename to previous_versions/v12.0.1/parstr_8f.js diff --git a/parstr_8f_source.html b/previous_versions/v12.0.1/parstr_8f_source.html similarity index 100% rename from parstr_8f_source.html rename to previous_versions/v12.0.1/parstr_8f_source.html diff --git a/parusr_8f.html b/previous_versions/v12.0.1/parusr_8f.html similarity index 100% rename from parusr_8f.html rename to previous_versions/v12.0.1/parusr_8f.html diff --git a/parusr_8f.js b/previous_versions/v12.0.1/parusr_8f.js similarity index 100% rename from parusr_8f.js rename to previous_versions/v12.0.1/parusr_8f.js diff --git a/parusr_8f_source.html b/previous_versions/v12.0.1/parusr_8f_source.html similarity index 100% rename from parusr_8f_source.html rename to previous_versions/v12.0.1/parusr_8f_source.html diff --git a/parutg_8f.html b/previous_versions/v12.0.1/parutg_8f.html similarity index 100% rename from parutg_8f.html rename to previous_versions/v12.0.1/parutg_8f.html diff --git a/parutg_8f.js b/previous_versions/v12.0.1/parutg_8f.js similarity index 100% rename from parutg_8f.js rename to previous_versions/v12.0.1/parutg_8f.js diff --git a/parutg_8f_source.html b/previous_versions/v12.0.1/parutg_8f_source.html similarity index 100% rename from parutg_8f_source.html rename to previous_versions/v12.0.1/parutg_8f_source.html diff --git a/pkb8_8f.html b/previous_versions/v12.0.1/pkb8_8f.html similarity index 100% rename from pkb8_8f.html rename to previous_versions/v12.0.1/pkb8_8f.html diff --git a/pkb8_8f.js b/previous_versions/v12.0.1/pkb8_8f.js similarity index 100% rename from pkb8_8f.js rename to previous_versions/v12.0.1/pkb8_8f.js diff --git a/pkb8_8f_source.html b/previous_versions/v12.0.1/pkb8_8f_source.html similarity index 100% rename from pkb8_8f_source.html rename to previous_versions/v12.0.1/pkb8_8f_source.html diff --git a/pkb_8f.html b/previous_versions/v12.0.1/pkb_8f.html similarity index 100% rename from pkb_8f.html rename to previous_versions/v12.0.1/pkb_8f.html diff --git a/pkb_8f.js b/previous_versions/v12.0.1/pkb_8f.js similarity index 100% rename from pkb_8f.js rename to previous_versions/v12.0.1/pkb_8f.js diff --git a/pkb_8f_source.html b/previous_versions/v12.0.1/pkb_8f_source.html similarity index 100% rename from pkb_8f_source.html rename to previous_versions/v12.0.1/pkb_8f_source.html diff --git a/pkbs1_8f.html b/previous_versions/v12.0.1/pkbs1_8f.html similarity index 100% rename from pkbs1_8f.html rename to previous_versions/v12.0.1/pkbs1_8f.html diff --git a/pkbs1_8f.js b/previous_versions/v12.0.1/pkbs1_8f.js similarity index 100% rename from pkbs1_8f.js rename to previous_versions/v12.0.1/pkbs1_8f.js diff --git a/pkbs1_8f_source.html b/previous_versions/v12.0.1/pkbs1_8f_source.html similarity index 100% rename from pkbs1_8f_source.html rename to previous_versions/v12.0.1/pkbs1_8f_source.html diff --git a/pkc_8f.html b/previous_versions/v12.0.1/pkc_8f.html similarity index 100% rename from pkc_8f.html rename to previous_versions/v12.0.1/pkc_8f.html diff --git a/pkc_8f.js b/previous_versions/v12.0.1/pkc_8f.js similarity index 100% rename from pkc_8f.js rename to previous_versions/v12.0.1/pkc_8f.js diff --git a/pkc_8f_source.html b/previous_versions/v12.0.1/pkc_8f_source.html similarity index 100% rename from pkc_8f_source.html rename to previous_versions/v12.0.1/pkc_8f_source.html diff --git a/pkftbv_8f.html b/previous_versions/v12.0.1/pkftbv_8f.html similarity index 100% rename from pkftbv_8f.html rename to previous_versions/v12.0.1/pkftbv_8f.html diff --git a/pkftbv_8f.js b/previous_versions/v12.0.1/pkftbv_8f.js similarity index 100% rename from pkftbv_8f.js rename to previous_versions/v12.0.1/pkftbv_8f.js diff --git a/pkftbv_8f_source.html b/previous_versions/v12.0.1/pkftbv_8f_source.html similarity index 100% rename from pkftbv_8f_source.html rename to previous_versions/v12.0.1/pkftbv_8f_source.html diff --git a/pktdd_8f.html b/previous_versions/v12.0.1/pktdd_8f.html similarity index 100% rename from pktdd_8f.html rename to previous_versions/v12.0.1/pktdd_8f.html diff --git a/pktdd_8f.js b/previous_versions/v12.0.1/pktdd_8f.js similarity index 100% rename from pktdd_8f.js rename to previous_versions/v12.0.1/pktdd_8f.js diff --git a/pktdd_8f_source.html b/previous_versions/v12.0.1/pktdd_8f_source.html similarity index 100% rename from pktdd_8f_source.html rename to previous_versions/v12.0.1/pktdd_8f_source.html diff --git a/pkvs01_8f.html b/previous_versions/v12.0.1/pkvs01_8f.html similarity index 100% rename from pkvs01_8f.html rename to previous_versions/v12.0.1/pkvs01_8f.html diff --git a/pkvs01_8f.js b/previous_versions/v12.0.1/pkvs01_8f.js similarity index 100% rename from pkvs01_8f.js rename to previous_versions/v12.0.1/pkvs01_8f.js diff --git a/pkvs01_8f_source.html b/previous_versions/v12.0.1/pkvs01_8f_source.html similarity index 100% rename from pkvs01_8f_source.html rename to previous_versions/v12.0.1/pkvs01_8f_source.html diff --git a/posapx_8f.html b/previous_versions/v12.0.1/posapx_8f.html similarity index 100% rename from posapx_8f.html rename to previous_versions/v12.0.1/posapx_8f.html diff --git a/posapx_8f.js b/previous_versions/v12.0.1/posapx_8f.js similarity index 100% rename from posapx_8f.js rename to previous_versions/v12.0.1/posapx_8f.js diff --git a/posapx_8f_source.html b/previous_versions/v12.0.1/posapx_8f_source.html similarity index 100% rename from posapx_8f_source.html rename to previous_versions/v12.0.1/posapx_8f_source.html diff --git a/previous_versions/v12.0.1/python/index.html b/previous_versions/v12.0.1/python/index.html new file mode 100644 index 000000000..767f30175 --- /dev/null +++ b/previous_versions/v12.0.1/python/index.html @@ -0,0 +1,250 @@ + + + + + + + Module List – pdoc 7.2.0 + + + + + + + + + + +
                                                              + + pdoc logo + + +
                                                              +
                                                              +
                                                              + + + + \ No newline at end of file diff --git a/previous_versions/v12.0.1/python/ncepbufr.html b/previous_versions/v12.0.1/python/ncepbufr.html new file mode 100644 index 000000000..0c4bd6067 --- /dev/null +++ b/previous_versions/v12.0.1/python/ncepbufr.html @@ -0,0 +1,2723 @@ + + + + + + + ncepbufr API documentation + + + + + + + + +
                                                              +
                                                              +

                                                              +ncepbufr

                                                              + + +
                                                              + View Source +
                                                              import _bufrlib
                                                              +import random
                                                              +import bisect
                                                              +import numpy as np
                                                              +from .bufr_mnemonics import *
                                                              +import os
                                                              +
                                                              +__version__ = "1.1.1"
                                                              +__bufrlib_version__ = _bufrlib.bvers().rstrip()
                                                              +
                                                              +# create list of allowed fortran unit numbers
                                                              +_funits = list(range(1,100))
                                                              +# remove unit numbers used for stdin and stdout
                                                              +_funits.remove(5)
                                                              +_funits.remove(6)
                                                              +_maxdim = 5000 # max number of data levels in message
                                                              +_maxevents = 255 # max number of prepbufr events in message
                                                              +_nmaxseq = _maxevents # max size of sequence in message
                                                              +
                                                              +def set_param(key, value):
                                                              +    """
                                                              +    set BUFRLIB internal parameters controlling size limits.
                                                              +    Must be done prior to opening a bufr file.  Valid parameters are:
                                                              +
                                                              +    'MXMSGL' = MAXIMUM LENGTH (IN BYTES) OF A BUFR\
                                                              +               MESSAGE
                                                              +
                                                              +    'MAXSS'  = MAXIMUM NUMBER OF DATA VALUES IN AN
                                                              +               UNCOMPRESSED BUFR SUBSET
                                                              +
                                                              +    'MXCDV'  = MAXIMUM NUMBER OF DATA VALUES THAT CAN BE
                                                              +               WRITTEN INTO A COMPRESSED BUFR SUBSET
                                                              +
                                                              +    'MXLCC'  = MAXIMUM LENGTH (IN BYTES) OF A CHARACTER
                                                              +               STRING THAT CAN BE WRITTEN INTO A
                                                              +               COMPRESSED BUFR SUBSET
                                                              +
                                                              +    'MXCSB'  = MAXIMUM NUMBER OF SUBSETS THAT CAN BE
                                                              +               WRITTEN INTO A COMPRESSED BUFR MESSAGE
                                                              +
                                                              +    'NFILES' = MAXIMUM NUMBER OF BUFR FILES THAT CAN BE
                                                              +               ACCESSED FOR READING OR WRITING AT ANY
                                                              +               ONE TIME
                                                              +
                                                              +    'MAXTBA' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              +               TABLE A PER BUFR FILE
                                                              +
                                                              +    'MAXTBB' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              +               TABLE B PER BUFR FILE
                                                              +
                                                              +    'MAXTBD' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              +               TABLE D PER BUFR FILE
                                                              +
                                                              +    'MAXMEM' = MAXIMUM NUMBER OF BYTES THAT CAN BE USED
                                                              +               TO STORE BUFR MESSAGES IN INTERNAL MEMORY
                                                              +
                                                              +    'MAXMSG' = MAXIMUM NUMBER OF BUFR MESSAGES THAT CAN
                                                              +               BE STORED IN INTERNAL MEMORY
                                                              +
                                                              +    'MXDXTS' = MAXIMUM NUMBER OF DICTIONARY TABLES THAT
                                                              +               CAN BE STORED FOR USE WITH BUFR MESSAGES
                                                              +               IN INTERNAL MEMORY
                                                              +
                                                              +    'MXMTBB' = MAXIMUM NUMBER OF MASTER TABLE B ENTRIES
                                                              +
                                                              +    'MXMTBD' = MAXIMUM NUMBER OF MASTER TABLE D ENTRIES
                                                              +
                                                              +    'MXMTBF' = MAXIMUM NUMBER OF MASTER CODE/FLAG ENTRIES
                                                              +
                                                              +    'MAXCD'  = MAXIMUM NUMBER OF CHILD DESCRIPTORS IN A
                                                              +               TABLE D DESCRIPTOR SEQUENCE DEFINITION
                                                              +
                                                              +    'MAXJL'  = MAXIMUM NUMBER OF ENTRIES IN THE INTERNAL
                                                              +               JUMP/LINK TABLE
                                                              +
                                                              +    'MXS01V' = MAXIMUM NUMBER OF DEFAULT SECTION 0 OR
                                                              +               SECTION 1 VALUES THAT CAN BE OVERWRITTEN
                                                              +               WITHIN AN OUTPUT BUFR MESSAGE
                                                              +
                                                              +    'MXBTM'  = MAXIMUM NUMBER OF BITMAPS THAT CAN BE
                                                              +               STORED INTERNALLY FOR A BUFR SUBSET
                                                              +
                                                              +   'MXBTMSE' = MAXIMUM NUMBER OF ENTRIES THAT CAN BE
                                                              +               SET WITHIN A BITMAP
                                                              +
                                                              +    'MXTAMC' = MAXIMUM NUMBER OF TABLE A MNEMONICS IN THE
                                                              +               INTERNAL JUMP/LINK TABLE WHICH CONTAIN AT
                                                              +               LEAST ONE TABLE C OPERATOR WITH X>=21 IN
                                                              +               THEIR SUBSET DEFINITION
                                                              +
                                                              +    'MXTCO'  = MAXIMUM NUMBER OF TABLE C OPERATORS (WITH
                                                              +               X>=21) IN THE SUBSET DEFINITION OF A
                                                              +               TABLE A MNEMONIC
                                                              +
                                                              +    'MXNRV'  = MAXIMUM NUMBER OF 2-03 REFERENCE VALUES
                                                              +               IN THE INTERNAL JUMP/LINK TABLE
                                                              +
                                                              +    The 'get_param' function can be used to obtain the current value of these
                                                              +    parameters."""
                                                              +    _bufrlib.isetprm(key, value)
                                                              +
                                                              +def get_param(key):
                                                              +    """
                                                              +    get the values BUFRLIB internal parameters controlling size limits.
                                                              +    see 'set_param' docstring for allowable parameter names."""
                                                              +    return _bufrlib.igetprm(key)
                                                              +
                                                              +def set_missing_value(missing_value):
                                                              +    """
                                                              +    set bufr missing value.
                                                              +    """
                                                              +    _bufrlib.setbmiss(missing_value)
                                                              +
                                                              +def get_missing_value():
                                                              +    """
                                                              +    get bufr missing value.
                                                              +    """
                                                              +    return _bufrlib.getbmiss()
                                                              +
                                                              +def set_datelength(charlen):
                                                              +    """
                                                              +    set number of digits for date specification (10 gives `YYYYMMDDHH`)
                                                              +    """
                                                              +    _bufrlib.datelen(charlen)
                                                              +
                                                              +set_datelength(10) # set default date length to 10 (YYYYMDDHH)
                                                              +
                                                              +class open:
                                                              +    """
                                                              +    bufr file object.
                                                              +
                                                              +    `ncepbufr.open.__init__` used to construct instance.
                                                              +
                                                              +    `ncepbufr.open.advance` method can be used step through bufr messages.
                                                              +    """
                                                              +    def __init__(self,filename,mode='r',table=None):
                                                              +        """
                                                              +        bufr object constructor
                                                              +
                                                              +        `filename`: bufr file name.
                                                              +
                                                              +        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              +        `'r'`).
                                                              +
                                                              +        `table`:  bufr table filename or ncepbufr.open instance.
                                                              +        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              +        If table is an existing ncepbufr.open instance, the table
                                                              +        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              +        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              +        """
                                                              +        # randomly choose available fortran unit number
                                                              +        self.lunit = random.choice(_funits)
                                                              +        self.filename = filename
                                                              +        '''bufr file opened with this fortran unit number'''
                                                              +        _funits.remove(self.lunit)
                                                              +        if not _funits:
                                                              +            raise IOError("too many files open")
                                                              +        if mode == 'r':
                                                              +            self._ioflag = 'IN'
                                                              +        elif mode == 'w':
                                                              +            if table is None:
                                                              +                msg="must specify file containing bufr table when mode='w'"
                                                              +                raise ValueError(msg)
                                                              +            self._ioflag = 'OUT'
                                                              +        elif mode == 'a':
                                                              +            self._ioflag = 'APN'
                                                              +        else:
                                                              +            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              +        if mode == 'r' or mode == 'a':
                                                              +            if not os.path.isfile(filename):
                                                              +                msg='%s does not exist' % filename
                                                              +                raise IOError(msg)
                                                              +            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +            if iret != 0:
                                                              +                msg='error opening %s' % filename
                                                              +                raise IOError(msg)
                                                              +            if table is None:
                                                              +                # table embedded in bufr file
                                                              +                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              +                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              +            else:
                                                              +                try:
                                                              +                    # share a bufr table with another instance
                                                              +                    self.lundx = table.lunit
                                                              +                except AttributeError:
                                                              +                    # external table file specified
                                                              +                    self.lundx = random.choice(_funits)
                                                              +                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +                    if iret != 0:
                                                              +                        msg='error opening %s' % filename
                                                              +                        raise IOError(msg)
                                                              +                    _funits.remove(self.lundx)
                                                              +                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +        elif mode == 'w':
                                                              +            try:
                                                              +                # share a bufr table with another instance
                                                              +                self.lundx = table.lunit
                                                              +            except AttributeError:
                                                              +                # read bufr table from a file.
                                                              +                self.lundx = random.choice(_funits)
                                                              +                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +                if iret != 0:
                                                              +                    msg='error opening %s' % table
                                                              +                    raise IOError(msg)
                                                              +                _funits.remove(self.lundx)
                                                              +            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +            if iret != 0:
                                                              +                msg='error opening %s' % filename
                                                              +                raise IOError(msg)
                                                              +            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +        # initialized message number counter
                                                              +        self.msg_counter = 0
                                                              +        '''current bufr message number'''
                                                              +        self.msg_type = None
                                                              +        '''current bufr message type'''
                                                              +        self.msg_date = None
                                                              +        '''reference date for bufr message'''
                                                              +        self.receipt_time = None
                                                              +        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              +        self.subsets = None
                                                              +        '''number of subsets in the bufr message'''
                                                              +        # missing value in decoded data.
                                                              +        # (if equal to self.missing_value, data is masked)
                                                              +        self.missing_value = get_missing_value()
                                                              +        '''bufr missing value'''
                                                              +    def _receipt_time(self):
                                                              +        """
                                                              +        return 'tank' receipt time (`YYYYMMDDHHMM`).
                                                              +
                                                              +        returns -1 if there is no tank receipt time for this message.
                                                              +        """
                                                              +        iyr,imon,iday,ihr,imin,iret = _bufrlib.rtrcpt(self.lunit)
                                                              +        if iret == 0:
                                                              +            return int('%04i%02i%02i%02i%02i' % (iyr,imon,iday,ihr,imin))
                                                              +        else:
                                                              +            return iret
                                                              +    def _subsets(self):
                                                              +        """
                                                              +        return the number of subsets in this bufr message
                                                              +        """
                                                              +        return _bufrlib.nmsub(self.lunit)
                                                              +    def dump_table(self,filename):
                                                              +        """
                                                              +        dump embedded bufr table to a file
                                                              +        """
                                                              +        lundx = random.choice(_funits)
                                                              +        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              +        if iret != 0:
                                                              +            msg='error opening %s' % filename
                                                              +        _bufrlib.dxdump(self.lunit,lundx)
                                                              +        iret = _bufrlib.fortran_close(lundx)
                                                              +        if iret == 0:
                                                              +            bisect.insort_left(_funits,lundx)
                                                              +        else:
                                                              +            raise IOError('error closing %s' % filename)
                                                              +    def print_table(self):
                                                              +        """
                                                              +        print embedded bufr table to stdout
                                                              +        """
                                                              +        _bufrlib.dxdump(self.lunit,6)
                                                              +    def close(self):
                                                              +        """
                                                              +        close the bufr file
                                                              +        """
                                                              +        _bufrlib.closbf(self.lunit)
                                                              +        # add fortran unit number back to pool
                                                              +        bisect.insort_left(_funits,self.lunit)
                                                              +        if self.lundx != self.lunit:
                                                              +            iret = _bufrlib.fortran_close(self.lundx)
                                                              +            if iret == 0:
                                                              +                bisect.insort_left(_funits,self.lundx)
                                                              +            else:
                                                              +                raise IOError('error closing bufr table')
                                                              +    def advance(self):
                                                              +        """
                                                              +        advance to the next msg in the bufr file
                                                              +        returns 0 if advance was sucessful,
                                                              +        1 if not (presumably because the end
                                                              +        of the file was reached).
                                                              +
                                                              +        The following attributes are set each time
                                                              +        file is advanced to the next message:
                                                              +
                                                              +        `msg_type`: string describing type of message.
                                                              +
                                                              +        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              +
                                                              +        `msg_counter`: message number.
                                                              +
                                                              +        `receipt_time`: bufr tank receipt time.
                                                              +
                                                              +        `subsets`: number of subsets in the message.
                                                              +
                                                              +        `subset_loaded`: Boolean indicating whether a subset has been
                                                              +        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              +
                                                              +        To loop through all the bufr messages in a file:
                                                              +
                                                              +            :::python
                                                              +            >>> bufr = ncepbufr.open(filename)
                                                              +            >>> while bufr.advance() == 0:
                                                              +            >>>     # processing code for each message here
                                                              +
                                                              +        """
                                                              +        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              +        if iret:
                                                              +            return iret
                                                              +        else:
                                                              +            self.msg_type = subset.decode('ascii').rstrip()
                                                              +            self.msg_date = idate
                                                              +            self.msg_counter += 1
                                                              +            self.subset_loaded = False
                                                              +            self.receipt_time = self._receipt_time()
                                                              +            self.subsets = self._subsets()
                                                              +            return 0
                                                              +    def inventory(self):
                                                              +        """
                                                              +        return a list containing an inventory of the bufr file.
                                                              +        The list contains a tuple for each message.
                                                              +        containing (msg_type,msg_date,receipt_time,subsets).
                                                              +        """
                                                              +        self.checkpoint()
                                                              +        inv = []
                                                              +        while self.advance() == 0:
                                                              +            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              +        self.restore()
                                                              +        return inv
                                                              +
                                                              +    def print_subset(self,verbose=False):
                                                              +        """
                                                              +        print a textual representation of the decoded
                                                              +        data in the currently loaded subset.
                                                              +
                                                              +        If `verbose=True`, more complete but harder to read info is written.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              +        """
                                                              +        if not verbose:
                                                              +            _bufrlib.ufdump(self.lunit,6)
                                                              +        else:
                                                              +            _bufrlib.ufbdmp(self.lunit,6)
                                                              +    def copy_subset(self,bufrin):
                                                              +        """
                                                              +        copy the currently loaded subset from the specified bufr file object
                                                              +        and write to the current bufr message"""
                                                              +        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              +        _bufrlib.writsb(self.lunit)
                                                              +    def dump_subset(self,filename,append=False,verbose=False):
                                                              +        """
                                                              +        dump a textual representation of the decoded
                                                              +        data in the currently loaded subset to a file.
                                                              +
                                                              +        If `append=True`, append to an existing file
                                                              +        (otherwise over-write file).
                                                              +
                                                              +        If `verbose=True`, more complete but harder to read info is written.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              +        """
                                                              +        lunout = random.choice(_funits)
                                                              +        if not append:
                                                              +            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              +        else:
                                                              +            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              +        if iret != 0:
                                                              +            msg='error opening %s' % filename
                                                              +        if not verbose:
                                                              +            _bufrlib.ufdump(self.lunit,lunout)
                                                              +        else:
                                                              +            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              +        iret = _bufrlib.fortran_close(lunout)
                                                              +        if iret == 0:
                                                              +            bisect.insort_left(_funits,lunout)
                                                              +        else:
                                                              +            raise IOError('error closing %s' % filename)
                                                              +    def get_program_code(self,mnemonic):
                                                              +        """
                                                              +        return prepbufr event program code
                                                              +        associated with specified mnemonic
                                                              +        (see `src/ufbqcd.f` for more details)
                                                              +        """
                                                              +        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              +    def get_flag_table_bits(self, mnemonic, val):
                                                              +        """
                                                              +        return bit settings associated with
                                                              +        a specifed value and flag table mnemonic
                                                              +        (see src/upftbv.f for more details)
                                                              +        """
                                                              +        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              +        return ibits[:nbits]
                                                              +    def checkpoint(self):
                                                              +        """
                                                              +        mark where we are in the bufr file,
                                                              +        and rewind the file.
                                                              +        The `ncepbufr.open.restore` method can then be
                                                              +        used to go back to this state.
                                                              +        """
                                                              +        _bufrlib.rewnbf(self.lunit,0)
                                                              +        self.msg_counter = 0
                                                              +        self.msg_type = None
                                                              +        self.msg_date = None
                                                              +        self.receipt_time = None
                                                              +        self.subsets = None
                                                              +    def rewind(self):
                                                              +        """
                                                              +        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              +        """
                                                              +        self.checkpoint()
                                                              +    def restore(self):
                                                              +        """
                                                              +        restore the state of the bufr
                                                              +        file that recorded by a previous call
                                                              +        to `ncepbufr.open.checkpoint`.
                                                              +        """
                                                              +        _bufrlib.rewnbf(self.lunit,1)
                                                              +    def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              +        """
                                                              +        open new bufr message.
                                                              +
                                                              +        Mandatory arguments:
                                                              +
                                                              +        `msg_type`: string describing type of message.
                                                              +
                                                              +        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              +        number of digits in the reference date is controlled by
                                                              +        module function `set_datelength`, and is 10 by default.
                                                              +
                                                              +        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              +        """
                                                              +        if msg_receipt_time is not None:
                                                              +            yyyymmddhhmm = str(msg_receipt_time)
                                                              +            try:
                                                              +                yyyy = int(yyyymmddhhmm[0:4])
                                                              +                mm = int(yyyymmddhhmm[4:6])
                                                              +                dd = int(yyyymmddhhmm[6:8])
                                                              +                hh = int(yyyymmddhhmm[8:10])
                                                              +                mm = int(yyyymmddhhmm[10:12])
                                                              +                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              +            except IndexError:
                                                              +                pass # don't write receipt time
                                                              +        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              +    def copy_message(self,bufrin):
                                                              +        """
                                                              +        copy the currently loaded message from the specified bufr file object
                                                              +        and write to the file"""
                                                              +        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              +    def close_message(self):
                                                              +        """
                                                              +        close bufr message
                                                              +        """
                                                              +        _bufrlib.closmg(self.lunit)
                                                              +    def load_subset(self):
                                                              +        """
                                                              +        load subset data from the current message
                                                              +        (must be called before `ncepbufr.open.read_subset`).
                                                              +        To loop through all messages in a file, and
                                                              +        all subsets in each message:
                                                              +
                                                              +            :::python
                                                              +            >>> bufr = ncepbufr.open(filename)
                                                              +            >>> while bufr.advance() == 0:
                                                              +            >>>     while bufr.load_subset() == 0:
                                                              +            >>>         # processing code for each subset here
                                                              +
                                                              +        """
                                                              +        iret = _bufrlib.ireadsb(self.lunit)
                                                              +        if iret == 0:
                                                              +            self.subset_loaded = True
                                                              +        return iret
                                                              +    def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              +        """
                                                              +        decode the data from the currently loaded message subset
                                                              +        using the specified mnemonics (a 'mnemonic' is simply a
                                                              +        descriptive, alphanumeric name for a data value, like
                                                              +        a key in a python dictionary). The mnemonics string
                                                              +        may contain multiple space delimited mnemonics
                                                              +        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +
                                                              +        By default, the mnemonics are assumed to be part of a delayed
                                                              +        replication sequence, or have no replication at all, and `ufbint`
                                                              +        is used to read the data.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              +
                                                              +        if `rep = True`, `ufbrep` is used to read data represented
                                                              +        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +        more details. Used for radiance data.
                                                              +
                                                              +        if `seq=True`, `ufbseq` is used to read data represented by
                                                              +        a sequence mnemonic. Used for gps data.
                                                              +
                                                              +        if `events=True`, `ufbevn` is used to read prepbufr
                                                              +        "events", and a 3-d array is returned.
                                                              +
                                                              +        Only one of seq, rep and events can be True.
                                                              +
                                                              +        returns a numpy masked array with decoded values
                                                              +        (missing values are masked).
                                                              +        The shape of the array is `(nm,nlevs)`, where
                                                              +        where `nm` is the number of elements in the specified
                                                              +        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              +        If `events=True`, a 3rd dimension representing the prepbufr
                                                              +        event codes is added.
                                                              +        """
                                                              +        if not self.subset_loaded:
                                                              +            raise IOError('subset not loaded, call load_subset first')
                                                              +        ndim = len(mnemonics.split())
                                                              +        if np.array([rep,seq,events]).sum() > 1:
                                                              +            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +        if seq:
                                                              +            data = np.empty((_nmaxseq,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              +        elif rep:
                                                              +            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +        elif events:
                                                              +            #data = np.empty((ndim,_maxdim,maxevents),np.float,order='F')
                                                              +            data = np.empty((ndim,_maxdim,_maxevents),np.float,order='F')
                                                              +            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              +        else:
                                                              +            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +        if events:
                                                              +            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              +        else:
                                                              +            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              +    def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              +        """
                                                              +        write data to message subset using the specified mnemonics
                                                              +        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              +        data value, like a key in a python dictionary). The mnemonics string
                                                              +        may contain multiple space delimited mnemonics
                                                              +        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +
                                                              +        By default, the mnemonics are assumed to be part of a delayed
                                                              +        replication sequence, or have no replication at all, and `ufbint`
                                                              +        is used to write the data.
                                                              +
                                                              +        if `rep = True`, `ufbrep` is used to write data represented
                                                              +        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +        more details. Used for radiance data.
                                                              +
                                                              +        if `seq=True`, `ufbseq` is used to write data represented by
                                                              +        a sequence mnemonic. Used for gps data.
                                                              +
                                                              +        if `events=True`, `ufbevn` is used to write prepbufr
                                                              +        "events" (a 3-d data array is required)
                                                              +
                                                              +        Only one of seq, rep and events can be True.
                                                              +
                                                              +        If `end=True`, the message subset is closed and written
                                                              +        to the bufr file (default `False`).
                                                              +        """
                                                              +        # make a fortran contiguous copy of input data.
                                                              +        if len(data.shape) in [2,3]:
                                                              +            dataf = np.empty(data.shape, np.float, order='F')
                                                              +            dataf[:] = data[:]
                                                              +        elif len(data.shape) == 1:
                                                              +            # make 1d array into 2d array with 1 level
                                                              +            dataf = np.empty((data.shape[0],1), np.float, order='F')
                                                              +            dataf[:,0] = data[:]
                                                              +        else:
                                                              +            msg = 'data in write_subset must be 1,2 or 3d'
                                                              +            raise ValueError(msg)
                                                              +        if np.array([rep,seq,events]).sum() > 1:
                                                              +            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +        if seq:
                                                              +            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        elif rep:
                                                              +            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        elif events:
                                                              +            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1],dataf.shape[2])
                                                              +        else:
                                                              +            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        # end subset if desired.
                                                              +        if end:
                                                              +            _bufrlib.writsb(self.lunit)
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              #   + + + def + set_param(key, value): +
                                                              + +
                                                              + View Source +
                                                              def set_param(key, value):
                                                              +    """
                                                              +    set BUFRLIB internal parameters controlling size limits.
                                                              +    Must be done prior to opening a bufr file.  Valid parameters are:
                                                              +
                                                              +    'MXMSGL' = MAXIMUM LENGTH (IN BYTES) OF A BUFR\
                                                              +               MESSAGE
                                                              +
                                                              +    'MAXSS'  = MAXIMUM NUMBER OF DATA VALUES IN AN
                                                              +               UNCOMPRESSED BUFR SUBSET
                                                              +
                                                              +    'MXCDV'  = MAXIMUM NUMBER OF DATA VALUES THAT CAN BE
                                                              +               WRITTEN INTO A COMPRESSED BUFR SUBSET
                                                              +
                                                              +    'MXLCC'  = MAXIMUM LENGTH (IN BYTES) OF A CHARACTER
                                                              +               STRING THAT CAN BE WRITTEN INTO A
                                                              +               COMPRESSED BUFR SUBSET
                                                              +
                                                              +    'MXCSB'  = MAXIMUM NUMBER OF SUBSETS THAT CAN BE
                                                              +               WRITTEN INTO A COMPRESSED BUFR MESSAGE
                                                              +
                                                              +    'NFILES' = MAXIMUM NUMBER OF BUFR FILES THAT CAN BE
                                                              +               ACCESSED FOR READING OR WRITING AT ANY
                                                              +               ONE TIME
                                                              +
                                                              +    'MAXTBA' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              +               TABLE A PER BUFR FILE
                                                              +
                                                              +    'MAXTBB' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              +               TABLE B PER BUFR FILE
                                                              +
                                                              +    'MAXTBD' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              +               TABLE D PER BUFR FILE
                                                              +
                                                              +    'MAXMEM' = MAXIMUM NUMBER OF BYTES THAT CAN BE USED
                                                              +               TO STORE BUFR MESSAGES IN INTERNAL MEMORY
                                                              +
                                                              +    'MAXMSG' = MAXIMUM NUMBER OF BUFR MESSAGES THAT CAN
                                                              +               BE STORED IN INTERNAL MEMORY
                                                              +
                                                              +    'MXDXTS' = MAXIMUM NUMBER OF DICTIONARY TABLES THAT
                                                              +               CAN BE STORED FOR USE WITH BUFR MESSAGES
                                                              +               IN INTERNAL MEMORY
                                                              +
                                                              +    'MXMTBB' = MAXIMUM NUMBER OF MASTER TABLE B ENTRIES
                                                              +
                                                              +    'MXMTBD' = MAXIMUM NUMBER OF MASTER TABLE D ENTRIES
                                                              +
                                                              +    'MXMTBF' = MAXIMUM NUMBER OF MASTER CODE/FLAG ENTRIES
                                                              +
                                                              +    'MAXCD'  = MAXIMUM NUMBER OF CHILD DESCRIPTORS IN A
                                                              +               TABLE D DESCRIPTOR SEQUENCE DEFINITION
                                                              +
                                                              +    'MAXJL'  = MAXIMUM NUMBER OF ENTRIES IN THE INTERNAL
                                                              +               JUMP/LINK TABLE
                                                              +
                                                              +    'MXS01V' = MAXIMUM NUMBER OF DEFAULT SECTION 0 OR
                                                              +               SECTION 1 VALUES THAT CAN BE OVERWRITTEN
                                                              +               WITHIN AN OUTPUT BUFR MESSAGE
                                                              +
                                                              +    'MXBTM'  = MAXIMUM NUMBER OF BITMAPS THAT CAN BE
                                                              +               STORED INTERNALLY FOR A BUFR SUBSET
                                                              +
                                                              +   'MXBTMSE' = MAXIMUM NUMBER OF ENTRIES THAT CAN BE
                                                              +               SET WITHIN A BITMAP
                                                              +
                                                              +    'MXTAMC' = MAXIMUM NUMBER OF TABLE A MNEMONICS IN THE
                                                              +               INTERNAL JUMP/LINK TABLE WHICH CONTAIN AT
                                                              +               LEAST ONE TABLE C OPERATOR WITH X>=21 IN
                                                              +               THEIR SUBSET DEFINITION
                                                              +
                                                              +    'MXTCO'  = MAXIMUM NUMBER OF TABLE C OPERATORS (WITH
                                                              +               X>=21) IN THE SUBSET DEFINITION OF A
                                                              +               TABLE A MNEMONIC
                                                              +
                                                              +    'MXNRV'  = MAXIMUM NUMBER OF 2-03 REFERENCE VALUES
                                                              +               IN THE INTERNAL JUMP/LINK TABLE
                                                              +
                                                              +    The 'get_param' function can be used to obtain the current value of these
                                                              +    parameters."""
                                                              +    _bufrlib.isetprm(key, value)
                                                              +
                                                              + +
                                                              + +

                                                              set BUFRLIB internal parameters controlling size limits. + Must be done prior to opening a bufr file. Valid parameters are:

                                                              + +

                                                              'MXMSGL' = MAXIMUM LENGTH (IN BYTES) OF A BUFR MESSAGE

                                                              + +

                                                              'MAXSS' = MAXIMUM NUMBER OF DATA VALUES IN AN + UNCOMPRESSED BUFR SUBSET

                                                              + +

                                                              'MXCDV' = MAXIMUM NUMBER OF DATA VALUES THAT CAN BE + WRITTEN INTO A COMPRESSED BUFR SUBSET

                                                              + +

                                                              'MXLCC' = MAXIMUM LENGTH (IN BYTES) OF A CHARACTER + STRING THAT CAN BE WRITTEN INTO A + COMPRESSED BUFR SUBSET

                                                              + +

                                                              'MXCSB' = MAXIMUM NUMBER OF SUBSETS THAT CAN BE + WRITTEN INTO A COMPRESSED BUFR MESSAGE

                                                              + +

                                                              'NFILES' = MAXIMUM NUMBER OF BUFR FILES THAT CAN BE + ACCESSED FOR READING OR WRITING AT ANY + ONE TIME

                                                              + +

                                                              'MAXTBA' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR + TABLE A PER BUFR FILE

                                                              + +

                                                              'MAXTBB' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR + TABLE B PER BUFR FILE

                                                              + +

                                                              'MAXTBD' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR + TABLE D PER BUFR FILE

                                                              + +

                                                              'MAXMEM' = MAXIMUM NUMBER OF BYTES THAT CAN BE USED + TO STORE BUFR MESSAGES IN INTERNAL MEMORY

                                                              + +

                                                              'MAXMSG' = MAXIMUM NUMBER OF BUFR MESSAGES THAT CAN + BE STORED IN INTERNAL MEMORY

                                                              + +

                                                              'MXDXTS' = MAXIMUM NUMBER OF DICTIONARY TABLES THAT + CAN BE STORED FOR USE WITH BUFR MESSAGES + IN INTERNAL MEMORY

                                                              + +

                                                              'MXMTBB' = MAXIMUM NUMBER OF MASTER TABLE B ENTRIES

                                                              + +

                                                              'MXMTBD' = MAXIMUM NUMBER OF MASTER TABLE D ENTRIES

                                                              + +

                                                              'MXMTBF' = MAXIMUM NUMBER OF MASTER CODE/FLAG ENTRIES

                                                              + +

                                                              'MAXCD' = MAXIMUM NUMBER OF CHILD DESCRIPTORS IN A + TABLE D DESCRIPTOR SEQUENCE DEFINITION

                                                              + +

                                                              'MAXJL' = MAXIMUM NUMBER OF ENTRIES IN THE INTERNAL + JUMP/LINK TABLE

                                                              + +

                                                              'MXS01V' = MAXIMUM NUMBER OF DEFAULT SECTION 0 OR + SECTION 1 VALUES THAT CAN BE OVERWRITTEN + WITHIN AN OUTPUT BUFR MESSAGE

                                                              + +

                                                              'MXBTM' = MAXIMUM NUMBER OF BITMAPS THAT CAN BE + STORED INTERNALLY FOR A BUFR SUBSET

                                                              + +

                                                              'MXBTMSE' = MAXIMUM NUMBER OF ENTRIES THAT CAN BE + SET WITHIN A BITMAP

                                                              + +

                                                              'MXTAMC' = MAXIMUM NUMBER OF TABLE A MNEMONICS IN THE + INTERNAL JUMP/LINK TABLE WHICH CONTAIN AT + LEAST ONE TABLE C OPERATOR WITH X>=21 IN + THEIR SUBSET DEFINITION

                                                              + +

                                                              'MXTCO' = MAXIMUM NUMBER OF TABLE C OPERATORS (WITH + X>=21) IN THE SUBSET DEFINITION OF A + TABLE A MNEMONIC

                                                              + +

                                                              'MXNRV' = MAXIMUM NUMBER OF 2-03 REFERENCE VALUES + IN THE INTERNAL JUMP/LINK TABLE

                                                              + +

                                                              The 'get_param' function can be used to obtain the current value of these + parameters.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + get_param(key): +
                                                              + +
                                                              + View Source +
                                                              def get_param(key):
                                                              +    """
                                                              +    get the values BUFRLIB internal parameters controlling size limits.
                                                              +    see 'set_param' docstring for allowable parameter names."""
                                                              +    return _bufrlib.igetprm(key)
                                                              +
                                                              + +
                                                              + +

                                                              get the values BUFRLIB internal parameters controlling size limits. +see 'set_param' docstring for allowable parameter names.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + set_missing_value(missing_value): +
                                                              + +
                                                              + View Source +
                                                              def set_missing_value(missing_value):
                                                              +    """
                                                              +    set bufr missing value.
                                                              +    """
                                                              +    _bufrlib.setbmiss(missing_value)
                                                              +
                                                              + +
                                                              + +

                                                              set bufr missing value.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + get_missing_value(): +
                                                              + +
                                                              + View Source +
                                                              def get_missing_value():
                                                              +    """
                                                              +    get bufr missing value.
                                                              +    """
                                                              +    return _bufrlib.getbmiss()
                                                              +
                                                              + +
                                                              + +

                                                              get bufr missing value.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + set_datelength(charlen): +
                                                              + +
                                                              + View Source +
                                                              def set_datelength(charlen):
                                                              +    """
                                                              +    set number of digits for date specification (10 gives `YYYYMMDDHH`)
                                                              +    """
                                                              +    _bufrlib.datelen(charlen)
                                                              +
                                                              + +
                                                              + +

                                                              set number of digits for date specification (10 gives YYYYMMDDHH)

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              + #   + + + class + open: +
                                                              + +
                                                              + View Source +
                                                              class open:
                                                              +    """
                                                              +    bufr file object.
                                                              +
                                                              +    `ncepbufr.open.__init__` used to construct instance.
                                                              +
                                                              +    `ncepbufr.open.advance` method can be used step through bufr messages.
                                                              +    """
                                                              +    def __init__(self,filename,mode='r',table=None):
                                                              +        """
                                                              +        bufr object constructor
                                                              +
                                                              +        `filename`: bufr file name.
                                                              +
                                                              +        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              +        `'r'`).
                                                              +
                                                              +        `table`:  bufr table filename or ncepbufr.open instance.
                                                              +        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              +        If table is an existing ncepbufr.open instance, the table
                                                              +        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              +        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              +        """
                                                              +        # randomly choose available fortran unit number
                                                              +        self.lunit = random.choice(_funits)
                                                              +        self.filename = filename
                                                              +        '''bufr file opened with this fortran unit number'''
                                                              +        _funits.remove(self.lunit)
                                                              +        if not _funits:
                                                              +            raise IOError("too many files open")
                                                              +        if mode == 'r':
                                                              +            self._ioflag = 'IN'
                                                              +        elif mode == 'w':
                                                              +            if table is None:
                                                              +                msg="must specify file containing bufr table when mode='w'"
                                                              +                raise ValueError(msg)
                                                              +            self._ioflag = 'OUT'
                                                              +        elif mode == 'a':
                                                              +            self._ioflag = 'APN'
                                                              +        else:
                                                              +            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              +        if mode == 'r' or mode == 'a':
                                                              +            if not os.path.isfile(filename):
                                                              +                msg='%s does not exist' % filename
                                                              +                raise IOError(msg)
                                                              +            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +            if iret != 0:
                                                              +                msg='error opening %s' % filename
                                                              +                raise IOError(msg)
                                                              +            if table is None:
                                                              +                # table embedded in bufr file
                                                              +                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              +                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              +            else:
                                                              +                try:
                                                              +                    # share a bufr table with another instance
                                                              +                    self.lundx = table.lunit
                                                              +                except AttributeError:
                                                              +                    # external table file specified
                                                              +                    self.lundx = random.choice(_funits)
                                                              +                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +                    if iret != 0:
                                                              +                        msg='error opening %s' % filename
                                                              +                        raise IOError(msg)
                                                              +                    _funits.remove(self.lundx)
                                                              +                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +        elif mode == 'w':
                                                              +            try:
                                                              +                # share a bufr table with another instance
                                                              +                self.lundx = table.lunit
                                                              +            except AttributeError:
                                                              +                # read bufr table from a file.
                                                              +                self.lundx = random.choice(_funits)
                                                              +                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +                if iret != 0:
                                                              +                    msg='error opening %s' % table
                                                              +                    raise IOError(msg)
                                                              +                _funits.remove(self.lundx)
                                                              +            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +            if iret != 0:
                                                              +                msg='error opening %s' % filename
                                                              +                raise IOError(msg)
                                                              +            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +        # initialized message number counter
                                                              +        self.msg_counter = 0
                                                              +        '''current bufr message number'''
                                                              +        self.msg_type = None
                                                              +        '''current bufr message type'''
                                                              +        self.msg_date = None
                                                              +        '''reference date for bufr message'''
                                                              +        self.receipt_time = None
                                                              +        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              +        self.subsets = None
                                                              +        '''number of subsets in the bufr message'''
                                                              +        # missing value in decoded data.
                                                              +        # (if equal to self.missing_value, data is masked)
                                                              +        self.missing_value = get_missing_value()
                                                              +        '''bufr missing value'''
                                                              +    def _receipt_time(self):
                                                              +        """
                                                              +        return 'tank' receipt time (`YYYYMMDDHHMM`).
                                                              +
                                                              +        returns -1 if there is no tank receipt time for this message.
                                                              +        """
                                                              +        iyr,imon,iday,ihr,imin,iret = _bufrlib.rtrcpt(self.lunit)
                                                              +        if iret == 0:
                                                              +            return int('%04i%02i%02i%02i%02i' % (iyr,imon,iday,ihr,imin))
                                                              +        else:
                                                              +            return iret
                                                              +    def _subsets(self):
                                                              +        """
                                                              +        return the number of subsets in this bufr message
                                                              +        """
                                                              +        return _bufrlib.nmsub(self.lunit)
                                                              +    def dump_table(self,filename):
                                                              +        """
                                                              +        dump embedded bufr table to a file
                                                              +        """
                                                              +        lundx = random.choice(_funits)
                                                              +        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              +        if iret != 0:
                                                              +            msg='error opening %s' % filename
                                                              +        _bufrlib.dxdump(self.lunit,lundx)
                                                              +        iret = _bufrlib.fortran_close(lundx)
                                                              +        if iret == 0:
                                                              +            bisect.insort_left(_funits,lundx)
                                                              +        else:
                                                              +            raise IOError('error closing %s' % filename)
                                                              +    def print_table(self):
                                                              +        """
                                                              +        print embedded bufr table to stdout
                                                              +        """
                                                              +        _bufrlib.dxdump(self.lunit,6)
                                                              +    def close(self):
                                                              +        """
                                                              +        close the bufr file
                                                              +        """
                                                              +        _bufrlib.closbf(self.lunit)
                                                              +        # add fortran unit number back to pool
                                                              +        bisect.insort_left(_funits,self.lunit)
                                                              +        if self.lundx != self.lunit:
                                                              +            iret = _bufrlib.fortran_close(self.lundx)
                                                              +            if iret == 0:
                                                              +                bisect.insort_left(_funits,self.lundx)
                                                              +            else:
                                                              +                raise IOError('error closing bufr table')
                                                              +    def advance(self):
                                                              +        """
                                                              +        advance to the next msg in the bufr file
                                                              +        returns 0 if advance was sucessful,
                                                              +        1 if not (presumably because the end
                                                              +        of the file was reached).
                                                              +
                                                              +        The following attributes are set each time
                                                              +        file is advanced to the next message:
                                                              +
                                                              +        `msg_type`: string describing type of message.
                                                              +
                                                              +        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              +
                                                              +        `msg_counter`: message number.
                                                              +
                                                              +        `receipt_time`: bufr tank receipt time.
                                                              +
                                                              +        `subsets`: number of subsets in the message.
                                                              +
                                                              +        `subset_loaded`: Boolean indicating whether a subset has been
                                                              +        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              +
                                                              +        To loop through all the bufr messages in a file:
                                                              +
                                                              +            :::python
                                                              +            >>> bufr = ncepbufr.open(filename)
                                                              +            >>> while bufr.advance() == 0:
                                                              +            >>>     # processing code for each message here
                                                              +
                                                              +        """
                                                              +        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              +        if iret:
                                                              +            return iret
                                                              +        else:
                                                              +            self.msg_type = subset.decode('ascii').rstrip()
                                                              +            self.msg_date = idate
                                                              +            self.msg_counter += 1
                                                              +            self.subset_loaded = False
                                                              +            self.receipt_time = self._receipt_time()
                                                              +            self.subsets = self._subsets()
                                                              +            return 0
                                                              +    def inventory(self):
                                                              +        """
                                                              +        return a list containing an inventory of the bufr file.
                                                              +        The list contains a tuple for each message.
                                                              +        containing (msg_type,msg_date,receipt_time,subsets).
                                                              +        """
                                                              +        self.checkpoint()
                                                              +        inv = []
                                                              +        while self.advance() == 0:
                                                              +            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              +        self.restore()
                                                              +        return inv
                                                              +
                                                              +    def print_subset(self,verbose=False):
                                                              +        """
                                                              +        print a textual representation of the decoded
                                                              +        data in the currently loaded subset.
                                                              +
                                                              +        If `verbose=True`, more complete but harder to read info is written.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              +        """
                                                              +        if not verbose:
                                                              +            _bufrlib.ufdump(self.lunit,6)
                                                              +        else:
                                                              +            _bufrlib.ufbdmp(self.lunit,6)
                                                              +    def copy_subset(self,bufrin):
                                                              +        """
                                                              +        copy the currently loaded subset from the specified bufr file object
                                                              +        and write to the current bufr message"""
                                                              +        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              +        _bufrlib.writsb(self.lunit)
                                                              +    def dump_subset(self,filename,append=False,verbose=False):
                                                              +        """
                                                              +        dump a textual representation of the decoded
                                                              +        data in the currently loaded subset to a file.
                                                              +
                                                              +        If `append=True`, append to an existing file
                                                              +        (otherwise over-write file).
                                                              +
                                                              +        If `verbose=True`, more complete but harder to read info is written.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              +        """
                                                              +        lunout = random.choice(_funits)
                                                              +        if not append:
                                                              +            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              +        else:
                                                              +            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              +        if iret != 0:
                                                              +            msg='error opening %s' % filename
                                                              +        if not verbose:
                                                              +            _bufrlib.ufdump(self.lunit,lunout)
                                                              +        else:
                                                              +            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              +        iret = _bufrlib.fortran_close(lunout)
                                                              +        if iret == 0:
                                                              +            bisect.insort_left(_funits,lunout)
                                                              +        else:
                                                              +            raise IOError('error closing %s' % filename)
                                                              +    def get_program_code(self,mnemonic):
                                                              +        """
                                                              +        return prepbufr event program code
                                                              +        associated with specified mnemonic
                                                              +        (see `src/ufbqcd.f` for more details)
                                                              +        """
                                                              +        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              +    def get_flag_table_bits(self, mnemonic, val):
                                                              +        """
                                                              +        return bit settings associated with
                                                              +        a specifed value and flag table mnemonic
                                                              +        (see src/upftbv.f for more details)
                                                              +        """
                                                              +        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              +        return ibits[:nbits]
                                                              +    def checkpoint(self):
                                                              +        """
                                                              +        mark where we are in the bufr file,
                                                              +        and rewind the file.
                                                              +        The `ncepbufr.open.restore` method can then be
                                                              +        used to go back to this state.
                                                              +        """
                                                              +        _bufrlib.rewnbf(self.lunit,0)
                                                              +        self.msg_counter = 0
                                                              +        self.msg_type = None
                                                              +        self.msg_date = None
                                                              +        self.receipt_time = None
                                                              +        self.subsets = None
                                                              +    def rewind(self):
                                                              +        """
                                                              +        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              +        """
                                                              +        self.checkpoint()
                                                              +    def restore(self):
                                                              +        """
                                                              +        restore the state of the bufr
                                                              +        file that recorded by a previous call
                                                              +        to `ncepbufr.open.checkpoint`.
                                                              +        """
                                                              +        _bufrlib.rewnbf(self.lunit,1)
                                                              +    def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              +        """
                                                              +        open new bufr message.
                                                              +
                                                              +        Mandatory arguments:
                                                              +
                                                              +        `msg_type`: string describing type of message.
                                                              +
                                                              +        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              +        number of digits in the reference date is controlled by
                                                              +        module function `set_datelength`, and is 10 by default.
                                                              +
                                                              +        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              +        """
                                                              +        if msg_receipt_time is not None:
                                                              +            yyyymmddhhmm = str(msg_receipt_time)
                                                              +            try:
                                                              +                yyyy = int(yyyymmddhhmm[0:4])
                                                              +                mm = int(yyyymmddhhmm[4:6])
                                                              +                dd = int(yyyymmddhhmm[6:8])
                                                              +                hh = int(yyyymmddhhmm[8:10])
                                                              +                mm = int(yyyymmddhhmm[10:12])
                                                              +                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              +            except IndexError:
                                                              +                pass # don't write receipt time
                                                              +        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              +    def copy_message(self,bufrin):
                                                              +        """
                                                              +        copy the currently loaded message from the specified bufr file object
                                                              +        and write to the file"""
                                                              +        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              +    def close_message(self):
                                                              +        """
                                                              +        close bufr message
                                                              +        """
                                                              +        _bufrlib.closmg(self.lunit)
                                                              +    def load_subset(self):
                                                              +        """
                                                              +        load subset data from the current message
                                                              +        (must be called before `ncepbufr.open.read_subset`).
                                                              +        To loop through all messages in a file, and
                                                              +        all subsets in each message:
                                                              +
                                                              +            :::python
                                                              +            >>> bufr = ncepbufr.open(filename)
                                                              +            >>> while bufr.advance() == 0:
                                                              +            >>>     while bufr.load_subset() == 0:
                                                              +            >>>         # processing code for each subset here
                                                              +
                                                              +        """
                                                              +        iret = _bufrlib.ireadsb(self.lunit)
                                                              +        if iret == 0:
                                                              +            self.subset_loaded = True
                                                              +        return iret
                                                              +    def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              +        """
                                                              +        decode the data from the currently loaded message subset
                                                              +        using the specified mnemonics (a 'mnemonic' is simply a
                                                              +        descriptive, alphanumeric name for a data value, like
                                                              +        a key in a python dictionary). The mnemonics string
                                                              +        may contain multiple space delimited mnemonics
                                                              +        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +
                                                              +        By default, the mnemonics are assumed to be part of a delayed
                                                              +        replication sequence, or have no replication at all, and `ufbint`
                                                              +        is used to read the data.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              +
                                                              +        if `rep = True`, `ufbrep` is used to read data represented
                                                              +        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +        more details. Used for radiance data.
                                                              +
                                                              +        if `seq=True`, `ufbseq` is used to read data represented by
                                                              +        a sequence mnemonic. Used for gps data.
                                                              +
                                                              +        if `events=True`, `ufbevn` is used to read prepbufr
                                                              +        "events", and a 3-d array is returned.
                                                              +
                                                              +        Only one of seq, rep and events can be True.
                                                              +
                                                              +        returns a numpy masked array with decoded values
                                                              +        (missing values are masked).
                                                              +        The shape of the array is `(nm,nlevs)`, where
                                                              +        where `nm` is the number of elements in the specified
                                                              +        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              +        If `events=True`, a 3rd dimension representing the prepbufr
                                                              +        event codes is added.
                                                              +        """
                                                              +        if not self.subset_loaded:
                                                              +            raise IOError('subset not loaded, call load_subset first')
                                                              +        ndim = len(mnemonics.split())
                                                              +        if np.array([rep,seq,events]).sum() > 1:
                                                              +            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +        if seq:
                                                              +            data = np.empty((_nmaxseq,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              +        elif rep:
                                                              +            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +        elif events:
                                                              +            #data = np.empty((ndim,_maxdim,maxevents),np.float,order='F')
                                                              +            data = np.empty((ndim,_maxdim,_maxevents),np.float,order='F')
                                                              +            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              +        else:
                                                              +            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +        if events:
                                                              +            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              +        else:
                                                              +            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              +    def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              +        """
                                                              +        write data to message subset using the specified mnemonics
                                                              +        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              +        data value, like a key in a python dictionary). The mnemonics string
                                                              +        may contain multiple space delimited mnemonics
                                                              +        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +
                                                              +        By default, the mnemonics are assumed to be part of a delayed
                                                              +        replication sequence, or have no replication at all, and `ufbint`
                                                              +        is used to write the data.
                                                              +
                                                              +        if `rep = True`, `ufbrep` is used to write data represented
                                                              +        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +        more details. Used for radiance data.
                                                              +
                                                              +        if `seq=True`, `ufbseq` is used to write data represented by
                                                              +        a sequence mnemonic. Used for gps data.
                                                              +
                                                              +        if `events=True`, `ufbevn` is used to write prepbufr
                                                              +        "events" (a 3-d data array is required)
                                                              +
                                                              +        Only one of seq, rep and events can be True.
                                                              +
                                                              +        If `end=True`, the message subset is closed and written
                                                              +        to the bufr file (default `False`).
                                                              +        """
                                                              +        # make a fortran contiguous copy of input data.
                                                              +        if len(data.shape) in [2,3]:
                                                              +            dataf = np.empty(data.shape, np.float, order='F')
                                                              +            dataf[:] = data[:]
                                                              +        elif len(data.shape) == 1:
                                                              +            # make 1d array into 2d array with 1 level
                                                              +            dataf = np.empty((data.shape[0],1), np.float, order='F')
                                                              +            dataf[:,0] = data[:]
                                                              +        else:
                                                              +            msg = 'data in write_subset must be 1,2 or 3d'
                                                              +            raise ValueError(msg)
                                                              +        if np.array([rep,seq,events]).sum() > 1:
                                                              +            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +        if seq:
                                                              +            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        elif rep:
                                                              +            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        elif events:
                                                              +            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1],dataf.shape[2])
                                                              +        else:
                                                              +            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        # end subset if desired.
                                                              +        if end:
                                                              +            _bufrlib.writsb(self.lunit)
                                                              +
                                                              + +
                                                              + +

                                                              bufr file object.

                                                              + +

                                                              ncepbufr.open.__init__ used to construct instance.

                                                              + +

                                                              ncepbufr.open.advance method can be used step through bufr messages.

                                                              +
                                                              + + +
                                                              +
                                                              #   + + + open(filename, mode='r', table=None) +
                                                              + +
                                                              + View Source +
                                                                  def __init__(self,filename,mode='r',table=None):
                                                              +        """
                                                              +        bufr object constructor
                                                              +
                                                              +        `filename`: bufr file name.
                                                              +
                                                              +        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              +        `'r'`).
                                                              +
                                                              +        `table`:  bufr table filename or ncepbufr.open instance.
                                                              +        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              +        If table is an existing ncepbufr.open instance, the table
                                                              +        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              +        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              +        """
                                                              +        # randomly choose available fortran unit number
                                                              +        self.lunit = random.choice(_funits)
                                                              +        self.filename = filename
                                                              +        '''bufr file opened with this fortran unit number'''
                                                              +        _funits.remove(self.lunit)
                                                              +        if not _funits:
                                                              +            raise IOError("too many files open")
                                                              +        if mode == 'r':
                                                              +            self._ioflag = 'IN'
                                                              +        elif mode == 'w':
                                                              +            if table is None:
                                                              +                msg="must specify file containing bufr table when mode='w'"
                                                              +                raise ValueError(msg)
                                                              +            self._ioflag = 'OUT'
                                                              +        elif mode == 'a':
                                                              +            self._ioflag = 'APN'
                                                              +        else:
                                                              +            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              +        if mode == 'r' or mode == 'a':
                                                              +            if not os.path.isfile(filename):
                                                              +                msg='%s does not exist' % filename
                                                              +                raise IOError(msg)
                                                              +            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +            if iret != 0:
                                                              +                msg='error opening %s' % filename
                                                              +                raise IOError(msg)
                                                              +            if table is None:
                                                              +                # table embedded in bufr file
                                                              +                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              +                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              +            else:
                                                              +                try:
                                                              +                    # share a bufr table with another instance
                                                              +                    self.lundx = table.lunit
                                                              +                except AttributeError:
                                                              +                    # external table file specified
                                                              +                    self.lundx = random.choice(_funits)
                                                              +                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +                    if iret != 0:
                                                              +                        msg='error opening %s' % filename
                                                              +                        raise IOError(msg)
                                                              +                    _funits.remove(self.lundx)
                                                              +                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +        elif mode == 'w':
                                                              +            try:
                                                              +                # share a bufr table with another instance
                                                              +                self.lundx = table.lunit
                                                              +            except AttributeError:
                                                              +                # read bufr table from a file.
                                                              +                self.lundx = random.choice(_funits)
                                                              +                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +                if iret != 0:
                                                              +                    msg='error opening %s' % table
                                                              +                    raise IOError(msg)
                                                              +                _funits.remove(self.lundx)
                                                              +            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +            if iret != 0:
                                                              +                msg='error opening %s' % filename
                                                              +                raise IOError(msg)
                                                              +            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +        # initialized message number counter
                                                              +        self.msg_counter = 0
                                                              +        '''current bufr message number'''
                                                              +        self.msg_type = None
                                                              +        '''current bufr message type'''
                                                              +        self.msg_date = None
                                                              +        '''reference date for bufr message'''
                                                              +        self.receipt_time = None
                                                              +        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              +        self.subsets = None
                                                              +        '''number of subsets in the bufr message'''
                                                              +        # missing value in decoded data.
                                                              +        # (if equal to self.missing_value, data is masked)
                                                              +        self.missing_value = get_missing_value()
                                                              +        '''bufr missing value'''
                                                              +
                                                              + +
                                                              + +

                                                              bufr object constructor

                                                              + +

                                                              filename: bufr file name.

                                                              + +

                                                              mode: 'r' for read, 'w' for write, 'a' for append (default +'r').

                                                              + +

                                                              table: bufr table filename or ncepbufr.open instance. +Must be specified for mode='w', optional for mode='r'. +If table is an existing ncepbufr.open instance, the table +will be shared. If not, it is assumed to be the filename of a bufr table. +For mode='r', bufr table embedded in file will be used if not specified.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + filename +
                                                              + +

                                                              bufr file opened with this fortran unit number

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + msg_counter +
                                                              + +

                                                              current bufr message number

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + msg_type +
                                                              + +

                                                              current bufr message type

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + msg_date +
                                                              + +

                                                              reference date for bufr message

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + receipt_time +
                                                              + +

                                                              tank receipt time for bufr message (YYYYMMDDHHMM), -1 if missing

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + subsets +
                                                              + +

                                                              number of subsets in the bufr message

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + missing_value +
                                                              + +

                                                              bufr missing value

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + dump_table(self, filename): +
                                                              + +
                                                              + View Source +
                                                                  def dump_table(self,filename):
                                                              +        """
                                                              +        dump embedded bufr table to a file
                                                              +        """
                                                              +        lundx = random.choice(_funits)
                                                              +        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              +        if iret != 0:
                                                              +            msg='error opening %s' % filename
                                                              +        _bufrlib.dxdump(self.lunit,lundx)
                                                              +        iret = _bufrlib.fortran_close(lundx)
                                                              +        if iret == 0:
                                                              +            bisect.insort_left(_funits,lundx)
                                                              +        else:
                                                              +            raise IOError('error closing %s' % filename)
                                                              +
                                                              + +
                                                              + +

                                                              dump embedded bufr table to a file

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + print_table(self): +
                                                              + +
                                                              + View Source +
                                                                  def print_table(self):
                                                              +        """
                                                              +        print embedded bufr table to stdout
                                                              +        """
                                                              +        _bufrlib.dxdump(self.lunit,6)
                                                              +
                                                              + +
                                                              + +

                                                              print embedded bufr table to stdout

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + close(self): +
                                                              + +
                                                              + View Source +
                                                                  def close(self):
                                                              +        """
                                                              +        close the bufr file
                                                              +        """
                                                              +        _bufrlib.closbf(self.lunit)
                                                              +        # add fortran unit number back to pool
                                                              +        bisect.insort_left(_funits,self.lunit)
                                                              +        if self.lundx != self.lunit:
                                                              +            iret = _bufrlib.fortran_close(self.lundx)
                                                              +            if iret == 0:
                                                              +                bisect.insort_left(_funits,self.lundx)
                                                              +            else:
                                                              +                raise IOError('error closing bufr table')
                                                              +
                                                              + +
                                                              + +

                                                              close the bufr file

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + advance(self): +
                                                              + +
                                                              + View Source +
                                                                  def advance(self):
                                                              +        """
                                                              +        advance to the next msg in the bufr file
                                                              +        returns 0 if advance was sucessful,
                                                              +        1 if not (presumably because the end
                                                              +        of the file was reached).
                                                              +
                                                              +        The following attributes are set each time
                                                              +        file is advanced to the next message:
                                                              +
                                                              +        `msg_type`: string describing type of message.
                                                              +
                                                              +        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              +
                                                              +        `msg_counter`: message number.
                                                              +
                                                              +        `receipt_time`: bufr tank receipt time.
                                                              +
                                                              +        `subsets`: number of subsets in the message.
                                                              +
                                                              +        `subset_loaded`: Boolean indicating whether a subset has been
                                                              +        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              +
                                                              +        To loop through all the bufr messages in a file:
                                                              +
                                                              +            :::python
                                                              +            >>> bufr = ncepbufr.open(filename)
                                                              +            >>> while bufr.advance() == 0:
                                                              +            >>>     # processing code for each message here
                                                              +
                                                              +        """
                                                              +        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              +        if iret:
                                                              +            return iret
                                                              +        else:
                                                              +            self.msg_type = subset.decode('ascii').rstrip()
                                                              +            self.msg_date = idate
                                                              +            self.msg_counter += 1
                                                              +            self.subset_loaded = False
                                                              +            self.receipt_time = self._receipt_time()
                                                              +            self.subsets = self._subsets()
                                                              +            return 0
                                                              +
                                                              + +
                                                              + +

                                                              advance to the next msg in the bufr file +returns 0 if advance was sucessful, +1 if not (presumably because the end +of the file was reached).

                                                              + +

                                                              The following attributes are set each time +file is advanced to the next message:

                                                              + +

                                                              msg_type: string describing type of message.

                                                              + +

                                                              msg_date: reference date (YYYYMMDDHH) for message.

                                                              + +

                                                              msg_counter: message number.

                                                              + +

                                                              receipt_time: bufr tank receipt time.

                                                              + +

                                                              subsets: number of subsets in the message.

                                                              + +

                                                              subset_loaded: Boolean indicating whether a subset has been +loaded with ncepbufr.open.load_subset. Initialized to False.

                                                              + +

                                                              To loop through all the bufr messages in a file:

                                                              + +
                                                              :::python
                                                              +>>> bufr = ncepbufr.open(filename)
                                                              +>>> while bufr.advance() == 0:
                                                              +>>>     # processing code for each message here
                                                              +
                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + inventory(self): +
                                                              + +
                                                              + View Source +
                                                                  def inventory(self):
                                                              +        """
                                                              +        return a list containing an inventory of the bufr file.
                                                              +        The list contains a tuple for each message.
                                                              +        containing (msg_type,msg_date,receipt_time,subsets).
                                                              +        """
                                                              +        self.checkpoint()
                                                              +        inv = []
                                                              +        while self.advance() == 0:
                                                              +            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              +        self.restore()
                                                              +        return inv
                                                              +
                                                              + +
                                                              + +

                                                              return a list containing an inventory of the bufr file. +The list contains a tuple for each message. +containing (msg_type,msg_date,receipt_time,subsets).

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + print_subset(self, verbose=False): +
                                                              + +
                                                              + View Source +
                                                                  def print_subset(self,verbose=False):
                                                              +        """
                                                              +        print a textual representation of the decoded
                                                              +        data in the currently loaded subset.
                                                              +
                                                              +        If `verbose=True`, more complete but harder to read info is written.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              +        """
                                                              +        if not verbose:
                                                              +            _bufrlib.ufdump(self.lunit,6)
                                                              +        else:
                                                              +            _bufrlib.ufbdmp(self.lunit,6)
                                                              +
                                                              + +
                                                              + +

                                                              print a textual representation of the decoded +data in the currently loaded subset.

                                                              + +

                                                              If verbose=True, more complete but harder to read info is written.

                                                              + +

                                                              ncepbufr.open.load_subset must be called before +trying to print the decoded subset using ncepbufr.open.print_subset.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + copy_subset(self, bufrin): +
                                                              + +
                                                              + View Source +
                                                                  def copy_subset(self,bufrin):
                                                              +        """
                                                              +        copy the currently loaded subset from the specified bufr file object
                                                              +        and write to the current bufr message"""
                                                              +        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              +        _bufrlib.writsb(self.lunit)
                                                              +
                                                              + +
                                                              + +

                                                              copy the currently loaded subset from the specified bufr file object +and write to the current bufr message

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + dump_subset(self, filename, append=False, verbose=False): +
                                                              + +
                                                              + View Source +
                                                                  def dump_subset(self,filename,append=False,verbose=False):
                                                              +        """
                                                              +        dump a textual representation of the decoded
                                                              +        data in the currently loaded subset to a file.
                                                              +
                                                              +        If `append=True`, append to an existing file
                                                              +        (otherwise over-write file).
                                                              +
                                                              +        If `verbose=True`, more complete but harder to read info is written.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              +        """
                                                              +        lunout = random.choice(_funits)
                                                              +        if not append:
                                                              +            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              +        else:
                                                              +            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              +        if iret != 0:
                                                              +            msg='error opening %s' % filename
                                                              +        if not verbose:
                                                              +            _bufrlib.ufdump(self.lunit,lunout)
                                                              +        else:
                                                              +            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              +        iret = _bufrlib.fortran_close(lunout)
                                                              +        if iret == 0:
                                                              +            bisect.insort_left(_funits,lunout)
                                                              +        else:
                                                              +            raise IOError('error closing %s' % filename)
                                                              +
                                                              + +
                                                              + +

                                                              dump a textual representation of the decoded +data in the currently loaded subset to a file.

                                                              + +

                                                              If append=True, append to an existing file +(otherwise over-write file).

                                                              + +

                                                              If verbose=True, more complete but harder to read info is written.

                                                              + +

                                                              ncepbufr.open.load_subset must be called before +trying to print the decoded subset using ncepbufr.open.dump_subset.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + get_program_code(self, mnemonic): +
                                                              + +
                                                              + View Source +
                                                                  def get_program_code(self,mnemonic):
                                                              +        """
                                                              +        return prepbufr event program code
                                                              +        associated with specified mnemonic
                                                              +        (see `src/ufbqcd.f` for more details)
                                                              +        """
                                                              +        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              +
                                                              + +
                                                              + +

                                                              return prepbufr event program code +associated with specified mnemonic +(see src/ufbqcd.f for more details)

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + get_flag_table_bits(self, mnemonic, val): +
                                                              + +
                                                              + View Source +
                                                                  def get_flag_table_bits(self, mnemonic, val):
                                                              +        """
                                                              +        return bit settings associated with
                                                              +        a specifed value and flag table mnemonic
                                                              +        (see src/upftbv.f for more details)
                                                              +        """
                                                              +        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              +        return ibits[:nbits]
                                                              +
                                                              + +
                                                              + +

                                                              return bit settings associated with +a specifed value and flag table mnemonic +(see src/upftbv.f for more details)

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + checkpoint(self): +
                                                              + +
                                                              + View Source +
                                                                  def checkpoint(self):
                                                              +        """
                                                              +        mark where we are in the bufr file,
                                                              +        and rewind the file.
                                                              +        The `ncepbufr.open.restore` method can then be
                                                              +        used to go back to this state.
                                                              +        """
                                                              +        _bufrlib.rewnbf(self.lunit,0)
                                                              +        self.msg_counter = 0
                                                              +        self.msg_type = None
                                                              +        self.msg_date = None
                                                              +        self.receipt_time = None
                                                              +        self.subsets = None
                                                              +
                                                              + +
                                                              + +

                                                              mark where we are in the bufr file, +and rewind the file. +The ncepbufr.open.restore method can then be +used to go back to this state.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + rewind(self): +
                                                              + +
                                                              + View Source +
                                                                  def rewind(self):
                                                              +        """
                                                              +        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              +        """
                                                              +        self.checkpoint()
                                                              +
                                                              + +
                                                              + +

                                                              rewind the bufr file (same as ncepbufr.open.checkpoint).

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + restore(self): +
                                                              + +
                                                              + View Source +
                                                                  def restore(self):
                                                              +        """
                                                              +        restore the state of the bufr
                                                              +        file that recorded by a previous call
                                                              +        to `ncepbufr.open.checkpoint`.
                                                              +        """
                                                              +        _bufrlib.rewnbf(self.lunit,1)
                                                              +
                                                              + +
                                                              + +

                                                              restore the state of the bufr +file that recorded by a previous call +to ncepbufr.open.checkpoint.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + open_message(self, msg_type, msg_date, msg_receipt_time=None): +
                                                              + +
                                                              + View Source +
                                                                  def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              +        """
                                                              +        open new bufr message.
                                                              +
                                                              +        Mandatory arguments:
                                                              +
                                                              +        `msg_type`: string describing type of message.
                                                              +
                                                              +        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              +        number of digits in the reference date is controlled by
                                                              +        module function `set_datelength`, and is 10 by default.
                                                              +
                                                              +        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              +        """
                                                              +        if msg_receipt_time is not None:
                                                              +            yyyymmddhhmm = str(msg_receipt_time)
                                                              +            try:
                                                              +                yyyy = int(yyyymmddhhmm[0:4])
                                                              +                mm = int(yyyymmddhhmm[4:6])
                                                              +                dd = int(yyyymmddhhmm[6:8])
                                                              +                hh = int(yyyymmddhhmm[8:10])
                                                              +                mm = int(yyyymmddhhmm[10:12])
                                                              +                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              +            except IndexError:
                                                              +                pass # don't write receipt time
                                                              +        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              +
                                                              + +
                                                              + +

                                                              open new bufr message.

                                                              + +

                                                              Mandatory arguments:

                                                              + +

                                                              msg_type: string describing type of message.

                                                              + +

                                                              msg_date: reference date (e.g. YYYYMMDDHH) for message. The +number of digits in the reference date is controlled by +module function set_datelength, and is 10 by default.

                                                              + +

                                                              msg_receipt_time bufr tank receipt time YYYYMMDDHHMM (optional).

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + copy_message(self, bufrin): +
                                                              + +
                                                              + View Source +
                                                                  def copy_message(self,bufrin):
                                                              +        """
                                                              +        copy the currently loaded message from the specified bufr file object
                                                              +        and write to the file"""
                                                              +        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              +
                                                              + +
                                                              + +

                                                              copy the currently loaded message from the specified bufr file object +and write to the file

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + close_message(self): +
                                                              + +
                                                              + View Source +
                                                                  def close_message(self):
                                                              +        """
                                                              +        close bufr message
                                                              +        """
                                                              +        _bufrlib.closmg(self.lunit)
                                                              +
                                                              + +
                                                              + +

                                                              close bufr message

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + load_subset(self): +
                                                              + +
                                                              + View Source +
                                                                  def load_subset(self):
                                                              +        """
                                                              +        load subset data from the current message
                                                              +        (must be called before `ncepbufr.open.read_subset`).
                                                              +        To loop through all messages in a file, and
                                                              +        all subsets in each message:
                                                              +
                                                              +            :::python
                                                              +            >>> bufr = ncepbufr.open(filename)
                                                              +            >>> while bufr.advance() == 0:
                                                              +            >>>     while bufr.load_subset() == 0:
                                                              +            >>>         # processing code for each subset here
                                                              +
                                                              +        """
                                                              +        iret = _bufrlib.ireadsb(self.lunit)
                                                              +        if iret == 0:
                                                              +            self.subset_loaded = True
                                                              +        return iret
                                                              +
                                                              + +
                                                              + +

                                                              load subset data from the current message +(must be called before ncepbufr.open.read_subset). +To loop through all messages in a file, and +all subsets in each message:

                                                              + +
                                                              :::python
                                                              +>>> bufr = ncepbufr.open(filename)
                                                              +>>> while bufr.advance() == 0:
                                                              +>>>     while bufr.load_subset() == 0:
                                                              +>>>         # processing code for each subset here
                                                              +
                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + read_subset(self, mnemonics, rep=False, seq=False, events=False): +
                                                              + +
                                                              + View Source +
                                                                  def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              +        """
                                                              +        decode the data from the currently loaded message subset
                                                              +        using the specified mnemonics (a 'mnemonic' is simply a
                                                              +        descriptive, alphanumeric name for a data value, like
                                                              +        a key in a python dictionary). The mnemonics string
                                                              +        may contain multiple space delimited mnemonics
                                                              +        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +
                                                              +        By default, the mnemonics are assumed to be part of a delayed
                                                              +        replication sequence, or have no replication at all, and `ufbint`
                                                              +        is used to read the data.
                                                              +
                                                              +        `ncepbufr.open.load_subset` must be called before
                                                              +        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              +
                                                              +        if `rep = True`, `ufbrep` is used to read data represented
                                                              +        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +        more details. Used for radiance data.
                                                              +
                                                              +        if `seq=True`, `ufbseq` is used to read data represented by
                                                              +        a sequence mnemonic. Used for gps data.
                                                              +
                                                              +        if `events=True`, `ufbevn` is used to read prepbufr
                                                              +        "events", and a 3-d array is returned.
                                                              +
                                                              +        Only one of seq, rep and events can be True.
                                                              +
                                                              +        returns a numpy masked array with decoded values
                                                              +        (missing values are masked).
                                                              +        The shape of the array is `(nm,nlevs)`, where
                                                              +        where `nm` is the number of elements in the specified
                                                              +        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              +        If `events=True`, a 3rd dimension representing the prepbufr
                                                              +        event codes is added.
                                                              +        """
                                                              +        if not self.subset_loaded:
                                                              +            raise IOError('subset not loaded, call load_subset first')
                                                              +        ndim = len(mnemonics.split())
                                                              +        if np.array([rep,seq,events]).sum() > 1:
                                                              +            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +        if seq:
                                                              +            data = np.empty((_nmaxseq,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              +        elif rep:
                                                              +            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +        elif events:
                                                              +            #data = np.empty((ndim,_maxdim,maxevents),np.float,order='F')
                                                              +            data = np.empty((ndim,_maxdim,_maxevents),np.float,order='F')
                                                              +            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              +        else:
                                                              +            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              +            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +        if events:
                                                              +            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              +        else:
                                                              +            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              +
                                                              + +
                                                              + +

                                                              decode the data from the currently loaded message subset +using the specified mnemonics (a 'mnemonic' is simply a +descriptive, alphanumeric name for a data value, like +a key in a python dictionary). The mnemonics string +may contain multiple space delimited mnemonics +(e.g. mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3').

                                                              + +

                                                              By default, the mnemonics are assumed to be part of a delayed +replication sequence, or have no replication at all, and ufbint +is used to read the data.

                                                              + +

                                                              ncepbufr.open.load_subset must be called before +trying to decode a subset using ncepbufr.open.read_subset.

                                                              + +

                                                              if rep = True, ufbrep is used to read data represented +a regular replication sequence. See the comments in src/ufbrep.f for +more details. Used for radiance data.

                                                              + +

                                                              if seq=True, ufbseq is used to read data represented by +a sequence mnemonic. Used for gps data.

                                                              + +

                                                              if events=True, ufbevn is used to read prepbufr +"events", and a 3-d array is returned.

                                                              + +

                                                              Only one of seq, rep and events can be True.

                                                              + +

                                                              returns a numpy masked array with decoded values +(missing values are masked). +The shape of the array is (nm,nlevs), where +where nm is the number of elements in the specified +mnemonics string, and nlevs is the number of levels in the report. +If events=True, a 3rd dimension representing the prepbufr +event codes is added.

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + + def + write_subset(self, data, mnemonics, rep=False, seq=False, events=False, end=False): +
                                                              + +
                                                              + View Source +
                                                                  def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              +        """
                                                              +        write data to message subset using the specified mnemonics
                                                              +        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              +        data value, like a key in a python dictionary). The mnemonics string
                                                              +        may contain multiple space delimited mnemonics
                                                              +        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +
                                                              +        By default, the mnemonics are assumed to be part of a delayed
                                                              +        replication sequence, or have no replication at all, and `ufbint`
                                                              +        is used to write the data.
                                                              +
                                                              +        if `rep = True`, `ufbrep` is used to write data represented
                                                              +        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +        more details. Used for radiance data.
                                                              +
                                                              +        if `seq=True`, `ufbseq` is used to write data represented by
                                                              +        a sequence mnemonic. Used for gps data.
                                                              +
                                                              +        if `events=True`, `ufbevn` is used to write prepbufr
                                                              +        "events" (a 3-d data array is required)
                                                              +
                                                              +        Only one of seq, rep and events can be True.
                                                              +
                                                              +        If `end=True`, the message subset is closed and written
                                                              +        to the bufr file (default `False`).
                                                              +        """
                                                              +        # make a fortran contiguous copy of input data.
                                                              +        if len(data.shape) in [2,3]:
                                                              +            dataf = np.empty(data.shape, np.float, order='F')
                                                              +            dataf[:] = data[:]
                                                              +        elif len(data.shape) == 1:
                                                              +            # make 1d array into 2d array with 1 level
                                                              +            dataf = np.empty((data.shape[0],1), np.float, order='F')
                                                              +            dataf[:,0] = data[:]
                                                              +        else:
                                                              +            msg = 'data in write_subset must be 1,2 or 3d'
                                                              +            raise ValueError(msg)
                                                              +        if np.array([rep,seq,events]).sum() > 1:
                                                              +            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +        if seq:
                                                              +            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        elif rep:
                                                              +            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        elif events:
                                                              +            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1],dataf.shape[2])
                                                              +        else:
                                                              +            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +                    dataf.shape[1])
                                                              +        # end subset if desired.
                                                              +        if end:
                                                              +            _bufrlib.writsb(self.lunit)
                                                              +
                                                              + +
                                                              + +

                                                              write data to message subset using the specified mnemonics +(a 'mnemonic' is simply a descriptive, alphanumeric name for a +data value, like a key in a python dictionary). The mnemonics string +may contain multiple space delimited mnemonics +(e.g. mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3').

                                                              + +

                                                              By default, the mnemonics are assumed to be part of a delayed +replication sequence, or have no replication at all, and ufbint +is used to write the data.

                                                              + +

                                                              if rep = True, ufbrep is used to write data represented +a regular replication sequence. See the comments in src/ufbrep.f for +more details. Used for radiance data.

                                                              + +

                                                              if seq=True, ufbseq is used to write data represented by +a sequence mnemonic. Used for gps data.

                                                              + +

                                                              if events=True, ufbevn is used to write prepbufr +"events" (a 3-d data array is required)

                                                              + +

                                                              Only one of seq, rep and events can be True.

                                                              + +

                                                              If end=True, the message subset is closed and written +to the bufr file (default False).

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              + + + + \ No newline at end of file diff --git a/python/ncepbufr/__pycache__/__init__.cpython-38.pyc b/previous_versions/v12.0.1/python/ncepbufr/__pycache__/__init__.cpython-38.pyc similarity index 100% rename from python/ncepbufr/__pycache__/__init__.cpython-38.pyc rename to previous_versions/v12.0.1/python/ncepbufr/__pycache__/__init__.cpython-38.pyc diff --git a/previous_versions/v12.0.1/python/ncepbufr/bufr_mnemonics.html b/previous_versions/v12.0.1/python/ncepbufr/bufr_mnemonics.html new file mode 100644 index 000000000..83eef642c --- /dev/null +++ b/previous_versions/v12.0.1/python/ncepbufr/bufr_mnemonics.html @@ -0,0 +1,937 @@ + + + + + + + ncepbufr.bufr_mnemonics API documentation + + + + + + + + +
                                                              +
                                                              +

                                                              +ncepbufr.bufr_mnemonics

                                                              + + +
                                                              + View Source +
                                                              prepbufr_mnemonics_dict = {
                                                              +'PW2Q':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +'PW2P':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +'T__EVENT':'TEMPERATURE EVENT SEQUENCE',\
                                                              +'PW2R':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +'T__POSTP':'TEMPERATURE POSTPROCESSING SEQUENCE',\
                                                              +'PW2A':'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +'WFC__MSQ':'MODEL WIND FORECAST SEQUENCE',\
                                                              +'TP24':'TOTAL PRECIPITATION PAST 24 HOURS',\
                                                              +'YCOR':"INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'",\
                                                              +'PW2E':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +'PREWXSEQ':'PRESENT WEATHER SEQUENCE',\
                                                              +'XCOR':"INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'",\
                                                              +'PW2O':'0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              +'PW3EVENT':'0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +'UAN':'ANALYZED U-COMPONENT WIND VALUE',\
                                                              +'TAN':'ANALYZED TEMPERATURE VALUE',\
                                                              +'MSST':'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT',\
                                                              +'VAN':'ANALYZED V-COMPONENT WIND VALUE',\
                                                              +'WRC':'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE',\
                                                              +'SFCSHP':'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS',\
                                                              +'ADPUPA':'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS',\
                                                              +'DF_EVENT':'WIND (DIRECTION/SPEED) EVENT SEQUENCE',\
                                                              +'TURB3SEQ':'TURBULENCE SEQUENCE # 3',\
                                                              +'QQM':'SPECIFIC HUMIDITY (QUALITY) MARKER',\
                                                              +'E1':'ERS ERROR ESTIMATE NUMBER 1',\
                                                              +'SPSSMI':'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)',\
                                                              +'PQM':'PRESSURE (QUALITY) MARKER',\
                                                              +'CLOUDSEQ':'OBSERVED CLOUD SEQUENCE # 1',\
                                                              +'SNOW_SEQ':'SNOW DEPTH SEQUENCE',\
                                                              +'ZQM':'HEIGHT (QUALITY) MARKER',\
                                                              +'CTCN':'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)',\
                                                              +'ACID_SEQ':'AIRCRAFT FLIGHT NUMBER SEQUENCE',\
                                                              +'TFC__MSQ':'MODEL TEMPERATURE FORECAST SEQUENCE',\
                                                              +'QFC__MSQ':'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE',\
                                                              +'PCS':'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE',\
                                                              +'SID':'STATION IDENTIFICATION',\
                                                              +'TSB':'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)',\
                                                              +'UOB':'U-COMPONENT WIND OBSERVATION (M/S)',\
                                                              +'PCL':'CLIMATOLOGICAL PRESSURE VALUE',\
                                                              +'VADWND':'VAD (NEXRAD) WIND REPORTS',\
                                                              +'TOPC':'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT',\
                                                              +'SST_INFO':'SEA TEMPERATURE INFORMATION',\
                                                              +'PREVENT':'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP',\
                                                              +'GUST1SEQ':'MAXIMUM WIND GUST SEQUENCE # 1',\
                                                              +'RF10M':'10 METER WIND REDUCTION FACTOR',\
                                                              +'PAN':'ANALYZED PRESSURE VALUE',\
                                                              +'ELEV':'SATELLITE ELEVATION (ZENITH ANGLE)',\
                                                              +'TMXMNSEQ':'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE',\
                                                              +'CTPQM':'CLOUD TOP PRESSURE (QUALITY) MARKER',\
                                                              +'MSTQ':'MOISTURE QUALITY',\
                                                              +'PCLIMATO':'PRESSURE CLIMATOLOGY SEQUENCE',\
                                                              +'SAID':'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)',\
                                                              +'MWD10':'MODEL WIND DIRECTION AT 10 M',\
                                                              +'CQCVAD':'VAD WIND QUALITY CONTROL STEP',\
                                                              +'PW1F_MSQ':'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              +'SOEL':'SOLAR ELEVATION (ZENITH ANGLE)',\
                                                              +'ALTIMSEQ':'ALTIMETER SETTING SEQUENCE',\
                                                              +'SSTRC':'SEA TEMPERATURE EVENT REASON CODE',\
                                                              +'S3':'ERS BACKSCATTER NUMBER 3',\
                                                              +'S2':'ERS BACKSCATTER NUMBER 2',\
                                                              +'S1':'ERS BACKSCATTER NUMBER 1',\
                                                              +'IALR':'INSTANTANEOUS ALTITUDE RATE',\
                                                              +'RADCOR':'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP',\
                                                              +'ACID':'AIRCRAFT FLIGHT NUMBER',\
                                                              +'RRTBACKG':'RAIN RATE BACKGROUND SEQUENCE',\
                                                              +'ERS1DA':'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)',\
                                                              +'CLAM':'CLOUD AMOUNT',\
                                                              +'POWV':'PERIOD OF WAVES',\
                                                              +'POWW':'PERIOD OF WIND WAVES',\
                                                              +'RCT':'RECEIPT TIME',\
                                                              +'BTMPINFO':'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION',\
                                                              +'DFQ':'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER',\
                                                              +'DFP':'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE',\
                                                              +'DFR':'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE',\
                                                              +'HOSW':'HEIGHT OF SWELL WAVES',\
                                                              +'SYNDAT':'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS',\
                                                              +'PW4FMOD':'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)',\
                                                              +'DGOT':'DEGREE OF TURBULENCE',\
                                                              +'PW1FMOD':'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)',\
                                                              +'UFCMOD':'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)',\
                                                              +'MRWVC':'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)',\
                                                              +'TRBX32':'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)',\
                                                              +'WQM':'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER',\
                                                              +'PW4F_MSQ':'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              +'PW2F':'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +'GPSIPW':'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER',\
                                                              +'QOETU':'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR',\
                                                              +'CAT':'PREPBUFR DATA LEVEL CATEGORY',\
                                                              +'MITM':'MINIMUM TEMPERATURE',\
                                                              +'ACARSQC':'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP',\
                                                              +'TOB':'TEMPERATURE OBSERVATION (DEGREES C)',\
                                                              +'TOE':'TEMPERATURE OBSERVATION ERROR (DEGREES C)',\
                                                              +'RRTPC':'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE',\
                                                              +'BSCD':'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)',\
                                                              +'PW1O':'1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              +'PW1A':'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +'PFCMOD':'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)',\
                                                              +'PW1F':'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +'HOCT_SEQ':'HEIGHT OF TOP OF CLOUD SEQUENCE',\
                                                              +'SOB':'WIND SPEED OBSERVATION',\
                                                              +'XOB':'LONGITUDE (DEG E)',\
                                                              +'PW1P':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +'PW1Q':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +'PW1R':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +'PWETU':'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR',\
                                                              +'TP12_SEQ':'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE',\
                                                              +'PKWDDR':'PEAK WIND DIRECTION',\
                                                              +'CHPT':'CHARACTERISTIC OF PRESSURE TENDENCY',\
                                                              +'TFC':'FORECAST (BACKGROUND) TEMPERATURE VALUE',\
                                                              +'TURB1SEQ':'TURBULENCE SEQUENCE # 1',\
                                                              +'PW2_INFO':'0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +'EXPRSRD':'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION',\
                                                              +'VFC':'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE',\
                                                              +'CTPOE':'CLOUD TOP PRESSURE OBSERVATION ERROR',\
                                                              +'PW1POSTP':'1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +'WOETU':'ANALYSIS-TUNED WIND OBSERVATION ERROR',\
                                                              +'PRC':'PRESSURE EVENT REASON CODE',\
                                                              +'QPC':'SPECIFIC HUMIDITY EVENT PROGRAM CODE',\
                                                              +'P__POSTP':'PRESSURE POSTPROCESSING SEQUENCE',\
                                                              +'ADPSFC':'SURFACE LAND (SYNOPTIC, METAR) REPORTS',\
                                                              +'ZFC__MSQ':'MODEL HEIGHT FORECAST SEQUENCE',\
                                                              +'CTPFC':'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE',\
                                                              +'TPC':'TEMPERATURE EVENT PROGRAM CODE',\
                                                              +'RFFL':'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN',\
                                                              +'PSW2':'PAST WEATHER (2)',\
                                                              +'PSW1':'PAST WEATHER (1)',\
                                                              +'NRLACQC':'NRL AIRCRAFT QUALITY CONTROL STEP',\
                                                              +'CTPEVENT':'CLOUD TOP PRESSURE EVENT SEQUENCE',\
                                                              +'PW2POSTP':'0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +'PW1EVENT':'1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +'VISB2SEQ':'VISIBILITY SEQUENCE # 2',\
                                                              +'HOVI':'HORIZONTAL VISIBILITY (M)',\
                                                              +'POAF':'PHASE OF AIRCRAFT FLIGHT',\
                                                              +'GUST2SEQ':'MAXIMUM WIND GUST SEQUENCE # 2',\
                                                              +'TYP':'PREPBUFR REPORT TYPE',\
                                                              +'PW4F':'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +'PW4E':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +'HEADR':'REPORT HEADER SEQUENCE',\
                                                              +'PW4A':'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +'PW4O':'0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              +'CTPPC':'CLOUD TOP PRESSURE EVENT PROGRAM CODE',\
                                                              +'PW4R':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +'PW4Q':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +'PW4P':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +'FFO':'WIND SPEED OBSERVATION (NOT ASSIMILATED)',\
                                                              +'ASMP':'AVG SPD OF SHIP DURING PAST 3 HOURS',\
                                                              +'CHSQ':'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)',\
                                                              +'QOE':'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)',\
                                                              +'SFCBOG':'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS',\
                                                              +'QOB':'SPECIFIC HUMIDITY OBSERVATION (MG/KG)',\
                                                              +'PW3POSTP':'0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +'E3':'ERS ERROR ESTIMATE NUMBER 3',\
                                                              +'E2':'ERS ERROR ESTIMATE NUMBER 2',\
                                                              +'PKWDSP':'PEAK WIND SPEED',\
                                                              +'ESBAK':'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE',\
                                                              +'SATWND':'SATELLITE-DERIVED WIND REPORTS',\
                                                              +'PW1E':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +'TOETU':'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR',\
                                                              +'PHER':'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL',\
                                                              +'WCLIMATO':'WIND CLIMATOLOGY SEQUENCE',\
                                                              +'WOE':'WIND OBSERVATION ERROR (M/S)',\
                                                              +'POSW':'PERIOD OF SWELL WAVES',\
                                                              +'SCATINFO':'SCATTEROMETER DATA INFORMATION',\
                                                              +'CLDE':'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.',\
                                                              +'RRTPOSTP':'RAIN RATE POSTPROCESSING SEQUENCE',\
                                                              +'SSI':'SSI GLOBAL ANALYSIS STEP',\
                                                              +'ZRC':'HEIGHT EVENT REASON CODE',\
                                                              +'PW2FMOD':'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)',\
                                                              +'Z___INFO':'HEIGHT INFORMATION',\
                                                              +'RASSDA':'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS',\
                                                              +'PTE24SEQ':'24 HOUR PRESSURE TENDENCY SEQUENCE',\
                                                              +'RRTFC':'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE',\
                                                              +'HRDR':'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)',\
                                                              +'ACFT_SEQ':'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE',\
                                                              +'POETU':'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR',\
                                                              +'P__BACKG':'PRESSURE BACKGROUND SEQUENCE',\
                                                              +'NUL':'NULL (IGNORE)',\
                                                              +'RRTOE':'RAINFALL (AVERAGE RATE) OBSERVATION ERROR',\
                                                              +'TDMP':'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS',\
                                                              +'WPC':'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE',\
                                                              +'TOSS':'TOTAL SUNSHINE',\
                                                              +'CDTP':'CLOUD TOP PRESSURE OBSERVATION',\
                                                              +'W__EVENT':'WIND EVENT SEQUENCE',\
                                                              +'CLIMO':'CLIMOTOLOGICAL PROCESSING STEP',\
                                                              +'XS20':'20 METER EXTRAPOLATED WIND SPEED',\
                                                              +'TOSD':'TOTAL SNOW DEPTH',\
                                                              +'QFC':'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE',\
                                                              +'PREPRO':'INITIAL PREPBUFR PROCESSING STEP',\
                                                              +'SYNDATA':'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP',\
                                                              +'PKWNDSEQ':'PEAK WIND SEQUENCE',\
                                                              +'ITP':'INSTRUMENT TYPE',\
                                                              +'Q__POSTP':'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE',\
                                                              +'PWTVWTA':'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL',\
                                                              +'TCLIMATO':'TEMPERATURE CLIMATOLOGY SEQUENCE',\
                                                              +'PWTVWTG':'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS',\
                                                              +'RPT':'REPORTED OBSERVATION TIME',\
                                                              +'TP01':'TOTAL PRECIPITATION PAST 1 HOUR',\
                                                              +'TP03':'TOTAL PRECIPITATION PAST 3 HOURS',\
                                                              +'VTVI_SEQ':'VERTICAL VISIBILITY SEQUENCE',\
                                                              +'TP06':'TOTAL PRECIPITATION PAST 6 HOURS',\
                                                              +'POE':'PRESSURE OBSERVATION ERROR (MB)',\
                                                              +'POB':'PRESSURE OBSERVATION (MB)',\
                                                              +'PW2BACKG':'0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +'TURB2SEQ':'TURBULENCE SEQUENCE # 2',\
                                                              +'PW__INFO':'PRECIPITABLE WATER INFORMATION',\
                                                              +'PWA':'ANALYZED TOTAL PRECIPITABLE WATER VALUE',\
                                                              +'VCL':'CLIMATOLOGICAL V-COMPONENT WIND VALUE',\
                                                              +'VCS':'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE',\
                                                              +'SSTQM':'SEA TEMPERATURE (QUALITY) MARKER',\
                                                              +'DHR':'OBSERVATION TIME MINUS CYCLE TIME (HOURS)',\
                                                              +'VIRTMP':'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP',\
                                                              +'24PC':'24 HOUR PRESSURE CHANGE',\
                                                              +'PVWTG':'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS',\
                                                              +'PVWTA':'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL',\
                                                              +'ROLF':'AIRCRAFT ROLL ANGLE FLAG',\
                                                              +'TQM':'TEMPERATURE (QUALITY) MARKER',\
                                                              +'AIRCFT':'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS',\
                                                              +'HBOI':'HEIGHT OF BASE OF ICING',\
                                                              +'PRSLEVEL':'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)',\
                                                              +'LATCORSQ':'LATITUDE CORRECTION SEQUENCE',\
                                                              +'HBOT':'HEIGHT OF BASE OF TURBULENCE',\
                                                              +'ZFC':'FORECAST (BACKGROUND) HEIGHT VALUE',\
                                                              +'QAN':'ANALYZED SPECIFIC HUMIDITY VALUE',\
                                                              +'Q___INFO':'SPECIFIC HUMIDITY INFORMATION',\
                                                              +'QIFY':'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST',\
                                                              +'P___INFO':'PRESSURE INFORMATION',\
                                                              +'SSTFC':'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE',\
                                                              +'QIFN':'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST',\
                                                              +'TPRECSEQ':'TOTAL PRECIPITATION SEQUENCE',\
                                                              +'Z__POSTP':'HEIGHT POSTPROCESSING SEQUENCE',\
                                                              +'QRC':'SPECIFIC HUMIDITY EVENT REASON CODE',\
                                                              +'PTENDSEQ':'PRESSURE TENDENCY SEQUENCE',\
                                                              +'XWSPDSEQ':'EXTRAPOLATED WIND SPEED SEQUENCE',\
                                                              +'ZAN':'ANALYZED HEIGHT VALUE',\
                                                              +'RRTQM':'RAINFALL (AVERAGE RATE) (QUALITY) MARKER',\
                                                              +'PROFLR':'WIND PROFILER REPORTS',\
                                                              +'PWTPOSTP':'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE',\
                                                              +'CHNM':'CHANNEL NUMBER',\
                                                              +'CTP_INFO':'CLOUD TOP INFORMATION',\
                                                              +'SSTAN':'ANALYZED SEA TEMPERATURE VALUE',\
                                                              +'PW3BACKG':'0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +'HOCT':'HEIGHT OF TOP OF CLOUD',\
                                                              +'SUNSHSEQ':'TOTAL SUNSHINE SEQUENCE',\
                                                              +'PRWE':'PRESENT WEATHER',\
                                                              +'XS10':'10 METER EXTRAPOLATED WIND SPEED',\
                                                              +'NRLQMS':'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)',\
                                                              +'PWF__MSQ':'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE',\
                                                              +'Q__EVENT':'SPECIFIC HUMIDITY EVENT SEQUENCE',\
                                                              +'TCS':'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE',\
                                                              +'TCL':'CLIMATOLOGICAL TEMPERATURE VALUE',\
                                                              +'W__BACKG':'WIND BACKGROUND SEQUENCE',\
                                                              +'XDR':'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)',\
                                                              +'DOFS':'DEPTH OF FRESH SNOW',\
                                                              +'PFC__MSQ':'MODEL PRESSURE FORECAST SEQUENCE',\
                                                              +'SIRC':'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR',\
                                                              +'ZOB':'HEIGHT OBSERVATION (M)',\
                                                              +'ZOE':'HEIGHT OBSERVATION ERROR (M)',\
                                                              +'RSRD_SEQ':'RESTRICTIONS ON REDISTRIBUTION SEQUENCE',\
                                                              +'SATEMP':'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)',\
                                                              +'SSTOE':'SEA TEMPERATURE OBSERVATION ERROR',\
                                                              +'DDO':'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)',\
                                                              +'SSTPOSTP':'SEA TEMPERATURE POSTPROCESSING SEQUENCE',\
                                                              +'AFIC_SEQ':'AIRCRAFT ICING SEQUENCE',\
                                                              +'PCCF_SEQ':'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE',\
                                                              +'CTPPOSTP':'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE',\
                                                              +'WSPD1':'SURFACE WIND SPEED',\
                                                              +'TRBX10':'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB',\
                                                              +'SPRR':'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)',\
                                                              +'LKCS':'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)',\
                                                              +'PRSLEVLG':'GOESND PRESSURE LEVEL SEQUENCE',\
                                                              +'OZON':'OZONE',\
                                                              +'CTPAN':'ANALYZED CLOUD TOP PRESSURE VALUE',\
                                                              +'R3DVAR':'3DVAR REGIONAL ANALYSIS STEP',\
                                                              +'Z__EVENT':'HEIGHT EVENT SEQUENCE',\
                                                              +'PWFMOD':'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)',\
                                                              +'ASCATW':'ASCAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              +'MRLWC':'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)',\
                                                              +'VISB1SEQ':'VISIBILITY SEQUENCE # 1',\
                                                              +'PW4_INFO':'0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +'TMBR':'BRIGHTNESS TEMPERATURE (KELVIN)',\
                                                              +'MXGD':'MAXIMUM WIND GUST DIRECTION',\
                                                              +'EEQF':'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR',\
                                                              +'TVO':'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)',\
                                                              +'MXGS':'MAXIMUM WIND SPEED (GUSTS, M/S)',\
                                                              +'P__EVENT':'PRESSURE EVENT SEQUENCE',\
                                                              +'WDSATR':'WINDSAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              +'REQV':'RAINFALL (AVERAGE RATE) OBSERVATION',\
                                                              +'QFCMOD':'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)',\
                                                              +'ATRN':'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)',\
                                                              +'WDIR1':'SURFACE WIND DIRECTION',\
                                                              +'LONCORSQ':'LONGITUDE CORRECTION SEQUENCE',\
                                                              +'XORG':'REPORTED (ORIGINAL) LONGITUDE',\
                                                              +'RRTEVENT':'RATE RATE EVENT SEQUENCE',\
                                                              +'YORG':'REPORTED (ORIGINAL) LATITUDE',\
                                                              +'MWS10':'MODEL WIND SPEED AT 10 M',\
                                                              +'TDO':'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)',\
                                                              +'YDR':'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)',\
                                                              +'UFC':'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE',\
                                                              +'W__POSTP':'WIND POSTPROCESSING SEQUENCE',\
                                                              +'SWINDSEQ':'SURFACE WIND SEQUENCE',\
                                                              +'PRSS':'SURFACE PRESSURE OBSERVATION (PASCALS)',\
                                                              +'SSTPC':'SEA TEMPERATURE EVENT PROGRAM CODE',\
                                                              +'WSPD_SEQ':'WIND SPEED SEQUENCE',\
                                                              +'VFCMOD':'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)',\
                                                              +'AFIC':'AIRFRAME ICING',\
                                                              +'WSEQC1':'WINDSAT EDR QC FLAG #1',\
                                                              +'DOSW':'DIRECTION OF SWELL WAVES',\
                                                              +'PPC':'PRESSURE EVENT PROGRAM CODE',\
                                                              +'PWTBACKG':'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE',\
                                                              +'VPRE':'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL',\
                                                              +'PWL_INFO':'LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +'TVWTA':'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL',\
                                                              +'PRSLEVLA':'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE',\
                                                              +'HTOI':'HEIGHT OF TOP OF ICING',\
                                                              +'YOB':'LATITUDE (DEG N)',\
                                                              +'TVWTG':'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS',\
                                                              +'HTOT':'HEIGHT OF TOP OF TURBULENCE',\
                                                              +'SSTBACKG':'SEA TEMPERATURE BACKGROUND SEQUENCE',\
                                                              +'UCS':'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE',\
                                                              +'PWR':'TOTAL PRECIPITABLE WATER EVENT REASON CODE',\
                                                              +'PWP':'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE',\
                                                              +'PWQ':'TOTAL PRECIPITABLE WATER (QUALITY) MARKER',\
                                                              +'TP12':'TOTAL PRECIPITATION PAST 12 HOURS',\
                                                              +'3HPC':'3 HOUR PRESSURE CHANGE',\
                                                              +'PWF':'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE',\
                                                              +'PWE':'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)',\
                                                              +'QKSWND':'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              +'TRBX43':'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)',\
                                                              +'PWO':'TOTAL PRECIPITABLE WATER OBSERVATION (MM)',\
                                                              +'TRBX':'TURBULENCE INDEX',\
                                                              +'PW3FMOD':'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)',\
                                                              +'GSI':'GSI ANALYSIS STEP',\
                                                              +'A1':'ERS INCIDENT ANGLE NUMBER 1',\
                                                              +'RRTRC':'RAINFALL (AVERAGE RATE) EVENT REASON CODE',\
                                                              +'QVWTA':'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL',\
                                                              +'TFCMOD':'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)',\
                                                              +'QVWTG':'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS',\
                                                              +'SPDE':'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL',\
                                                              +'CTPBACKG':'CLOUD TOP PRESSURE BACKGROUND SEQUENCE',\
                                                              +'GCDTT':'GOES CLOUD TOP TEMPERATURE OBSERVATION',\
                                                              +'PW3R':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +'PW3P':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +'PW3Q':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +'PW3F':'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +'PW3E':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +'PW3A':'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +'PW3O':'0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              +'ZPC':'HEIGHT EVENT PROGRAM CODE',\
                                                              +'UCL':'CLIMATOLOGICAL U-COMPONENT WIND VALUE',\
                                                              +'PW1BACKG':'1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +'SQN':'REPORT SEQUENCE NUMBER',\
                                                              +'B2':'ERS AZIMUTH  ANGLE NUMBER 2',\
                                                              +'B3':'ERS AZIMUTH  ANGLE NUMBER 3',\
                                                              +'PWT_INFO':'TOTAL PRECIPITABLE WATER INFORMATION',\
                                                              +'PW4BACKG':'0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +'SWELLSEQ':'SWELL WAVE SEQUENCE',\
                                                              +'CLTP':'CLOUD TYPE',\
                                                              +'GOESND':'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)',\
                                                              +'WAVE_SEQ':'WAVE SEQUENCE',\
                                                              +'PW1_INFO':'1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +'PW3_INFO':'0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +'WSST':'WINDSAT SURFACE TYPE',\
                                                              +'CQCPROF':'WIND PROFILER QUALITY CONTROL STEP',\
                                                              +'BTMPLEVL':"BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE",\
                                                              +'W___INFO':'WIND INFORMATION',\
                                                              +'VTVI':'VERTICAL VISIBILITY',\
                                                              +'MXTM':'MAXIMUM TEMPERATURE',\
                                                              +'SPRVSTG':'MESONET SUBPROVIDER ID STRING',\
                                                              +'B1':'ERS AZIMUTH  ANGLE NUMBER 1',\
                                                              +'TCOR':"INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED",\
                                                              +'PSTWXSEQ':'PAST WEATHER SEQUENCE',\
                                                              +'AIRCAR':'MDCRS ACARS AIRCRAFT REPORTS',\
                                                              +'TRC':'TEMPERATURE EVENT REASON CODE',\
                                                              +'TOPC_SEQ':'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE',\
                                                              +'T__BACKG':'TEMPERATURE BACKGROUND SEQUENCE',\
                                                              +'T29':'DATA DUMP REPORT TYPE',\
                                                              +'T___INFO':'TEMPERATURE INFORMATION',\
                                                              +'PW3F_MSQ':'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              +'VOB':'V-COMPONENT WIND OBSERVATION (M/S)',\
                                                              +'QCLIMATO':'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE',\
                                                              +'OIQC':'OI-QUALITY MULTI-PLATFROM CONTROL STEP',\
                                                              +'PMSL_SEQ':'MEAN SEA LEVEL PRESSURE SEQUENCE',\
                                                              +'WVCQ':'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)',\
                                                              +'DEFAULT':'NON-DEFINED STEP (DEFAULT)',\
                                                              +'TOCC':'CLOUD COVER (TOTAL)',\
                                                              +'SST1':'SEA TEMPERATURE',\
                                                              +'ACAV':'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE',\
                                                              +'CTPRC':'CLOUD TOP PRESSURE EVENT REASON CODE',\
                                                              +'PRVSTG':'MESONET PROVIDER ID STRING',\
                                                              +'TRBX21':'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)',\
                                                              +'PMQ':'MEAN SEA-LVL PRESSURE (QUALITY) MARKER',\
                                                              +'DBSS_SEQ':'DEPTH BELOW SEA SURFACE SEQUENCE',\
                                                              +'MSONET':'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)',\
                                                              +'PMO':'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)',\
                                                              +'PWTEVENT':'TOTAL PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +'PW4POSTP':'0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +'TMSK':'SKIN TEMPERATURE',\
                                                              +'CLOU2SEQ':'OBSERVED CLOUD SEQUENCE # 2',\
                                                              +'PW2F_MSQ':'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              +'WVWTG':'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS',\
                                                              +'ELV':'STATION ELEVATION (M)',\
                                                              +'WVWTA':'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL',\
                                                              +'ZFCMOD':'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)',\
                                                              +'RSRD':'RESTRICTIONS ON REDISTRIBUTION',\
                                                              +'PREPACQC':'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)',\
                                                              +'SSTE':'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL',\
                                                              +'QCS':'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE',\
                                                              +'ZCLIMATO':'HEIGHT CLIMATOLOGY SEQUENCE',\
                                                              +'PCAT':'PRECISION OF TEMPERATURE OBSERVATION',\
                                                              +'QCL':'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE',\
                                                              +'PW4EVENT':'0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +'HOWV':'HEIGHT OF WAVES',\
                                                              +'HOWW':'HEIGHT OF WIND WAVES',\
                                                              +'CQCHT':'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP',\
                                                              +'RRTAN':'ANALYZED RAINFALL (AVERAGE RATE) VALUE',\
                                                              +'A3':'ERS INCIDENT ANGLE NUMBER 3',\
                                                              +'A2':'ERS INCIDENT ANGLE NUMBER 2',\
                                                              +'ALSE':'ALTIMETER SETTING OBSERVATION',\
                                                              +'HOCB':'HEIGHT OF BASE OF CLOUD',\
                                                              +'SSTEVENT':'SEA TEMPERATURE EVENT SEQUENCE',\
                                                              +'SQM':'WIND SPEED (SOB) (QUALITY) MARKER',\
                                                              +'Q__BACKG':'SPECIFIC HUMIDITY BACKGROUND SEQUENCE',\
                                                              +'PROCN':'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)',\
                                                              +'HBLCS':'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN',\
                                                              +'RRT_INFO':'RAIN RATE INFORMATION',\
                                                              +'PW2EVENT':'0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +'Z__BACKG':'HEIGHT BACKGROUND SEQUENCE',\
                                                              +'PFC':'FORECAST (BACKGROUND) PRESSURE VALUE',\
                                                              +'ZCL':'CLIMATOLOGICAL HEIGHT VALUE',\
                                                              +'SHIP_SEQ':'SHIP DIRECTION/SPEED SEQUENCE',\
                                                              +'VSSO':'VERT. SIGNIFICANCE (SFC OBSERVATION)',\
                                                              +'DRFTINFO':'PROFILE LEVEL TIME/LOCATION INFORMATION',\
                                                              +'ZCS':'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE',\
                                                              +'DBSS':'DEPTH BELOW SEA SURFACE'
                                                              +}
                                                              +'''dictionary mapping prepbufr mnemonics to human readable descriptions'''
                                                              +amsu_mnemonics_dict = {
                                                              +'NC021021' :'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)',\
                                                              +'NC021022' :'MTYP 021-022 PROCESSED MSU    1B Tb DATA (NOAA-14)',\
                                                              +'NC021023' :'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)',\
                                                              +'NC021024' :'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)',\
                                                              +'NC021025' :'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)',\
                                                              +'NC021027' :'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)',\
                                                              +'NC021028' :'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)',\
                                                              +'NC021033' :'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)',\
                                                              +'NC021034' :'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)',\
                                                              +'NC021035' :'MTYP 021-035 RARS(EARS,AP,SA) HIRS   1C Tb DATA(N15-19)',\
                                                              +'NC021036' :'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA   (N18-19)',\
                                                              +'NC021041' :'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA',\
                                                              +'NC021042' :'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)',\
                                                              +'NC021043' :'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)',\
                                                              +'NC021051' :'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)',\
                                                              +'NC021052' :'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)',\
                                                              +'NC021053' :'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)',\
                                                              +'NC021054' :'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)',\
                                                              +'NC021123' :'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)',\
                                                              +'NC021201' :'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)',\
                                                              +'NC021202' :'MTYP 021-202 NPP CrIS RADIANCE DATA',\
                                                              +'NC021203' :'MTYP 021-203 NPP ATMS RADIANCE DATA',\
                                                              +'NC021241' :'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)',\
                                                              +'NC021249' :'MTYP 021-249 EVERY  FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              +'NC021250' :'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              +'NC021251' :'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA',\
                                                              +'NC021252' :'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA',\
                                                              +'NC021253' :'MTYP 021-253 AIRS PRINCIPAL COMPONENTS',\
                                                              +'NC021254' :'MTYP 021-254 AMSR-E CHANNEL DATA',\
                                                              +'NC021255' :'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              +'YYMMDD' :'DATE -- YEAR, MONTH, DAY',\
                                                              +'HHMM' :'TIME -- HOUR, MINUTE',\
                                                              +'HHMMSS' :'TIME -- HOUR, MINUTE, SECOND',\
                                                              +'LTLONH' :'HIGH ACCURACY LATITUDE/LONGITUDE POSITION',\
                                                              +'SIDGRSEQ' :'SATELLITE IDENTIFIER/GENERATING RESOLUTION',\
                                                              +'SIDENSEQ' :'SATELLITE IDENTIFICATION',\
                                                              +'LOCPLAT' :'LOCATION OF PLATFORM (SATELLITE) SEQUENCE',\
                                                              +'ALLSKYRD' :'ALL SKY RADIANCE DATA',\
                                                              +'CLOUDCOV' :'CLOUD COVERAGE',\
                                                              +'ATOVAMUA' :'ATOVS AMSU-A REPORT',\
                                                              +'ATOVAMUB' :'ATOVS AMSU-B REPORT',\
                                                              +'ATFOV' :'ATOVS FIELD OF VIEW VARIABLES',\
                                                              +'ATCHV' :'ATOVS CHANNEL VARIABLES',\
                                                              +'SSMISTEM' :'SSM/IS TEMPERATURE DATA RECORD',\
                                                              +'ALLSKYRP' :'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE',\
                                                              +'SCO1C3IN' :'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS',\
                                                              +'SPITSEQN' :'SATELLITE POSITION AND INSTRUMENT TEMPERATURES',\
                                                              +'SITPSEQN' :'SATELLITE INSTRUMENT TYPE AND POSITION',\
                                                              +'SCBTSEQN' :'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET',\
                                                              +'SVCASEQN' :'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET',\
                                                              +'SATRCPRC' :'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS',\
                                                              +'IASIL1CB' :'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE',\
                                                              +'IASIL1CS' :'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE',\
                                                              +'BCFQFSQ' :'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE',\
                                                              +'CRCHN' :'NPP CrIS CHANNEL DATA',\
                                                              +'AMSUSPOT' :'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)',\
                                                              +'AMSUCHAN' :'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              +'HSBSPOT' :'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)',\
                                                              +'HSBCHAN' :'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              +'ATMSCH' :'NPP ATMS CHANNEL DATA',\
                                                              +'INTMS' :'SATELLITE INSTRUMENT TEMPERATURES',\
                                                              +'AIRSPC' :'AIRS PRINCIPAL COMPONENT SEQUENCE',\
                                                              +'AIRSCORE' :'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE',\
                                                              +'AVCSEQ' :'AVHRR (GAC) CHANNEL SEQUENCE',\
                                                              +'BID' :'BULLETIN HEADER DATA',\
                                                              +'RCPTIM' :'REPORT RECEIPT TIME DATA',\
                                                              +'SATEPHEM' :'SSM/IS SATELLITE EPHEMERIS INFORMATION',\
                                                              +'SCLINGEO' :'SSM/IS SCAN LINE GEOMETRY',\
                                                              +'SSMISCHN' :'SSM/IS CHANNEL SEQUENCE',\
                                                              +'IASICHN' :'IASI LEVEL 1C SCALED RADIANCE SEQUENCE',\
                                                              +'AVHRCHN' :'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ',\
                                                              +'BRITCSTC' :'BRIGHTNESS TEMPERATURE SEQUENCE #2',\
                                                              +'BRIT' :'BRIGHTNESS TEMPERATURE SEQUENCE',\
                                                              +'RADS' :'RADIANCE SEQUENCE',\
                                                              +'AMSRCHAN' :'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              +'AMSRDICE' :'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)',\
                                                              +'RPSEQ7' :'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE',\
                                                              +'RPSEQ8' :'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE',\
                                                              +'RPSEQ4' :'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE',\
                                                              +'WLTMSEQN' :'WARM LOAD TEMPERATURE SEQUENCE',\
                                                              +'MUHOSEQN' :'MULTIPLEXER HOUSEKEEPING SEQUENCE',\
                                                              +'SAID' :'SATELLITE IDENTIFIER',\
                                                              +'GCLONG' :'ORIGINATING/GENERATING CENTER',\
                                                              +'GNAP' :'GENERATING APPLICATION',\
                                                              +'OGCE' :'IDENTIFICATION OF ORIGINATING/GENERATING CENTER',\
                                                              +'GSES' :'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER',\
                                                              +'SIID' :'SATELLITE INSTRUMENTS',\
                                                              +'SCLF' :'SATELLITE CLASSIFICATION',\
                                                              +'SIDU' :'SATELLITE INSTRUMENT DATA USED IN PROCESSING',\
                                                              +'IMHC' :'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD',\
                                                              +'SSNX' :'SEGMENT SIZE AT NADIR IN X DIRECTION',\
                                                              +'SSNY' :'SEGMENT SIZE AT NADIR IN Y DIRECTION',\
                                                              +'SSIN' :'SATELLITE SENSOR INDICATOR',\
                                                              +'ANPO' :'ANTENNA POLARIZATION',\
                                                              +'RAIA' :'RADAR INCIDENCE ANGLE',\
                                                              +'INCN' :'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER',\
                                                              +'RAID' :'RADIOMETER IDENTIFIER',\
                                                              +'SIDP' :'SATELLITE INSTRUMENT DATA USED IN PROCESSING',\
                                                              +'SCCF' :'SATELLITE CHANNEL CENTER FREQUENCY',\
                                                              +'SCBW' :'SATELLITE CHANNEL BAND WIDTH',\
                                                              +'RDTF' :'RADIANCE TYPE FLAGS',\
                                                              +'RDTP' :'RADIANCE TYPE',\
                                                              +'RDCM' :'RADIANCE COMPUTATIONAL METHOD',\
                                                              +'YEAR' :'YEAR',\
                                                              +'MNTH' :'MONTH',\
                                                              +'DAYS' :'DAY',\
                                                              +'HOUR' :'HOUR',\
                                                              +'MINU' :'MINUTE',\
                                                              +'SECO' :'SECOND',\
                                                              +'TPSE' :'TIME PERIOD OR DISPLACEMENT',\
                                                              +'RCYR' :'YEAR   - TIME OF RECEIPT',\
                                                              +'RCMO' :'MONTH  - TIME OF RECEIPT',\
                                                              +'RCDY' :'DAY    - TIME OF RECEIPT',\
                                                              +'RCHR' :'HOUR   - TIME OF RECEIPT',\
                                                              +'RCMI' :'MINUTE - TIME OF RECEIPT',\
                                                              +'CLATH' :'LATITUDE (HIGH ACCURACY)',\
                                                              +'CLAT' :'LATITUDE (COARSE ACCURACY)',\
                                                              +'BEARAZ' :'BEARING OR AZIMUTH',\
                                                              +'SOLAZI' :'SOLAR AZIMUTH',\
                                                              +'ORBN' :'ORBIT NUMBER',\
                                                              +'SLNM' :'SCAN LINE NUMBER',\
                                                              +'CHNM' :'CHANNEL NUMBER',\
                                                              +'FOVN' :'FIELD OF VIEW NUMBER',\
                                                              +'FORN' :'FIELD OF REGARD NUMBER',\
                                                              +'YAPCG' :'Y ANGULAR POSITION OF CENTER OF GRAVITY',\
                                                              +'ZAPCG' :'Z ANGULAR POSITION OF CENTER OF GRAVITY',\
                                                              +'CLONH' :'LONGITUDE (HIGH ACCURACY)',\
                                                              +'CLON' :'LONGITUDE (COARSE ACCURACY)',\
                                                              +'WVNM' :'WAVE NUMBER',\
                                                              +'SELV' :'HEIGHT OF STATION',\
                                                              +'HMSL' :'HEIGHT OR ALTITUDE',\
                                                              +'PRLC' :'PRESSURE',\
                                                              +'SAZA' :'SATELLITE ZENITH ANGLE',\
                                                              +'SOZA' :'SOLAR ZENITH ANGLE',\
                                                              +'VSIG' :'VERTICAL SOUNDING SIGNIFICANCE',\
                                                              +'VSAT' :'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)',\
                                                              +'DIMS' :'DIMENSIONAL SIGNIFICANCE',\
                                                              +'LSQL' :'LAND/SEA QUALIFIER',\
                                                              +'TSIG' :'TIME SIGNIFICANCE',\
                                                              +'FOST' :'FIRST ORDER STATISTICS',\
                                                              +'MDPC' :'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE',\
                                                              +'TAPQ' :'TOVS/ATOVS PRODUCT IDENTIFIER',\
                                                              +'STKO' :'ASCENDING/DESCENDING ORBIT QUALIFIER',\
                                                              +'TOBD' :'TYPE OF BAND',\
                                                              +'RCTS' :'RECEIPT TIME SIGNIFICANCE',\
                                                              +'HOLS' :'HEIGHT OF LAND SURFACE',\
                                                              +'HITE' :'GEOPOTENTIAL HEIGHT',\
                                                              +'PDNP' :"IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER",\
                                                              +'TMBRST' :'BRIGHTNESS TEMPERATURE',\
                                                              +'TMINST' :'INSTRUMENT TEMPERATURE',\
                                                              +'SDTB' :'STANDARD DEVIATION BRIGHTNESS TEMPERATURE',\
                                                              +'TMANT' :'ANTENNA TEMPERATURE',\
                                                              +'WLTM' :'WARM LOAD TEMPERATURE',\
                                                              +'SPRD' :'SPECTRAL RADIANCE',\
                                                              +'RDNE' :'RADIANCE',\
                                                              +'NEDTCO' :'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET',\
                                                              +'NEDTWA' :'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET',\
                                                              +'TMBR' :'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)',\
                                                              +'CSTC' :'COLD SPACE TEMPERATURE CORRECTION',\
                                                              +'REHU' :'RELATIVE HUMIDITY',\
                                                              +'SFLG' :'SURFACE FLAG',\
                                                              +'ALBD' :'ALBEDO',\
                                                              +'SRAD' :'CHANNEL RADIANCE',\
                                                              +'CHRAD' :'CHANNEL RADIANCE',\
                                                              +'SCRA' :'SCALED IASI RADIANCE',\
                                                              +'SMRA' :'SCALED MEAN AVHRR RADIANCE',\
                                                              +'SSDR' :'SCALED STANDARD DEVIATION OF AVHRR RADIANCE',\
                                                              +'LOGCT' :'LOG10 OF CLOUD TEST RESULTS',\
                                                              +'TOCC' :'CLOUD COVER (TOTAL)',\
                                                              +'CLTP' :'CLOUD TYPE',\
                                                              +'HOCT' :'HEIGHT OF TOP OF CLOUD',\
                                                              +'RFLAG' :'RAIN FLAG',\
                                                              +'CLDMNT' :'CLOUD AMOUNT IN SEGMENT',\
                                                              +'NCLDMNT' :'AMOUNT SEGMENT CLOUD FREE',\
                                                              +'CLAVR' :'CLOUD FROM AVHRR (CLAVR) CLOUD MASK',\
                                                              +'WTCA' :'WARM TARGET CALIBRATION',\
                                                              +'CTCA' :'COLD TARGET CALIBRATION',\
                                                              +'ALFR' :'LAND FRACTION',\
                                                              +'APCOMP' :'PRINCIPAL COMPONENT SCORE',\
                                                              +'AVHCST' :'AVHRR CHANNEL COMBINATION',\
                                                              +'APCFIT' :'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA',\
                                                              +'SSID' :'SSMIS SUBFRAME ID NUMBER',\
                                                              +'MUHO' :'MULTIPLEXOR HOUSEKEEPING',\
                                                              +'MJFC' :'MAJOR FRAME COUNT',\
                                                              +'SACV' :'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER',\
                                                              +'LOGRCW' :'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)',\
                                                              +'BWCC1' :'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS',\
                                                              +'BWCC2' :'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS',\
                                                              +'ASFI' :'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS',\
                                                              +'AEFW' :'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS',\
                                                              +'FCPH' :'FRACTION OF CLEAR PIXELS IN HIRS FOV',\
                                                              +'STCH' :'START CHANNEL',\
                                                              +'ENCH' :'END CHANNEL',\
                                                              +'CHSF' :'CHANNEL SCALE FACTOR',\
                                                              +'PD00' :"IN DIRECTION OF  0 DEG E, DISTANCE FROM EARTH'S CENTER",\
                                                              +'PD90' :"IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER",\
                                                              +'NPPR' :'NUMBER OF PIXELS PER ROW',\
                                                              +'NPPC' :'NUMBER OF PIXELS PER COLUMN',\
                                                              +'QMRKH' :'QUALITY INFORMATION',\
                                                              +'PCCF' :'PERCENT CONFIDENCE',\
                                                              +'SLSF' :'SCAN LINE STATUS FLAGS FOR ATOVS',\
                                                              +'SLQF' :'SCAN LINE QUALITY FLAGS FOR ATOVS',\
                                                              +'ACQF' :'CHANNEL QUALITY FLAGS FOR ATOVS',\
                                                              +'FOVQ' :'FIELD OF VIEW QUALITY FLAGS FOR ATOVS',\
                                                              +'QGFQ' :'INDIVIDUAL IASI-SYSTEM QUALITY FLAG',\
                                                              +'QGQI' :'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)',\
                                                              +'QGQIL' :'GEOMETRIC QUALITY INDEX INDICATOR',\
                                                              +'QGQIR' :'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)',\
                                                              +'QGQIS' :'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)',\
                                                              +'QGSSQ' :'OUTPUT OF TEC FUNCTION',\
                                                              +'NSQF' :'SCAN LEVEL QUALITY FLAGS',\
                                                              +'NCQF' :'CALIBRATION QUALITY FLAGS',\
                                                              +'NFQF' :'FIELD OF VIEW QUALITY FLAGS',\
                                                              +'NGQI' :'GEOLOCATION QUALITY',\
                                                              +'ATMSGQ' :'GRANULE LEVEL QUALITY FLAGS',\
                                                              +'ATMSSQ' :'SCAN LEVEL QUALITY FLAGS',\
                                                              +'ATMSCHQ' :'CHANNEL DATA QUALITY FLAGS',\
                                                              +'BUHD' :'BULLETIN BEING MONITORED (TTAAii)',\
                                                              +'BULTIM' :'BULLETIN BEING MONITORED (YYGGgg)',\
                                                              +'BORG' :'BULLETIN BEING MONITORED (CCCC)',\
                                                              +'BBB' :'BULLETIN BEING MONITORED (BBB)',\
                                                              +'SEQNUM' :'CHANNEL SEQUENCE NUMBER'}
                                                              +'''dictionary mapping amsu mnemonics to human readable descriptions'''
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              #   + + prepbufr_mnemonics_dict = {'PW2Q': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW2P': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'T__EVENT': 'TEMPERATURE EVENT SEQUENCE', 'PW2R': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'T__POSTP': 'TEMPERATURE POSTPROCESSING SEQUENCE', 'PW2A': 'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE', 'WFC__MSQ': 'MODEL WIND FORECAST SEQUENCE', 'TP24': 'TOTAL PRECIPITATION PAST 24 HOURS', 'YCOR': "INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'", 'PW2E': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PREWXSEQ': 'PRESENT WEATHER SEQUENCE', 'XCOR': "INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'", 'PW2O': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW3EVENT': '0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE', 'UAN': 'ANALYZED U-COMPONENT WIND VALUE', 'TAN': 'ANALYZED TEMPERATURE VALUE', 'MSST': 'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT', 'VAN': 'ANALYZED V-COMPONENT WIND VALUE', 'WRC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE', 'SFCSHP': 'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS', 'ADPUPA': 'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS', 'DF_EVENT': 'WIND (DIRECTION/SPEED) EVENT SEQUENCE', 'TURB3SEQ': 'TURBULENCE SEQUENCE # 3', 'QQM': 'SPECIFIC HUMIDITY (QUALITY) MARKER', 'E1': 'ERS ERROR ESTIMATE NUMBER 1', 'SPSSMI': 'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)', 'PQM': 'PRESSURE (QUALITY) MARKER', 'CLOUDSEQ': 'OBSERVED CLOUD SEQUENCE # 1', 'SNOW_SEQ': 'SNOW DEPTH SEQUENCE', 'ZQM': 'HEIGHT (QUALITY) MARKER', 'CTCN': 'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)', 'ACID_SEQ': 'AIRCRAFT FLIGHT NUMBER SEQUENCE', 'TFC__MSQ': 'MODEL TEMPERATURE FORECAST SEQUENCE', 'QFC__MSQ': 'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE', 'PCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE', 'SID': 'STATION IDENTIFICATION', 'TSB': 'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)', 'UOB': 'U-COMPONENT WIND OBSERVATION (M/S)', 'PCL': 'CLIMATOLOGICAL PRESSURE VALUE', 'VADWND': 'VAD (NEXRAD) WIND REPORTS', 'TOPC': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT', 'SST_INFO': 'SEA TEMPERATURE INFORMATION', 'PREVENT': 'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP', 'GUST1SEQ': 'MAXIMUM WIND GUST SEQUENCE # 1', 'RF10M': '10 METER WIND REDUCTION FACTOR', 'PAN': 'ANALYZED PRESSURE VALUE', 'ELEV': 'SATELLITE ELEVATION (ZENITH ANGLE)', 'TMXMNSEQ': 'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE', 'CTPQM': 'CLOUD TOP PRESSURE (QUALITY) MARKER', 'MSTQ': 'MOISTURE QUALITY', 'PCLIMATO': 'PRESSURE CLIMATOLOGY SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)', 'MWD10': 'MODEL WIND DIRECTION AT 10 M', 'CQCVAD': 'VAD WIND QUALITY CONTROL STEP', 'PW1F_MSQ': 'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'SOEL': 'SOLAR ELEVATION (ZENITH ANGLE)', 'ALTIMSEQ': 'ALTIMETER SETTING SEQUENCE', 'SSTRC': 'SEA TEMPERATURE EVENT REASON CODE', 'S3': 'ERS BACKSCATTER NUMBER 3', 'S2': 'ERS BACKSCATTER NUMBER 2', 'S1': 'ERS BACKSCATTER NUMBER 1', 'IALR': 'INSTANTANEOUS ALTITUDE RATE', 'RADCOR': 'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP', 'ACID': 'AIRCRAFT FLIGHT NUMBER', 'RRTBACKG': 'RAIN RATE BACKGROUND SEQUENCE', 'ERS1DA': 'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)', 'CLAM': 'CLOUD AMOUNT', 'POWV': 'PERIOD OF WAVES', 'POWW': 'PERIOD OF WIND WAVES', 'RCT': 'RECEIPT TIME', 'BTMPINFO': 'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION', 'DFQ': 'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER', 'DFP': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE', 'DFR': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE', 'HOSW': 'HEIGHT OF SWELL WAVES', 'SYNDAT': 'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS', 'PW4FMOD': 'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)', 'DGOT': 'DEGREE OF TURBULENCE', 'PW1FMOD': 'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)', 'UFCMOD': 'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)', 'MRWVC': 'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)', 'TRBX32': 'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)', 'WQM': 'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER', 'PW4F_MSQ': 'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'PW2F': 'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE', 'GPSIPW': 'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER', 'QOETU': 'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR', 'CAT': 'PREPBUFR DATA LEVEL CATEGORY', 'MITM': 'MINIMUM TEMPERATURE', 'ACARSQC': 'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP', 'TOB': 'TEMPERATURE OBSERVATION (DEGREES C)', 'TOE': 'TEMPERATURE OBSERVATION ERROR (DEGREES C)', 'RRTPC': 'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE', 'BSCD': 'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)', 'PW1O': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW1A': 'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE', 'PFCMOD': 'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)', 'PW1F': 'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE', 'HOCT_SEQ': 'HEIGHT OF TOP OF CLOUD SEQUENCE', 'SOB': 'WIND SPEED OBSERVATION', 'XOB': 'LONGITUDE (DEG E)', 'PW1P': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW1Q': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW1R': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PWETU': 'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR', 'TP12_SEQ': 'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE', 'PKWDDR': 'PEAK WIND DIRECTION', 'CHPT': 'CHARACTERISTIC OF PRESSURE TENDENCY', 'TFC': 'FORECAST (BACKGROUND) TEMPERATURE VALUE', 'TURB1SEQ': 'TURBULENCE SEQUENCE # 1', 'PW2_INFO': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'EXPRSRD': 'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION', 'VFC': 'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE', 'CTPOE': 'CLOUD TOP PRESSURE OBSERVATION ERROR', 'PW1POSTP': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'WOETU': 'ANALYSIS-TUNED WIND OBSERVATION ERROR', 'PRC': 'PRESSURE EVENT REASON CODE', 'QPC': 'SPECIFIC HUMIDITY EVENT PROGRAM CODE', 'P__POSTP': 'PRESSURE POSTPROCESSING SEQUENCE', 'ADPSFC': 'SURFACE LAND (SYNOPTIC, METAR) REPORTS', 'ZFC__MSQ': 'MODEL HEIGHT FORECAST SEQUENCE', 'CTPFC': 'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE', 'TPC': 'TEMPERATURE EVENT PROGRAM CODE', 'RFFL': 'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN', 'PSW2': 'PAST WEATHER (2)', 'PSW1': 'PAST WEATHER (1)', 'NRLACQC': 'NRL AIRCRAFT QUALITY CONTROL STEP', 'CTPEVENT': 'CLOUD TOP PRESSURE EVENT SEQUENCE', 'PW2POSTP': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'PW1EVENT': '1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE', 'VISB2SEQ': 'VISIBILITY SEQUENCE # 2', 'HOVI': 'HORIZONTAL VISIBILITY (M)', 'POAF': 'PHASE OF AIRCRAFT FLIGHT', 'GUST2SEQ': 'MAXIMUM WIND GUST SEQUENCE # 2', 'TYP': 'PREPBUFR REPORT TYPE', 'PW4F': 'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE', 'PW4E': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'HEADR': 'REPORT HEADER SEQUENCE', 'PW4A': 'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE', 'PW4O': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'CTPPC': 'CLOUD TOP PRESSURE EVENT PROGRAM CODE', 'PW4R': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW4Q': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW4P': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'FFO': 'WIND SPEED OBSERVATION (NOT ASSIMILATED)', 'ASMP': 'AVG SPD OF SHIP DURING PAST 3 HOURS', 'CHSQ': 'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)', 'QOE': 'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)', 'SFCBOG': 'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS', 'QOB': 'SPECIFIC HUMIDITY OBSERVATION (MG/KG)', 'PW3POSTP': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'E3': 'ERS ERROR ESTIMATE NUMBER 3', 'E2': 'ERS ERROR ESTIMATE NUMBER 2', 'PKWDSP': 'PEAK WIND SPEED', 'ESBAK': 'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE', 'SATWND': 'SATELLITE-DERIVED WIND REPORTS', 'PW1E': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'TOETU': 'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR', 'PHER': 'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL', 'WCLIMATO': 'WIND CLIMATOLOGY SEQUENCE', 'WOE': 'WIND OBSERVATION ERROR (M/S)', 'POSW': 'PERIOD OF SWELL WAVES', 'SCATINFO': 'SCATTEROMETER DATA INFORMATION', 'CLDE': 'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.', 'RRTPOSTP': 'RAIN RATE POSTPROCESSING SEQUENCE', 'SSI': 'SSI GLOBAL ANALYSIS STEP', 'ZRC': 'HEIGHT EVENT REASON CODE', 'PW2FMOD': 'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)', 'Z___INFO': 'HEIGHT INFORMATION', 'RASSDA': 'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS', 'PTE24SEQ': '24 HOUR PRESSURE TENDENCY SEQUENCE', 'RRTFC': 'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE', 'HRDR': 'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)', 'ACFT_SEQ': 'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE', 'POETU': 'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR', 'P__BACKG': 'PRESSURE BACKGROUND SEQUENCE', 'NUL': 'NULL (IGNORE)', 'RRTOE': 'RAINFALL (AVERAGE RATE) OBSERVATION ERROR', 'TDMP': 'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS', 'WPC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE', 'TOSS': 'TOTAL SUNSHINE', 'CDTP': 'CLOUD TOP PRESSURE OBSERVATION', 'W__EVENT': 'WIND EVENT SEQUENCE', 'CLIMO': 'CLIMOTOLOGICAL PROCESSING STEP', 'XS20': '20 METER EXTRAPOLATED WIND SPEED', 'TOSD': 'TOTAL SNOW DEPTH', 'QFC': 'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE', 'PREPRO': 'INITIAL PREPBUFR PROCESSING STEP', 'SYNDATA': 'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP', 'PKWNDSEQ': 'PEAK WIND SEQUENCE', 'ITP': 'INSTRUMENT TYPE', 'Q__POSTP': 'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE', 'PWTVWTA': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL', 'TCLIMATO': 'TEMPERATURE CLIMATOLOGY SEQUENCE', 'PWTVWTG': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS', 'RPT': 'REPORTED OBSERVATION TIME', 'TP01': 'TOTAL PRECIPITATION PAST 1 HOUR', 'TP03': 'TOTAL PRECIPITATION PAST 3 HOURS', 'VTVI_SEQ': 'VERTICAL VISIBILITY SEQUENCE', 'TP06': 'TOTAL PRECIPITATION PAST 6 HOURS', 'POE': 'PRESSURE OBSERVATION ERROR (MB)', 'POB': 'PRESSURE OBSERVATION (MB)', 'PW2BACKG': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'TURB2SEQ': 'TURBULENCE SEQUENCE # 2', 'PW__INFO': 'PRECIPITABLE WATER INFORMATION', 'PWA': 'ANALYZED TOTAL PRECIPITABLE WATER VALUE', 'VCL': 'CLIMATOLOGICAL V-COMPONENT WIND VALUE', 'VCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE', 'SSTQM': 'SEA TEMPERATURE (QUALITY) MARKER', 'DHR': 'OBSERVATION TIME MINUS CYCLE TIME (HOURS)', 'VIRTMP': 'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP', '24PC': '24 HOUR PRESSURE CHANGE', 'PVWTG': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS', 'PVWTA': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL', 'ROLF': 'AIRCRAFT ROLL ANGLE FLAG', 'TQM': 'TEMPERATURE (QUALITY) MARKER', 'AIRCFT': 'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS', 'HBOI': 'HEIGHT OF BASE OF ICING', 'PRSLEVEL': 'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)', 'LATCORSQ': 'LATITUDE CORRECTION SEQUENCE', 'HBOT': 'HEIGHT OF BASE OF TURBULENCE', 'ZFC': 'FORECAST (BACKGROUND) HEIGHT VALUE', 'QAN': 'ANALYZED SPECIFIC HUMIDITY VALUE', 'Q___INFO': 'SPECIFIC HUMIDITY INFORMATION', 'QIFY': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST', 'P___INFO': 'PRESSURE INFORMATION', 'SSTFC': 'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE', 'QIFN': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST', 'TPRECSEQ': 'TOTAL PRECIPITATION SEQUENCE', 'Z__POSTP': 'HEIGHT POSTPROCESSING SEQUENCE', 'QRC': 'SPECIFIC HUMIDITY EVENT REASON CODE', 'PTENDSEQ': 'PRESSURE TENDENCY SEQUENCE', 'XWSPDSEQ': 'EXTRAPOLATED WIND SPEED SEQUENCE', 'ZAN': 'ANALYZED HEIGHT VALUE', 'RRTQM': 'RAINFALL (AVERAGE RATE) (QUALITY) MARKER', 'PROFLR': 'WIND PROFILER REPORTS', 'PWTPOSTP': 'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE', 'CHNM': 'CHANNEL NUMBER', 'CTP_INFO': 'CLOUD TOP INFORMATION', 'SSTAN': 'ANALYZED SEA TEMPERATURE VALUE', 'PW3BACKG': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'SUNSHSEQ': 'TOTAL SUNSHINE SEQUENCE', 'PRWE': 'PRESENT WEATHER', 'XS10': '10 METER EXTRAPOLATED WIND SPEED', 'NRLQMS': 'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)', 'PWF__MSQ': 'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE', 'Q__EVENT': 'SPECIFIC HUMIDITY EVENT SEQUENCE', 'TCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE', 'TCL': 'CLIMATOLOGICAL TEMPERATURE VALUE', 'W__BACKG': 'WIND BACKGROUND SEQUENCE', 'XDR': 'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)', 'DOFS': 'DEPTH OF FRESH SNOW', 'PFC__MSQ': 'MODEL PRESSURE FORECAST SEQUENCE', 'SIRC': 'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR', 'ZOB': 'HEIGHT OBSERVATION (M)', 'ZOE': 'HEIGHT OBSERVATION ERROR (M)', 'RSRD_SEQ': 'RESTRICTIONS ON REDISTRIBUTION SEQUENCE', 'SATEMP': 'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'SSTOE': 'SEA TEMPERATURE OBSERVATION ERROR', 'DDO': 'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)', 'SSTPOSTP': 'SEA TEMPERATURE POSTPROCESSING SEQUENCE', 'AFIC_SEQ': 'AIRCRAFT ICING SEQUENCE', 'PCCF_SEQ': 'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE', 'CTPPOSTP': 'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE', 'WSPD1': 'SURFACE WIND SPEED', 'TRBX10': 'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB', 'SPRR': 'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)', 'LKCS': 'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)', 'PRSLEVLG': 'GOESND PRESSURE LEVEL SEQUENCE', 'OZON': 'OZONE', 'CTPAN': 'ANALYZED CLOUD TOP PRESSURE VALUE', 'R3DVAR': '3DVAR REGIONAL ANALYSIS STEP', 'Z__EVENT': 'HEIGHT EVENT SEQUENCE', 'PWFMOD': 'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)', 'ASCATW': 'ASCAT SCATTEROMETER DATA (REPROCESSED)', 'MRLWC': 'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)', 'VISB1SEQ': 'VISIBILITY SEQUENCE # 1', 'PW4_INFO': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'TMBR': 'BRIGHTNESS TEMPERATURE (KELVIN)', 'MXGD': 'MAXIMUM WIND GUST DIRECTION', 'EEQF': 'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR', 'TVO': 'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)', 'MXGS': 'MAXIMUM WIND SPEED (GUSTS, M/S)', 'P__EVENT': 'PRESSURE EVENT SEQUENCE', 'WDSATR': 'WINDSAT SCATTEROMETER DATA (REPROCESSED)', 'REQV': 'RAINFALL (AVERAGE RATE) OBSERVATION', 'QFCMOD': 'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)', 'ATRN': 'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)', 'WDIR1': 'SURFACE WIND DIRECTION', 'LONCORSQ': 'LONGITUDE CORRECTION SEQUENCE', 'XORG': 'REPORTED (ORIGINAL) LONGITUDE', 'RRTEVENT': 'RATE RATE EVENT SEQUENCE', 'YORG': 'REPORTED (ORIGINAL) LATITUDE', 'MWS10': 'MODEL WIND SPEED AT 10 M', 'TDO': 'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)', 'YDR': 'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)', 'UFC': 'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE', 'W__POSTP': 'WIND POSTPROCESSING SEQUENCE', 'SWINDSEQ': 'SURFACE WIND SEQUENCE', 'PRSS': 'SURFACE PRESSURE OBSERVATION (PASCALS)', 'SSTPC': 'SEA TEMPERATURE EVENT PROGRAM CODE', 'WSPD_SEQ': 'WIND SPEED SEQUENCE', 'VFCMOD': 'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)', 'AFIC': 'AIRFRAME ICING', 'WSEQC1': 'WINDSAT EDR QC FLAG #1', 'DOSW': 'DIRECTION OF SWELL WAVES', 'PPC': 'PRESSURE EVENT PROGRAM CODE', 'PWTBACKG': 'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE', 'VPRE': 'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL', 'PWL_INFO': 'LAYER PRECIPITABLE WATER INFORMATION', 'TVWTA': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL', 'PRSLEVLA': 'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE', 'HTOI': 'HEIGHT OF TOP OF ICING', 'YOB': 'LATITUDE (DEG N)', 'TVWTG': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS', 'HTOT': 'HEIGHT OF TOP OF TURBULENCE', 'SSTBACKG': 'SEA TEMPERATURE BACKGROUND SEQUENCE', 'UCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE', 'PWR': 'TOTAL PRECIPITABLE WATER EVENT REASON CODE', 'PWP': 'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE', 'PWQ': 'TOTAL PRECIPITABLE WATER (QUALITY) MARKER', 'TP12': 'TOTAL PRECIPITATION PAST 12 HOURS', '3HPC': '3 HOUR PRESSURE CHANGE', 'PWF': 'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE', 'PWE': 'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)', 'QKSWND': 'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)', 'TRBX43': 'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)', 'PWO': 'TOTAL PRECIPITABLE WATER OBSERVATION (MM)', 'TRBX': 'TURBULENCE INDEX', 'PW3FMOD': 'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)', 'GSI': 'GSI ANALYSIS STEP', 'A1': 'ERS INCIDENT ANGLE NUMBER 1', 'RRTRC': 'RAINFALL (AVERAGE RATE) EVENT REASON CODE', 'QVWTA': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL', 'TFCMOD': 'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)', 'QVWTG': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS', 'SPDE': 'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL', 'CTPBACKG': 'CLOUD TOP PRESSURE BACKGROUND SEQUENCE', 'GCDTT': 'GOES CLOUD TOP TEMPERATURE OBSERVATION', 'PW3R': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW3P': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW3Q': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW3F': 'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE', 'PW3E': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PW3A': 'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE', 'PW3O': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'ZPC': 'HEIGHT EVENT PROGRAM CODE', 'UCL': 'CLIMATOLOGICAL U-COMPONENT WIND VALUE', 'PW1BACKG': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SQN': 'REPORT SEQUENCE NUMBER', 'B2': 'ERS AZIMUTH ANGLE NUMBER 2', 'B3': 'ERS AZIMUTH ANGLE NUMBER 3', 'PWT_INFO': 'TOTAL PRECIPITABLE WATER INFORMATION', 'PW4BACKG': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SWELLSEQ': 'SWELL WAVE SEQUENCE', 'CLTP': 'CLOUD TYPE', 'GOESND': 'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'WAVE_SEQ': 'WAVE SEQUENCE', 'PW1_INFO': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'PW3_INFO': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'WSST': 'WINDSAT SURFACE TYPE', 'CQCPROF': 'WIND PROFILER QUALITY CONTROL STEP', 'BTMPLEVL': "BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE", 'W___INFO': 'WIND INFORMATION', 'VTVI': 'VERTICAL VISIBILITY', 'MXTM': 'MAXIMUM TEMPERATURE', 'SPRVSTG': 'MESONET SUBPROVIDER ID STRING', 'B1': 'ERS AZIMUTH ANGLE NUMBER 1', 'TCOR': "INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED", 'PSTWXSEQ': 'PAST WEATHER SEQUENCE', 'AIRCAR': 'MDCRS ACARS AIRCRAFT REPORTS', 'TRC': 'TEMPERATURE EVENT REASON CODE', 'TOPC_SEQ': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE', 'T__BACKG': 'TEMPERATURE BACKGROUND SEQUENCE', 'T29': 'DATA DUMP REPORT TYPE', 'T___INFO': 'TEMPERATURE INFORMATION', 'PW3F_MSQ': 'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'VOB': 'V-COMPONENT WIND OBSERVATION (M/S)', 'QCLIMATO': 'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE', 'OIQC': 'OI-QUALITY MULTI-PLATFROM CONTROL STEP', 'PMSL_SEQ': 'MEAN SEA LEVEL PRESSURE SEQUENCE', 'WVCQ': 'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)', 'DEFAULT': 'NON-DEFINED STEP (DEFAULT)', 'TOCC': 'CLOUD COVER (TOTAL)', 'SST1': 'SEA TEMPERATURE', 'ACAV': 'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE', 'CTPRC': 'CLOUD TOP PRESSURE EVENT REASON CODE', 'PRVSTG': 'MESONET PROVIDER ID STRING', 'TRBX21': 'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)', 'PMQ': 'MEAN SEA-LVL PRESSURE (QUALITY) MARKER', 'DBSS_SEQ': 'DEPTH BELOW SEA SURFACE SEQUENCE', 'MSONET': 'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)', 'PMO': 'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)', 'PWTEVENT': 'TOTAL PRECIPITABLE WATER EVENT SEQUENCE', 'PW4POSTP': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'TMSK': 'SKIN TEMPERATURE', 'CLOU2SEQ': 'OBSERVED CLOUD SEQUENCE # 2', 'PW2F_MSQ': 'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'WVWTG': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS', 'ELV': 'STATION ELEVATION (M)', 'WVWTA': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL', 'ZFCMOD': 'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)', 'RSRD': 'RESTRICTIONS ON REDISTRIBUTION', 'PREPACQC': 'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)', 'SSTE': 'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL', 'QCS': 'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'ZCLIMATO': 'HEIGHT CLIMATOLOGY SEQUENCE', 'PCAT': 'PRECISION OF TEMPERATURE OBSERVATION', 'QCL': 'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'PW4EVENT': '0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE', 'HOWV': 'HEIGHT OF WAVES', 'HOWW': 'HEIGHT OF WIND WAVES', 'CQCHT': 'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP', 'RRTAN': 'ANALYZED RAINFALL (AVERAGE RATE) VALUE', 'A3': 'ERS INCIDENT ANGLE NUMBER 3', 'A2': 'ERS INCIDENT ANGLE NUMBER 2', 'ALSE': 'ALTIMETER SETTING OBSERVATION', 'HOCB': 'HEIGHT OF BASE OF CLOUD', 'SSTEVENT': 'SEA TEMPERATURE EVENT SEQUENCE', 'SQM': 'WIND SPEED (SOB) (QUALITY) MARKER', 'Q__BACKG': 'SPECIFIC HUMIDITY BACKGROUND SEQUENCE', 'PROCN': 'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)', 'HBLCS': 'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN', 'RRT_INFO': 'RAIN RATE INFORMATION', 'PW2EVENT': '0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE', 'Z__BACKG': 'HEIGHT BACKGROUND SEQUENCE', 'PFC': 'FORECAST (BACKGROUND) PRESSURE VALUE', 'ZCL': 'CLIMATOLOGICAL HEIGHT VALUE', 'SHIP_SEQ': 'SHIP DIRECTION/SPEED SEQUENCE', 'VSSO': 'VERT. SIGNIFICANCE (SFC OBSERVATION)', 'DRFTINFO': 'PROFILE LEVEL TIME/LOCATION INFORMATION', 'ZCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE', 'DBSS': 'DEPTH BELOW SEA SURFACE'} +
                                                              + +

                                                              dictionary mapping prepbufr mnemonics to human readable descriptions

                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              #   + + amsu_mnemonics_dict = {'NC021021': 'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)', 'NC021022': 'MTYP 021-022 PROCESSED MSU 1B Tb DATA (NOAA-14)', 'NC021023': 'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)', 'NC021024': 'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)', 'NC021025': 'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)', 'NC021027': 'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)', 'NC021028': 'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)', 'NC021033': 'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)', 'NC021034': 'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)', 'NC021035': 'MTYP 021-035 RARS(EARS,AP,SA) HIRS 1C Tb DATA(N15-19)', 'NC021036': 'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA (N18-19)', 'NC021041': 'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA', 'NC021042': 'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)', 'NC021043': 'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)', 'NC021051': 'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)', 'NC021052': 'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)', 'NC021053': 'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)', 'NC021054': 'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)', 'NC021123': 'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)', 'NC021201': 'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)', 'NC021202': 'MTYP 021-202 NPP CrIS RADIANCE DATA', 'NC021203': 'MTYP 021-203 NPP ATMS RADIANCE DATA', 'NC021241': 'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)', 'NC021249': 'MTYP 021-249 EVERY FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021250': 'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021251': 'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA', 'NC021252': 'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA', 'NC021253': 'MTYP 021-253 AIRS PRINCIPAL COMPONENTS', 'NC021254': 'MTYP 021-254 AMSR-E CHANNEL DATA', 'NC021255': 'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'YYMMDD': 'DATE -- YEAR, MONTH, DAY', 'HHMM': 'TIME -- HOUR, MINUTE', 'HHMMSS': 'TIME -- HOUR, MINUTE, SECOND', 'LTLONH': 'HIGH ACCURACY LATITUDE/LONGITUDE POSITION', 'SIDGRSEQ': 'SATELLITE IDENTIFIER/GENERATING RESOLUTION', 'SIDENSEQ': 'SATELLITE IDENTIFICATION', 'LOCPLAT': 'LOCATION OF PLATFORM (SATELLITE) SEQUENCE', 'ALLSKYRD': 'ALL SKY RADIANCE DATA', 'CLOUDCOV': 'CLOUD COVERAGE', 'ATOVAMUA': 'ATOVS AMSU-A REPORT', 'ATOVAMUB': 'ATOVS AMSU-B REPORT', 'ATFOV': 'ATOVS FIELD OF VIEW VARIABLES', 'ATCHV': 'ATOVS CHANNEL VARIABLES', 'SSMISTEM': 'SSM/IS TEMPERATURE DATA RECORD', 'ALLSKYRP': 'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE', 'SCO1C3IN': 'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS', 'SPITSEQN': 'SATELLITE POSITION AND INSTRUMENT TEMPERATURES', 'SITPSEQN': 'SATELLITE INSTRUMENT TYPE AND POSITION', 'SCBTSEQN': 'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET', 'SVCASEQN': 'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET', 'SATRCPRC': 'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS', 'IASIL1CB': 'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE', 'IASIL1CS': 'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE', 'BCFQFSQ': 'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE', 'CRCHN': 'NPP CrIS CHANNEL DATA', 'AMSUSPOT': 'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)', 'AMSUCHAN': 'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)', 'HSBSPOT': 'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)', 'HSBCHAN': 'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)', 'ATMSCH': 'NPP ATMS CHANNEL DATA', 'INTMS': 'SATELLITE INSTRUMENT TEMPERATURES', 'AIRSPC': 'AIRS PRINCIPAL COMPONENT SEQUENCE', 'AIRSCORE': 'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE', 'AVCSEQ': 'AVHRR (GAC) CHANNEL SEQUENCE', 'BID': 'BULLETIN HEADER DATA', 'RCPTIM': 'REPORT RECEIPT TIME DATA', 'SATEPHEM': 'SSM/IS SATELLITE EPHEMERIS INFORMATION', 'SCLINGEO': 'SSM/IS SCAN LINE GEOMETRY', 'SSMISCHN': 'SSM/IS CHANNEL SEQUENCE', 'IASICHN': 'IASI LEVEL 1C SCALED RADIANCE SEQUENCE', 'AVHRCHN': 'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ', 'BRITCSTC': 'BRIGHTNESS TEMPERATURE SEQUENCE #2', 'BRIT': 'BRIGHTNESS TEMPERATURE SEQUENCE', 'RADS': 'RADIANCE SEQUENCE', 'AMSRCHAN': 'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)', 'AMSRDICE': 'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)', 'RPSEQ7': 'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE', 'RPSEQ8': 'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE', 'RPSEQ4': 'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE', 'WLTMSEQN': 'WARM LOAD TEMPERATURE SEQUENCE', 'MUHOSEQN': 'MULTIPLEXER HOUSEKEEPING SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER', 'GCLONG': 'ORIGINATING/GENERATING CENTER', 'GNAP': 'GENERATING APPLICATION', 'OGCE': 'IDENTIFICATION OF ORIGINATING/GENERATING CENTER', 'GSES': 'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER', 'SIID': 'SATELLITE INSTRUMENTS', 'SCLF': 'SATELLITE CLASSIFICATION', 'SIDU': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'IMHC': 'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD', 'SSNX': 'SEGMENT SIZE AT NADIR IN X DIRECTION', 'SSNY': 'SEGMENT SIZE AT NADIR IN Y DIRECTION', 'SSIN': 'SATELLITE SENSOR INDICATOR', 'ANPO': 'ANTENNA POLARIZATION', 'RAIA': 'RADAR INCIDENCE ANGLE', 'INCN': 'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER', 'RAID': 'RADIOMETER IDENTIFIER', 'SIDP': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'SCCF': 'SATELLITE CHANNEL CENTER FREQUENCY', 'SCBW': 'SATELLITE CHANNEL BAND WIDTH', 'RDTF': 'RADIANCE TYPE FLAGS', 'RDTP': 'RADIANCE TYPE', 'RDCM': 'RADIANCE COMPUTATIONAL METHOD', 'YEAR': 'YEAR', 'MNTH': 'MONTH', 'DAYS': 'DAY', 'HOUR': 'HOUR', 'MINU': 'MINUTE', 'SECO': 'SECOND', 'TPSE': 'TIME PERIOD OR DISPLACEMENT', 'RCYR': 'YEAR - TIME OF RECEIPT', 'RCMO': 'MONTH - TIME OF RECEIPT', 'RCDY': 'DAY - TIME OF RECEIPT', 'RCHR': 'HOUR - TIME OF RECEIPT', 'RCMI': 'MINUTE - TIME OF RECEIPT', 'CLATH': 'LATITUDE (HIGH ACCURACY)', 'CLAT': 'LATITUDE (COARSE ACCURACY)', 'BEARAZ': 'BEARING OR AZIMUTH', 'SOLAZI': 'SOLAR AZIMUTH', 'ORBN': 'ORBIT NUMBER', 'SLNM': 'SCAN LINE NUMBER', 'CHNM': 'CHANNEL NUMBER', 'FOVN': 'FIELD OF VIEW NUMBER', 'FORN': 'FIELD OF REGARD NUMBER', 'YAPCG': 'Y ANGULAR POSITION OF CENTER OF GRAVITY', 'ZAPCG': 'Z ANGULAR POSITION OF CENTER OF GRAVITY', 'CLONH': 'LONGITUDE (HIGH ACCURACY)', 'CLON': 'LONGITUDE (COARSE ACCURACY)', 'WVNM': 'WAVE NUMBER', 'SELV': 'HEIGHT OF STATION', 'HMSL': 'HEIGHT OR ALTITUDE', 'PRLC': 'PRESSURE', 'SAZA': 'SATELLITE ZENITH ANGLE', 'SOZA': 'SOLAR ZENITH ANGLE', 'VSIG': 'VERTICAL SOUNDING SIGNIFICANCE', 'VSAT': 'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)', 'DIMS': 'DIMENSIONAL SIGNIFICANCE', 'LSQL': 'LAND/SEA QUALIFIER', 'TSIG': 'TIME SIGNIFICANCE', 'FOST': 'FIRST ORDER STATISTICS', 'MDPC': 'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE', 'TAPQ': 'TOVS/ATOVS PRODUCT IDENTIFIER', 'STKO': 'ASCENDING/DESCENDING ORBIT QUALIFIER', 'TOBD': 'TYPE OF BAND', 'RCTS': 'RECEIPT TIME SIGNIFICANCE', 'HOLS': 'HEIGHT OF LAND SURFACE', 'HITE': 'GEOPOTENTIAL HEIGHT', 'PDNP': "IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER", 'TMBRST': 'BRIGHTNESS TEMPERATURE', 'TMINST': 'INSTRUMENT TEMPERATURE', 'SDTB': 'STANDARD DEVIATION BRIGHTNESS TEMPERATURE', 'TMANT': 'ANTENNA TEMPERATURE', 'WLTM': 'WARM LOAD TEMPERATURE', 'SPRD': 'SPECTRAL RADIANCE', 'RDNE': 'RADIANCE', 'NEDTCO': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET', 'NEDTWA': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET', 'TMBR': 'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)', 'CSTC': 'COLD SPACE TEMPERATURE CORRECTION', 'REHU': 'RELATIVE HUMIDITY', 'SFLG': 'SURFACE FLAG', 'ALBD': 'ALBEDO', 'SRAD': 'CHANNEL RADIANCE', 'CHRAD': 'CHANNEL RADIANCE', 'SCRA': 'SCALED IASI RADIANCE', 'SMRA': 'SCALED MEAN AVHRR RADIANCE', 'SSDR': 'SCALED STANDARD DEVIATION OF AVHRR RADIANCE', 'LOGCT': 'LOG10 OF CLOUD TEST RESULTS', 'TOCC': 'CLOUD COVER (TOTAL)', 'CLTP': 'CLOUD TYPE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'RFLAG': 'RAIN FLAG', 'CLDMNT': 'CLOUD AMOUNT IN SEGMENT', 'NCLDMNT': 'AMOUNT SEGMENT CLOUD FREE', 'CLAVR': 'CLOUD FROM AVHRR (CLAVR) CLOUD MASK', 'WTCA': 'WARM TARGET CALIBRATION', 'CTCA': 'COLD TARGET CALIBRATION', 'ALFR': 'LAND FRACTION', 'APCOMP': 'PRINCIPAL COMPONENT SCORE', 'AVHCST': 'AVHRR CHANNEL COMBINATION', 'APCFIT': 'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA', 'SSID': 'SSMIS SUBFRAME ID NUMBER', 'MUHO': 'MULTIPLEXOR HOUSEKEEPING', 'MJFC': 'MAJOR FRAME COUNT', 'SACV': 'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER', 'LOGRCW': 'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)', 'BWCC1': 'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS', 'BWCC2': 'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS', 'ASFI': 'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS', 'AEFW': 'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS', 'FCPH': 'FRACTION OF CLEAR PIXELS IN HIRS FOV', 'STCH': 'START CHANNEL', 'ENCH': 'END CHANNEL', 'CHSF': 'CHANNEL SCALE FACTOR', 'PD00': "IN DIRECTION OF 0 DEG E, DISTANCE FROM EARTH'S CENTER", 'PD90': "IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER", 'NPPR': 'NUMBER OF PIXELS PER ROW', 'NPPC': 'NUMBER OF PIXELS PER COLUMN', 'QMRKH': 'QUALITY INFORMATION', 'PCCF': 'PERCENT CONFIDENCE', 'SLSF': 'SCAN LINE STATUS FLAGS FOR ATOVS', 'SLQF': 'SCAN LINE QUALITY FLAGS FOR ATOVS', 'ACQF': 'CHANNEL QUALITY FLAGS FOR ATOVS', 'FOVQ': 'FIELD OF VIEW QUALITY FLAGS FOR ATOVS', 'QGFQ': 'INDIVIDUAL IASI-SYSTEM QUALITY FLAG', 'QGQI': 'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)', 'QGQIL': 'GEOMETRIC QUALITY INDEX INDICATOR', 'QGQIR': 'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)', 'QGQIS': 'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)', 'QGSSQ': 'OUTPUT OF TEC FUNCTION', 'NSQF': 'SCAN LEVEL QUALITY FLAGS', 'NCQF': 'CALIBRATION QUALITY FLAGS', 'NFQF': 'FIELD OF VIEW QUALITY FLAGS', 'NGQI': 'GEOLOCATION QUALITY', 'ATMSGQ': 'GRANULE LEVEL QUALITY FLAGS', 'ATMSSQ': 'SCAN LEVEL QUALITY FLAGS', 'ATMSCHQ': 'CHANNEL DATA QUALITY FLAGS', 'BUHD': 'BULLETIN BEING MONITORED (TTAAii)', 'BULTIM': 'BULLETIN BEING MONITORED (YYGGgg)', 'BORG': 'BULLETIN BEING MONITORED (CCCC)', 'BBB': 'BULLETIN BEING MONITORED (BBB)', 'SEQNUM': 'CHANNEL SEQUENCE NUMBER'} +
                                                              + +

                                                              dictionary mapping amsu mnemonics to human readable descriptions

                                                              +
                                                              + + +
                                                              +
                                                              + + + + \ No newline at end of file diff --git a/python/search.json b/previous_versions/v12.0.1/python/search.json similarity index 100% rename from python/search.json rename to previous_versions/v12.0.1/python/search.json diff --git a/rcstpl_8f.html b/previous_versions/v12.0.1/rcstpl_8f.html similarity index 100% rename from rcstpl_8f.html rename to previous_versions/v12.0.1/rcstpl_8f.html diff --git a/rcstpl_8f.js b/previous_versions/v12.0.1/rcstpl_8f.js similarity index 100% rename from rcstpl_8f.js rename to previous_versions/v12.0.1/rcstpl_8f.js diff --git a/rcstpl_8f_source.html b/previous_versions/v12.0.1/rcstpl_8f_source.html similarity index 100% rename from rcstpl_8f_source.html rename to previous_versions/v12.0.1/rcstpl_8f_source.html diff --git a/rdbfdx_8f.html b/previous_versions/v12.0.1/rdbfdx_8f.html similarity index 100% rename from rdbfdx_8f.html rename to previous_versions/v12.0.1/rdbfdx_8f.html diff --git a/rdbfdx_8f.js b/previous_versions/v12.0.1/rdbfdx_8f.js similarity index 100% rename from rdbfdx_8f.js rename to previous_versions/v12.0.1/rdbfdx_8f.js diff --git a/rdbfdx_8f_source.html b/previous_versions/v12.0.1/rdbfdx_8f_source.html similarity index 100% rename from rdbfdx_8f_source.html rename to previous_versions/v12.0.1/rdbfdx_8f_source.html diff --git a/rdcmps_8f.html b/previous_versions/v12.0.1/rdcmps_8f.html similarity index 100% rename from rdcmps_8f.html rename to previous_versions/v12.0.1/rdcmps_8f.html diff --git a/rdcmps_8f.js b/previous_versions/v12.0.1/rdcmps_8f.js similarity index 100% rename from rdcmps_8f.js rename to previous_versions/v12.0.1/rdcmps_8f.js diff --git a/rdcmps_8f_source.html b/previous_versions/v12.0.1/rdcmps_8f_source.html similarity index 100% rename from rdcmps_8f_source.html rename to previous_versions/v12.0.1/rdcmps_8f_source.html diff --git a/rdmemm_8f.html b/previous_versions/v12.0.1/rdmemm_8f.html similarity index 100% rename from rdmemm_8f.html rename to previous_versions/v12.0.1/rdmemm_8f.html diff --git a/rdmemm_8f.js b/previous_versions/v12.0.1/rdmemm_8f.js similarity index 100% rename from rdmemm_8f.js rename to previous_versions/v12.0.1/rdmemm_8f.js diff --git a/rdmemm_8f_source.html b/previous_versions/v12.0.1/rdmemm_8f_source.html similarity index 100% rename from rdmemm_8f_source.html rename to previous_versions/v12.0.1/rdmemm_8f_source.html diff --git a/rdmems_8f.html b/previous_versions/v12.0.1/rdmems_8f.html similarity index 100% rename from rdmems_8f.html rename to previous_versions/v12.0.1/rdmems_8f.html diff --git a/rdmems_8f.js b/previous_versions/v12.0.1/rdmems_8f.js similarity index 100% rename from rdmems_8f.js rename to previous_versions/v12.0.1/rdmems_8f.js diff --git a/rdmems_8f_source.html b/previous_versions/v12.0.1/rdmems_8f_source.html similarity index 100% rename from rdmems_8f_source.html rename to previous_versions/v12.0.1/rdmems_8f_source.html diff --git a/rdmgsb_8f.html b/previous_versions/v12.0.1/rdmgsb_8f.html similarity index 100% rename from rdmgsb_8f.html rename to previous_versions/v12.0.1/rdmgsb_8f.html diff --git a/rdmgsb_8f.js b/previous_versions/v12.0.1/rdmgsb_8f.js similarity index 100% rename from rdmgsb_8f.js rename to previous_versions/v12.0.1/rdmgsb_8f.js diff --git a/rdmgsb_8f_source.html b/previous_versions/v12.0.1/rdmgsb_8f_source.html similarity index 100% rename from rdmgsb_8f_source.html rename to previous_versions/v12.0.1/rdmgsb_8f_source.html diff --git a/rdmsgw_8F90.html b/previous_versions/v12.0.1/rdmsgw_8F90.html similarity index 100% rename from rdmsgw_8F90.html rename to previous_versions/v12.0.1/rdmsgw_8F90.html diff --git a/rdmsgw_8F90.js b/previous_versions/v12.0.1/rdmsgw_8F90.js similarity index 100% rename from rdmsgw_8F90.js rename to previous_versions/v12.0.1/rdmsgw_8F90.js diff --git a/rdmsgw_8F90_source.html b/previous_versions/v12.0.1/rdmsgw_8F90_source.html similarity index 100% rename from rdmsgw_8F90_source.html rename to previous_versions/v12.0.1/rdmsgw_8F90_source.html diff --git a/rdmtbb_8f.html b/previous_versions/v12.0.1/rdmtbb_8f.html similarity index 100% rename from rdmtbb_8f.html rename to previous_versions/v12.0.1/rdmtbb_8f.html diff --git a/rdmtbb_8f.js b/previous_versions/v12.0.1/rdmtbb_8f.js similarity index 100% rename from rdmtbb_8f.js rename to previous_versions/v12.0.1/rdmtbb_8f.js diff --git a/rdmtbb_8f_source.html b/previous_versions/v12.0.1/rdmtbb_8f_source.html similarity index 100% rename from rdmtbb_8f_source.html rename to previous_versions/v12.0.1/rdmtbb_8f_source.html diff --git a/rdmtbd_8f.html b/previous_versions/v12.0.1/rdmtbd_8f.html similarity index 100% rename from rdmtbd_8f.html rename to previous_versions/v12.0.1/rdmtbd_8f.html diff --git a/rdmtbd_8f.js b/previous_versions/v12.0.1/rdmtbd_8f.js similarity index 100% rename from rdmtbd_8f.js rename to previous_versions/v12.0.1/rdmtbd_8f.js diff --git a/rdmtbd_8f_source.html b/previous_versions/v12.0.1/rdmtbd_8f_source.html similarity index 100% rename from rdmtbd_8f_source.html rename to previous_versions/v12.0.1/rdmtbd_8f_source.html diff --git a/rdmtbf_8f.html b/previous_versions/v12.0.1/rdmtbf_8f.html similarity index 100% rename from rdmtbf_8f.html rename to previous_versions/v12.0.1/rdmtbf_8f.html diff --git a/rdmtbf_8f.js b/previous_versions/v12.0.1/rdmtbf_8f.js similarity index 100% rename from rdmtbf_8f.js rename to previous_versions/v12.0.1/rdmtbf_8f.js diff --git a/rdmtbf_8f_source.html b/previous_versions/v12.0.1/rdmtbf_8f_source.html similarity index 100% rename from rdmtbf_8f_source.html rename to previous_versions/v12.0.1/rdmtbf_8f_source.html diff --git a/rdtree_8f.html b/previous_versions/v12.0.1/rdtree_8f.html similarity index 100% rename from rdtree_8f.html rename to previous_versions/v12.0.1/rdtree_8f.html diff --git a/rdtree_8f.js b/previous_versions/v12.0.1/rdtree_8f.js similarity index 100% rename from rdtree_8f.js rename to previous_versions/v12.0.1/rdtree_8f.js diff --git a/rdtree_8f_source.html b/previous_versions/v12.0.1/rdtree_8f_source.html similarity index 100% rename from rdtree_8f_source.html rename to previous_versions/v12.0.1/rdtree_8f_source.html diff --git a/rdusdx_8f.html b/previous_versions/v12.0.1/rdusdx_8f.html similarity index 100% rename from rdusdx_8f.html rename to previous_versions/v12.0.1/rdusdx_8f.html diff --git a/rdusdx_8f.js b/previous_versions/v12.0.1/rdusdx_8f.js similarity index 100% rename from rdusdx_8f.js rename to previous_versions/v12.0.1/rdusdx_8f.js diff --git a/rdusdx_8f_source.html b/previous_versions/v12.0.1/rdusdx_8f_source.html similarity index 100% rename from rdusdx_8f_source.html rename to previous_versions/v12.0.1/rdusdx_8f_source.html diff --git a/previous_versions/v12.0.1/readbp_8F90.html b/previous_versions/v12.0.1/readbp_8F90.html new file mode 100644 index 000000000..9b7bc68e8 --- /dev/null +++ b/previous_versions/v12.0.1/readbp_8F90.html @@ -0,0 +1,179 @@ + + + + + + + +NCEPLIBS-bufr: readbp.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              readbp.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + +

                                                              +Functions/Subroutines

                                                              subroutine printx (str)
                                                               Print long lines to stdout using advance=no format clause. More...
                                                               
                                                              program readbp
                                                               Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition in file readbp.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ printx()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine printx (character(*) str)
                                                              +
                                                              + +

                                                              Print long lines to stdout using advance=no format clause.

                                                              +
                                                              Parameters
                                                              + + +
                                                              strString to print.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 256 of file readbp.F90.

                                                              + +

                                                              Referenced by readbp().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readbp()

                                                              + +
                                                              +
                                                              + + + + +
                                                              program readbp
                                                              +
                                                              + +

                                                              Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time.

                                                              +

                                                              Options are listed by running "readbp" without argumets.

                                                              +
                                                              Returns
                                                              0 for success, error code otherwise.
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 18 of file readbp.F90.

                                                              + +

                                                              References datelen(), ireadmg(), ireadsb(), openbf(), printx(), ufbcnt(), ufbint(), and ufdump().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/readbp_8F90.js b/previous_versions/v12.0.1/readbp_8F90.js new file mode 100644 index 000000000..592afda2c --- /dev/null +++ b/previous_versions/v12.0.1/readbp_8F90.js @@ -0,0 +1,5 @@ +var readbp_8F90 = +[ + [ "printx", "readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c", null ], + [ "readbp", "readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/readbp_8F90_source.html b/previous_versions/v12.0.1/readbp_8F90_source.html new file mode 100644 index 000000000..9d5d591f1 --- /dev/null +++ b/previous_versions/v12.0.1/readbp_8F90_source.html @@ -0,0 +1,356 @@ + + + + + + + +NCEPLIBS-bufr: readbp.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              readbp.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 
                                                              +
                                                              14 
                                                              +
                                                              15 !-----------------------------------------------------------------------
                                                              +
                                                              16 ! READ AND DISPLAY AN ON29BUFR FILE ONE REPORT AT A TIME
                                                              +
                                                              17 !-----------------------------------------------------------------------
                                                              +
                                                              18  PROGRAM readbp
                                                              +
                                                              19 
                                                              +
                                                              20  character(120) :: file
                                                              +
                                                              21  character(50) :: optarg
                                                              +
                                                              22  character(40) :: hstr,ostr,qstr
                                                              +
                                                              23  character(10) :: val
                                                              +
                                                              24  character(8) :: sid,sta,subset,msg,cmc(17)
                                                              +
                                                              25  character(3) :: vars(8)
                                                              +
                                                              26  integer :: iostat
                                                              +
                                                              27  real(8) :: hdr(10),obs(10,255),qms(10,255),qmc(17),xob,yob
                                                              +
                                                              28  logical :: window,steam,level,dump,hedr,exist
                                                              +
                                                              29 
                                                              +
                                                              30  equivalence(hdr(1),sid)
                                                              +
                                                              31  equivalence(qmc,cmc)
                                                              +
                                                              32 
                                                              +
                                                              33  DATA hstr/'SID XOB YOB DHR ELV T29 ITP TYP SRC PRG '/
                                                              +
                                                              34  DATA ostr/'CAT POB QOB TOB ZOB UOB VOB PSL '/
                                                              +
                                                              35  DATA qstr/'PQM QQM TQM ZQM WQM PSQ '/
                                                              +
                                                              36 
                                                              +
                                                              37  DATA vars/'LVL','CAT','POB','SPH','TOB','ZOB','UOB','VOB'/
                                                              +
                                                              38  DATA cmc /'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','*'/
                                                              +
                                                              39 
                                                              +
                                                              40  DATA lubfr /8 /
                                                              +
                                                              41  DATA sta /' '/
                                                              +
                                                              42  data msg /' '/
                                                              +
                                                              43  DATA pob /0/
                                                              +
                                                              44  data irt /0/
                                                              +
                                                              45  data itp /0/
                                                              +
                                                              46  data ikx /0/
                                                              +
                                                              47  data window /.false./
                                                              +
                                                              48  data steam /.false./
                                                              +
                                                              49  data level /.false./
                                                              +
                                                              50  data dump /.false./
                                                              +
                                                              51  data hedr /.false./
                                                              +
                                                              52 
                                                              +
                                                              53 !-----------------------------------------------------------------------
                                                              +
                                                              54 !-----------------------------------------------------------------------
                                                              +
                                                              55 
                                                              +
                                                              56 ! check for filename argument
                                                              +
                                                              57 
                                                              +
                                                              58  narg=iargc()
                                                              +
                                                              59 1 if(narg<1) THEN
                                                              +
                                                              60  call printx(' ')
                                                              +
                                                              61  call printx('Usage: readbp <-s> <-w> <m> <-k> <-r> <-d> <-n> <-h> prep bufrfile ')
                                                              +
                                                              62  call printx(' ')
                                                              +
                                                              63  call printx('Search filter and/or print prepbufr reports in various ways ')
                                                              +
                                                              64  call printx(' ')
                                                              +
                                                              65  call printx('-s "station_id " print reports where "station_id" matches the report id up to the len of "station_id" ')
                                                              +
                                                              66  call printx('-w "x1 x2 y1 y2" print reports within a lon/lat box ')
                                                              +
                                                              67  call printx('-m "subset " print reports with this subset name ')
                                                              +
                                                              68  call printx('-k "gsi rtype " print reports with this gsi report type ')
                                                              +
                                                              69  call printx('-r "on29 rtype " print reports with this on29 report type ')
                                                              +
                                                              70  call printx('-d print reports using ufdump - note: this works with any NCEP BUFR file ')
                                                              +
                                                              71  call printx('-n no pause between reports output ')
                                                              +
                                                              72  call printx('-h print only report headers ')
                                                              +
                                                              73  call printx(' ')
                                                              +
                                                              74  call printx('Only a filename is required in which case step through the reports one at a time using "enter" ')
                                                              +
                                                              75  call printx(' ')
                                                              +
                                                              76  call printx('Optional arguments can also be applied in the pause between reports output without using a dash ')
                                                              +
                                                              77  call printx(' ')
                                                              +
                                                              78  call printx('Optional arguments will be applied in concert in most cases ')
                                                              +
                                                              79  call printx(' ')
                                                              +
                                                              80  call exit(2)
                                                              +
                                                              81  ENDIF
                                                              +
                                                              82 
                                                              +
                                                              83  iarg=1
                                                              +
                                                              84  do while(iarg<=narg)
                                                              +
                                                              85  call getarg(iarg,file)
                                                              +
                                                              86  if(file(1:1)=='-') then
                                                              +
                                                              87  if(file(2:2)=='s') then
                                                              +
                                                              88  iarg=iarg+1; call getarg(iarg,sta); nsta=len(trim(sta))
                                                              +
                                                              89  elseif(file(2:2)=='w') then
                                                              +
                                                              90  iarg=iarg+1; call getarg(iarg,val); read(val,*)x1
                                                              +
                                                              91  iarg=iarg+1; call getarg(iarg,val); read(val,*)x2
                                                              +
                                                              92  iarg=iarg+1; call getarg(iarg,val); read(val,*)y1
                                                              +
                                                              93  iarg=iarg+1; call getarg(iarg,val); read(val,*)y2
                                                              +
                                                              94  window=.true.
                                                              +
                                                              95  elseif(file(2:2)=='k') then
                                                              +
                                                              96  iarg=iarg+1; call getarg(iarg,val); read(val,*)ikx
                                                              +
                                                              97  elseif(file(2:2)=='r') then
                                                              +
                                                              98  iarg=iarg+1; call getarg(iarg,val); read(val,*)irt
                                                              +
                                                              99  elseif(file(2:2)=='m') then
                                                              +
                                                              100  iarg=iarg+1; call getarg(iarg,val); msg=val(1:8)
                                                              +
                                                              101  elseif(file(2:2)=='d') then
                                                              +
                                                              102  iarg=iarg+1; dump=.true.
                                                              +
                                                              103  elseif(file(2:2)=='h') then
                                                              +
                                                              104  iarg=iarg+1; hedr=.true.
                                                              +
                                                              105  elseif(file(2:2)=='n') then
                                                              +
                                                              106  iarg=iarg+1; steam=.true.
                                                              +
                                                              107  else
                                                              +
                                                              108  iarg=iarg+1
                                                              +
                                                              109  endif
                                                              +
                                                              110  file='nofile'
                                                              +
                                                              111  cycle
                                                              +
                                                              112  endif
                                                              +
                                                              113  iarg=iarg+1
                                                              +
                                                              114  enddo
                                                              +
                                                              115 
                                                              +
                                                              116 ! check if file exists, then open it, else exit
                                                              +
                                                              117 
                                                              +
                                                              118  narg=0
                                                              +
                                                              119  if(file=='nofile') goto 1
                                                              +
                                                              120  file = trim(adjustl(file))
                                                              +
                                                              121  inquire(file=file,exist=exist)
                                                              +
                                                              122  if (.not.exist) then
                                                              +
                                                              123  print *, trim(file)//' does not exist'
                                                              +
                                                              124  call exit(3)
                                                              +
                                                              125  endif
                                                              +
                                                              126 
                                                              +
                                                              127 ! open the bufr input file
                                                              +
                                                              128 ! ------------------------
                                                              +
                                                              129 
                                                              +
                                                              130  open(lubfr,file=file,form='unformatted')
                                                              +
                                                              131  call openbf(lubfr,'IN',lubfr)
                                                              +
                                                              132  call datelen(10)
                                                              +
                                                              133 
                                                              +
                                                              134 ! READ A SUBSET - READ ANOTHER MESSAGE WHEN NO MORE SUBSETS
                                                              +
                                                              135 ! ---------------------------------------------------------
                                                              +
                                                              136 
                                                              +
                                                              137  do while(ireadmg(lubfr,subset,idate)==0)
                                                              +
                                                              138  do while(ireadsb(lubfr)==0)
                                                              +
                                                              139  call ufbcnt(lubfr,irec,isub)
                                                              +
                                                              140 
                                                              +
                                                              141  IF(msg.ne.' ' .and. msg.ne.subset) exit
                                                              +
                                                              142 
                                                              +
                                                              143  if(dump) then
                                                              +
                                                              144  call ufdump(lubfr,6)
                                                              +
                                                              145  goto 99
                                                              +
                                                              146  endif
                                                              +
                                                              147 
                                                              +
                                                              148 ! MOVE SUBSET CONTENTS INTO THIS PROGRAM
                                                              +
                                                              149 ! --------------------------------------
                                                              +
                                                              150 
                                                              +
                                                              151  CALL ufbint(lubfr,hdr,10, 1,iret,hstr)
                                                              +
                                                              152  xob = hdr(2)
                                                              +
                                                              153  yob = hdr(3)
                                                              +
                                                              154  jrt = nint(hdr(6))
                                                              +
                                                              155  jtp = nint(hdr(7))
                                                              +
                                                              156  jkx = nint(hdr(8))
                                                              +
                                                              157  IF(sta.NE.' ' .AND. sta.NE.sid(1:nsta)) cycle
                                                              +
                                                              158  IF(irt.ne.0 .and. irt.ne.jrt) cycle
                                                              +
                                                              159  IF(itp.ne.0 .and. itp.ne.jtp) cycle
                                                              +
                                                              160  IF(ikx.ne.0 .and. ikx.ne.jkx) cycle
                                                              +
                                                              161  if(window) then
                                                              +
                                                              162  if(.not.(xob.ge.x1 .and. xob.le.x2))cycle
                                                              +
                                                              163  if(.not.(yob.ge.y1 .and. yob.le.y2))cycle
                                                              +
                                                              164  endif
                                                              +
                                                              165 
                                                              +
                                                              166  CALL ufbint(lubfr,obs,10,255,nlev,ostr)
                                                              +
                                                              167  CALL ufbint(lubfr,qms,10,255,nleq,qstr)
                                                              +
                                                              168  IF(nlev.NE.nleq) stop 'NLEV<>NLEQ'
                                                              +
                                                              169 
                                                              +
                                                              170 ! MOVE CAT 8 DATA TO PRINT RANGE
                                                              +
                                                              171 ! ------------------------------
                                                              +
                                                              172  DO l=1,nlev
                                                              +
                                                              173  IF(obs(1,l).EQ.8) THEN
                                                              +
                                                              174  obs(2,l) = obs(9,l)
                                                              +
                                                              175  obs(3,l) = obs(10,l)
                                                              +
                                                              176  ENDIF
                                                              +
                                                              177  ENDDO
                                                              +
                                                              178 
                                                              +
                                                              179 ! PRINT A REPORT 20 LINES AT A TIME
                                                              +
                                                              180 ! ---------------------------------
                                                              +
                                                              181 
                                                              +
                                                              182  if(hedr) then
                                                              +
                                                              183  print'(a8,1x,a8,7(f8.2,1x))',subset,(hdr(i),i=1,8)
                                                              +
                                                              184  if(steam) cycle
                                                              +
                                                              185  goto 99
                                                              +
                                                              186 
                                                              +
                                                              187  else
                                                              +
                                                              188 
                                                              +
                                                              189  print'(80(''-''))'
                                                              +
                                                              190  print'(''MESSAGE: '',A8,2(2X,I4),i12 )' , subset,irec,isub,idate
                                                              +
                                                              191  print'(''STATION: '',A8,1X,2(F8.2,1X))' , (hdr(i),i= 1,3)
                                                              +
                                                              192  print'(''TIME: '',I10,2x,F8.2 )' , idate,hdr(4)
                                                              +
                                                              193  print'(''ELV: '',F8.2 )' , (hdr(5) )
                                                              +
                                                              194  print'(''TYPE: '',3(F8.0,1X) )' , (hdr(i),i= 6,8)
                                                              +
                                                              195  print'(''DATA: '' )'
                                                              +
                                                              196 
                                                              +
                                                              197  endif
                                                              +
                                                              198 
                                                              +
                                                              199  do l=1,nlev
                                                              +
                                                              200  do i=1,7
                                                              +
                                                              201  iqm = nint(qms(i,l))
                                                              +
                                                              202  if(iqm<0)iqm=10e8
                                                              +
                                                              203  iqm = min(iqm,16)
                                                              +
                                                              204  qms(i,l) = qmc(iqm+1)
                                                              +
                                                              205  enddo
                                                              +
                                                              206  enddo
                                                              +
                                                              207 
                                                              +
                                                              208  nlne = 7
                                                              +
                                                              209  print'(2(1X,A3),6(8X,A3))',vars
                                                              +
                                                              210  DO 12 l=1,nlev
                                                              +
                                                              211  nlne = nlne+1
                                                              +
                                                              212  print 11, l,nint(obs(1,l)),(obs(i,l),qms(min(i-1,5),l),i=2,7)
                                                              +
                                                              213 11 FORMAT(2i4,6(1x,f7.1,'(',a1,')'))
                                                              +
                                                              214 12 ENDDO
                                                              +
                                                              215  print'(80(''-''))'
                                                              +
                                                              216  if(steam) cycle
                                                              +
                                                              217 
                                                              +
                                                              218 ! GO TO READ THE NEXT SUBSET IF NO 'Q' YOU
                                                              +
                                                              219 ! ----------------------------------------
                                                              +
                                                              220 
                                                              +
                                                              221 99 READ(5,'(a)',iostat=iostat) optarg
                                                              +
                                                              222  IF(optarg(1:1)=='q') then
                                                              +
                                                              223  stop
                                                              +
                                                              224  elseif(optarg(1:1)=='s') then
                                                              +
                                                              225  read(optarg(2:50),*) sta
                                                              +
                                                              226  nsta=len(trim(sta))
                                                              +
                                                              227  elseif(optarg(1:1)=='w') then
                                                              +
                                                              228  read(optarg(2:50),*) x1,x2,y1,y2
                                                              +
                                                              229  window=.true.
                                                              +
                                                              230  elseif(optarg(1:1)=='k') then
                                                              +
                                                              231  read(optarg(2:50),*) ikx
                                                              +
                                                              232  elseif(optarg(1:1)=='r') then
                                                              +
                                                              233  read(optarg(2:50),*) irt
                                                              +
                                                              234  elseif(optarg(1:1)=='m') then
                                                              +
                                                              235  read(optarg(2:50),*) msg
                                                              +
                                                              236  elseif(optarg(1:1)=='d') then
                                                              +
                                                              237  call ufdump(lubfr,6)
                                                              +
                                                              238  elseif(optarg(1:1)=='h') then
                                                              +
                                                              239  hedr=.true.
                                                              +
                                                              240  endif
                                                              +
                                                              241 
                                                              +
                                                              242  enddo ! end of subset loop
                                                              +
                                                              243  enddo ! end of message loop
                                                              +
                                                              244 
                                                              +
                                                              245 ! HERE WHEN ALL MESSAGES HAVE BEEN READ
                                                              +
                                                              246 ! -------------------------------------
                                                              +
                                                              247 
                                                              +
                                                              248  stop
                                                              +
                                                              249  END program
                                                              +
                                                              250 
                                                              +
                                                              256  subroutine printx(str)
                                                              +
                                                              257  character(*) :: str
                                                              +
                                                              258  lens=len(str)
                                                              +
                                                              259  do i=1,lens-1
                                                              +
                                                              260  write(*,'(a1)',advance="no")str(i:i)
                                                              +
                                                              261  enddo
                                                              +
                                                              262  write(*,'(a1)')str(lens:lens)
                                                              +
                                                              263  end subroutine
                                                              +
                                                              264 
                                                              +
                                                              recursive subroutine datelen(LEN)
                                                              This subroutine is used to specify the format of Section 1 date-time values that will be output by fu...
                                                              Definition: datelen.f:28
                                                              +
                                                              recursive function ireadmg(LUNIT, SUBSET, IDATE)
                                                              Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
                                                              Definition: ireadmg.f:27
                                                              +
                                                              recursive function ireadsb(LUNIT)
                                                              Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
                                                              Definition: ireadsb.f:20
                                                              +
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              subroutine printx(str)
                                                              Print long lines to stdout using advance=no format clause.
                                                              Definition: readbp.F90:257
                                                              +
                                                              program readbp
                                                              Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time.
                                                              Definition: readbp.F90:18
                                                              +
                                                              recursive subroutine ufbcnt(LUNIT, KMSG, KSUB)
                                                              Get the current message number and data subset number within a BUFR file.
                                                              Definition: ufbcnt.f:41
                                                              +
                                                              recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
                                                              Read/write one or more data values from/to a data subset.
                                                              Definition: ufbint.f:121
                                                              +
                                                              recursive subroutine ufdump(LUNIT, LUPRT)
                                                              This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
                                                              Definition: ufdump.f:44
                                                              +
                                                              +
                                                              + + + + diff --git a/readdx_8f.html b/previous_versions/v12.0.1/readdx_8f.html similarity index 100% rename from readdx_8f.html rename to previous_versions/v12.0.1/readdx_8f.html diff --git a/readdx_8f.js b/previous_versions/v12.0.1/readdx_8f.js similarity index 100% rename from readdx_8f.js rename to previous_versions/v12.0.1/readdx_8f.js diff --git a/readdx_8f_source.html b/previous_versions/v12.0.1/readdx_8f_source.html similarity index 100% rename from readdx_8f_source.html rename to previous_versions/v12.0.1/readdx_8f_source.html diff --git a/readerme_8f.html b/previous_versions/v12.0.1/readerme_8f.html similarity index 100% rename from readerme_8f.html rename to previous_versions/v12.0.1/readerme_8f.html diff --git a/readerme_8f.js b/previous_versions/v12.0.1/readerme_8f.js similarity index 100% rename from readerme_8f.js rename to previous_versions/v12.0.1/readerme_8f.js diff --git a/readerme_8f_source.html b/previous_versions/v12.0.1/readerme_8f_source.html similarity index 100% rename from readerme_8f_source.html rename to previous_versions/v12.0.1/readerme_8f_source.html diff --git a/readlc_8f.html b/previous_versions/v12.0.1/readlc_8f.html similarity index 100% rename from readlc_8f.html rename to previous_versions/v12.0.1/readlc_8f.html diff --git a/readlc_8f.js b/previous_versions/v12.0.1/readlc_8f.js similarity index 100% rename from readlc_8f.js rename to previous_versions/v12.0.1/readlc_8f.js diff --git a/readlc_8f_source.html b/previous_versions/v12.0.1/readlc_8f_source.html similarity index 100% rename from readlc_8f_source.html rename to previous_versions/v12.0.1/readlc_8f_source.html diff --git a/readmg_8f.html b/previous_versions/v12.0.1/readmg_8f.html similarity index 100% rename from readmg_8f.html rename to previous_versions/v12.0.1/readmg_8f.html diff --git a/readmg_8f.js b/previous_versions/v12.0.1/readmg_8f.js similarity index 100% rename from readmg_8f.js rename to previous_versions/v12.0.1/readmg_8f.js diff --git a/readmg_8f_source.html b/previous_versions/v12.0.1/readmg_8f_source.html similarity index 100% rename from readmg_8f_source.html rename to previous_versions/v12.0.1/readmg_8f_source.html diff --git a/readmm_8f.html b/previous_versions/v12.0.1/readmm_8f.html similarity index 100% rename from readmm_8f.html rename to previous_versions/v12.0.1/readmm_8f.html diff --git a/readmm_8f.js b/previous_versions/v12.0.1/readmm_8f.js similarity index 100% rename from readmm_8f.js rename to previous_versions/v12.0.1/readmm_8f.js diff --git a/readmm_8f_source.html b/previous_versions/v12.0.1/readmm_8f_source.html similarity index 100% rename from readmm_8f_source.html rename to previous_versions/v12.0.1/readmm_8f_source.html diff --git a/previous_versions/v12.0.1/readmp_8F90.html b/previous_versions/v12.0.1/readmp_8F90.html new file mode 100644 index 000000000..d632feb44 --- /dev/null +++ b/previous_versions/v12.0.1/readmp_8F90.html @@ -0,0 +1,143 @@ + + + + + + + +NCEPLIBS-bufr: readmp.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              readmp.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Read BUFR file containing embedded DX BUFR tables, and print each report one at a time. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Functions/Subroutines

                                                              program readmp
                                                               Read BUFR file containing embedded DX BUFR tables, and print each report one at a time. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2002-2-24
                                                              + +

                                                              Definition in file readmp.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ readmp()

                                                              + +
                                                              +
                                                              + + + + +
                                                              program readmp
                                                              +
                                                              + +

                                                              Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.

                                                              +
                                                              Returns
                                                              0 for success, error code otherwise.
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2002-02-24
                                                              + +

                                                              Definition at line 13 of file readmp.F90.

                                                              + +

                                                              References i4dy(), ireadmg(), ireadsb(), openbf(), and ufdump().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/readmp_8F90.js b/previous_versions/v12.0.1/readmp_8F90.js new file mode 100644 index 000000000..909c4bda0 --- /dev/null +++ b/previous_versions/v12.0.1/readmp_8F90.js @@ -0,0 +1,4 @@ +var readmp_8F90 = +[ + [ "readmp", "readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/readmp_8F90_source.html b/previous_versions/v12.0.1/readmp_8F90_source.html new file mode 100644 index 000000000..141b74abc --- /dev/null +++ b/previous_versions/v12.0.1/readmp_8F90_source.html @@ -0,0 +1,146 @@ + + + + + + + +NCEPLIBS-bufr: readmp.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              readmp.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              6 
                                                              +
                                                              13  program readmp
                                                              +
                                                              14 
                                                              +
                                                              15  implicit none
                                                              +
                                                              16 
                                                              +
                                                              17  character(255) :: file
                                                              +
                                                              18  character(8) :: subset
                                                              +
                                                              19  character(1) :: go
                                                              +
                                                              20  integer, parameter :: lunit = 20
                                                              +
                                                              21  integer :: idate,ireadmg,ireadsb,i4dy
                                                              +
                                                              22  logical :: exist
                                                              +
                                                              23 
                                                              +
                                                              24 ! get the filename to open and read
                                                              +
                                                              25 
                                                              +
                                                              26  call getarg(1,file); file=trim(adjustl(file))
                                                              +
                                                              27  if (file == '') then
                                                              +
                                                              28  print *, 'Usage: readmp <bufrfile> will print reports one at a time'
                                                              +
                                                              29  call exit(2)
                                                              +
                                                              30  endif
                                                              +
                                                              31  inquire(file=file,exist=exist)
                                                              +
                                                              32  if (.not.exist) then
                                                              +
                                                              33  print *,trim(file)//' does not exist'
                                                              +
                                                              34  call exit(3)
                                                              +
                                                              35  endif
                                                              +
                                                              36  call getarg(2,go); go=trim(adjustl(go)) ! this for testing !
                                                              +
                                                              37  open(lunit,file=file,form='unformatted')
                                                              +
                                                              38 
                                                              +
                                                              39 ! open the file to bufr and dump the subsets to standard outout one at a time
                                                              +
                                                              40 
                                                              +
                                                              41  call openbf(lunit,'IN',lunit)
                                                              +
                                                              42  do while(ireadmg(lunit,subset,idate).eq.0)
                                                              +
                                                              43  do while(ireadsb(lunit).eq.0)
                                                              +
                                                              44  print*,'message date=',i4dy(idate)
                                                              +
                                                              45  call ufdump(lunit,6)
                                                              +
                                                              46  if(go.ne.'q') read(5,'(a)') go
                                                              +
                                                              47  if(go.eq.'q') stop
                                                              +
                                                              48  enddo
                                                              +
                                                              49  enddo
                                                              +
                                                              50 
                                                              +
                                                              51  end program readmp
                                                              +
                                                              recursive function i4dy(IDATE)
                                                              This function converts a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year ...
                                                              Definition: i4dy.f:24
                                                              +
                                                              recursive function ireadmg(LUNIT, SUBSET, IDATE)
                                                              Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
                                                              Definition: ireadmg.f:27
                                                              +
                                                              recursive function ireadsb(LUNIT)
                                                              Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
                                                              Definition: ireadsb.f:20
                                                              +
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              program readmp
                                                              Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.
                                                              Definition: readmp.F90:13
                                                              +
                                                              recursive subroutine ufdump(LUNIT, LUPRT)
                                                              This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
                                                              Definition: ufdump.f:44
                                                              +
                                                              +
                                                              + + + + diff --git a/readns_8f.html b/previous_versions/v12.0.1/readns_8f.html similarity index 100% rename from readns_8f.html rename to previous_versions/v12.0.1/readns_8f.html diff --git a/readns_8f.js b/previous_versions/v12.0.1/readns_8f.js similarity index 100% rename from readns_8f.js rename to previous_versions/v12.0.1/readns_8f.js diff --git a/readns_8f_source.html b/previous_versions/v12.0.1/readns_8f_source.html similarity index 100% rename from readns_8f_source.html rename to previous_versions/v12.0.1/readns_8f_source.html diff --git a/reads3_8f.html b/previous_versions/v12.0.1/reads3_8f.html similarity index 100% rename from reads3_8f.html rename to previous_versions/v12.0.1/reads3_8f.html diff --git a/reads3_8f.js b/previous_versions/v12.0.1/reads3_8f.js similarity index 100% rename from reads3_8f.js rename to previous_versions/v12.0.1/reads3_8f.js diff --git a/reads3_8f_source.html b/previous_versions/v12.0.1/reads3_8f_source.html similarity index 100% rename from reads3_8f_source.html rename to previous_versions/v12.0.1/reads3_8f_source.html diff --git a/readsb_8f.html b/previous_versions/v12.0.1/readsb_8f.html similarity index 100% rename from readsb_8f.html rename to previous_versions/v12.0.1/readsb_8f.html diff --git a/readsb_8f.js b/previous_versions/v12.0.1/readsb_8f.js similarity index 100% rename from readsb_8f.js rename to previous_versions/v12.0.1/readsb_8f.js diff --git a/readsb_8f_source.html b/previous_versions/v12.0.1/readsb_8f_source.html similarity index 100% rename from readsb_8f_source.html rename to previous_versions/v12.0.1/readsb_8f_source.html diff --git a/previous_versions/v12.0.1/resize.js b/previous_versions/v12.0.1/resize.js new file mode 100644 index 000000000..e1ad0fe3b --- /dev/null +++ b/previous_versions/v12.0.1/resize.js @@ -0,0 +1,140 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/previous_versions/v12.0.1/restd_8c.html b/previous_versions/v12.0.1/restd_8c.html new file mode 100644 index 000000000..9566c729e --- /dev/null +++ b/previous_versions/v12.0.1/restd_8c.html @@ -0,0 +1,180 @@ + + + + + + + +NCEPLIBS-bufr: restd.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              restd.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              Standardize a local Table D descriptor. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + +

                                                              +Functions

                                                              void restd (int lun, int tddesc, int *nctddesc, int *ctddesc)
                                                               Standardize a local Table D descriptor. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Standardize a local Table D descriptor.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2004-08-18
                                                              + +

                                                              Definition in file restd.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ restd()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void restd (int lun,
                                                              int tddesc,
                                                              int * nctddesc,
                                                              int * ctddesc 
                                                              )
                                                              +
                                                              + +

                                                              Standardize a local Table D descriptor.

                                                              +

                                                              Given the bit-wise (integer) representation of a local (not WMO-standard) Table D descriptor, this subroutine returns an equivalent array of WMO-standard child descriptors.

                                                              +

                                                              Any child descriptors which are themselves local Table D descriptors are automatically resolved via a recursive call to this same subroutine. This recursive process continues until all child descriptors are either WMO-standard descriptors (from Table B, Table C, Table D, or replication descriptors) or else are local Table B descriptors, in which case they are preceded with an appropriate 2-06-YYY Table C operator in the output array. The output array is then useable by any standard BUFR decoder program in order to interpret the same data values as were represented by the input local Table D descriptor.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lun- File ID.
                                                              tddesc- WMO bit-wise representation of FXY value for local Table D descriptor.
                                                              nctddesc- Number of WMO-standard child descriptors returned in ctddesc.
                                                              ctddesc- Array of WMO-standard child descriptors equivalent to tddesc.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2004-08-18
                                                              + +

                                                              Definition at line 39 of file restd.c.

                                                              + +

                                                              References cadn30_f(), FXY_STR_LEN, moda_bitbuf::ibit, ifxy_f(), istdesc_f(), MAXNC, MIN_FXY_REPL, NEMO_STR_LEN, nemtbb_f(), numtbd_f(), UNIT_STR_LEN, uptdd_f(), and wrdesc().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/restd_8c.js b/previous_versions/v12.0.1/restd_8c.js new file mode 100644 index 000000000..d83a9239b --- /dev/null +++ b/previous_versions/v12.0.1/restd_8c.js @@ -0,0 +1,4 @@ +var restd_8c = +[ + [ "restd", "restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/restd_8c_source.html b/previous_versions/v12.0.1/restd_8c_source.html new file mode 100644 index 000000000..e2b4dfcb4 --- /dev/null +++ b/previous_versions/v12.0.1/restd_8c_source.html @@ -0,0 +1,208 @@ + + + + + + + +NCEPLIBS-bufr: restd.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              restd.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              7 #include "bufrlib.h"
                                                              +
                                                              8 
                                                              +
                                                              38 void
                                                              +
                                                              39 restd(int lun, int tddesc, int *nctddesc, int *ctddesc)
                                                              +
                                                              40 {
                                                              +
                                                              41  int desc, ncdesc, cdesc[MAXNC];
                                                              +
                                                              42  int i, j, inum, itbd, ictbd;
                                                              +
                                                              43  int iscl, iref, ibit;
                                                              +
                                                              44 
                                                              +
                                                              45  char tab, nemo[NEMO_STR_LEN+1], adn[FXY_STR_LEN+1], cunit[UNIT_STR_LEN+1], cwork[31];
                                                              +
                                                              46 
                                                              +
                                                              47 /*
                                                              +
                                                              48 ** How many child descriptors does tddesc have?
                                                              +
                                                              49 */
                                                              +
                                                              50  numtbd_f(lun, tddesc, nemo, NEMO_STR_LEN+1, &tab, &itbd);
                                                              +
                                                              51  uptdd_f(itbd, lun, 0, &inum);
                                                              +
                                                              52 
                                                              +
                                                              53  *nctddesc = 0;
                                                              +
                                                              54 /*
                                                              +
                                                              55 ** Examine each child descriptor one at a time.
                                                              +
                                                              56 */
                                                              +
                                                              57  for ( i = 1; i <= inum; i++ ) {
                                                              +
                                                              58  uptdd_f(itbd, lun, i, &desc);
                                                              +
                                                              59  if (! istdesc_f(desc)) {
                                                              +
                                                              60 /*
                                                              +
                                                              61 ** desc is a local descriptor.
                                                              +
                                                              62 */
                                                              +
                                                              63  numtbd_f(lun, desc, nemo, NEMO_STR_LEN+1, &tab, &ictbd);
                                                              +
                                                              64  if ( tab == 'D' ) {
                                                              +
                                                              65 /*
                                                              +
                                                              66 ** desc is itself a local Table D descriptor, so resolve
                                                              +
                                                              67 ** it now via a recursive call to this same routine.
                                                              +
                                                              68 */
                                                              +
                                                              69  restd(lun, desc, &ncdesc, cdesc);
                                                              +
                                                              70 
                                                              +
                                                              71  if ( ( *nctddesc > 0 ) &&
                                                              +
                                                              72  ( ctddesc[(*nctddesc)-1] > ifxy_f(MIN_FXY_REPL) ) &&
                                                              +
                                                              73  ( ctddesc[(*nctddesc)-1] <= ifxy_f("101255") ) ) {
                                                              +
                                                              74 /*
                                                              +
                                                              75 ** desc is replicated using fixed replication, so write
                                                              +
                                                              76 ** the number of child descriptors into the X value of
                                                              +
                                                              77 ** the replication descriptor ctddesc[(*nctddesc)-1]
                                                              +
                                                              78 */
                                                              +
                                                              79  cadn30_f(ctddesc[(*nctddesc)-1], adn, FXY_STR_LEN+1);
                                                              +
                                                              80  sprintf(cwork, "%c%02d%c%c%c",
                                                              +
                                                              81  adn[0], ncdesc, adn[3], adn[4], adn[5]);
                                                              +
                                                              82  strncpy(adn, cwork, 6); adn[6] = '\0';
                                                              +
                                                              83  ctddesc[(*nctddesc)-1] = ifxy_f(adn);
                                                              +
                                                              84  }
                                                              +
                                                              85  else if ( ( *nctddesc > 1 ) &&
                                                              +
                                                              86  ( ctddesc[(*nctddesc)-2] == ifxy_f(MIN_FXY_REPL) ) ) {
                                                              +
                                                              87 /*
                                                              +
                                                              88 ** desc is replicated using delayed replication, so write
                                                              +
                                                              89 ** the number of child descriptors into the X value of
                                                              +
                                                              90 ** the replication descriptor ctddesc[(*nctddesc)-2]
                                                              +
                                                              91 */
                                                              +
                                                              92  cadn30_f(ctddesc[(*nctddesc)-2], adn, FXY_STR_LEN+1);
                                                              +
                                                              93  sprintf(cwork, "%c%02d%c%c%c",
                                                              +
                                                              94  adn[0], ncdesc, adn[3], adn[4], adn[5]);
                                                              +
                                                              95  strncpy(adn, cwork, 6); adn[6] = '\0';
                                                              +
                                                              96  ctddesc[(*nctddesc)-2] = ifxy_f(adn);
                                                              +
                                                              97  }
                                                              +
                                                              98 /*
                                                              +
                                                              99 ** Add the child descriptors to the output list.
                                                              +
                                                              100 */
                                                              +
                                                              101  for ( j = 0; j < ncdesc; j++ ) {
                                                              +
                                                              102  wrdesc(cdesc[j], ctddesc, nctddesc);
                                                              +
                                                              103  }
                                                              +
                                                              104 
                                                              +
                                                              105  }
                                                              +
                                                              106  else if ( tab == 'B' ) {
                                                              +
                                                              107 /*
                                                              +
                                                              108 ** desc is a local Table B descriptor, so precede it with
                                                              +
                                                              109 ** a 206YYY operator in the output list.
                                                              +
                                                              110 */
                                                              +
                                                              111  nemtbb_f(lun, ictbd, cunit, UNIT_STR_LEN+1, &iscl, &iref, &ibit);
                                                              +
                                                              112  sprintf(cwork, "%c%c%c%03d", '2', '0', '6', ibit);
                                                              +
                                                              113  strncpy(adn, cwork, 6); adn[6] = '\0';
                                                              +
                                                              114  wrdesc(ifxy_f(adn), ctddesc, nctddesc);
                                                              +
                                                              115  wrdesc(desc, ctddesc, nctddesc);
                                                              +
                                                              116  }
                                                              +
                                                              117  }
                                                              +
                                                              118  else {
                                                              +
                                                              119 /*
                                                              +
                                                              120 ** desc is a standard Table B, Table D, operator or replicator
                                                              +
                                                              121 ** descriptor, so append it "as is" to the output list.
                                                              +
                                                              122 */
                                                              +
                                                              123  wrdesc(desc, ctddesc, nctddesc);
                                                              +
                                                              124  }
                                                              +
                                                              125  }
                                                              +
                                                              126 
                                                              +
                                                              127  return;
                                                              +
                                                              128 }
                                                              +
                                                              void nemtbb_f(int lun, int table_idx, char *unit_str, int unit_str_len, int *scale, int *reference, int *bits)
                                                              Get information about a Table B descriptor.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              void cadn30_f(int idn, char *adn, int adn_str_len)
                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                                              +
                                                              #define FXY_STR_LEN
                                                              Size of a character string needed to store an FXY value.
                                                              Definition: bufrlib.h:54
                                                              +
                                                              void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                                              +
                                                              #define MIN_FXY_REPL
                                                              Character string containing minimum FXY value for a replication descriptor.
                                                              Definition: bufrlib.h:57
                                                              +
                                                              #define UNIT_STR_LEN
                                                              Size of a character string needed to store the units of a Table B descriptor.
                                                              Definition: bufrlib.h:69
                                                              +
                                                              int ifxy_f(char *cfxy)
                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                                              +
                                                              #define NEMO_STR_LEN
                                                              Size of a character string needed to store a mnemonic.
                                                              Definition: bufrlib.h:66
                                                              +
                                                              #define MAXNC
                                                              Maximum number of descriptors within Section 3 of a BUFR message.
                                                              Definition: bufrlib.h:47
                                                              +
                                                              void uptdd_f(int id, int lun, int ient, int *iret)
                                                              Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D s...
                                                              +
                                                              int istdesc_f(int idn)
                                                              Check whether a descriptor is WMO-standard.
                                                              +
                                                              integer ibit
                                                              Bit pointer within IBAY.
                                                              +
                                                              void restd(int lun, int tddesc, int *nctddesc, int *ctddesc)
                                                              Standardize a local Table D descriptor.
                                                              Definition: restd.c:39
                                                              +
                                                              void wrdesc(int desc, int *descary, int *ndescary)
                                                              Maintain an array of descriptors.
                                                              Definition: wrdesc.c:27
                                                              +
                                                              +
                                                              + + + + diff --git a/rewnbf_8f.html b/previous_versions/v12.0.1/rewnbf_8f.html similarity index 100% rename from rewnbf_8f.html rename to previous_versions/v12.0.1/rewnbf_8f.html diff --git a/rewnbf_8f.js b/previous_versions/v12.0.1/rewnbf_8f.js similarity index 100% rename from rewnbf_8f.js rename to previous_versions/v12.0.1/rewnbf_8f.js diff --git a/rewnbf_8f_source.html b/previous_versions/v12.0.1/rewnbf_8f_source.html similarity index 100% rename from rewnbf_8f_source.html rename to previous_versions/v12.0.1/rewnbf_8f_source.html diff --git a/rsvfvm_8f.html b/previous_versions/v12.0.1/rsvfvm_8f.html similarity index 100% rename from rsvfvm_8f.html rename to previous_versions/v12.0.1/rsvfvm_8f.html diff --git a/rsvfvm_8f.js b/previous_versions/v12.0.1/rsvfvm_8f.js similarity index 100% rename from rsvfvm_8f.js rename to previous_versions/v12.0.1/rsvfvm_8f.js diff --git a/rsvfvm_8f_source.html b/previous_versions/v12.0.1/rsvfvm_8f_source.html similarity index 100% rename from rsvfvm_8f_source.html rename to previous_versions/v12.0.1/rsvfvm_8f_source.html diff --git a/rtrcpt_8f.html b/previous_versions/v12.0.1/rtrcpt_8f.html similarity index 100% rename from rtrcpt_8f.html rename to previous_versions/v12.0.1/rtrcpt_8f.html diff --git a/rtrcpt_8f.js b/previous_versions/v12.0.1/rtrcpt_8f.js similarity index 100% rename from rtrcpt_8f.js rename to previous_versions/v12.0.1/rtrcpt_8f.js diff --git a/rtrcpt_8f_source.html b/previous_versions/v12.0.1/rtrcpt_8f_source.html similarity index 100% rename from rtrcpt_8f_source.html rename to previous_versions/v12.0.1/rtrcpt_8f_source.html diff --git a/rtrcptb_8f.html b/previous_versions/v12.0.1/rtrcptb_8f.html similarity index 100% rename from rtrcptb_8f.html rename to previous_versions/v12.0.1/rtrcptb_8f.html diff --git a/rtrcptb_8f.js b/previous_versions/v12.0.1/rtrcptb_8f.js similarity index 100% rename from rtrcptb_8f.js rename to previous_versions/v12.0.1/rtrcptb_8f.js diff --git a/rtrcptb_8f_source.html b/previous_versions/v12.0.1/rtrcptb_8f_source.html similarity index 100% rename from rtrcptb_8f_source.html rename to previous_versions/v12.0.1/rtrcptb_8f_source.html diff --git a/previous_versions/v12.0.1/search/all_0.html b/previous_versions/v12.0.1/search/all_0.html new file mode 100644 index 000000000..1ec5b2d59 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_0.js b/previous_versions/v12.0.1/search/all_0.js new file mode 100644 index 000000000..456a31e37 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_0.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['adn30_0',['adn30',['../adn30_8f.html#a1e96adbf45bd49facbf0ef30ae375db4',1,'adn30.f']]], + ['adn30_2ef_1',['adn30.f',['../adn30_8f.html',1,'']]], + ['arallocc_2',['arallocc',['../arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c'],['../bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c']]], + ['arallocc_2ec_3',['arallocc.c',['../arallocc_8c.html',1,'']]], + ['arallocc_5fc_4',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d',1,'bufrlib::arallocc_c::arallocc_c()'],['../interfacebufrlib_1_1arallocc__c.html',1,'bufrlib::arallocc_c']]], + ['arallocf_5',['arallocf',['../arallocf_8f.html#a2b64630033a9306be25da1f6b28d913f',1,'arallocf.f']]], + ['arallocf_2ef_6',['arallocf.f',['../arallocf_8f.html',1,'']]], + ['ardllocc_7',['ardllocc',['../bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c'],['../ardllocc_8c.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c']]], + ['ardllocc_2ec_8',['ardllocc.c',['../ardllocc_8c.html',1,'']]], + ['ardllocc_5fc_9',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e',1,'bufrlib::ardllocc_c::ardllocc_c()'],['../interfacebufrlib_1_1ardllocc__c.html',1,'bufrlib::ardllocc_c']]], + ['ardllocf_10',['ardllocf',['../ardllocf_8f.html#a7b3e4d5498fedd9e94ac45b69fc04b58',1,'ardllocf.f']]], + ['ardllocf_2ef_11',['ardllocf.f',['../ardllocf_8f.html',1,'']]], + ['atrcpt_12',['atrcpt',['../atrcpt_8f.html#aa3ebac87755e88a9f03f5e9fddda7760',1,'atrcpt.f']]], + ['atrcpt_2ef_13',['atrcpt.f',['../atrcpt_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_1.html b/previous_versions/v12.0.1/search/all_1.html new file mode 100644 index 000000000..9f80e9043 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_1.js b/previous_versions/v12.0.1/search/all_1.js new file mode 100644 index 000000000..1bf0b57b2 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_1.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['backbufr_14',['backbufr',['../bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c'],['../cread_8c.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c']]], + ['backbufr_5fc_15',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832',1,'bufrlib::backbufr_c::backbufr_c()'],['../interfacebufrlib_1_1backbufr__c.html',1,'bufrlib::backbufr_c']]], + ['bfrini_16',['bfrini',['../bfrini_8f90.html#ab3f045cc170403305543e34e30b87001',1,'bfrini.f90']]], + ['bfrini_2ef90_17',['bfrini.f90',['../bfrini_8f90.html',1,'']]], + ['binv_18',['binv',['../binv_8f90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5',1,'binv.f90']]], + ['binv_2ef90_19',['binv.f90',['../binv_8f90.html',1,'']]], + ['blocks_20',['blocks',['../blocks_8f.html#a58e616c094fc6ddcdf5e33554105c3d4',1,'blocks.f']]], + ['blocks_2ef_21',['blocks.f',['../blocks_8f.html',1,'']]], + ['bmiss_22',['bmiss',['../namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519',1,'modv_bmiss']]], + ['bort_23',['bort',['../bort_8f.html#a488d3a8cf930fb592a9fdaefcfa04ac4',1,'bort.f']]], + ['bort_2ef_24',['bort.f',['../bort_8f.html',1,'']]], + ['bort2_25',['bort2',['../bort2_8f.html#a50f605cc96a22ffce20206c2d254b9c3',1,'bort2.f']]], + ['bort2_2ef_26',['bort2.f',['../bort2_8f.html',1,'']]], + ['bort_5fc_27',['bort_c',['../namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f',1,'bufr_c2f_interface']]], + ['bort_5fexit_28',['bort_exit',['../bort__exit_8c.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c'],['../bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c']]], + ['bort_5fexit_2ec_29',['bort_exit.c',['../bort__exit_8c.html',1,'']]], + ['bort_5fexit_5fc_30',['bort_exit_c',['../interfacebufrlib_1_1bort__exit__c.html#acd1feaa07c688929a6fb0e722df5619e',1,'bufrlib::bort_exit_c::bort_exit_c()'],['../interfacebufrlib_1_1bort__exit__c.html',1,'bufrlib::bort_exit_c']]], + ['bort_5ff_31',['bort_f',['../bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447',1,'bufrlib.h']]], + ['bufr_5fc2f_5finterface_32',['bufr_c2f_interface',['../namespacebufr__c2f__interface.html',1,'']]], + ['bufr_5fc2f_5finterface_2ef90_33',['bufr_c2f_interface.F90',['../bufr__c2f__interface_8F90.html',1,'']]], + ['bufr_5finterface_34',['bufr_interface',['../namespacebufr__interface.html',1,'']]], + ['bufr_5finterface_2ef90_35',['bufr_interface.F90',['../bufr__interface_8F90.html',1,'']]], + ['bufr_5finterface_2eh_36',['bufr_interface.h',['../bufr__interface_8h.html',1,'']]], + ['bufrlib_37',['bufrlib',['../namespacebufrlib.html',1,'']]], + ['bufrlib_2ef90_38',['bufrlib.F90',['../bufrlib_8F90.html',1,'']]], + ['bufrlib_2eh_39',['bufrlib.h',['../bufrlib_8h.html',1,'']]], + ['bvers_40',['bvers',['../bvers_8f.html#a210e17eb5b254e38f27e129304d4eae7',1,'bvers.f']]], + ['bvers_2ef_41',['bvers.f',['../bvers_8f.html',1,'']]], + ['bvers_5fc_42',['bvers_c',['../namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0',1,'bufr_c2f_interface']]], + ['bvers_5ff_43',['bvers_f',['../bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b',1,'bufr_interface.h']]] +]; diff --git a/previous_versions/v12.0.1/search/all_10.html b/previous_versions/v12.0.1/search/all_10.html new file mode 100644 index 000000000..3bf11961f --- /dev/null +++ b/previous_versions/v12.0.1/search/all_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_10.js b/previous_versions/v12.0.1/search/all_10.js new file mode 100644 index 000000000..7f71f674b --- /dev/null +++ b/previous_versions/v12.0.1/search/all_10.js @@ -0,0 +1,62 @@ +var searchData= +[ + ['rbytes_748',['rbytes',['../crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae',1,'crwbmg.c']]], + ['rcstpl_749',['rcstpl',['../rcstpl_8f.html#a6051cb3fd10cab351aaade691f06ffd1',1,'rcstpl.f']]], + ['rcstpl_2ef_750',['rcstpl.f',['../rcstpl_8f.html',1,'']]], + ['rdbfdx_751',['rdbfdx',['../rdbfdx_8f.html#a7d7beabef509022d4d98ebfb79f06dec',1,'rdbfdx.f']]], + ['rdbfdx_2ef_752',['rdbfdx.f',['../rdbfdx_8f.html',1,'']]], + ['rdcmps_753',['rdcmps',['../rdcmps_8f.html#a4592f4f71832d5bc80939cfd8095ad09',1,'rdcmps.f']]], + ['rdcmps_2ef_754',['rdcmps.f',['../rdcmps_8f.html',1,'']]], + ['rdmemm_755',['rdmemm',['../rdmemm_8f.html#acdadcefdf7f3d9e0a9271ece060ec193',1,'rdmemm.f']]], + ['rdmemm_2ef_756',['rdmemm.f',['../rdmemm_8f.html',1,'']]], + ['rdmems_757',['rdmems',['../rdmems_8f.html#a4af6fe463b8e15affa23de1f1ac4358e',1,'rdmems.f']]], + ['rdmems_2ef_758',['rdmems.f',['../rdmems_8f.html',1,'']]], + ['rdmgsb_759',['rdmgsb',['../rdmgsb_8f.html#ae4f5dbd64255fa37c9616ff72289897c',1,'rdmgsb.f']]], + ['rdmgsb_2ef_760',['rdmgsb.f',['../rdmgsb_8f.html',1,'']]], + ['rdmsgw_761',['rdmsgw',['../rdmsgw_8F90.html#ac23041847910e299fa2c89962597a312',1,'rdmsgw.F90']]], + ['rdmsgw_2ef90_762',['rdmsgw.F90',['../rdmsgw_8F90.html',1,'']]], + ['rdmtbb_763',['rdmtbb',['../rdmtbb_8f.html#a500535fb51e5caae61f0fd3627a211da',1,'rdmtbb.f']]], + ['rdmtbb_2ef_764',['rdmtbb.f',['../rdmtbb_8f.html',1,'']]], + ['rdmtbd_765',['rdmtbd',['../rdmtbd_8f.html#a46cfbed2b4e693c0bc7e4792c47d5692',1,'rdmtbd.f']]], + ['rdmtbd_2ef_766',['rdmtbd.f',['../rdmtbd_8f.html',1,'']]], + ['rdmtbf_767',['rdmtbf',['../rdmtbf_8f.html#a5ca890fe454d0615933e8b535e28ac00',1,'rdmtbf.f']]], + ['rdmtbf_2ef_768',['rdmtbf.f',['../rdmtbf_8f.html',1,'']]], + ['rdtree_769',['rdtree',['../rdtree_8f.html#a517c48e080eadc5e9a88fff47ffe4c34',1,'rdtree.f']]], + ['rdtree_2ef_770',['rdtree.f',['../rdtree_8f.html',1,'']]], + ['rdusdx_771',['rdusdx',['../rdusdx_8f.html#ab4869b52a96f03ad2eb5328e71c25764',1,'rdusdx.f']]], + ['rdusdx_2ef_772',['rdusdx.f',['../rdusdx_8f.html',1,'']]], + ['readbp_773',['readbp',['../readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b',1,'readbp.F90']]], + ['readbp_2ef90_774',['readbp.F90',['../readbp_8F90.html',1,'']]], + ['readdx_775',['readdx',['../readdx_8f.html#aa40c216c00c44fefb183a3d2641f5077',1,'readdx.f']]], + ['readdx_2ef_776',['readdx.f',['../readdx_8f.html',1,'']]], + ['readerme_777',['readerme',['../readerme_8f.html#a3d8860f8a5fe519e8d84afbe68dc67b5',1,'readerme.f']]], + ['readerme_2ef_778',['readerme.f',['../readerme_8f.html',1,'']]], + ['readlc_779',['readlc',['../readlc_8f.html#a6ab327a73098c106cbad611b396ea2f1',1,'readlc.f']]], + ['readlc_2ef_780',['readlc.f',['../readlc_8f.html',1,'']]], + ['readlc_5fc_781',['readlc_c',['../namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc',1,'bufr_c2f_interface']]], + ['readlc_5ff_782',['readlc_f',['../bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97',1,'bufr_interface.h']]], + ['readmg_783',['readmg',['../readmg_8f.html#a6471e41b4b7e505d6659c1fd45cc195d',1,'readmg.f']]], + ['readmg_2ef_784',['readmg.f',['../readmg_8f.html',1,'']]], + ['readmm_785',['readmm',['../readmm_8f.html#aa4e6aa0249e0a5d5b56698c8cd39806c',1,'readmm.f']]], + ['readmm_2ef_786',['readmm.f',['../readmm_8f.html',1,'']]], + ['readmp_787',['readmp',['../readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650',1,'readmp.F90']]], + ['readmp_2ef90_788',['readmp.F90',['../readmp_8F90.html',1,'']]], + ['readns_789',['readns',['../readns_8f.html#acfb34cc5575782a332a5490cb07ef700',1,'readns.f']]], + ['readns_2ef_790',['readns.f',['../readns_8f.html',1,'']]], + ['reads3_791',['reads3',['../reads3_8f.html#a57a4b386c104472c2df89ca9217d0d4b',1,'reads3.f']]], + ['reads3_2ef_792',['reads3.f',['../reads3_8f.html',1,'']]], + ['readsb_793',['readsb',['../readsb_8f.html#a7487962744f372041e729f0b754b7a92',1,'readsb.f']]], + ['readsb_2ef_794',['readsb.f',['../readsb_8f.html',1,'']]], + ['release_20notes_795',['Release Notes',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html',1,'']]], + ['restd_796',['restd',['../restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3',1,'restd(int lun, int tddesc, int *nctddesc, int *ctddesc): restd.c'],['../bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c',1,'restd(int lunb, int tddesc, int *nctddesc, int *ctddesc): restd.c']]], + ['restd_2ec_797',['restd.c',['../restd_8c.html',1,'']]], + ['restd_5fc_798',['restd_c',['../interfacebufrlib_1_1restd__c.html',1,'bufrlib::restd_c'],['../interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d',1,'bufrlib::restd_c::restd_c()']]], + ['rewnbf_799',['rewnbf',['../rewnbf_8f.html#a70ac3a628bb020054246ff3fb8392a96',1,'rewnbf.f']]], + ['rewnbf_2ef_800',['rewnbf.f',['../rewnbf_8f.html',1,'']]], + ['rsvfvm_801',['rsvfvm',['../rsvfvm_8f.html#a8c60cd821f7b68a7f79ebd393e58f978',1,'rsvfvm.f']]], + ['rsvfvm_2ef_802',['rsvfvm.f',['../rsvfvm_8f.html',1,'']]], + ['rtrcpt_803',['rtrcpt',['../rtrcpt_8f.html#a7bcf788ea62da2fb181b12e609a28ef4',1,'rtrcpt.f']]], + ['rtrcpt_2ef_804',['rtrcpt.f',['../rtrcpt_8f.html',1,'']]], + ['rtrcptb_805',['rtrcptb',['../rtrcptb_8f.html#a5eb0f5be603cf24d61416442d0a7444c',1,'rtrcptb.f']]], + ['rtrcptb_2ef_806',['rtrcptb.f',['../rtrcptb_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_11.html b/previous_versions/v12.0.1/search/all_11.html new file mode 100644 index 000000000..c9f79d289 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_11.js b/previous_versions/v12.0.1/search/all_11.js new file mode 100644 index 000000000..b5ce5d021 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_11.js @@ -0,0 +1,65 @@ +var searchData= +[ + ['satcode_807',['satcode',['../sinv_8f90.html#a4ab4fad455062f4d66f23adb61d13c7c',1,'sinv.f90']]], + ['seqsdx_808',['seqsdx',['../seqsdx_8f.html#ae2dcc6ee54e54657a7b2be4c73e8154f',1,'seqsdx.f']]], + ['seqsdx_2ef_809',['seqsdx.f',['../seqsdx_8f.html',1,'']]], + ['setblock_810',['setblock',['../setblock_8f.html#af78b606039fc7944c42bf0be875579ee',1,'setblock.f']]], + ['setblock_2ef_811',['setblock.f',['../setblock_8f.html',1,'']]], + ['setbmiss_812',['setbmiss',['../setbmiss_8f.html#a9b4bbfdb1ac28c9b42b23c81f2367647',1,'setbmiss.f']]], + ['setbmiss_2ef_813',['setbmiss.f',['../setbmiss_8f.html',1,'']]], + ['setim8b_814',['setim8b',['../setim8b_8F90.html#a156e77d86141acd042efd97146dd18cf',1,'setim8b.F90']]], + ['setim8b_2ef90_815',['setim8b.F90',['../setim8b_8F90.html',1,'']]], + ['setvalnb_816',['setvalnb',['../setvalnb_8f.html#a83372f0085cb453664147c516b69c6b3',1,'setvalnb.f']]], + ['setvalnb_2ef_817',['setvalnb.f',['../setvalnb_8f.html',1,'']]], + ['share_5ftable_5finfo_818',['share_table_info',['../namespaceshare__table__info.html',1,'']]], + ['sinv_819',['sinv',['../sinv_8f90.html#add80e304e2ffa251811ac6a19162f807',1,'sinv.f90']]], + ['sinv_2ef90_820',['sinv.f90',['../sinv_8f90.html',1,'']]], + ['sntbbe_821',['sntbbe',['../sntbbe_8f.html#ae308430ece0bc88b4f8239cfbc13fe1e',1,'sntbbe.f']]], + ['sntbbe_2ef_822',['sntbbe.f',['../sntbbe_8f.html',1,'']]], + ['sntbde_823',['sntbde',['../sntbde_8f.html#ae7338a521f1a0879429886018b9c3e00',1,'sntbde.f']]], + ['sntbde_2ef_824',['sntbde.f',['../sntbde_8f.html',1,'']]], + ['sntbfe_825',['sntbfe',['../sntbfe_8f.html#a447e4b94518009bd41934a6837bb135c',1,'sntbfe.f']]], + ['sntbfe_2ef_826',['sntbfe.f',['../sntbfe_8f.html',1,'']]], + ['sorttbf_827',['sorttbf',['../cfe_8c.html#af9bdd990bf256341aa36e1f0611132de',1,'cfe.c']]], + ['sorttbf_5fc_828',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html',1,'bufrlib::sorttbf_c'],['../interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb',1,'bufrlib::sorttbf_c::sorttbf_c()']]], + ['split_5fby_5fsubset_829',['split_by_subset',['../split__by__subset_8f90.html#ae5d45e2086aa783d8ca85e2fd47c8118',1,'split_by_subset.f90']]], + ['split_5fby_5fsubset_2ef90_830',['split_by_subset.f90',['../split__by__subset_8f90.html',1,'']]], + ['srchtbf_831',['srchtbf',['../cfe_8c.html#aba549e6acf16abcbe89193cb72d94287',1,'cfe.c']]], + ['srchtbf_5fc_832',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html',1,'bufrlib::srchtbf_c'],['../interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc',1,'bufrlib::srchtbf_c::srchtbf_c()']]], + ['status_833',['status',['../status_8f.html#a6ec202af21064f4b61058df6b5880d3e',1,'status.f']]], + ['status_2ef_834',['status.f',['../status_8f.html',1,'']]], + ['status_5fc_835',['status_c',['../namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0',1,'bufr_c2f_interface']]], + ['status_5ff_836',['status_f',['../bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d',1,'bufr_interface.h']]], + ['stbfdx_837',['stbfdx',['../stbfdx_8f.html#a35d346baad722c9be56532c38d43f8a0',1,'stbfdx.f']]], + ['stbfdx_2ef_838',['stbfdx.f',['../stbfdx_8f.html',1,'']]], + ['stdmsg_839',['stdmsg',['../stdmsg_8f.html#abcb573ae105505deb6d3c0ad55abbce2',1,'stdmsg.f']]], + ['stdmsg_2ef_840',['stdmsg.f',['../stdmsg_8f.html',1,'']]], + ['sth4wlc_841',['sth4wlc',['../namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889',1,'moda_h4wlc']]], + ['stndrd_842',['stndrd',['../stndrd_8f.html#ac1fdb2d6ec4e856eb99cfb5fef331c19',1,'stndrd.f']]], + ['stndrd_2ef_843',['stndrd.f',['../stndrd_8f.html',1,'']]], + ['stntbi_844',['stntbi',['../stntbi_8f.html#ad26b48825c877d44d1223a3f4e4051ed',1,'stntbi.f']]], + ['stntbi_2ef_845',['stntbi.f',['../stntbi_8f.html',1,'']]], + ['stntbi_5fc_846',['stntbi_c',['../namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6',1,'bufr_c2f_interface']]], + ['stntbi_5ff_847',['stntbi_f',['../bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f',1,'bufrlib.h']]], + ['stntbia_848',['stntbia',['../stntbia_8f.html#afe5b7799490cf671bd2d13730f97fa39',1,'stntbia.f']]], + ['stntbia_2ef_849',['stntbia.f',['../stntbia_8f.html',1,'']]], + ['strbtm_850',['strbtm',['../strbtm_8f.html#af07cb67caa4e62d680d319515c2ad94b',1,'strbtm.f']]], + ['strbtm_2ef_851',['strbtm.f',['../strbtm_8f.html',1,'']]], + ['strcln_852',['strcln',['../strcln_8f.html#a19c92d247281ffcad8aab45d7debb54f',1,'strcln.f']]], + ['strcln_2ef_853',['strcln.f',['../strcln_8f.html',1,'']]], + ['strcpt_854',['strcpt',['../strcpt_8f.html#a9fdadc7a2e8a73b188c9111901faaafc',1,'strcpt.f']]], + ['strcpt_2ef_855',['strcpt.f',['../strcpt_8f.html',1,'']]], + ['string_856',['string',['../string_8f.html#ad5386a1e671ead372f1c087994b68438',1,'string.f']]], + ['string_2ef_857',['string.f',['../string_8f.html',1,'']]], + ['strnum_858',['strnum',['../strnum_8F90.html#a93d704d3c84005bb12c261225445a99e',1,'strnum.F90']]], + ['strnum_2ef90_859',['strnum.F90',['../strnum_8F90.html',1,'']]], + ['strnum_5fc_860',['strnum_c',['../namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2',1,'bufr_c2f_interface']]], + ['strnum_5ff_861',['strnum_f',['../bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11',1,'bufrlib.h']]], + ['strsuc_862',['strsuc',['../strsuc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28',1,'strsuc.F90']]], + ['strsuc_2ef90_863',['strsuc.F90',['../strsuc_8F90.html',1,'']]], + ['strtbfe_864',['strtbfe',['../cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76',1,'cfe.c']]], + ['strtbfe_5fc_865',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html',1,'bufrlib::strtbfe_c'],['../interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5',1,'bufrlib::strtbfe_c::strtbfe_c()']]], + ['stseq_866',['stseq',['../stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c'],['../bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c']]], + ['stseq_2ec_867',['stseq.c',['../stseq_8c.html',1,'']]], + ['stseq_5fc_868',['stseq_c',['../interfacebufrlib_1_1stseq__c.html',1,'bufrlib::stseq_c'],['../interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870',1,'bufrlib::stseq_c::stseq_c()']]] +]; diff --git a/previous_versions/v12.0.1/search/all_12.html b/previous_versions/v12.0.1/search/all_12.html new file mode 100644 index 000000000..ab934722c --- /dev/null +++ b/previous_versions/v12.0.1/search/all_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_12.js b/previous_versions/v12.0.1/search/all_12.js new file mode 100644 index 000000000..2b894c603 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_12.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['taba_869',['taba',['../namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65',1,'moda_tababd']]], + ['tabb_870',['tabb',['../namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c',1,'moda_tababd']]], + ['tabd_871',['tabd',['../namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c',1,'moda_tababd']]], + ['tabent_872',['tabent',['../tabent_8f.html#a93eed61bdc169fa276366154d660f959',1,'tabent.f']]], + ['tabent_2ef_873',['tabent.f',['../tabent_8f.html',1,'']]], + ['tabsub_874',['tabsub',['../tabsub_8f.html#a6ad60d6ecdf6a230ccb11e112ecc84ce',1,'tabsub.f']]], + ['tabsub_2ef_875',['tabsub.f',['../tabsub_8f.html',1,'']]], + ['tag_876',['tag',['../namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4',1,'moda_tables']]], + ['tagnrv_877',['tagnrv',['../namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de',1,'moda_nrv203']]], + ['tamnem_878',['tamnem',['../namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584',1,'moda_sc3bfr']]], + ['tbldir_5ff_879',['tbldir_f',['../namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02',1,'share_table_info']]], + ['trybump_880',['trybump',['../trybump_8f.html#a7df827415ef9d772ed5bb27bb7a82adf',1,'trybump.f']]], + ['trybump_2ef_881',['trybump.f',['../trybump_8f.html',1,'']]], + ['ttmp_882',['ttmp',['../namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e',1,'moda_ivttmp']]], + ['typ_883',['typ',['../namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c',1,'moda_tables']]] +]; diff --git a/previous_versions/v12.0.1/search/all_13.html b/previous_versions/v12.0.1/search/all_13.html new file mode 100644 index 000000000..51172c2f3 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_13.js b/previous_versions/v12.0.1/search/all_13.js new file mode 100644 index 000000000..da024b4d4 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_13.js @@ -0,0 +1,87 @@ +var searchData= +[ + ['ufbcnt_884',['ufbcnt',['../ufbcnt_8f.html#afada6ea85af96e5751b5d82d28f807d4',1,'ufbcnt.f']]], + ['ufbcnt_2ef_885',['ufbcnt.f',['../ufbcnt_8f.html',1,'']]], + ['ufbcpy_886',['ufbcpy',['../ufbcpy_8f.html#ac1f15281ef59f8b415f26ab9338a1700',1,'ufbcpy.f']]], + ['ufbcpy_2ef_887',['ufbcpy.f',['../ufbcpy_8f.html',1,'']]], + ['ufbcup_888',['ufbcup',['../ufbcup_8f.html#a634b4974ecc6ef3dfe0f4ee27084305b',1,'ufbcup.f']]], + ['ufbcup_2ef_889',['ufbcup.f',['../ufbcup_8f.html',1,'']]], + ['ufbdmp_890',['ufbdmp',['../ufbdmp_8f.html#a03f00a8e30364f2d9a29718a1296c698',1,'ufbdmp.f']]], + ['ufbdmp_2ef_891',['ufbdmp.f',['../ufbdmp_8f.html',1,'']]], + ['ufbevn_892',['ufbevn',['../ufbevn_8f.html#a630c533559c08a5e7206499d174dedeb',1,'ufbevn.f']]], + ['ufbevn_2ef_893',['ufbevn.f',['../ufbevn_8f.html',1,'']]], + ['ufbget_894',['ufbget',['../ufbget_8f.html#ac8ce7862a6f53cee02ad052d341247e4',1,'ufbget.f']]], + ['ufbget_2ef_895',['ufbget.f',['../ufbget_8f.html',1,'']]], + ['ufbin3_896',['ufbin3',['../ufbin3_8f.html#a8f7e7d94420398251429218892f6ca48',1,'ufbin3.f']]], + ['ufbin3_2ef_897',['ufbin3.f',['../ufbin3_8f.html',1,'']]], + ['ufbint_898',['ufbint',['../ufbint_8f.html#aacc479c23b54cc29eecc78d22e56916b',1,'ufbint.f']]], + ['ufbint_2ef_899',['ufbint.f',['../ufbint_8f.html',1,'']]], + ['ufbint_5fc_900',['ufbint_c',['../namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67',1,'bufr_c2f_interface']]], + ['ufbint_5ff_901',['ufbint_f',['../bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075',1,'bufr_interface.h']]], + ['ufbinx_902',['ufbinx',['../ufbinx_8f.html#a4014acd8639acf687abe1cd69efad1d4',1,'ufbinx.f']]], + ['ufbinx_2ef_903',['ufbinx.f',['../ufbinx_8f.html',1,'']]], + ['ufbmem_904',['ufbmem',['../ufbmem_8f.html#aef2048739b26a0efc96a38bda24809a4',1,'ufbmem.f']]], + ['ufbmem_2ef_905',['ufbmem.f',['../ufbmem_8f.html',1,'']]], + ['ufbmex_906',['ufbmex',['../ufbmex_8f.html#a1c3895e1770738efa9108c74d09aac41',1,'ufbmex.f']]], + ['ufbmex_2ef_907',['ufbmex.f',['../ufbmex_8f.html',1,'']]], + ['ufbmms_908',['ufbmms',['../ufbmms_8f.html#a142b387ea3b4861114dd8299375e933b',1,'ufbmms.f']]], + ['ufbmms_2ef_909',['ufbmms.f',['../ufbmms_8f.html',1,'']]], + ['ufbmns_910',['ufbmns',['../ufbmns_8f.html#a8c47d293077b6ef8a0d87a5bda532992',1,'ufbmns.f']]], + ['ufbmns_2ef_911',['ufbmns.f',['../ufbmns_8f.html',1,'']]], + ['ufbovr_912',['ufbovr',['../ufbovr_8f.html#a329577a745ed0bd9d6dcee2e3adac859',1,'ufbovr.f']]], + ['ufbovr_2ef_913',['ufbovr.f',['../ufbovr_8f.html',1,'']]], + ['ufbpos_914',['ufbpos',['../ufbpos_8f.html#a36fae2a842d9b540891fa080cc61b716',1,'ufbpos.f']]], + ['ufbpos_2ef_915',['ufbpos.f',['../ufbpos_8f.html',1,'']]], + ['ufbqcd_916',['ufbqcd',['../ufbqcd_8f.html#a65c0f87b2a9c7666057a269631f1bae7',1,'ufbqcd.f']]], + ['ufbqcd_2ef_917',['ufbqcd.f',['../ufbqcd_8f.html',1,'']]], + ['ufbqcp_918',['ufbqcp',['../ufbqcp_8f.html#a39595280220d52ec11fc213be006d8be',1,'ufbqcp.f']]], + ['ufbqcp_2ef_919',['ufbqcp.f',['../ufbqcp_8f.html',1,'']]], + ['ufbrep_920',['ufbrep',['../ufbrep_8f.html#a8dafd734f4271f895722c7750cf6e9ed',1,'ufbrep.f']]], + ['ufbrep_2ef_921',['ufbrep.f',['../ufbrep_8f.html',1,'']]], + ['ufbrep_5fc_922',['ufbrep_c',['../namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93',1,'bufr_c2f_interface']]], + ['ufbrep_5ff_923',['ufbrep_f',['../bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce',1,'bufr_interface.h']]], + ['ufbrms_924',['ufbrms',['../ufbrms_8f.html#aef165d34e315795e76a05ce6b4e79306',1,'ufbrms.f']]], + ['ufbrms_2ef_925',['ufbrms.f',['../ufbrms_8f.html',1,'']]], + ['ufbrp_926',['ufbrp',['../ufbrp_8f.html#a0caf28e523ac9dbea5d5bd592cd40b39',1,'ufbrp.f']]], + ['ufbrp_2ef_927',['ufbrp.f',['../ufbrp_8f.html',1,'']]], + ['ufbrw_928',['ufbrw',['../ufbrw_8f.html#abc239f0ea4f858cccb770bad22d04f02',1,'ufbrw.f']]], + ['ufbrw_2ef_929',['ufbrw.f',['../ufbrw_8f.html',1,'']]], + ['ufbseq_930',['ufbseq',['../ufbseq_8f.html#ad50785c4e565749fa08ec3bdddacc6fd',1,'ufbseq.f']]], + ['ufbseq_2ef_931',['ufbseq.f',['../ufbseq_8f.html',1,'']]], + ['ufbseq_5fc_932',['ufbseq_c',['../namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca',1,'bufr_c2f_interface']]], + ['ufbseq_5ff_933',['ufbseq_f',['../bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16',1,'bufr_interface.h']]], + ['ufbsp_934',['ufbsp',['../ufbsp_8f.html#a9e01a96271d067c20bac5606efd53560',1,'ufbsp.f']]], + ['ufbsp_2ef_935',['ufbsp.f',['../ufbsp_8f.html',1,'']]], + ['ufbstp_936',['ufbstp',['../ufbstp_8f.html#a2bee29e854e5de7c143b2395f2b91558',1,'ufbstp.f']]], + ['ufbstp_2ef_937',['ufbstp.f',['../ufbstp_8f.html',1,'']]], + ['ufbtab_938',['ufbtab',['../ufbtab_8f.html#a5e4e72f944670059a938e246717e5ad9',1,'ufbtab.f']]], + ['ufbtab_2ef_939',['ufbtab.f',['../ufbtab_8f.html',1,'']]], + ['ufbtam_940',['ufbtam',['../ufbtam_8f.html#ab057894a02fafc40f351dfb23707f9a1',1,'ufbtam.f']]], + ['ufbtam_2ef_941',['ufbtam.f',['../ufbtam_8f.html',1,'']]], + ['ufdump_942',['ufdump',['../ufdump_8f.html#ac6ded614847f96968e12c9600a7d51ba',1,'ufdump.f']]], + ['ufdump_2ef_943',['ufdump.f',['../ufdump_8f.html',1,'']]], + ['unit_5fstr_5flen_944',['UNIT_STR_LEN',['../bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69',1,'bufrlib.h']]], + ['up8_945',['up8',['../up8_8f.html#a9934a3d9c66ea78c7c132066798583f9',1,'up8.f']]], + ['up8_2ef_946',['up8.f',['../up8_8f.html',1,'']]], + ['upb_947',['upb',['../upb_8f.html#aae09b58b06877db63e95889f67c146c0',1,'upb.f']]], + ['upb_2ef_948',['upb.f',['../upb_8f.html',1,'']]], + ['upb8_949',['upb8',['../upb8_8f.html#a25ce428c1ae2bcb567fc2762fabf4317',1,'upb8.f']]], + ['upb8_2ef_950',['upb8.f',['../upb8_8f.html',1,'']]], + ['upbb_951',['upbb',['../upbb_8f.html#a92f5b8055d7eae17ed04e1300e741a39',1,'upbb.f']]], + ['upbb_2ef_952',['upbb.f',['../upbb_8f.html',1,'']]], + ['upc_953',['upc',['../upc_8f.html#ae2afdf50d0bf4063426faeae29515208',1,'upc.f']]], + ['upc_2ef_954',['upc.f',['../upc_8f.html',1,'']]], + ['upds3_955',['upds3',['../upds3_8f.html#ab3f8934add8a578800472069a91d33d6',1,'upds3.f']]], + ['upds3_2ef_956',['upds3.f',['../upds3_8f.html',1,'']]], + ['upftbv_957',['upftbv',['../upftbv_8f.html#a1474a49dffc36e1517bc71c734d36837',1,'upftbv.f']]], + ['upftbv_2ef_958',['upftbv.f',['../upftbv_8f.html',1,'']]], + ['ups_959',['ups',['../ups_8f.html#aea2e26fceeecb31aa90ae7811fa1c361',1,'ups.f']]], + ['ups_2ef_960',['ups.f',['../ups_8f.html',1,'']]], + ['uptdd_961',['uptdd',['../uptdd_8f.html#a560d41b7c906a6cb2dc1f53259261dd4',1,'uptdd.f']]], + ['uptdd_2ef_962',['uptdd.f',['../uptdd_8f.html',1,'']]], + ['uptdd_5fc_963',['uptdd_c',['../namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea',1,'bufr_c2f_interface']]], + ['uptdd_5ff_964',['uptdd_f',['../bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b',1,'bufrlib.h']]], + ['usrtpl_965',['usrtpl',['../usrtpl_8f.html#a677bf700a4a6f0626a41921cd66d8ed9',1,'usrtpl.f']]], + ['usrtpl_2ef_966',['usrtpl.f',['../usrtpl_8f.html',1,'']]], + ['utilities_967',['Utilities',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_14.html b/previous_versions/v12.0.1/search/all_14.html new file mode 100644 index 000000000..afecf5634 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_14.js b/previous_versions/v12.0.1/search/all_14.js new file mode 100644 index 000000000..9f1d5a736 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_14.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['val_968',['val',['../namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486',1,'moda_usrint']]], + ['vali_969',['vali',['../namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed',1,'moda_tables']]], + ['vers_5fstr_5flen_970',['VERS_STR_LEN',['../bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0',1,'bufrlib.h']]], + ['vtmp_971',['vtmp',['../namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b',1,'moda_ivttmp']]], + ['vutmp_972',['vutmp',['../namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973',1,'moda_usrtmp']]] +]; diff --git a/previous_versions/v12.0.1/search/all_15.html b/previous_versions/v12.0.1/search/all_15.html new file mode 100644 index 000000000..69f382b31 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_15.js b/previous_versions/v12.0.1/search/all_15.js new file mode 100644 index 000000000..06b0ff9c5 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_15.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['wrcmps_973',['wrcmps',['../wrcmps_8f.html#a8b333832f77606059ec94ba8b80d4e8d',1,'wrcmps.f']]], + ['wrcmps_2ef_974',['wrcmps.f',['../wrcmps_8f.html',1,'']]], + ['wrdesc_975',['wrdesc',['../bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c'],['../wrdesc_8c.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c']]], + ['wrdesc_2ec_976',['wrdesc.c',['../wrdesc_8c.html',1,'']]], + ['wrdlen_977',['wrdlen',['../wrdlen_8F.html#afb746f29272671c842018de69b277685',1,'wrdlen.F']]], + ['wrdlen_2ef_978',['wrdlen.F',['../wrdlen_8F.html',1,'']]], + ['wrdlen_5fc_979',['wrdlen_c',['../namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1',1,'bufr_c2f_interface']]], + ['wrdlen_5ff_980',['wrdlen_f',['../bufrlib_8h.html#a080eec815db985d32c88720a303f53c4',1,'bufrlib.h']]], + ['wrdxtb_981',['wrdxtb',['../wrdxtb_8f.html#a89d9a5cf1716a40206ce1684c3eb9415',1,'wrdxtb.f']]], + ['wrdxtb_2ef_982',['wrdxtb.f',['../wrdxtb_8f.html',1,'']]], + ['writ1_983',['writ1',['../namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02',1,'moda_comprx']]], + ['writcp_984',['writcp',['../writcp_8f.html#a0746c543fb40ce7630bb60775ddb048f',1,'writcp.f']]], + ['writcp_2ef_985',['writcp.f',['../writcp_8f.html',1,'']]], + ['writdx_986',['writdx',['../writdx_8f.html#aeefeb67236c767bcd39c0b2bc03fa390',1,'writdx.f']]], + ['writdx_2ef_987',['writdx.f',['../writdx_8f.html',1,'']]], + ['writlc_988',['writlc',['../writlc_8f.html#a618f82746b2f00c524529cf9c477656a',1,'writlc.f']]], + ['writlc_2ef_989',['writlc.f',['../writlc_8f.html',1,'']]], + ['writsa_990',['writsa',['../writsa_8f.html#a15907b29d7777574ebc34b491e2df0ee',1,'writsa.f']]], + ['writsa_2ef_991',['writsa.f',['../writsa_8f.html',1,'']]], + ['writsb_992',['writsb',['../writsb_8f.html#a9123f1d55a95142381a9eb7402d37b05',1,'writsb.f']]], + ['writsb_2ef_993',['writsb.f',['../writsb_8f.html',1,'']]], + ['wrtree_994',['wrtree',['../wrtree_8f.html#a0700f04d89a10a24b1acb184f6022c77',1,'wrtree.f']]], + ['wrtree_2ef_995',['wrtree.f',['../wrtree_8f.html',1,'']]], + ['wtstat_996',['wtstat',['../wtstat_8f.html#a82676f83ff365e03ad827ed5ba0af1ae',1,'wtstat.f']]], + ['wtstat_2ef_997',['wtstat.f',['../wtstat_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_16.html b/previous_versions/v12.0.1/search/all_16.html new file mode 100644 index 000000000..b19867ad9 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_16.js b/previous_versions/v12.0.1/search/all_16.js new file mode 100644 index 000000000..adb774717 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_16.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['x48_998',['x48',['../x48_8F.html#a268214fc42b428a9fb25656b5d6a4eb3',1,'x48.F']]], + ['x48_2ef_999',['x48.F',['../x48_8F.html',1,'']]], + ['x84_1000',['x84',['../x84_8F.html#a26ff906219363c677693bd4de86c5912',1,'x84.F']]], + ['x84_2ef_1001',['x84.F',['../x84_8F.html',1,'']]], + ['xbfmg_2ec_1002',['xbfmg.c',['../xbfmg_8c.html',1,'']]], + ['xtab_1003',['xtab',['../namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d',1,'moda_xtab']]] +]; diff --git a/previous_versions/v12.0.1/search/all_2.html b/previous_versions/v12.0.1/search/all_2.html new file mode 100644 index 000000000..02cfffc2e --- /dev/null +++ b/previous_versions/v12.0.1/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_2.js b/previous_versions/v12.0.1/search/all_2.js new file mode 100644 index 000000000..014b845b1 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_2.js @@ -0,0 +1,101 @@ +var searchData= +[ + ['cadn30_44',['cadn30',['../cadn30_8f.html#a62b50a0be6585c53b6604953e5f39ad1',1,'cadn30.f']]], + ['cadn30_2ef_45',['cadn30.f',['../cadn30_8f.html',1,'']]], + ['cadn30_5fc_46',['cadn30_c',['../namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5',1,'bufr_c2f_interface']]], + ['cadn30_5ff_47',['cadn30_f',['../bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9',1,'bufrlib.h']]], + ['capit_48',['capit',['../capit_8f.html#acade976948fae8afa1a8301ff9272f56',1,'capit.f']]], + ['capit_2ef_49',['capit.f',['../capit_8f.html',1,'']]], + ['catx_50',['catx',['../namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937',1,'moda_comprs']]], + ['cbbw_51',['cbbw',['../namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a',1,'moda_mstabs']]], + ['cbbw_5fc_52',['cbbw_c',['../mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0',1,'mstabs.h']]], + ['cbelem_53',['cbelem',['../namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7',1,'moda_mstabs']]], + ['cbelem_5fc_54',['cbelem_c',['../mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d',1,'mstabs.h']]], + ['cbmnem_55',['cbmnem',['../namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa',1,'moda_mstabs']]], + ['cbmnem_5fc_56',['cbmnem_c',['../mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b',1,'mstabs.h']]], + ['cbscl_57',['cbscl',['../namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea',1,'moda_mstabs']]], + ['cbscl_5fc_58',['cbscl_c',['../mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47',1,'mstabs.h']]], + ['cbsref_59',['cbsref',['../namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0',1,'moda_mstabs']]], + ['cbsref_5fc_60',['cbsref_c',['../mstabs_8h.html#a944736d6f549e144e77482a27d57d54f',1,'mstabs.h']]], + ['cbunit_61',['cbunit',['../namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b',1,'moda_mstabs']]], + ['cbunit_5fc_62',['cbunit_c',['../mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc',1,'mstabs.h']]], + ['ccbfl_63',['ccbfl',['../crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c'],['../bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c']]], + ['ccbfl_5fc_64',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html',1,'bufr_interface::ccbfl_c'],['../interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8',1,'bufr_interface::ccbfl_c::ccbfl_c()']]], + ['cdmnem_65',['cdmnem',['../namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168',1,'moda_mstabs']]], + ['cdmnem_5fc_66',['cdmnem_c',['../mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51',1,'mstabs.h']]], + ['cdseq_67',['cdseq',['../namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7',1,'moda_mstabs']]], + ['cdseq_5fc_68',['cdseq_c',['../mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2',1,'mstabs.h']]], + ['ceelem_69',['ceelem',['../namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653',1,'moda_rdmtb']]], + ['cewind_70',['cewind',['../cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c'],['../bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c']]], + ['cewind_5fc_71',['cewind_c',['../interfacebufrlib_1_1cewind__c.html',1,'bufrlib::cewind_c'],['../interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b',1,'bufrlib::cewind_c::cewind_c()']]], + ['cfe_72',['cfe',['../cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16',1,'cfe.c']]], + ['cfe_2ec_73',['cfe.c',['../cfe_8c.html',1,'']]], + ['chekstab_74',['chekstab',['../chekstab_8f.html#aab7a156a89f4b58d3ef31ab946485e50',1,'chekstab.f']]], + ['chekstab_2ef_75',['chekstab.f',['../chekstab_8f.html',1,'']]], + ['chh4wlc_76',['chh4wlc',['../namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75',1,'moda_h4wlc']]], + ['cktaba_77',['cktaba',['../cktaba_8f.html#a137108e58830be769ba5b28072cf1b4c',1,'cktaba.f']]], + ['cktaba_2ef_78',['cktaba.f',['../cktaba_8f.html',1,'']]], + ['closbf_79',['closbf',['../closbf_8f.html#ad55dd3a551ae12718de0ac459c8f45c0',1,'closbf.f']]], + ['closbf_2ef_80',['closbf.f',['../closbf_8f.html',1,'']]], + ['closbf_5fc_81',['closbf_c',['../namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d',1,'bufr_c2f_interface']]], + ['closbf_5ff_82',['closbf_f',['../bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a',1,'bufr_interface.h']]], + ['close_5fc_83',['close_c',['../namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3',1,'bufr_c2f_interface']]], + ['close_5ff_84',['close_f',['../bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249',1,'bufr_interface.h']]], + ['closfb_85',['closfb',['../cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c'],['../bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c']]], + ['closfb_5fc_86',['closfb_c',['../interfacebufrlib_1_1closfb__c.html',1,'bufrlib::closfb_c'],['../interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f',1,'bufrlib::closfb_c::closfb_c()']]], + ['closmg_87',['closmg',['../closmg_8f.html#a613caf939b486d5820aad9111383921b',1,'closmg.f']]], + ['closmg_2ef_88',['closmg.f',['../closmg_8f.html',1,'']]], + ['cmdscb_89',['cmdscb',['../namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055',1,'moda_rdmtb']]], + ['cmdscd_90',['cmdscd',['../namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f',1,'moda_rdmtb']]], + ['cmnem_91',['cmnem',['../namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7',1,'moda_s01cm']]], + ['cmpbqm_92',['cmpbqm',['../cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da',1,'cmpbqm.F90']]], + ['cmpbqm_2ef90_93',['cmpbqm.F90',['../cmpbqm_8F90.html',1,'']]], + ['cmpia_94',['cmpia',['../stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29',1,'stseq.c']]], + ['cmpmsg_95',['cmpmsg',['../cmpmsg_8f.html#a75b2d1dfd1dedb519205399a8087fd56',1,'cmpmsg.f']]], + ['cmpmsg_2ef_96',['cmpmsg.f',['../cmpmsg_8f.html',1,'']]], + ['cmpmsg_5ff_97',['cmpmsg_f',['../bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128',1,'bufr_interface.h']]], + ['cmpstia1_98',['cmpstia1',['../cfe_8c.html#a7211d196317c36365a40a128875d5041',1,'cfe.c']]], + ['cmpstia2_99',['cmpstia2',['../cfe_8c.html#a54e09962aa43b61717212a2702be33c8',1,'cfe.c']]], + ['cmsgini_100',['cmsgini',['../cmsgini_8f.html#ace74c243976a7546e92121317b36f9de',1,'cmsgini.f']]], + ['cmsgini_2ef_101',['cmsgini.f',['../cmsgini_8f.html',1,'']]], + ['cnem_102',['cnem',['../namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a',1,'moda_dscach']]], + ['cnved4_103',['cnved4',['../cnved4_8f.html#a7d89a1cf9282ca0f978a4da923369226',1,'cnved4.f']]], + ['cnved4_2ef_104',['cnved4.f',['../cnved4_8f.html',1,'']]], + ['cobfl_105',['cobfl',['../bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c'],['../crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c']]], + ['cobfl_5fc_106',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html',1,'bufr_interface::cobfl_c'],['../interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e',1,'bufr_interface::cobfl_c::cobfl_c()']]], + ['codflg_107',['codflg',['../codflg_8f.html#af415643ef31f484c879e7a770fa69ff9',1,'codflg.f']]], + ['codflg_2ef_108',['codflg.f',['../codflg_8f.html',1,'']]], + ['conwin_109',['conwin',['../conwin_8f.html#a550d792705db407874c5eedd94a603aa',1,'conwin.f']]], + ['conwin_2ef_110',['conwin.f',['../conwin_8f.html',1,'']]], + ['copybf_111',['copybf',['../copybf_8f.html#a598d71f903b83187540ce568459cd8a0',1,'copybf.f']]], + ['copybf_2ef_112',['copybf.f',['../copybf_8f.html',1,'']]], + ['copymg_113',['copymg',['../copymg_8f.html#a2f6e668a0784a60fa7aa078d10223590',1,'copymg.f']]], + ['copymg_2ef_114',['copymg.f',['../copymg_8f.html',1,'']]], + ['copysb_115',['copysb',['../copysb_8f.html#a7982baa3c1084a33dfa8aec297782978',1,'copysb.f']]], + ['copysb_2ef_116',['copysb.f',['../copysb_8f.html',1,'']]], + ['cpbfdx_117',['cpbfdx',['../cpbfdx_8f.html#a3ab4a857b6a0b1e03f6cb2058712279a',1,'cpbfdx.f']]], + ['cpbfdx_2ef_118',['cpbfdx.f',['../cpbfdx_8f.html',1,'']]], + ['cpdxmm_119',['cpdxmm',['../cpdxmm_8f.html#a48f353028fb8bf77255b4dae476b9da7',1,'cpdxmm.f']]], + ['cpdxmm_2ef_120',['cpdxmm.f',['../cpdxmm_8f.html',1,'']]], + ['cpmstabs_121',['cpmstabs',['../cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c',1,'cpmstabs.c']]], + ['cpmstabs_2ec_122',['cpmstabs.c',['../cpmstabs_8c.html',1,'']]], + ['cpmstabs_5fc_123',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html',1,'bufrlib::cpmstabs_c'],['../interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d',1,'bufrlib::cpmstabs_c::cpmstabs_c()']]], + ['cpymem_124',['cpymem',['../cpymem_8f.html#abf683322bb0f02c5fe1d2aed27c997a9',1,'cpymem.f']]], + ['cpymem_2ef_125',['cpymem.f',['../cpymem_8f.html',1,'']]], + ['cpyupd_126',['cpyupd',['../cpyupd_8f.html#a129651d2e47b6c8986c1fc4dd73d87c9',1,'cpyupd.f']]], + ['cpyupd_2ef_127',['cpyupd.f',['../cpyupd_8f.html',1,'']]], + ['crbmg_128',['crbmg',['../bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c']]], + ['crbmg_5fc_129',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html',1,'bufr_interface::crbmg_c'],['../interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311',1,'bufr_interface::crbmg_c::crbmg_c()']]], + ['crdbufr_130',['crdbufr',['../cread_8c.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c'],['../bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c']]], + ['crdbufr_5fc_131',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html',1,'bufrlib::crdbufr_c'],['../interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9',1,'bufrlib::crdbufr_c::crdbufr_c()']]], + ['cread_2ec_132',['cread.c',['../cread_8c.html',1,'']]], + ['cread_2eh_133',['cread.h',['../cread_8h.html',1,'']]], + ['crtag_134',['crtag',['../namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1',1,'moda_rlccmn']]], + ['crwbmg_2ec_135',['crwbmg.c',['../crwbmg_8c.html',1,'']]], + ['cstr_136',['cstr',['../namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf',1,'moda_comprx']]], + ['ctco_137',['ctco',['../namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753',1,'moda_bitmaps']]], + ['cwbmg_138',['cwbmg',['../bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c']]], + ['cwbmg_5fc_139',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html',1,'bufr_interface::cwbmg_c'],['../interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113',1,'bufr_interface::cwbmg_c::cwbmg_c()']]], + ['cwrbufr_140',['cwrbufr',['../cread_8c.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c'],['../bufrlib_8h.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c']]], + ['cwrbufr_5fc_141',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html',1,'bufrlib::cwrbufr_c'],['../interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978',1,'bufrlib::cwrbufr_c::cwrbufr_c()']]] +]; diff --git a/previous_versions/v12.0.1/search/all_3.html b/previous_versions/v12.0.1/search/all_3.html new file mode 100644 index 000000000..39767b85b --- /dev/null +++ b/previous_versions/v12.0.1/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_3.js b/previous_versions/v12.0.1/search/all_3.js new file mode 100644 index 000000000..1f7560f81 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_3.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['datebf_142',['datebf',['../datebf_8f.html#ad2a5fe76a797b9a857c7eba08f161dda',1,'datebf.f']]], + ['datebf_2ef_143',['datebf.f',['../datebf_8f.html',1,'']]], + ['datelen_144',['datelen',['../datelen_8f.html#a2b79b38439baa89e2b34b0614449d579',1,'datelen.f']]], + ['datelen_2ef_145',['datelen.f',['../datelen_8f.html',1,'']]], + ['debufr_2ec_146',['debufr.c',['../debufr_8c.html',1,'']]], + ['debufr_2ef90_147',['debufr.F90',['../debufr_8F90.html',1,'']]], + ['delete_5ftable_5fdata_5fc_148',['delete_table_data_c',['../namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e',1,'bufr_c2f_interface']]], + ['delete_5ftable_5fdata_5ff_149',['delete_table_data_f',['../bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426',1,'bufr_interface.h']]], + ['digit_150',['digit',['../digit_8f.html#a794db0c45d8412136ea5cd66506c9ec2',1,'digit.f']]], + ['digit_2ef_151',['digit.f',['../digit_8f.html',1,'']]], + ['dlloctbf_152',['dlloctbf',['../cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583',1,'cfe.c']]], + ['dlloctbf_5fc_153',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html',1,'bufr_interface::dlloctbf_c'],['../interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6',1,'bufr_interface::dlloctbf_c::dlloctbf_c()']]], + ['drfini_154',['drfini',['../drfini_8f.html#a22bf08213641695f90d64c04429064a8',1,'drfini.f']]], + ['drfini_2ef_155',['drfini.f',['../drfini_8f.html',1,'']]], + ['drstpl_156',['drstpl',['../drstpl_8f.html#a665ed582f0160b2112ca37fe79457d5f',1,'drstpl.f']]], + ['drstpl_2ef_157',['drstpl.f',['../drstpl_8f.html',1,'']]], + ['dumpbf_158',['dumpbf',['../dumpbf_8f.html#a8c87e3d6aa6b01c5ca52fd57d7095826',1,'dumpbf.f']]], + ['dumpbf_2ef_159',['dumpbf.f',['../dumpbf_8f.html',1,'']]], + ['dx_20bufr_20tables_160',['DX BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html',1,'']]], + ['dxdump_161',['dxdump',['../dxdump_8f.html#a42bdc5a58d0586fd8e9bc1b755602aeb',1,'dxdump.f']]], + ['dxdump_2ef_162',['dxdump.f',['../dxdump_8f.html',1,'']]], + ['dxinit_163',['dxinit',['../dxinit_8f.html#a5a104b88a6655ba06336b2c8ab7fb98e',1,'dxinit.f']]], + ['dxinit_2ef_164',['dxinit.f',['../dxinit_8f.html',1,'']]], + ['dxmini_165',['dxmini',['../dxmini_8f.html#af50329e45cba835812b5522f4516f558',1,'dxmini.f']]], + ['dxmini_2ef_166',['dxmini.f',['../dxmini_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_4.html b/previous_versions/v12.0.1/search/all_4.html new file mode 100644 index 000000000..fc40463c8 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_4.js b/previous_versions/v12.0.1/search/all_4.js new file mode 100644 index 000000000..09881320e --- /dev/null +++ b/previous_versions/v12.0.1/search/all_4.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['elemdx_167',['elemdx',['../elemdx_8f.html#adfd6de0f5d3b01918ea50186bf208a2d',1,'elemdx.f']]], + ['elemdx_2ef_168',['elemdx.f',['../elemdx_8f.html',1,'']]], + ['elemdx_5fc_169',['elemdx_c',['../namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241',1,'bufr_c2f_interface']]], + ['elemdx_5ff_170',['elemdx_f',['../bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c',1,'bufrlib.h']]], + ['errwrt_171',['errwrt',['../errwrt_8f.html#a65626d9a772648676146b62b596c2764',1,'errwrt.f']]], + ['errwrt_2ef_172',['errwrt.f',['../errwrt_8f.html',1,'']]], + ['exitbufr_173',['exitbufr',['../exitbufr_8f.html#acd1669ed5957ebab6c98ac974b2a1bf8',1,'exitbufr.f']]], + ['exitbufr_2ef_174',['exitbufr.f',['../exitbufr_8f.html',1,'']]], + ['exitbufr_5fc_175',['exitbufr_c',['../namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab',1,'bufr_c2f_interface']]], + ['exitbufr_5ff_176',['exitbufr_f',['../bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6',1,'bufr_interface.h']]] +]; diff --git a/previous_versions/v12.0.1/search/all_5.html b/previous_versions/v12.0.1/search/all_5.html new file mode 100644 index 000000000..9dd9344b0 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_5.js b/previous_versions/v12.0.1/search/all_5.js new file mode 100644 index 000000000..ca9923f2a --- /dev/null +++ b/previous_versions/v12.0.1/search/all_5.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['fdebufr_5fc_177',['fdebufr_c',['../debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b',1,'debufr.F90']]], + ['fdebufr_5ff_178',['fdebufr_f',['../debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6',1,'debufr.c']]], + ['flush_179',['flush',['../namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7',1,'moda_comprx']]], + ['fortran_5fclose_180',['fortran_close',['../fortran__close_8F90.html#aa585324fae3ecf559d6f39507dde6715',1,'fortran_close.F90']]], + ['fortran_5fclose_2ef90_181',['fortran_close.F90',['../fortran__close_8F90.html',1,'']]], + ['fortran_5fopen_182',['fortran_open',['../fortran__open_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a',1,'fortran_open.F90']]], + ['fortran_5fopen_2ef90_183',['fortran_open.F90',['../fortran__open_8F90.html',1,'']]], + ['fstag_184',['fstag',['../fstag_8f.html#a4086d332625381684867dd7ec13a20e5',1,'fstag.f']]], + ['fstag_2ef_185',['fstag.f',['../fstag_8f.html',1,'']]], + ['fxy_5fstr_5flen_186',['FXY_STR_LEN',['../bufrlib_8h.html#a320fb202c17784943f8223593c9123dd',1,'bufrlib.h']]] +]; diff --git a/previous_versions/v12.0.1/search/all_6.html b/previous_versions/v12.0.1/search/all_6.html new file mode 100644 index 000000000..f1e516d75 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_6.js b/previous_versions/v12.0.1/search/all_6.js new file mode 100644 index 000000000..4e90b6050 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_6.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['get_5finode_5fc_187',['get_inode_c',['../namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f',1,'bufr_c2f_interface']]], + ['get_5finode_5ff_188',['get_inode_f',['../bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d',1,'bufr_interface.h']]], + ['get_5finv_5fc_189',['get_inv_c',['../namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6',1,'bufr_c2f_interface']]], + ['get_5finv_5ff_190',['get_inv_f',['../bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992',1,'bufr_interface.h']]], + ['get_5firf_5fc_191',['get_irf_c',['../namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252',1,'bufr_c2f_interface']]], + ['get_5firf_5ff_192',['get_irf_f',['../bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5',1,'bufr_interface.h']]], + ['get_5fisc_5fc_193',['get_isc_c',['../namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102',1,'bufr_c2f_interface']]], + ['get_5fisc_5ff_194',['get_isc_f',['../bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e',1,'bufr_interface.h']]], + ['get_5fitp_5fc_195',['get_itp_c',['../namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d',1,'bufr_c2f_interface']]], + ['get_5fitp_5ff_196',['get_itp_f',['../bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3',1,'bufr_interface.h']]], + ['get_5fjmpb_5fc_197',['get_jmpb_c',['../namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f',1,'bufr_c2f_interface']]], + ['get_5fjmpb_5ff_198',['get_jmpb_f',['../bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e',1,'bufr_interface.h']]], + ['get_5flink_5fc_199',['get_link_c',['../namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9',1,'bufr_c2f_interface']]], + ['get_5flink_5ff_200',['get_link_f',['../bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88',1,'bufr_interface.h']]], + ['get_5fnval_5fc_201',['get_nval_c',['../namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503',1,'bufr_c2f_interface']]], + ['get_5fnval_5ff_202',['get_nval_f',['../bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2',1,'bufr_interface.h']]], + ['get_5ftag_5fc_203',['get_tag_c',['../namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a',1,'bufr_c2f_interface']]], + ['get_5ftag_5ff_204',['get_tag_f',['../bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca',1,'bufr_interface.h']]], + ['get_5ftyp_5fc_205',['get_typ_c',['../namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102',1,'bufr_c2f_interface']]], + ['get_5ftyp_5ff_206',['get_typ_f',['../bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3',1,'bufr_interface.h']]], + ['get_5fval_5fc_207',['get_val_c',['../namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54',1,'bufr_c2f_interface']]], + ['get_5fval_5ff_208',['get_val_f',['../bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1',1,'bufr_interface.h']]], + ['getabdb_209',['getabdb',['../getabdb_8f.html#a5a224df0ff920fff5ce7adc7a78ccf39',1,'getabdb.f']]], + ['getabdb_2ef_210',['getabdb.f',['../getabdb_8f.html',1,'']]], + ['getbmiss_211',['getbmiss',['../getbmiss_8f.html#ab344899ae36140147a28f17ec36649d4',1,'getbmiss.f']]], + ['getbmiss_2ef_212',['getbmiss.f',['../getbmiss_8f.html',1,'']]], + ['getcfmng_213',['getcfmng',['../getcfmng_8f.html#a79cc79e9e059a171f8d55fcc481b6f17',1,'getcfmng.f']]], + ['getcfmng_2ef_214',['getcfmng.f',['../getcfmng_8f.html',1,'']]], + ['getlens_215',['getlens',['../getlens_8f.html#a685789badbea7a0251067101a43b1379',1,'getlens.f']]], + ['getlens_2ef_216',['getlens.f',['../getlens_8f.html',1,'']]], + ['getntbe_217',['getntbe',['../getntbe_8f.html#a114eb13cc332b1a370f5d4bc81b43417',1,'getntbe.f']]], + ['getntbe_2ef_218',['getntbe.f',['../getntbe_8f.html',1,'']]], + ['gets1loc_219',['gets1loc',['../gets1loc_8f.html#a9d00101f324f421d08d82185bd6bda5a',1,'gets1loc.f']]], + ['gets1loc_2ef_220',['gets1loc.f',['../gets1loc_8f.html',1,'']]], + ['gettab_221',['gettab',['../gettab_8f90.html#ac9eda42ec8bf46baae0a4f34cd517813',1,'gettab.f90']]], + ['gettab_2ef90_222',['gettab.f90',['../gettab_8f90.html',1,'']]], + ['gettagpr_223',['gettagpr',['../gettagpr_8f.html#afa95ba65c1f04061bcc67bfc42f2591e',1,'gettagpr.f']]], + ['gettagpr_2ef_224',['gettagpr.f',['../gettagpr_8f.html',1,'']]], + ['gettagre_225',['gettagre',['../gettagre_8f.html#ac403696207f08e85eb2cbfdb2260d8c8',1,'gettagre.f']]], + ['gettagre_2ef_226',['gettagre.f',['../gettagre_8f.html',1,'']]], + ['gettbh_227',['gettbh',['../gettbh_8f.html#afdf05d8351efc21966d1667b09e397e3',1,'gettbh.f']]], + ['gettbh_2ef_228',['gettbh.f',['../gettbh_8f.html',1,'']]], + ['getvalnb_229',['getvalnb',['../getvalnb_8f.html#a64c2899499c1da1b24ee62414eaf4ad6',1,'getvalnb.f']]], + ['getvalnb_2ef_230',['getvalnb.f',['../getvalnb_8f.html',1,'']]], + ['getwin_231',['getwin',['../getwin_8f.html#a379c23a5975d8a605b4747586726f5b1',1,'getwin.f']]], + ['getwin_2ef_232',['getwin.f',['../getwin_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_7.html b/previous_versions/v12.0.1/search/all_7.html new file mode 100644 index 000000000..8ddbf6c8e --- /dev/null +++ b/previous_versions/v12.0.1/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_7.js b/previous_versions/v12.0.1/search/all_7.js new file mode 100644 index 000000000..7b33684b6 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hold4wlc_233',['hold4wlc',['../hold4wlc_8f.html#a91458ffa3b29d47b043110a8e87ddf50',1,'hold4wlc.f']]], + ['hold4wlc_2ef_234',['hold4wlc.f',['../hold4wlc_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_8.html b/previous_versions/v12.0.1/search/all_8.html new file mode 100644 index 000000000..83c55ae22 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_8.js b/previous_versions/v12.0.1/search/all_8.js new file mode 100644 index 000000000..23141776f --- /dev/null +++ b/previous_versions/v12.0.1/search/all_8.js @@ -0,0 +1,175 @@ +var searchData= +[ + ['i4dy_235',['i4dy',['../i4dy_8f.html#a69dc21255ba388e6aad80e812971f9a2',1,'i4dy.f']]], + ['i4dy_2ef_236',['i4dy.f',['../i4dy_8f.html',1,'']]], + ['ibay_237',['ibay',['../namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434',1,'moda_bitbuf']]], + ['ibfms_238',['ibfms',['../ibfms_8f.html#a0f7ba3ed6f17e76d912b4f13ea70967e',1,'ibfms.f']]], + ['ibfms_2ef_239',['ibfms.f',['../ibfms_8f.html',1,'']]], + ['ibfms_5fc_240',['ibfms_c',['../namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c',1,'bufr_c2f_interface']]], + ['ibfms_5ff_241',['ibfms_f',['../bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c',1,'bufr_interface.h']]], + ['ibfxyn_242',['ibfxyn',['../namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38',1,'moda_mstabs']]], + ['ibfxyn_5fc_243',['ibfxyn_c',['../mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad',1,'mstabs.h']]], + ['ibit_244',['ibit',['../namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9',1,'moda_bitbuf']]], + ['ibt_245',['ibt',['../namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2',1,'moda_tables']]], + ['ibtmse_246',['ibtmse',['../namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a',1,'moda_bitmaps']]], + ['ibtnrv_247',['ibtnrv',['../namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d',1,'moda_nrv203']]], + ['icbfms_248',['icbfms',['../icbfms_8f.html#af741f019421045a66605fb0bf993e69a',1,'icbfms.f']]], + ['icbfms_2ef_249',['icbfms.f',['../icbfms_8f.html',1,'']]], + ['icdxts_250',['icdxts',['../namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab',1,'moda_msgmem']]], + ['icmpdx_251',['icmpdx',['../icmpdx_8f.html#a3d484cf9a060c1a81ab132a4356d1b9c',1,'icmpdx.f']]], + ['icmpdx_2ef_252',['icmpdx.f',['../icmpdx_8f.html',1,'']]], + ['icopysb_253',['icopysb',['../icopysb_8f.html#abb76c9e1ce4ec5d6ffd88e44c669e56b',1,'icopysb.f']]], + ['icopysb_2ef_254',['icopysb.f',['../icopysb_8f.html',1,'']]], + ['icvidx_255',['icvidx',['../icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c'],['../bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c']]], + ['icvidx_2ec_256',['icvidx.c',['../icvidx_8c.html',1,'']]], + ['icvidx_5fc_257',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html',1,'bufrlib::icvidx_c'],['../interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0',1,'bufrlib::icvidx_c::icvidx_c()']]], + ['idate_258',['idate',['../namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b',1,'moda_msgcwd']]], + ['idcach_259',['idcach',['../namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3',1,'moda_dscach']]], + ['idefxy_260',['idefxy',['../namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24',1,'moda_mstabs']]], + ['idefxy_5fc_261',['idefxy_c',['../mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0',1,'mstabs.h']]], + ['idfxyn_262',['idfxyn',['../namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049',1,'moda_mstabs']]], + ['idfxyn_5fc_263',['idfxyn_c',['../mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab',1,'mstabs.h']]], + ['idn30_264',['idn30',['../idn30_8f.html#a69a1bd958e896bf2f1d6e23159d82713',1,'idn30.f']]], + ['idn30_2ef_265',['idn30.f',['../idn30_8f.html',1,'']]], + ['idna_266',['idna',['../namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca',1,'moda_tababd']]], + ['idnb_267',['idnb',['../namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5',1,'moda_tababd']]], + ['idnd_268',['idnd',['../namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e',1,'moda_tababd']]], + ['idrdm_269',['idrdm',['../namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6',1,'moda_idrdm']]], + ['idxmsg_270',['idxmsg',['../idxmsg_8f.html#adb63cdbd7f55f3d36a03e9ffb41bddfc',1,'idxmsg.f']]], + ['idxmsg_2ef_271',['idxmsg.f',['../idxmsg_8f.html',1,'']]], + ['iefxyn_272',['iefxyn',['../namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93',1,'moda_rdmtb']]], + ['ienrv_273',['ienrv',['../namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1',1,'moda_nrv203']]], + ['ifbget_274',['ifbget',['../ifbget_8f.html#a02c005f3f5bbddec11cdfee46beaa12f',1,'ifbget.f']]], + ['ifbget_2ef_275',['ifbget.f',['../ifbget_8f.html',1,'']]], + ['ifdxts_276',['ifdxts',['../namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74',1,'moda_msgmem']]], + ['ifopbf_277',['ifopbf',['../namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71',1,'modv_ifopbf']]], + ['ifxy_278',['ifxy',['../ifxy_8f.html#ac971a6f6d644344a5b09d50175498074',1,'ifxy.f']]], + ['ifxy_2ef_279',['ifxy.f',['../ifxy_8f.html',1,'']]], + ['ifxy_5fc_280',['ifxy_c',['../namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6',1,'bufr_c2f_interface']]], + ['ifxy_5ff_281',['ifxy_f',['../bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24',1,'bufrlib.h']]], + ['igetdate_282',['igetdate',['../igetdate_8f.html#ade0adb8723f6e1db7a8a6f81d2da4b50',1,'igetdate.f']]], + ['igetdate_2ef_283',['igetdate.f',['../igetdate_8f.html',1,'']]], + ['igetfxy_284',['igetfxy',['../igetfxy_8f.html#a438cad6ce6a5db1ef32ee2fcc3869aa5',1,'igetfxy.f']]], + ['igetfxy_2ef_285',['igetfxy.f',['../igetfxy_8f.html',1,'']]], + ['igetmxby_286',['igetmxby',['../igetmxby_8f.html#a2e158576710c771847a84db8cd00d13b',1,'igetmxby.f']]], + ['igetmxby_2ef_287',['igetmxby.f',['../igetmxby_8f.html',1,'']]], + ['igetmxby_5fc_288',['igetmxby_c',['../namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb',1,'bufr_c2f_interface']]], + ['igetmxby_5ff_289',['igetmxby_f',['../bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4',1,'bufr_interface.h']]], + ['igetntbi_290',['igetntbi',['../igetntbi_8f.html#aa62d319cf10b3a98796b583619d8b599',1,'igetntbi.f']]], + ['igetntbi_2ef_291',['igetntbi.f',['../igetntbi_8f.html',1,'']]], + ['igetntbi_5fc_292',['igetntbi_c',['../namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e',1,'bufr_c2f_interface']]], + ['igetntbi_5ff_293',['igetntbi_f',['../bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131',1,'bufrlib.h']]], + ['igetntbl_294',['igetntbl',['../igetntbl_8f.html#a5ef5df8d628be06a161f7973fa839795',1,'igetntbl.f']]], + ['igetntbl_2ef_295',['igetntbl.f',['../igetntbl_8f.html',1,'']]], + ['igetprm_296',['igetprm',['../igetprm_8f.html#a6c225e0b5fe6fa21cfd8e46bd2834d9f',1,'igetprm.f']]], + ['igetprm_2ef_297',['igetprm.f',['../igetprm_8f.html',1,'']]], + ['igetprm_5fc_298',['igetprm_c',['../namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b',1,'bufr_c2f_interface']]], + ['igetprm_5ff_299',['igetprm_f',['../bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb',1,'bufr_interface.h']]], + ['igetrfel_300',['igetrfel',['../igetrfel_8f.html#a764a4e5ff62c66fcaae4b2b1d806e88c',1,'igetrfel.f']]], + ['igetrfel_2ef_301',['igetrfel.f',['../igetrfel_8f.html',1,'']]], + ['igetsc_302',['igetsc',['../igetsc_8f.html#a256ecb8846572acf465d2483ee42f521',1,'igetsc.f']]], + ['igetsc_2ef_303',['igetsc.f',['../igetsc_8f.html',1,'']]], + ['igettdi_304',['igettdi',['../igettdi_8f.html#a2c1b3d34feef0ad9297be7f4f666a5f1',1,'igettdi.f']]], + ['igettdi_2ef_305',['igettdi.f',['../igettdi_8f.html',1,'']]], + ['igettdi_5fc_306',['igettdi_c',['../namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d',1,'bufr_c2f_interface']]], + ['igettdi_5ff_307',['igettdi_f',['../bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2',1,'bufrlib.h']]], + ['im8b_308',['im8b',['../namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af',1,'modv_im8b']]], + ['imrkopr_309',['imrkopr',['../imrkopr_8f.html#a15297118e0926da9adec4d745b72effe',1,'imrkopr.f']]], + ['imrkopr_2ef_310',['imrkopr.f',['../imrkopr_8f.html',1,'']]], + ['imrkopr_5fc_311',['imrkopr_c',['../namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f',1,'bufr_c2f_interface']]], + ['imrkopr_5ff_312',['imrkopr_f',['../bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47',1,'bufrlib.h']]], + ['in_5farallocc_313',['IN_ARALLOCC',['../arallocc_8c.html#a99a030277b9ff412087d1e599de3f730',1,'arallocc.c']]], + ['incr_314',['incr',['../namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27',1,'moda_comprs']]], + ['inctab_315',['inctab',['../inctab_8f.html#ab4d95e791ea67fccbade97e247ed5646',1,'inctab.f']]], + ['inctab_2ef_316',['inctab.f',['../inctab_8f.html',1,'']]], + ['inittbf_317',['inittbf',['../cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e',1,'cfe.c']]], + ['inittbf_5fc_318',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html',1,'bufrlib::inittbf_c'],['../interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8',1,'bufrlib::inittbf_c::inittbf_c()']]], + ['inode_319',['inode',['../namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa',1,'moda_msgcwd']]], + ['inodnrv_320',['inodnrv',['../namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f',1,'moda_nrv203']]], + ['inodtamc_321',['inodtamc',['../namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458',1,'moda_bitmaps']]], + ['inodtco_322',['inodtco',['../namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf',1,'moda_bitmaps']]], + ['inv_323',['inv',['../namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e',1,'moda_usrint']]], + ['invcon_324',['invcon',['../invcon_8f.html#afe1aa702b7e243216ea8bfa12394b16c',1,'invcon.f']]], + ['invcon_2ef_325',['invcon.f',['../invcon_8f.html',1,'']]], + ['invmrg_326',['invmrg',['../invmrg_8f.html#a11b608bddc0c6ad660ff50ed461d5266',1,'invmrg.f']]], + ['invmrg_2ef_327',['invmrg.f',['../invmrg_8f.html',1,'']]], + ['invtag_328',['invtag',['../invtag_8f.html#a307883c6492d9e7dab968c16ac0fb673',1,'invtag.f']]], + ['invtag_2ef_329',['invtag.f',['../invtag_8f.html',1,'']]], + ['invwin_330',['invwin',['../invwin_8f.html#ac26ae485efa93dee816efb648bdfcc8b',1,'invwin.f']]], + ['invwin_2ef_331',['invwin.f',['../invwin_8f.html',1,'']]], + ['iok2cpy_332',['iok2cpy',['../iok2cpy_8f.html#adb475e8aa22ff44804298c5119a98b9d',1,'iok2cpy.f']]], + ['iok2cpy_2ef_333',['iok2cpy.f',['../iok2cpy_8f.html',1,'']]], + ['iokoper_334',['iokoper',['../iokoper_8f.html#a4d41730266c35e121d915b729c741bd0',1,'iokoper.f']]], + ['iokoper_2ef_335',['iokoper.f',['../iokoper_8f.html',1,'']]], + ['iolun_336',['iolun',['../namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99',1,'moda_stbfr']]], + ['iomsg_337',['iomsg',['../namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7',1,'moda_stbfr']]], + ['ipdxm_338',['ipdxm',['../namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db',1,'moda_msgmem']]], + ['ipfnrv_339',['ipfnrv',['../namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7',1,'moda_nrv203']]], + ['ipkm_340',['ipkm',['../ipkm_8f.html#a554d822943222b129ddb21f204393665',1,'ipkm.f']]], + ['ipkm_2ef_341',['ipkm.f',['../ipkm_8f.html',1,'']]], + ['ipks_342',['ipks',['../ipks_8f.html#a12376c3561b8a14e09b20d8736b91d82',1,'ipks.f']]], + ['ipks_2ef_343',['ipks.f',['../ipks_8f.html',1,'']]], + ['ipmsgs_344',['ipmsgs',['../namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536',1,'moda_msgmem']]], + ['irbit_345',['irbit',['../namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca',1,'moda_rlccmn']]], + ['ireadmg_346',['ireadmg',['../ireadmg_8f.html#a3a275abe52521fa780c379ed69e1c994',1,'ireadmg.f']]], + ['ireadmg_2ef_347',['ireadmg.f',['../ireadmg_8f.html',1,'']]], + ['ireadmg_5fc_348',['ireadmg_c',['../namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b',1,'bufr_c2f_interface']]], + ['ireadmg_5ff_349',['ireadmg_f',['../bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96',1,'bufr_interface.h']]], + ['ireadmm_350',['ireadmm',['../ireadmm_8f.html#ae23e9668d28c463649cb18cccd1b6248',1,'ireadmm.f']]], + ['ireadmm_2ef_351',['ireadmm.f',['../ireadmm_8f.html',1,'']]], + ['ireadmt_352',['ireadmt',['../ireadmt_8f.html#aa695ad6da4ed98ed6ef6fc3666f7d7bc',1,'ireadmt.f']]], + ['ireadmt_2ef_353',['ireadmt.f',['../ireadmt_8f.html',1,'']]], + ['ireadns_354',['ireadns',['../ireadns_8f.html#a711f30e52fdc3cafd8800a57f6865449',1,'ireadns.f']]], + ['ireadns_2ef_355',['ireadns.f',['../ireadns_8f.html',1,'']]], + ['ireadns_5fc_356',['ireadns_c',['../namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7',1,'bufr_c2f_interface']]], + ['ireadns_5ff_357',['ireadns_f',['../bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f',1,'bufr_interface.h']]], + ['ireadsb_358',['ireadsb',['../ireadsb_8f.html#a778c5b1e6c129932b733bc25ecc27f07',1,'ireadsb.f']]], + ['ireadsb_2ef_359',['ireadsb.f',['../ireadsb_8f.html',1,'']]], + ['ireadsb_5fc_360',['ireadsb_c',['../namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1',1,'bufr_c2f_interface']]], + ['ireadsb_5ff_361',['ireadsb_f',['../bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb',1,'bufr_interface.h']]], + ['irev_362',['irev',['../irev_8F.html#a4a8512777ba30c1c919646c7a6a637f5',1,'irev.F']]], + ['irev_2ef_363',['irev.F',['../irev_8F.html',1,'']]], + ['irf_364',['irf',['../namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599',1,'moda_tables']]], + ['irnch_365',['irnch',['../namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd',1,'moda_rlccmn']]], + ['irp_366',['irp',['../namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812',1,'moda_nmikrp']]], + ['isc_367',['isc',['../namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e',1,'moda_tables']]], + ['isc3_368',['isc3',['../namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a',1,'moda_sc3bfr']]], + ['iscodes_369',['iscodes',['../namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e',1,'moda_stcode']]], + ['iseq_370',['iseq',['../namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901',1,'moda_tables']]], + ['isetprm_371',['isetprm',['../isetprm_8f.html#ae592be54b0568225433b6d66798ddce6',1,'isetprm.f']]], + ['isetprm_2ef_372',['isetprm.f',['../isetprm_8f.html',1,'']]], + ['isetprm_5fc_373',['isetprm_c',['../namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490',1,'bufr_c2f_interface']]], + ['isetprm_5ff_374',['isetprm_f',['../bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c',1,'bufr_interface.h']]], + ['ishrdx_375',['ishrdx',['../ishrdx_8f.html#a1426a2d409a3cc93b1ee0c073ad49907',1,'ishrdx.f']]], + ['ishrdx_2ef_376',['ishrdx.f',['../ishrdx_8f.html',1,'']]], + ['isize_377',['isize',['../isize_8f.html#ada463fda3cd15b7615b0dd0cfa415eb9',1,'isize.f']]], + ['isize_2ef_378',['isize.f',['../isize_8f.html',1,'']]], + ['isnrv_379',['isnrv',['../namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602',1,'moda_nrv203']]], + ['istbtm_380',['istbtm',['../namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965',1,'moda_bitmaps']]], + ['istdesc_381',['istdesc',['../istdesc_8f.html#a8cf4d2f75a7094c482f39dec47f37175',1,'istdesc.f']]], + ['istdesc_2ef_382',['istdesc.f',['../istdesc_8f.html',1,'']]], + ['istdesc_5fc_383',['istdesc_c',['../namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae',1,'bufr_c2f_interface']]], + ['istdesc_5ff_384',['istdesc_f',['../bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d',1,'bufrlib.h']]], + ['iszbtm_385',['iszbtm',['../namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574',1,'moda_bitmaps']]], + ['itmp_386',['itmp',['../namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785',1,'moda_ivttmp']]], + ['itp_387',['itp',['../namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251',1,'moda_tables']]], + ['ityp_388',['ityp',['../namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522',1,'moda_comprx']]], + ['iupb_389',['iupb',['../iupb_8f.html#abf2490cec5a3d07fd22e1b25c9aee046',1,'iupb.f']]], + ['iupb_2ef_390',['iupb.f',['../iupb_8f.html',1,'']]], + ['iupb_5fc_391',['iupb_c',['../namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe',1,'bufr_c2f_interface']]], + ['iupb_5ff_392',['iupb_f',['../bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc',1,'bufrlib.h']]], + ['iupbs01_393',['iupbs01',['../iupbs01_8f.html#a656ed063ebbcd600fcfa2810411dbf5e',1,'iupbs01.f']]], + ['iupbs01_2ef_394',['iupbs01.f',['../iupbs01_8f.html',1,'']]], + ['iupbs01_5fc_395',['iupbs01_c',['../namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd',1,'bufr_c2f_interface']]], + ['iupbs01_5ff_396',['iupbs01_f',['../bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f',1,'bufr_interface.h']]], + ['iupbs3_397',['iupbs3',['../iupbs3_8f.html#a09bc8c4de10677c94cfb411a9155bc99',1,'iupbs3.f']]], + ['iupbs3_2ef_398',['iupbs3.f',['../iupbs3_8f.html',1,'']]], + ['iupm_399',['iupm',['../iupm_8f.html#ae519ea0e87bfdd4b22e78f81ad5cb23f',1,'iupm.f']]], + ['iupm_2ef_400',['iupm.f',['../iupm_8f.html',1,'']]], + ['iupvs01_401',['iupvs01',['../iupvs01_8f.html#a77200fe9b0146973c1a0116ade2e70ad',1,'iupvs01.f']]], + ['iupvs01_2ef_402',['iupvs01.f',['../iupvs01_8f.html',1,'']]], + ['iutmp_403',['iutmp',['../namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30',1,'moda_usrtmp']]], + ['ival_404',['ival',['../namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58',1,'moda_ival']]], + ['ivmnem_405',['ivmnem',['../namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655',1,'moda_s01cm']]], + ['iwid_406',['iwid',['../namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808',1,'moda_comprx']]] +]; diff --git a/previous_versions/v12.0.1/search/all_9.html b/previous_versions/v12.0.1/search/all_9.html new file mode 100644 index 000000000..1e263c134 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_9.js b/previous_versions/v12.0.1/search/all_9.js new file mode 100644 index 000000000..14955adb9 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_9.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['jbay_407',['jbay',['../namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856',1,'moda_bufrsr']]], + ['jbit_408',['jbit',['../namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08',1,'moda_bufrsr']]], + ['jbyt_409',['jbyt',['../namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07',1,'moda_bufrsr']]], + ['jdat_410',['jdat',['../namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47',1,'moda_bufrsr']]], + ['jill_411',['jill',['../namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06',1,'moda_bufrsr']]], + ['jimm_412',['jimm',['../namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c',1,'moda_bufrsr']]], + ['jmpb_413',['jmpb',['../namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb',1,'moda_tables']]], + ['jmsg_414',['jmsg',['../namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0',1,'moda_bufrsr']]], + ['jnod_415',['jnod',['../namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218',1,'moda_bufrsr']]], + ['jseq_416',['jseq',['../namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6',1,'moda_tables']]], + ['jsr_417',['jsr',['../namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51',1,'moda_bufrsr']]], + ['jstnum_418',['jstnum',['../jstnum_8f.html#aed41312e53ed76174fb87c3b62ac0b45',1,'jstnum.f']]], + ['jstnum_2ef_419',['jstnum.f',['../jstnum_8f.html',1,'']]], + ['jsub_420',['jsub',['../namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0',1,'moda_bufrsr']]], + ['jump_421',['jump',['../namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36',1,'moda_tables']]], + ['junn_422',['junn',['../namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d',1,'moda_bufrsr']]] +]; diff --git a/previous_versions/v12.0.1/search/all_a.html b/previous_versions/v12.0.1/search/all_a.html new file mode 100644 index 000000000..3a6cac108 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_a.js b/previous_versions/v12.0.1/search/all_a.js new file mode 100644 index 000000000..d30eeb763 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_a.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['kbit_423',['kbit',['../namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147',1,'moda_comprx']]], + ['kbyt_424',['kbyt',['../namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8',1,'moda_comprx']]], + ['kmax_425',['kmax',['../namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71',1,'moda_comprx']]], + ['kmin_426',['kmin',['../namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732',1,'moda_comprx']]], + ['kmis_427',['kmis',['../namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1',1,'moda_comprx']]], + ['knt_428',['knt',['../namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b',1,'moda_tables']]], + ['knti_429',['knti',['../namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3',1,'moda_tables']]], + ['krp_430',['krp',['../namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876',1,'moda_nmikrp']]], + ['ksub_431',['ksub',['../namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6',1,'moda_bufrsr']]] +]; diff --git a/previous_versions/v12.0.1/search/all_b.html b/previous_versions/v12.0.1/search/all_b.html new file mode 100644 index 000000000..130deb4ed --- /dev/null +++ b/previous_versions/v12.0.1/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_b.js b/previous_versions/v12.0.1/search/all_b.js new file mode 100644 index 000000000..04841a955 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_b.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['lcmgdf_432',['lcmgdf',['../lcmgdf_8f.html#a46d9546ede10e6b90d9b44e4b789027e',1,'lcmgdf.f']]], + ['lcmgdf_2ef_433',['lcmgdf.f',['../lcmgdf_8f.html',1,'']]], + ['ldxm_434',['ldxm',['../namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5',1,'moda_msgmem']]], + ['ldxts_435',['ldxts',['../namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f',1,'moda_msgmem']]], + ['linbtm_436',['linbtm',['../namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80',1,'moda_bitmaps']]], + ['link_437',['link',['../namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c',1,'moda_tables']]], + ['lmsg_438',['lmsg',['../lmsg_8f.html#ad99ef4c2da4682ebd250ba4ea2a426c8',1,'lmsg.f']]], + ['lmsg_2ef_439',['lmsg.f',['../lmsg_8f.html',1,'']]], + ['lstjpb_440',['lstjpb',['../lstjpb_8f.html#a0a74db325c227fe8ee3b77bd7dfd7baf',1,'lstjpb.f']]], + ['lstjpb_2ef_441',['lstjpb.f',['../lstjpb_8f.html',1,'']]], + ['lstnod_442',['lstnod',['../namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d',1,'moda_bitmaps']]], + ['lstnodct_443',['lstnodct',['../namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e',1,'moda_bitmaps']]], + ['lstpos_444',['lstpos',['../cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0',1,'cread.h']]], + ['ltbd_445',['ltbd',['../namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c',1,'share_table_info']]], + ['ludx_446',['ludx',['../namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f',1,'share_table_info']]], + ['luh4wlc_447',['luh4wlc',['../namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71',1,'moda_h4wlc']]], + ['lunc_448',['lunc',['../namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3',1,'moda_comprx']]], + ['luncpy_449',['luncpy',['../namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf',1,'moda_ufbcpl']]], + ['lus_450',['lus',['../namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6',1,'moda_lushr']]] +]; diff --git a/previous_versions/v12.0.1/search/all_c.html b/previous_versions/v12.0.1/search/all_c.html new file mode 100644 index 000000000..3dd5af06d --- /dev/null +++ b/previous_versions/v12.0.1/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_c.js b/previous_versions/v12.0.1/search/all_c.js new file mode 100644 index 000000000..77d3019f4 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_c.js @@ -0,0 +1,163 @@ +var searchData= +[ + ['main_451',['main',['../xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): xbfmg.c'],['../debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): debufr.c']]], + ['makestab_452',['makestab',['../makestab_8f.html#ad12d047119fdcdeb97ffbced0696b9fb',1,'makestab.f']]], + ['makestab_2ef_453',['makestab.f',['../makestab_8f.html',1,'']]], + ['master_20bufr_20tables_454',['Master BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html',1,'']]], + ['matx_455',['matx',['../namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576',1,'moda_comprs']]], + ['max_5ffxy_5ftableb_456',['MAX_FXY_TABLEB',['../bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858',1,'bufrlib.h']]], + ['max_5fmeaning_5flen_457',['MAX_MEANING_LEN',['../cfe_8c.html#a655e9465dd48c1e8a068b4689748e509',1,'cfe.c']]], + ['maxbyt_458',['maxbyt',['../namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc',1,'moda_bitbuf']]], + ['maxcd_459',['MAXCD',['../bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3',1,'bufrlib.h']]], + ['maxcd_460',['maxcd',['../namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8',1,'modv_maxcd']]], + ['maxjl_461',['maxjl',['../namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61',1,'modv_maxjl']]], + ['maxmem_462',['maxmem',['../namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1',1,'modv_maxmem']]], + ['maxmsg_463',['maxmsg',['../namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46',1,'modv_maxmsg']]], + ['maxnc_464',['MAXNC',['../bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510',1,'bufrlib.h']]], + ['maxnc_465',['maxnc',['../namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e',1,'modv_maxnc']]], + ['maxout_466',['maxout',['../maxout_8f.html#aaa325906c9b2cc1b17852d152d475bcb',1,'maxout.f']]], + ['maxout_2ef_467',['maxout.f',['../maxout_8f.html',1,'']]], + ['maxout_5fc_468',['maxout_c',['../namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42',1,'bufr_c2f_interface']]], + ['maxout_5ff_469',['maxout_f',['../bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3',1,'bufr_interface.h']]], + ['maxss_470',['maxss',['../namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2',1,'modv_maxss']]], + ['maxtab_471',['maxtab',['../namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2',1,'moda_tables']]], + ['maxtba_472',['maxtba',['../namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a',1,'modv_maxtba']]], + ['maxtbb_473',['maxtbb',['../namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2',1,'modv_maxtbb']]], + ['maxtbd_474',['maxtbd',['../namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0',1,'modv_maxtbd']]], + ['mbay_475',['mbay',['../namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050',1,'moda_bitbuf']]], + ['mbit_476',['mbit',['../namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a',1,'moda_usrbit']]], + ['mbyt_477',['mbyt',['../namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a',1,'moda_bitbuf']]], + ['mdx_478',['mdx',['../namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94',1,'moda_msgmem']]], + ['mesgbc_479',['mesgbc',['../mesgbc_8f.html#a94b2ff31250eb562ee4fe3c5c231e98b',1,'mesgbc.f']]], + ['mesgbc_2ef_480',['mesgbc.f',['../mesgbc_8f.html',1,'']]], + ['mesgbf_481',['mesgbf',['../mesgbf_8f.html#a01bf48e41499c9083c3c651d1dd1ee20',1,'mesgbf.f']]], + ['mesgbf_2ef_482',['mesgbf.f',['../mesgbf_8f.html',1,'']]], + ['mgwa_483',['mgwa',['../namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a',1,'moda_mgwa']]], + ['mgwb_484',['mgwb',['../namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa',1,'moda_mgwb']]], + ['min_5ffxy_5frepl_485',['MIN_FXY_REPL',['../bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b',1,'bufrlib.h']]], + ['min_5ffxy_5ftabled_486',['MIN_FXY_TABLED',['../bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c',1,'bufrlib.h']]], + ['minimg_487',['minimg',['../minimg_8f.html#a8a82b46fac7c6c9375ec8b0543de1f0a',1,'minimg.f']]], + ['minimg_2ef_488',['minimg.f',['../minimg_8f.html',1,'']]], + ['mlast_489',['mlast',['../namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9',1,'moda_msgmem']]], + ['moda_5fbitbuf_490',['moda_bitbuf',['../namespacemoda__bitbuf.html',1,'']]], + ['moda_5fbitmaps_491',['moda_bitmaps',['../namespacemoda__bitmaps.html',1,'']]], + ['moda_5fbufrmg_492',['moda_bufrmg',['../namespacemoda__bufrmg.html',1,'']]], + ['moda_5fbufrsr_493',['moda_bufrsr',['../namespacemoda__bufrsr.html',1,'']]], + ['moda_5fcomprs_494',['moda_comprs',['../namespacemoda__comprs.html',1,'']]], + ['moda_5fcomprx_495',['moda_comprx',['../namespacemoda__comprx.html',1,'']]], + ['moda_5fdscach_496',['moda_dscach',['../namespacemoda__dscach.html',1,'']]], + ['moda_5fh4wlc_497',['moda_h4wlc',['../namespacemoda__h4wlc.html',1,'']]], + ['moda_5fidrdm_498',['moda_idrdm',['../namespacemoda__idrdm.html',1,'']]], + ['moda_5fival_499',['moda_ival',['../namespacemoda__ival.html',1,'']]], + ['moda_5fivttmp_500',['moda_ivttmp',['../namespacemoda__ivttmp.html',1,'']]], + ['moda_5flushr_501',['moda_lushr',['../namespacemoda__lushr.html',1,'']]], + ['moda_5fmgwa_502',['moda_mgwa',['../namespacemoda__mgwa.html',1,'']]], + ['moda_5fmgwb_503',['moda_mgwb',['../namespacemoda__mgwb.html',1,'']]], + ['moda_5fmsgcwd_504',['moda_msgcwd',['../namespacemoda__msgcwd.html',1,'']]], + ['moda_5fmsglim_505',['moda_msglim',['../namespacemoda__msglim.html',1,'']]], + ['moda_5fmsgmem_506',['moda_msgmem',['../namespacemoda__msgmem.html',1,'']]], + ['moda_5fmstabs_507',['moda_mstabs',['../namespacemoda__mstabs.html',1,'']]], + ['moda_5fnmikrp_508',['moda_nmikrp',['../namespacemoda__nmikrp.html',1,'']]], + ['moda_5fnrv203_509',['moda_nrv203',['../namespacemoda__nrv203.html',1,'']]], + ['moda_5fnulbfr_510',['moda_nulbfr',['../namespacemoda__nulbfr.html',1,'']]], + ['moda_5frdmtb_511',['moda_rdmtb',['../namespacemoda__rdmtb.html',1,'']]], + ['moda_5frlccmn_512',['moda_rlccmn',['../namespacemoda__rlccmn.html',1,'']]], + ['moda_5fs01cm_513',['moda_s01cm',['../namespacemoda__s01cm.html',1,'']]], + ['moda_5fsc3bfr_514',['moda_sc3bfr',['../namespacemoda__sc3bfr.html',1,'']]], + ['moda_5fstbfr_515',['moda_stbfr',['../namespacemoda__stbfr.html',1,'']]], + ['moda_5fstcode_516',['moda_stcode',['../namespacemoda__stcode.html',1,'']]], + ['moda_5ftababd_517',['moda_tababd',['../namespacemoda__tababd.html',1,'']]], + ['moda_5ftables_518',['moda_tables',['../namespacemoda__tables.html',1,'']]], + ['moda_5fufbcpl_519',['moda_ufbcpl',['../namespacemoda__ufbcpl.html',1,'']]], + ['moda_5funptyp_520',['moda_unptyp',['../namespacemoda__unptyp.html',1,'']]], + ['moda_5fusrbit_521',['moda_usrbit',['../namespacemoda__usrbit.html',1,'']]], + ['moda_5fusrint_522',['moda_usrint',['../namespacemoda__usrint.html',1,'']]], + ['moda_5fusrtmp_523',['moda_usrtmp',['../namespacemoda__usrtmp.html',1,'']]], + ['moda_5fxtab_524',['moda_xtab',['../namespacemoda__xtab.html',1,'']]], + ['modules_5farrs_2ef90_525',['modules_arrs.F90',['../modules__arrs_8F90.html',1,'']]], + ['modules_5fvars_2ef90_526',['modules_vars.F90',['../modules__vars_8F90.html',1,'']]], + ['modv_5fbmiss_527',['modv_bmiss',['../namespacemodv__bmiss.html',1,'']]], + ['modv_5fifopbf_528',['modv_ifopbf',['../namespacemodv__ifopbf.html',1,'']]], + ['modv_5fim8b_529',['modv_im8b',['../namespacemodv__im8b.html',1,'']]], + ['modv_5fmaxcd_530',['modv_maxcd',['../namespacemodv__maxcd.html',1,'']]], + ['modv_5fmaxjl_531',['modv_maxjl',['../namespacemodv__maxjl.html',1,'']]], + ['modv_5fmaxmem_532',['modv_maxmem',['../namespacemodv__maxmem.html',1,'']]], + ['modv_5fmaxmsg_533',['modv_maxmsg',['../namespacemodv__maxmsg.html',1,'']]], + ['modv_5fmaxnc_534',['modv_maxnc',['../namespacemodv__maxnc.html',1,'']]], + ['modv_5fmaxss_535',['modv_maxss',['../namespacemodv__maxss.html',1,'']]], + ['modv_5fmaxtba_536',['modv_maxtba',['../namespacemodv__maxtba.html',1,'']]], + ['modv_5fmaxtbb_537',['modv_maxtbb',['../namespacemodv__maxtbb.html',1,'']]], + ['modv_5fmaxtbd_538',['modv_maxtbd',['../namespacemodv__maxtbd.html',1,'']]], + ['modv_5fmxbtm_539',['modv_mxbtm',['../namespacemodv__mxbtm.html',1,'']]], + ['modv_5fmxbtmse_540',['modv_mxbtmse',['../namespacemodv__mxbtmse.html',1,'']]], + ['modv_5fmxcdv_541',['modv_mxcdv',['../namespacemodv__mxcdv.html',1,'']]], + ['modv_5fmxcnem_542',['modv_mxcnem',['../namespacemodv__mxcnem.html',1,'']]], + ['modv_5fmxcsb_543',['modv_mxcsb',['../namespacemodv__mxcsb.html',1,'']]], + ['modv_5fmxdxts_544',['modv_mxdxts',['../namespacemodv__mxdxts.html',1,'']]], + ['modv_5fmxh4wlc_545',['modv_mxh4wlc',['../namespacemodv__mxh4wlc.html',1,'']]], + ['modv_5fmxlcc_546',['modv_mxlcc',['../namespacemodv__mxlcc.html',1,'']]], + ['modv_5fmxmsgl_547',['modv_mxmsgl',['../namespacemodv__mxmsgl.html',1,'']]], + ['modv_5fmxmtbb_548',['modv_mxmtbb',['../namespacemodv__mxmtbb.html',1,'']]], + ['modv_5fmxmtbd_549',['modv_mxmtbd',['../namespacemodv__mxmtbd.html',1,'']]], + ['modv_5fmxmtbf_550',['modv_mxmtbf',['../namespacemodv__mxmtbf.html',1,'']]], + ['modv_5fmxnaf_551',['modv_mxnaf',['../namespacemodv__mxnaf.html',1,'']]], + ['modv_5fmxnrv_552',['modv_mxnrv',['../namespacemodv__mxnrv.html',1,'']]], + ['modv_5fmxrst_553',['modv_mxrst',['../namespacemodv__mxrst.html',1,'']]], + ['modv_5fmxs_554',['modv_mxs',['../namespacemodv__mxs.html',1,'']]], + ['modv_5fmxs01v_555',['modv_mxs01v',['../namespacemodv__mxs01v.html',1,'']]], + ['modv_5fmxtamc_556',['modv_mxtamc',['../namespacemodv__mxtamc.html',1,'']]], + ['modv_5fmxtco_557',['modv_mxtco',['../namespacemodv__mxtco.html',1,'']]], + ['modv_5fnfiles_558',['modv_nfiles',['../namespacemodv__nfiles.html',1,'']]], + ['mrginv_559',['mrginv',['../mrginv_8f.html#ad2b1b1578991d75d98e005d2678bef78',1,'mrginv.f']]], + ['mrginv_2ef_560',['mrginv.f',['../mrginv_8f.html',1,'']]], + ['msgfull_561',['msgfull',['../msgfull_8f.html#a3808cd2ad652b38673d5ac6906cfe73f',1,'msgfull.f']]], + ['msgfull_2ef_562',['msgfull.f',['../msgfull_8f.html',1,'']]], + ['msgini_563',['msgini',['../msgini_8f.html#ae73a0a9e7bba8f7dfeb673f2bca0820b',1,'msgini.f']]], + ['msgini_2ef_564',['msgini.f',['../msgini_8f.html',1,'']]], + ['msglen_565',['msglen',['../namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211',1,'moda_bufrmg']]], + ['msglim_566',['msglim',['../namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf',1,'moda_msglim']]], + ['msgp_567',['msgp',['../namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2',1,'moda_msgmem']]], + ['msgs_568',['msgs',['../namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227',1,'moda_msgmem']]], + ['msgtxt_569',['msgtxt',['../namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793',1,'moda_bufrmg']]], + ['msgunp_570',['msgunp',['../namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca',1,'moda_unptyp']]], + ['msgupd_571',['msgupd',['../msgupd_8f.html#adf75cb2bc2a217eb33ffc8e45b1a5350',1,'msgupd.f']]], + ['msgupd_2ef_572',['msgupd.f',['../msgupd_8f.html',1,'']]], + ['msgwrt_573',['msgwrt',['../msgwrt_8f.html#ac95ecf1436ba14805a33efd29fab1e5d',1,'msgwrt.f']]], + ['msgwrt_2ef_574',['msgwrt.f',['../msgwrt_8f.html',1,'']]], + ['mstabs_2eh_575',['mstabs.h',['../mstabs_8h.html',1,'']]], + ['msub_576',['msub',['../namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295',1,'moda_msgcwd']]], + ['mtab_577',['mtab',['../namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56',1,'moda_tababd']]], + ['mtfnam_578',['mtfnam',['../mtfnam_8f.html#a9991cbb64b79f8c3f07d1037344ab143',1,'mtfnam.f']]], + ['mtfnam_2ef_579',['mtfnam.f',['../mtfnam_8f.html',1,'']]], + ['mtinfo_580',['mtinfo',['../mtinfo_8f.html#a5bc13da9cf85f0bf6a8010842707d271',1,'mtinfo.f']]], + ['mtinfo_2ef_581',['mtinfo.f',['../mtinfo_8f.html',1,'']]], + ['mtinfo_5fc_582',['mtinfo_c',['../namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364',1,'bufr_c2f_interface']]], + ['mtinfo_5ff_583',['mtinfo_f',['../bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e',1,'bufr_interface.h']]], + ['munit_584',['munit',['../namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc',1,'moda_msgmem']]], + ['mvb_585',['mvb',['../mvb_8f.html#a3fb4ee7c2a5cf7725257dcdd71826ba2',1,'mvb.f']]], + ['mvb_2ef_586',['mvb.f',['../mvb_8f.html',1,'']]], + ['mxbtm_587',['mxbtm',['../namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f',1,'modv_mxbtm']]], + ['mxbtmse_588',['mxbtmse',['../namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac',1,'modv_mxbtmse']]], + ['mxcdv_589',['mxcdv',['../namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7',1,'modv_mxcdv']]], + ['mxcnem_590',['mxcnem',['../namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3',1,'modv_mxcnem']]], + ['mxcsb_591',['mxcsb',['../namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c',1,'modv_mxcsb']]], + ['mxdxm_592',['mxdxm',['../namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd',1,'moda_msgmem']]], + ['mxdxts_593',['mxdxts',['../namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884',1,'modv_mxdxts']]], + ['mxdxw_594',['mxdxw',['../namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142',1,'moda_msgmem']]], + ['mxfnlen_595',['MXFNLEN',['../crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'crwbmg.c']]], + ['mxh4wlc_596',['mxh4wlc',['../namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886',1,'modv_mxh4wlc']]], + ['mxlcc_597',['mxlcc',['../namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af',1,'modv_mxlcc']]], + ['mxmsgl_598',['mxmsgl',['../namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc',1,'modv_mxmsgl']]], + ['mxmsgld4_599',['mxmsgld4',['../namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9',1,'modv_mxmsgl']]], + ['mxmtbb_600',['mxmtbb',['../namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139',1,'modv_mxmtbb']]], + ['mxmtbd_601',['mxmtbd',['../namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea',1,'modv_mxmtbd']]], + ['mxmtbf_602',['mxmtbf',['../cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2',1,'mxmtbf(): cfe.c'],['../namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363',1,'modv_mxmtbf::mxmtbf()']]], + ['mxnaf_603',['mxnaf',['../namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e',1,'modv_mxnaf']]], + ['mxnaf_604',['MXNAF',['../bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f',1,'bufrlib.h']]], + ['mxnrv_605',['mxnrv',['../namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050',1,'modv_mxnrv']]], + ['mxrst_606',['mxrst',['../namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97',1,'modv_mxrst']]], + ['mxs_607',['mxs',['../namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375',1,'modv_mxs']]], + ['mxs01v_608',['mxs01v',['../namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51',1,'modv_mxs01v']]], + ['mxtamc_609',['mxtamc',['../namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11',1,'modv_mxtamc']]], + ['mxtco_610',['mxtco',['../namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81',1,'modv_mxtco']]] +]; diff --git a/previous_versions/v12.0.1/search/all_d.html b/previous_versions/v12.0.1/search/all_d.html new file mode 100644 index 000000000..af7f2f0f5 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_d.js b/previous_versions/v12.0.1/search/all_d.js new file mode 100644 index 000000000..ebe631679 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_d.js @@ -0,0 +1,88 @@ +var searchData= +[ + ['nbit_611',['nbit',['../namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7',1,'moda_usrbit']]], + ['nbtm_612',['nbtm',['../namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d',1,'moda_bitmaps']]], + ['nbtmse_613',['nbtmse',['../namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c',1,'moda_bitmaps']]], + ['ncnem_614',['ncnem',['../namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6',1,'moda_dscach']]], + ['ncol_615',['ncol',['../namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133',1,'moda_comprs']]], + ['ndc_616',['ndc',['../namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c',1,'moda_dscach']]], + ['ndelem_617',['ndelem',['../namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1',1,'moda_mstabs']]], + ['ndelem_5fc_618',['ndelem_c',['../mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26',1,'mstabs.h']]], + ['ndxm_619',['ndxm',['../namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637',1,'moda_msgmem']]], + ['ndxts_620',['ndxts',['../namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23',1,'moda_msgmem']]], + ['nem_621',['nem',['../namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3',1,'moda_nmikrp']]], + ['nemdefs_622',['nemdefs',['../nemdefs_8f.html#ac552350372c0023b612907e7f2445434',1,'nemdefs.f']]], + ['nemdefs_2ef_623',['nemdefs.f',['../nemdefs_8f.html',1,'']]], + ['nemdefs_5fc_624',['nemdefs_c',['../namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48',1,'bufr_c2f_interface']]], + ['nemdefs_5ff_625',['nemdefs_f',['../bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c',1,'bufr_interface.h']]], + ['nemo_5fstr_5flen_626',['NEMO_STR_LEN',['../bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0',1,'bufrlib.h']]], + ['nemock_627',['nemock',['../nemock_8f.html#a4cd0d5caf72ff1f2acb4747d11494dd2',1,'nemock.f']]], + ['nemock_2ef_628',['nemock.f',['../nemock_8f.html',1,'']]], + ['nemspecs_629',['nemspecs',['../nemspecs_8f.html#afc40b65878e8f8537a6bd6d804b5b650',1,'nemspecs.f']]], + ['nemspecs_2ef_630',['nemspecs.f',['../nemspecs_8f.html',1,'']]], + ['nemspecs_5fc_631',['nemspecs_c',['../namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55',1,'bufr_c2f_interface']]], + ['nemspecs_5ff_632',['nemspecs_f',['../bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f',1,'bufr_interface.h']]], + ['nemtab_633',['nemtab',['../nemtab_8f.html#a3f3fb5a378c52dac83cb4fce27ceb712',1,'nemtab.f']]], + ['nemtab_2ef_634',['nemtab.f',['../nemtab_8f.html',1,'']]], + ['nemtab_5fc_635',['nemtab_c',['../namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9',1,'bufr_c2f_interface']]], + ['nemtab_5ff_636',['nemtab_f',['../bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c',1,'bufr_interface.h']]], + ['nemtba_637',['nemtba',['../nemtba_8f.html#a1038fd60bc3fa89eff9ff79ed996a7e1',1,'nemtba.f']]], + ['nemtba_2ef_638',['nemtba.f',['../nemtba_8f.html',1,'']]], + ['nemtbax_639',['nemtbax',['../nemtbax_8f.html#adec9ab84d3bc51e082325e710354192e',1,'nemtbax.f']]], + ['nemtbax_2ef_640',['nemtbax.f',['../nemtbax_8f.html',1,'']]], + ['nemtbb_641',['nemtbb',['../nemtbb_8f.html#a6a5cf8bb2726a59eeb87fbbef58764be',1,'nemtbb.f']]], + ['nemtbb_2ef_642',['nemtbb.f',['../nemtbb_8f.html',1,'']]], + ['nemtbb_5fc_643',['nemtbb_c',['../namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2',1,'bufr_c2f_interface']]], + ['nemtbb_5ff_644',['nemtbb_f',['../bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b',1,'bufr_interface.h']]], + ['nemtbd_645',['nemtbd',['../nemtbd_8f.html#ac3fb25908c829f741ccd1d440d6051d9',1,'nemtbd.f']]], + ['nemtbd_2ef_646',['nemtbd.f',['../nemtbd_8f.html',1,'']]], + ['nenubd_647',['nenubd',['../nenubd_8f.html#a41014913489bdc74d7a2af0fa44159ba',1,'nenubd.f']]], + ['nenubd_2ef_648',['nenubd.f',['../nenubd_8f.html',1,'']]], + ['nevn_649',['nevn',['../nevn_8f.html#abcd7250eb3adfa82e54d118e60ad88e3',1,'nevn.f']]], + ['nevn_2ef_650',['nevn.f',['../nevn_8f.html',1,'']]], + ['newwin_651',['newwin',['../newwin_8f.html#a7c72d9d0b9a4769b7d930b705490e057',1,'newwin.f']]], + ['newwin_2ef_652',['newwin.f',['../newwin_8f.html',1,'']]], + ['nfiles_653',['nfiles',['../namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3',1,'modv_nfiles']]], + ['nfiles_654',['NFILES',['../bufrlib_8h.html#a51b267f0e740902752570c1847b99f14',1,'bufrlib.h']]], + ['nh4wlc_655',['nh4wlc',['../namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac',1,'moda_h4wlc']]], + ['nmsg_656',['nmsg',['../namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad',1,'moda_msgcwd']]], + ['nmsub_657',['nmsub',['../nmsub_8f.html#a9813b6374eac55f642fc568b45c7dfe8',1,'nmsub.f']]], + ['nmsub_2ef_658',['nmsub.f',['../nmsub_8f.html',1,'']]], + ['nmtb_659',['nmtb',['../namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95',1,'moda_mstabs']]], + ['nmtb_5fc_660',['nmtb_c',['../mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0',1,'mstabs.h']]], + ['nmtd_661',['nmtd',['../namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae',1,'moda_mstabs']]], + ['nmtd_5fc_662',['nmtd_c',['../mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff',1,'mstabs.h']]], + ['nmtf_663',['nmtf',['../cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b',1,'cfe.c']]], + ['nmwrd_664',['nmwrd',['../nmwrd_8f.html#a462c3b8304f953dff1021ace791b8cc0',1,'nmwrd.f']]], + ['nmwrd_2ef_665',['nmwrd.f',['../nmwrd_8f.html',1,'']]], + ['nnrv_666',['nnrv',['../namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e',1,'moda_nrv203']]], + ['nrfelm_667',['nrfelm',['../namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a',1,'moda_usrint']]], + ['nrow_668',['nrow',['../namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561',1,'moda_comprx']]], + ['nrst_669',['nrst',['../namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f',1,'moda_rlccmn']]], + ['nrv_670',['nrv',['../namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f',1,'moda_nrv203']]], + ['ns01v_671',['ns01v',['../namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888',1,'moda_s01cm']]], + ['nsub_672',['nsub',['../namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59',1,'moda_msgcwd']]], + ['ntab_673',['ntab',['../namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc',1,'moda_tables']]], + ['ntamc_674',['ntamc',['../namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396',1,'moda_bitmaps']]], + ['ntba_675',['ntba',['../namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558',1,'moda_tababd']]], + ['ntbb_676',['ntbb',['../namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f',1,'moda_tababd']]], + ['ntbd_677',['ntbd',['../namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556',1,'moda_tababd']]], + ['ntco_678',['ntco',['../namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404',1,'moda_bitmaps']]], + ['null_679',['null',['../namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526',1,'moda_nulbfr']]], + ['numbck_680',['numbck',['../numbck_8f.html#abfd2a53dd5457f38bb1aa40284f2475a',1,'numbck.f']]], + ['numbck_2ef_681',['numbck.f',['../numbck_8f.html',1,'']]], + ['nummtb_682',['nummtb',['../stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e',1,'stseq.c']]], + ['numtab_683',['numtab',['../numtab_8f.html#abe719d38067d3f869c1b200530fc92f9',1,'numtab.f']]], + ['numtab_2ef_684',['numtab.f',['../numtab_8f.html',1,'']]], + ['numtbd_685',['numtbd',['../numtbd_8f.html#aae71d3919c5fc05ca4915e7b61aa3735',1,'numtbd.f']]], + ['numtbd_2ef_686',['numtbd.f',['../numtbd_8f.html',1,'']]], + ['numtbd_5fc_687',['numtbd_c',['../namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64',1,'bufr_c2f_interface']]], + ['numtbd_5ff_688',['numtbd_f',['../bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a',1,'bufrlib.h']]], + ['nval_689',['nval',['../namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261',1,'moda_usrint']]], + ['nvnwin_690',['nvnwin',['../nvnwin_8f.html#a4f52a9be063d9dd781de4077c5e9f985',1,'nvnwin.f']]], + ['nvnwin_2ef_691',['nvnwin.f',['../nvnwin_8f.html',1,'']]], + ['nwords_692',['nwords',['../nwords_8f.html#ae6b70eaecec6c57bd71c611cb5bb1e8b',1,'nwords.f']]], + ['nwords_2ef_693',['nwords.f',['../nwords_8f.html',1,'']]], + ['nxtwin_694',['nxtwin',['../nxtwin_8f.html#a1b2e79163137c3e4decd8b9219337f27',1,'nxtwin.f']]], + ['nxtwin_2ef_695',['nxtwin.f',['../nxtwin_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/all_e.html b/previous_versions/v12.0.1/search/all_e.html new file mode 100644 index 000000000..e25df423a --- /dev/null +++ b/previous_versions/v12.0.1/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_e.js b/previous_versions/v12.0.1/search/all_e.js new file mode 100644 index 000000000..2661a5ba0 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_e.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['open_5fc_696',['open_c',['../namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53',1,'bufr_c2f_interface']]], + ['open_5ff_697',['open_f',['../bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0',1,'bufr_interface.h']]], + ['openab_698',['openab',['../bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c'],['../cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c']]], + ['openab_5fc_699',['openab_c',['../interfacebufrlib_1_1openab__c.html',1,'bufrlib::openab_c'],['../interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6',1,'bufrlib::openab_c::openab_c()']]], + ['openbf_700',['openbf',['../openbf_8f.html#abcc4f481b8758da104eb75575431128e',1,'openbf.f']]], + ['openbf_2ef_701',['openbf.f',['../openbf_8f.html',1,'']]], + ['openbf_5fc_702',['openbf_c',['../namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d',1,'bufr_c2f_interface']]], + ['openbf_5ff_703',['openbf_f',['../bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788',1,'bufr_interface.h']]], + ['openbt_704',['openbt',['../openbt_8f.html#a3c78756de851568b7315bb084e1fd152',1,'openbt(LUNDX, MTYP): openbt.f'],['../debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89',1,'openbt(lundx, mtyp): debufr.F90']]], + ['openbt_2ef_705',['openbt.f',['../openbt_8f.html',1,'']]], + ['openmb_706',['openmb',['../openmb_8f.html#aee65c9d9bb626bfd51c3f904c2e4f86c',1,'openmb.f']]], + ['openmb_2ef_707',['openmb.f',['../openmb_8f.html',1,'']]], + ['openmb_5fc_708',['openmb_c',['../namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44',1,'bufr_c2f_interface']]], + ['openmb_5ff_709',['openmb_f',['../bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe',1,'bufr_interface.h']]], + ['openmg_710',['openmg',['../openmg_8f.html#a2408d74e1c5a3dc2bdbe35ec66a5e35c',1,'openmg.f']]], + ['openmg_2ef_711',['openmg.f',['../openmg_8f.html',1,'']]], + ['openrb_712',['openrb',['../bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c'],['../cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c']]], + ['openrb_5fc_713',['openrb_c',['../interfacebufrlib_1_1openrb__c.html',1,'bufrlib::openrb_c'],['../interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626',1,'bufrlib::openrb_c::openrb_c()']]], + ['openwb_714',['openwb',['../cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c']]], + ['openwb_5fc_715',['openwb_c',['../interfacebufrlib_1_1openwb__c.html',1,'bufrlib::openwb_c'],['../interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28',1,'bufrlib::openwb_c::openwb_c()']]] +]; diff --git a/previous_versions/v12.0.1/search/all_f.html b/previous_versions/v12.0.1/search/all_f.html new file mode 100644 index 000000000..b23da6ce4 --- /dev/null +++ b/previous_versions/v12.0.1/search/all_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/all_f.js b/previous_versions/v12.0.1/search/all_f.js new file mode 100644 index 000000000..1eff7474b --- /dev/null +++ b/previous_versions/v12.0.1/search/all_f.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['pad_716',['pad',['../pad_8f.html#ab92ba263e51623b46cb4a7c9dee641f0',1,'pad.f']]], + ['pad_2ef_717',['pad.f',['../pad_8f.html',1,'']]], + ['padmsg_718',['padmsg',['../padmsg_8f.html#af8c53e62375434d43ee476856388ee1c',1,'padmsg.f']]], + ['padmsg_2ef_719',['padmsg.f',['../padmsg_8f.html',1,'']]], + ['parstr_720',['parstr',['../parstr_8f.html#a3379a342ab3d92dd01eef1f3172f9b86',1,'parstr.f']]], + ['parstr_2ef_721',['parstr.f',['../parstr_8f.html',1,'']]], + ['parusr_722',['parusr',['../parusr_8f.html#a8c7afcc8ef3c345d51b9e902be92f9e5',1,'parusr.f']]], + ['parusr_2ef_723',['parusr.f',['../parusr_8f.html',1,'']]], + ['parutg_724',['parutg',['../parutg_8f.html#a48496d3ac23b5e7d75a524f4ae62e181',1,'parutg.f']]], + ['parutg_2ef_725',['parutg.f',['../parutg_8f.html',1,'']]], + ['pb_726',['pb',['../cread_8h.html#a58db779a0b3c7250a119069bd2e5106c',1,'cread.h']]], + ['pbf_727',['pbf',['../crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193',1,'crwbmg.c']]], + ['pkb_728',['pkb',['../pkb_8f.html#a35aa2e691ff3ad32de9d8721cae613f7',1,'pkb.f']]], + ['pkb_2ef_729',['pkb.f',['../pkb_8f.html',1,'']]], + ['pkb8_730',['pkb8',['../pkb8_8f.html#ad41a6d2e1a35c122af15bbc6dffe8eaa',1,'pkb8.f']]], + ['pkb8_2ef_731',['pkb8.f',['../pkb8_8f.html',1,'']]], + ['pkbs1_732',['pkbs1',['../pkbs1_8f.html#a03b8cfb3af6b1f310462a3e40adc622c',1,'pkbs1.f']]], + ['pkbs1_2ef_733',['pkbs1.f',['../pkbs1_8f.html',1,'']]], + ['pkc_734',['pkc',['../pkc_8f.html#a0376a4af04f7be036484c666ebbb8ef9',1,'pkc.f']]], + ['pkc_2ef_735',['pkc.f',['../pkc_8f.html',1,'']]], + ['pkftbv_736',['pkftbv',['../pkftbv_8f.html#a13ca3b23c3ea896eea3ac3d3dcb1e35f',1,'pkftbv.f']]], + ['pkftbv_2ef_737',['pkftbv.f',['../pkftbv_8f.html',1,'']]], + ['pktdd_738',['pktdd',['../pktdd_8f.html#a5a9bc43ec2b7b51ae5097fd7b828dd84',1,'pktdd.f']]], + ['pktdd_2ef_739',['pktdd.f',['../pktdd_8f.html',1,'']]], + ['pktdd_5fc_740',['pktdd_c',['../namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0',1,'bufr_c2f_interface']]], + ['pktdd_5ff_741',['pktdd_f',['../bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187',1,'bufrlib.h']]], + ['pkvs01_742',['pkvs01',['../pkvs01_8f.html#aa2b468d76d4b2710f7b777bf4ffcb3af',1,'pkvs01.f']]], + ['pkvs01_2ef_743',['pkvs01.f',['../pkvs01_8f.html',1,'']]], + ['posapx_744',['posapx',['../posapx_8f.html#ad32a5730c46c657f5fde47244bd1ebd5',1,'posapx.f']]], + ['posapx_2ef_745',['posapx.f',['../posapx_8f.html',1,'']]], + ['printx_746',['printx',['../readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c',1,'readbp.F90']]], + ['prtusage_747',['prtusage',['../xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): xbfmg.c'],['../debufr_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): debufr.c']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_0.html b/previous_versions/v12.0.1/search/classes_0.html new file mode 100644 index 000000000..af8159ee6 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_0.js b/previous_versions/v12.0.1/search/classes_0.js new file mode 100644 index 000000000..5f9706f77 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['arallocc_5fc_1004',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html',1,'bufrlib']]], + ['ardllocc_5fc_1005',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_1.html b/previous_versions/v12.0.1/search/classes_1.html new file mode 100644 index 000000000..576e91689 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_1.js b/previous_versions/v12.0.1/search/classes_1.js new file mode 100644 index 000000000..ed50e0fe8 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['backbufr_5fc_1006',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html',1,'bufrlib']]], + ['bort_5fexit_5fc_1007',['bort_exit_c',['../interfacebufrlib_1_1bort__exit__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_2.html b/previous_versions/v12.0.1/search/classes_2.html new file mode 100644 index 000000000..956405e5a --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_2.js b/previous_versions/v12.0.1/search/classes_2.js new file mode 100644 index 000000000..1588b302c --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_2.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['ccbfl_5fc_1008',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html',1,'bufr_interface']]], + ['cewind_5fc_1009',['cewind_c',['../interfacebufrlib_1_1cewind__c.html',1,'bufrlib']]], + ['closfb_5fc_1010',['closfb_c',['../interfacebufrlib_1_1closfb__c.html',1,'bufrlib']]], + ['cobfl_5fc_1011',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html',1,'bufr_interface']]], + ['cpmstabs_5fc_1012',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html',1,'bufrlib']]], + ['crbmg_5fc_1013',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html',1,'bufr_interface']]], + ['crdbufr_5fc_1014',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html',1,'bufrlib']]], + ['cwbmg_5fc_1015',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html',1,'bufr_interface']]], + ['cwrbufr_5fc_1016',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_3.html b/previous_versions/v12.0.1/search/classes_3.html new file mode 100644 index 000000000..d33343bc1 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_3.js b/previous_versions/v12.0.1/search/classes_3.js new file mode 100644 index 000000000..47919947f --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dlloctbf_5fc_1017',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html',1,'bufr_interface']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_4.html b/previous_versions/v12.0.1/search/classes_4.html new file mode 100644 index 000000000..8430b07fe --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_4.js b/previous_versions/v12.0.1/search/classes_4.js new file mode 100644 index 000000000..e74b470b8 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['icvidx_5fc_1018',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html',1,'bufrlib']]], + ['inittbf_5fc_1019',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_5.html b/previous_versions/v12.0.1/search/classes_5.html new file mode 100644 index 000000000..c2f1b767b --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_5.js b/previous_versions/v12.0.1/search/classes_5.js new file mode 100644 index 000000000..64e13f15e --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['openab_5fc_1020',['openab_c',['../interfacebufrlib_1_1openab__c.html',1,'bufrlib']]], + ['openrb_5fc_1021',['openrb_c',['../interfacebufrlib_1_1openrb__c.html',1,'bufrlib']]], + ['openwb_5fc_1022',['openwb_c',['../interfacebufrlib_1_1openwb__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_6.html b/previous_versions/v12.0.1/search/classes_6.html new file mode 100644 index 000000000..e39847ce8 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_6.js b/previous_versions/v12.0.1/search/classes_6.js new file mode 100644 index 000000000..20d7b00df --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['restd_5fc_1023',['restd_c',['../interfacebufrlib_1_1restd__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/classes_7.html b/previous_versions/v12.0.1/search/classes_7.html new file mode 100644 index 000000000..a2c4d1a39 --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/classes_7.js b/previous_versions/v12.0.1/search/classes_7.js new file mode 100644 index 000000000..bb65c15dd --- /dev/null +++ b/previous_versions/v12.0.1/search/classes_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['sorttbf_5fc_1024',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html',1,'bufrlib']]], + ['srchtbf_5fc_1025',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html',1,'bufrlib']]], + ['strtbfe_5fc_1026',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html',1,'bufrlib']]], + ['stseq_5fc_1027',['stseq_c',['../interfacebufrlib_1_1stseq__c.html',1,'bufrlib']]] +]; diff --git a/previous_versions/v12.0.1/search/close.svg b/previous_versions/v12.0.1/search/close.svg new file mode 100644 index 000000000..a933eea1a --- /dev/null +++ b/previous_versions/v12.0.1/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/previous_versions/v12.0.1/search/defines_0.html b/previous_versions/v12.0.1/search/defines_0.html new file mode 100644 index 000000000..15cc3de38 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/defines_0.js b/previous_versions/v12.0.1/search/defines_0.js new file mode 100644 index 000000000..c5fa9955c --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fxy_5fstr_5flen_2014',['FXY_STR_LEN',['../bufrlib_8h.html#a320fb202c17784943f8223593c9123dd',1,'bufrlib.h']]] +]; diff --git a/previous_versions/v12.0.1/search/defines_1.html b/previous_versions/v12.0.1/search/defines_1.html new file mode 100644 index 000000000..c49009c71 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/defines_1.js b/previous_versions/v12.0.1/search/defines_1.js new file mode 100644 index 000000000..1e287b9f6 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['in_5farallocc_2015',['IN_ARALLOCC',['../arallocc_8c.html#a99a030277b9ff412087d1e599de3f730',1,'arallocc.c']]] +]; diff --git a/previous_versions/v12.0.1/search/defines_2.html b/previous_versions/v12.0.1/search/defines_2.html new file mode 100644 index 000000000..c55101115 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/defines_2.js b/previous_versions/v12.0.1/search/defines_2.js new file mode 100644 index 000000000..2717ca610 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_2.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['max_5ffxy_5ftableb_2016',['MAX_FXY_TABLEB',['../bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858',1,'bufrlib.h']]], + ['max_5fmeaning_5flen_2017',['MAX_MEANING_LEN',['../cfe_8c.html#a655e9465dd48c1e8a068b4689748e509',1,'cfe.c']]], + ['maxcd_2018',['MAXCD',['../bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3',1,'bufrlib.h']]], + ['maxnc_2019',['MAXNC',['../bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510',1,'bufrlib.h']]], + ['min_5ffxy_5frepl_2020',['MIN_FXY_REPL',['../bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b',1,'bufrlib.h']]], + ['min_5ffxy_5ftabled_2021',['MIN_FXY_TABLED',['../bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c',1,'bufrlib.h']]], + ['mxfnlen_2022',['MXFNLEN',['../crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'crwbmg.c']]], + ['mxnaf_2023',['MXNAF',['../bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f',1,'bufrlib.h']]] +]; diff --git a/previous_versions/v12.0.1/search/defines_3.html b/previous_versions/v12.0.1/search/defines_3.html new file mode 100644 index 000000000..8c6d21536 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/defines_3.js b/previous_versions/v12.0.1/search/defines_3.js new file mode 100644 index 000000000..25d587ba6 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['nemo_5fstr_5flen_2024',['NEMO_STR_LEN',['../bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0',1,'bufrlib.h']]], + ['nfiles_2025',['NFILES',['../bufrlib_8h.html#a51b267f0e740902752570c1847b99f14',1,'bufrlib.h']]] +]; diff --git a/previous_versions/v12.0.1/search/defines_4.html b/previous_versions/v12.0.1/search/defines_4.html new file mode 100644 index 000000000..f4afac124 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/defines_4.js b/previous_versions/v12.0.1/search/defines_4.js new file mode 100644 index 000000000..33ab378f3 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unit_5fstr_5flen_2026',['UNIT_STR_LEN',['../bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69',1,'bufrlib.h']]] +]; diff --git a/previous_versions/v12.0.1/search/defines_5.html b/previous_versions/v12.0.1/search/defines_5.html new file mode 100644 index 000000000..8c40d123b --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/defines_5.js b/previous_versions/v12.0.1/search/defines_5.js new file mode 100644 index 000000000..50209fee6 --- /dev/null +++ b/previous_versions/v12.0.1/search/defines_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['vers_5fstr_5flen_2027',['VERS_STR_LEN',['../bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0',1,'bufrlib.h']]] +]; diff --git a/previous_versions/v12.0.1/search/files_0.html b/previous_versions/v12.0.1/search/files_0.html new file mode 100644 index 000000000..9498842a6 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_0.js b/previous_versions/v12.0.1/search/files_0.js new file mode 100644 index 000000000..40259acf3 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['adn30_2ef_1099',['adn30.f',['../adn30_8f.html',1,'']]], + ['arallocc_2ec_1100',['arallocc.c',['../arallocc_8c.html',1,'']]], + ['arallocf_2ef_1101',['arallocf.f',['../arallocf_8f.html',1,'']]], + ['ardllocc_2ec_1102',['ardllocc.c',['../ardllocc_8c.html',1,'']]], + ['ardllocf_2ef_1103',['ardllocf.f',['../ardllocf_8f.html',1,'']]], + ['atrcpt_2ef_1104',['atrcpt.f',['../atrcpt_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_1.html b/previous_versions/v12.0.1/search/files_1.html new file mode 100644 index 000000000..7050ef48a --- /dev/null +++ b/previous_versions/v12.0.1/search/files_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_1.js b/previous_versions/v12.0.1/search/files_1.js new file mode 100644 index 000000000..99677815a --- /dev/null +++ b/previous_versions/v12.0.1/search/files_1.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['bfrini_2ef90_1105',['bfrini.f90',['../bfrini_8f90.html',1,'']]], + ['binv_2ef90_1106',['binv.f90',['../binv_8f90.html',1,'']]], + ['blocks_2ef_1107',['blocks.f',['../blocks_8f.html',1,'']]], + ['bort_2ef_1108',['bort.f',['../bort_8f.html',1,'']]], + ['bort2_2ef_1109',['bort2.f',['../bort2_8f.html',1,'']]], + ['bort_5fexit_2ec_1110',['bort_exit.c',['../bort__exit_8c.html',1,'']]], + ['bufr_5fc2f_5finterface_2ef90_1111',['bufr_c2f_interface.F90',['../bufr__c2f__interface_8F90.html',1,'']]], + ['bufr_5finterface_2ef90_1112',['bufr_interface.F90',['../bufr__interface_8F90.html',1,'']]], + ['bufr_5finterface_2eh_1113',['bufr_interface.h',['../bufr__interface_8h.html',1,'']]], + ['bufrlib_2ef90_1114',['bufrlib.F90',['../bufrlib_8F90.html',1,'']]], + ['bufrlib_2eh_1115',['bufrlib.h',['../bufrlib_8h.html',1,'']]], + ['bvers_2ef_1116',['bvers.f',['../bvers_8f.html',1,'']]] +]; diff --git a/search/files_10.html b/previous_versions/v12.0.1/search/files_10.html similarity index 100% rename from search/files_10.html rename to previous_versions/v12.0.1/search/files_10.html diff --git a/search/files_10.js b/previous_versions/v12.0.1/search/files_10.js similarity index 100% rename from search/files_10.js rename to previous_versions/v12.0.1/search/files_10.js diff --git a/search/files_11.html b/previous_versions/v12.0.1/search/files_11.html similarity index 100% rename from search/files_11.html rename to previous_versions/v12.0.1/search/files_11.html diff --git a/search/files_11.js b/previous_versions/v12.0.1/search/files_11.js similarity index 100% rename from search/files_11.js rename to previous_versions/v12.0.1/search/files_11.js diff --git a/search/files_12.html b/previous_versions/v12.0.1/search/files_12.html similarity index 100% rename from search/files_12.html rename to previous_versions/v12.0.1/search/files_12.html diff --git a/search/files_12.js b/previous_versions/v12.0.1/search/files_12.js similarity index 100% rename from search/files_12.js rename to previous_versions/v12.0.1/search/files_12.js diff --git a/search/files_13.html b/previous_versions/v12.0.1/search/files_13.html similarity index 100% rename from search/files_13.html rename to previous_versions/v12.0.1/search/files_13.html diff --git a/search/files_13.js b/previous_versions/v12.0.1/search/files_13.js similarity index 100% rename from search/files_13.js rename to previous_versions/v12.0.1/search/files_13.js diff --git a/search/files_14.html b/previous_versions/v12.0.1/search/files_14.html similarity index 100% rename from search/files_14.html rename to previous_versions/v12.0.1/search/files_14.html diff --git a/search/files_14.js b/previous_versions/v12.0.1/search/files_14.js similarity index 100% rename from search/files_14.js rename to previous_versions/v12.0.1/search/files_14.js diff --git a/previous_versions/v12.0.1/search/files_2.html b/previous_versions/v12.0.1/search/files_2.html new file mode 100644 index 000000000..497cdf5c7 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_2.js b/previous_versions/v12.0.1/search/files_2.js new file mode 100644 index 000000000..269e7dcb3 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_2.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['cadn30_2ef_1117',['cadn30.f',['../cadn30_8f.html',1,'']]], + ['capit_2ef_1118',['capit.f',['../capit_8f.html',1,'']]], + ['cfe_2ec_1119',['cfe.c',['../cfe_8c.html',1,'']]], + ['chekstab_2ef_1120',['chekstab.f',['../chekstab_8f.html',1,'']]], + ['cktaba_2ef_1121',['cktaba.f',['../cktaba_8f.html',1,'']]], + ['closbf_2ef_1122',['closbf.f',['../closbf_8f.html',1,'']]], + ['closmg_2ef_1123',['closmg.f',['../closmg_8f.html',1,'']]], + ['cmpbqm_2ef90_1124',['cmpbqm.F90',['../cmpbqm_8F90.html',1,'']]], + ['cmpmsg_2ef_1125',['cmpmsg.f',['../cmpmsg_8f.html',1,'']]], + ['cmsgini_2ef_1126',['cmsgini.f',['../cmsgini_8f.html',1,'']]], + ['cnved4_2ef_1127',['cnved4.f',['../cnved4_8f.html',1,'']]], + ['codflg_2ef_1128',['codflg.f',['../codflg_8f.html',1,'']]], + ['conwin_2ef_1129',['conwin.f',['../conwin_8f.html',1,'']]], + ['copybf_2ef_1130',['copybf.f',['../copybf_8f.html',1,'']]], + ['copymg_2ef_1131',['copymg.f',['../copymg_8f.html',1,'']]], + ['copysb_2ef_1132',['copysb.f',['../copysb_8f.html',1,'']]], + ['cpbfdx_2ef_1133',['cpbfdx.f',['../cpbfdx_8f.html',1,'']]], + ['cpdxmm_2ef_1134',['cpdxmm.f',['../cpdxmm_8f.html',1,'']]], + ['cpmstabs_2ec_1135',['cpmstabs.c',['../cpmstabs_8c.html',1,'']]], + ['cpymem_2ef_1136',['cpymem.f',['../cpymem_8f.html',1,'']]], + ['cpyupd_2ef_1137',['cpyupd.f',['../cpyupd_8f.html',1,'']]], + ['cread_2ec_1138',['cread.c',['../cread_8c.html',1,'']]], + ['cread_2eh_1139',['cread.h',['../cread_8h.html',1,'']]], + ['crwbmg_2ec_1140',['crwbmg.c',['../crwbmg_8c.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_3.html b/previous_versions/v12.0.1/search/files_3.html new file mode 100644 index 000000000..1ba106b2d --- /dev/null +++ b/previous_versions/v12.0.1/search/files_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_3.js b/previous_versions/v12.0.1/search/files_3.js new file mode 100644 index 000000000..89ca694b2 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_3.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['datebf_2ef_1141',['datebf.f',['../datebf_8f.html',1,'']]], + ['datelen_2ef_1142',['datelen.f',['../datelen_8f.html',1,'']]], + ['debufr_2ec_1143',['debufr.c',['../debufr_8c.html',1,'']]], + ['debufr_2ef90_1144',['debufr.F90',['../debufr_8F90.html',1,'']]], + ['digit_2ef_1145',['digit.f',['../digit_8f.html',1,'']]], + ['drfini_2ef_1146',['drfini.f',['../drfini_8f.html',1,'']]], + ['drstpl_2ef_1147',['drstpl.f',['../drstpl_8f.html',1,'']]], + ['dumpbf_2ef_1148',['dumpbf.f',['../dumpbf_8f.html',1,'']]], + ['dxdump_2ef_1149',['dxdump.f',['../dxdump_8f.html',1,'']]], + ['dxinit_2ef_1150',['dxinit.f',['../dxinit_8f.html',1,'']]], + ['dxmini_2ef_1151',['dxmini.f',['../dxmini_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_4.html b/previous_versions/v12.0.1/search/files_4.html new file mode 100644 index 000000000..753b7b109 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_4.js b/previous_versions/v12.0.1/search/files_4.js new file mode 100644 index 000000000..70853fd01 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['elemdx_2ef_1152',['elemdx.f',['../elemdx_8f.html',1,'']]], + ['errwrt_2ef_1153',['errwrt.f',['../errwrt_8f.html',1,'']]], + ['exitbufr_2ef_1154',['exitbufr.f',['../exitbufr_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_5.html b/previous_versions/v12.0.1/search/files_5.html new file mode 100644 index 000000000..7b6affd7f --- /dev/null +++ b/previous_versions/v12.0.1/search/files_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_5.js b/previous_versions/v12.0.1/search/files_5.js new file mode 100644 index 000000000..ecf4e8ca1 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['fortran_5fclose_2ef90_1155',['fortran_close.F90',['../fortran__close_8F90.html',1,'']]], + ['fortran_5fopen_2ef90_1156',['fortran_open.F90',['../fortran__open_8F90.html',1,'']]], + ['fstag_2ef_1157',['fstag.f',['../fstag_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_6.html b/previous_versions/v12.0.1/search/files_6.html new file mode 100644 index 000000000..802ebf715 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_6.js b/previous_versions/v12.0.1/search/files_6.js new file mode 100644 index 000000000..4e145cbb9 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_6.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['getabdb_2ef_1158',['getabdb.f',['../getabdb_8f.html',1,'']]], + ['getbmiss_2ef_1159',['getbmiss.f',['../getbmiss_8f.html',1,'']]], + ['getcfmng_2ef_1160',['getcfmng.f',['../getcfmng_8f.html',1,'']]], + ['getlens_2ef_1161',['getlens.f',['../getlens_8f.html',1,'']]], + ['getntbe_2ef_1162',['getntbe.f',['../getntbe_8f.html',1,'']]], + ['gets1loc_2ef_1163',['gets1loc.f',['../gets1loc_8f.html',1,'']]], + ['gettab_2ef90_1164',['gettab.f90',['../gettab_8f90.html',1,'']]], + ['gettagpr_2ef_1165',['gettagpr.f',['../gettagpr_8f.html',1,'']]], + ['gettagre_2ef_1166',['gettagre.f',['../gettagre_8f.html',1,'']]], + ['gettbh_2ef_1167',['gettbh.f',['../gettbh_8f.html',1,'']]], + ['getvalnb_2ef_1168',['getvalnb.f',['../getvalnb_8f.html',1,'']]], + ['getwin_2ef_1169',['getwin.f',['../getwin_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_7.html b/previous_versions/v12.0.1/search/files_7.html new file mode 100644 index 000000000..365e6484f --- /dev/null +++ b/previous_versions/v12.0.1/search/files_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_7.js b/previous_versions/v12.0.1/search/files_7.js new file mode 100644 index 000000000..44e0d6e7d --- /dev/null +++ b/previous_versions/v12.0.1/search/files_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hold4wlc_2ef_1170',['hold4wlc.f',['../hold4wlc_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_8.html b/previous_versions/v12.0.1/search/files_8.html new file mode 100644 index 000000000..3df0f2fae --- /dev/null +++ b/previous_versions/v12.0.1/search/files_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_8.js b/previous_versions/v12.0.1/search/files_8.js new file mode 100644 index 000000000..e3ea00f00 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_8.js @@ -0,0 +1,47 @@ +var searchData= +[ + ['i4dy_2ef_1171',['i4dy.f',['../i4dy_8f.html',1,'']]], + ['ibfms_2ef_1172',['ibfms.f',['../ibfms_8f.html',1,'']]], + ['icbfms_2ef_1173',['icbfms.f',['../icbfms_8f.html',1,'']]], + ['icmpdx_2ef_1174',['icmpdx.f',['../icmpdx_8f.html',1,'']]], + ['icopysb_2ef_1175',['icopysb.f',['../icopysb_8f.html',1,'']]], + ['icvidx_2ec_1176',['icvidx.c',['../icvidx_8c.html',1,'']]], + ['idn30_2ef_1177',['idn30.f',['../idn30_8f.html',1,'']]], + ['idxmsg_2ef_1178',['idxmsg.f',['../idxmsg_8f.html',1,'']]], + ['ifbget_2ef_1179',['ifbget.f',['../ifbget_8f.html',1,'']]], + ['ifxy_2ef_1180',['ifxy.f',['../ifxy_8f.html',1,'']]], + ['igetdate_2ef_1181',['igetdate.f',['../igetdate_8f.html',1,'']]], + ['igetfxy_2ef_1182',['igetfxy.f',['../igetfxy_8f.html',1,'']]], + ['igetmxby_2ef_1183',['igetmxby.f',['../igetmxby_8f.html',1,'']]], + ['igetntbi_2ef_1184',['igetntbi.f',['../igetntbi_8f.html',1,'']]], + ['igetntbl_2ef_1185',['igetntbl.f',['../igetntbl_8f.html',1,'']]], + ['igetprm_2ef_1186',['igetprm.f',['../igetprm_8f.html',1,'']]], + ['igetrfel_2ef_1187',['igetrfel.f',['../igetrfel_8f.html',1,'']]], + ['igetsc_2ef_1188',['igetsc.f',['../igetsc_8f.html',1,'']]], + ['igettdi_2ef_1189',['igettdi.f',['../igettdi_8f.html',1,'']]], + ['imrkopr_2ef_1190',['imrkopr.f',['../imrkopr_8f.html',1,'']]], + ['inctab_2ef_1191',['inctab.f',['../inctab_8f.html',1,'']]], + ['invcon_2ef_1192',['invcon.f',['../invcon_8f.html',1,'']]], + ['invmrg_2ef_1193',['invmrg.f',['../invmrg_8f.html',1,'']]], + ['invtag_2ef_1194',['invtag.f',['../invtag_8f.html',1,'']]], + ['invwin_2ef_1195',['invwin.f',['../invwin_8f.html',1,'']]], + ['iok2cpy_2ef_1196',['iok2cpy.f',['../iok2cpy_8f.html',1,'']]], + ['iokoper_2ef_1197',['iokoper.f',['../iokoper_8f.html',1,'']]], + ['ipkm_2ef_1198',['ipkm.f',['../ipkm_8f.html',1,'']]], + ['ipks_2ef_1199',['ipks.f',['../ipks_8f.html',1,'']]], + ['ireadmg_2ef_1200',['ireadmg.f',['../ireadmg_8f.html',1,'']]], + ['ireadmm_2ef_1201',['ireadmm.f',['../ireadmm_8f.html',1,'']]], + ['ireadmt_2ef_1202',['ireadmt.f',['../ireadmt_8f.html',1,'']]], + ['ireadns_2ef_1203',['ireadns.f',['../ireadns_8f.html',1,'']]], + ['ireadsb_2ef_1204',['ireadsb.f',['../ireadsb_8f.html',1,'']]], + ['irev_2ef_1205',['irev.F',['../irev_8F.html',1,'']]], + ['isetprm_2ef_1206',['isetprm.f',['../isetprm_8f.html',1,'']]], + ['ishrdx_2ef_1207',['ishrdx.f',['../ishrdx_8f.html',1,'']]], + ['isize_2ef_1208',['isize.f',['../isize_8f.html',1,'']]], + ['istdesc_2ef_1209',['istdesc.f',['../istdesc_8f.html',1,'']]], + ['iupb_2ef_1210',['iupb.f',['../iupb_8f.html',1,'']]], + ['iupbs01_2ef_1211',['iupbs01.f',['../iupbs01_8f.html',1,'']]], + ['iupbs3_2ef_1212',['iupbs3.f',['../iupbs3_8f.html',1,'']]], + ['iupm_2ef_1213',['iupm.f',['../iupm_8f.html',1,'']]], + ['iupvs01_2ef_1214',['iupvs01.f',['../iupvs01_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_9.html b/previous_versions/v12.0.1/search/files_9.html new file mode 100644 index 000000000..52f8b6c07 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_9.js b/previous_versions/v12.0.1/search/files_9.js new file mode 100644 index 000000000..b9746ae50 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jstnum_2ef_1215',['jstnum.f',['../jstnum_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_a.html b/previous_versions/v12.0.1/search/files_a.html new file mode 100644 index 000000000..11d4c117b --- /dev/null +++ b/previous_versions/v12.0.1/search/files_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_a.js b/previous_versions/v12.0.1/search/files_a.js new file mode 100644 index 000000000..bf4fdeb63 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['lcmgdf_2ef_1216',['lcmgdf.f',['../lcmgdf_8f.html',1,'']]], + ['lmsg_2ef_1217',['lmsg.f',['../lmsg_8f.html',1,'']]], + ['lstjpb_2ef_1218',['lstjpb.f',['../lstjpb_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_b.html b/previous_versions/v12.0.1/search/files_b.html new file mode 100644 index 000000000..9fc83436a --- /dev/null +++ b/previous_versions/v12.0.1/search/files_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_b.js b/previous_versions/v12.0.1/search/files_b.js new file mode 100644 index 000000000..475416a50 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_b.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['makestab_2ef_1219',['makestab.f',['../makestab_8f.html',1,'']]], + ['maxout_2ef_1220',['maxout.f',['../maxout_8f.html',1,'']]], + ['mesgbc_2ef_1221',['mesgbc.f',['../mesgbc_8f.html',1,'']]], + ['mesgbf_2ef_1222',['mesgbf.f',['../mesgbf_8f.html',1,'']]], + ['minimg_2ef_1223',['minimg.f',['../minimg_8f.html',1,'']]], + ['modules_5farrs_2ef90_1224',['modules_arrs.F90',['../modules__arrs_8F90.html',1,'']]], + ['modules_5fvars_2ef90_1225',['modules_vars.F90',['../modules__vars_8F90.html',1,'']]], + ['mrginv_2ef_1226',['mrginv.f',['../mrginv_8f.html',1,'']]], + ['msgfull_2ef_1227',['msgfull.f',['../msgfull_8f.html',1,'']]], + ['msgini_2ef_1228',['msgini.f',['../msgini_8f.html',1,'']]], + ['msgupd_2ef_1229',['msgupd.f',['../msgupd_8f.html',1,'']]], + ['msgwrt_2ef_1230',['msgwrt.f',['../msgwrt_8f.html',1,'']]], + ['mstabs_2eh_1231',['mstabs.h',['../mstabs_8h.html',1,'']]], + ['mtfnam_2ef_1232',['mtfnam.f',['../mtfnam_8f.html',1,'']]], + ['mtinfo_2ef_1233',['mtinfo.f',['../mtinfo_8f.html',1,'']]], + ['mvb_2ef_1234',['mvb.f',['../mvb_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_c.html b/previous_versions/v12.0.1/search/files_c.html new file mode 100644 index 000000000..c266b4c25 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_c.js b/previous_versions/v12.0.1/search/files_c.js new file mode 100644 index 000000000..3d8889750 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_c.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['nemdefs_2ef_1235',['nemdefs.f',['../nemdefs_8f.html',1,'']]], + ['nemock_2ef_1236',['nemock.f',['../nemock_8f.html',1,'']]], + ['nemspecs_2ef_1237',['nemspecs.f',['../nemspecs_8f.html',1,'']]], + ['nemtab_2ef_1238',['nemtab.f',['../nemtab_8f.html',1,'']]], + ['nemtba_2ef_1239',['nemtba.f',['../nemtba_8f.html',1,'']]], + ['nemtbax_2ef_1240',['nemtbax.f',['../nemtbax_8f.html',1,'']]], + ['nemtbb_2ef_1241',['nemtbb.f',['../nemtbb_8f.html',1,'']]], + ['nemtbd_2ef_1242',['nemtbd.f',['../nemtbd_8f.html',1,'']]], + ['nenubd_2ef_1243',['nenubd.f',['../nenubd_8f.html',1,'']]], + ['nevn_2ef_1244',['nevn.f',['../nevn_8f.html',1,'']]], + ['newwin_2ef_1245',['newwin.f',['../newwin_8f.html',1,'']]], + ['nmsub_2ef_1246',['nmsub.f',['../nmsub_8f.html',1,'']]], + ['nmwrd_2ef_1247',['nmwrd.f',['../nmwrd_8f.html',1,'']]], + ['numbck_2ef_1248',['numbck.f',['../numbck_8f.html',1,'']]], + ['numtab_2ef_1249',['numtab.f',['../numtab_8f.html',1,'']]], + ['numtbd_2ef_1250',['numtbd.f',['../numtbd_8f.html',1,'']]], + ['nvnwin_2ef_1251',['nvnwin.f',['../nvnwin_8f.html',1,'']]], + ['nwords_2ef_1252',['nwords.f',['../nwords_8f.html',1,'']]], + ['nxtwin_2ef_1253',['nxtwin.f',['../nxtwin_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_d.html b/previous_versions/v12.0.1/search/files_d.html new file mode 100644 index 000000000..d2ca3c1ca --- /dev/null +++ b/previous_versions/v12.0.1/search/files_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_d.js b/previous_versions/v12.0.1/search/files_d.js new file mode 100644 index 000000000..0fcdbdb22 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['openbf_2ef_1254',['openbf.f',['../openbf_8f.html',1,'']]], + ['openbt_2ef_1255',['openbt.f',['../openbt_8f.html',1,'']]], + ['openmb_2ef_1256',['openmb.f',['../openmb_8f.html',1,'']]], + ['openmg_2ef_1257',['openmg.f',['../openmg_8f.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/files_e.html b/previous_versions/v12.0.1/search/files_e.html new file mode 100644 index 000000000..9df411672 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/files_e.js b/previous_versions/v12.0.1/search/files_e.js new file mode 100644 index 000000000..848f5b382 --- /dev/null +++ b/previous_versions/v12.0.1/search/files_e.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['pad_2ef_1258',['pad.f',['../pad_8f.html',1,'']]], + ['padmsg_2ef_1259',['padmsg.f',['../padmsg_8f.html',1,'']]], + ['parstr_2ef_1260',['parstr.f',['../parstr_8f.html',1,'']]], + ['parusr_2ef_1261',['parusr.f',['../parusr_8f.html',1,'']]], + ['parutg_2ef_1262',['parutg.f',['../parutg_8f.html',1,'']]], + ['pkb_2ef_1263',['pkb.f',['../pkb_8f.html',1,'']]], + ['pkb8_2ef_1264',['pkb8.f',['../pkb8_8f.html',1,'']]], + ['pkbs1_2ef_1265',['pkbs1.f',['../pkbs1_8f.html',1,'']]], + ['pkc_2ef_1266',['pkc.f',['../pkc_8f.html',1,'']]], + ['pkftbv_2ef_1267',['pkftbv.f',['../pkftbv_8f.html',1,'']]], + ['pktdd_2ef_1268',['pktdd.f',['../pktdd_8f.html',1,'']]], + ['pkvs01_2ef_1269',['pkvs01.f',['../pkvs01_8f.html',1,'']]], + ['posapx_2ef_1270',['posapx.f',['../posapx_8f.html',1,'']]] +]; diff --git a/search/files_f.html b/previous_versions/v12.0.1/search/files_f.html similarity index 100% rename from search/files_f.html rename to previous_versions/v12.0.1/search/files_f.html diff --git a/search/files_f.js b/previous_versions/v12.0.1/search/files_f.js similarity index 100% rename from search/files_f.js rename to previous_versions/v12.0.1/search/files_f.js diff --git a/previous_versions/v12.0.1/search/functions_0.html b/previous_versions/v12.0.1/search/functions_0.html new file mode 100644 index 000000000..eb4c5014c --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_0.js b/previous_versions/v12.0.1/search/functions_0.js new file mode 100644 index 000000000..4e724793d --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_0.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['adn30_1375',['adn30',['../adn30_8f.html#a1e96adbf45bd49facbf0ef30ae375db4',1,'adn30.f']]], + ['arallocc_1376',['arallocc',['../arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c'],['../bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c']]], + ['arallocc_5fc_1377',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d',1,'bufrlib::arallocc_c']]], + ['arallocf_1378',['arallocf',['../arallocf_8f.html#a2b64630033a9306be25da1f6b28d913f',1,'arallocf.f']]], + ['ardllocc_1379',['ardllocc',['../ardllocc_8c.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c'],['../bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c']]], + ['ardllocc_5fc_1380',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e',1,'bufrlib::ardllocc_c']]], + ['ardllocf_1381',['ardllocf',['../ardllocf_8f.html#a7b3e4d5498fedd9e94ac45b69fc04b58',1,'ardllocf.f']]], + ['atrcpt_1382',['atrcpt',['../atrcpt_8f.html#aa3ebac87755e88a9f03f5e9fddda7760',1,'atrcpt.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_1.html b/previous_versions/v12.0.1/search/functions_1.html new file mode 100644 index 000000000..ef4088b89 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_1.js b/previous_versions/v12.0.1/search/functions_1.js new file mode 100644 index 000000000..cc9605e42 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_1.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['backbufr_1383',['backbufr',['../cread_8c.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c'],['../bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c']]], + ['backbufr_5fc_1384',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832',1,'bufrlib::backbufr_c']]], + ['bfrini_1385',['bfrini',['../bfrini_8f90.html#ab3f045cc170403305543e34e30b87001',1,'bfrini.f90']]], + ['binv_1386',['binv',['../binv_8f90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5',1,'binv.f90']]], + ['blocks_1387',['blocks',['../blocks_8f.html#a58e616c094fc6ddcdf5e33554105c3d4',1,'blocks.f']]], + ['bort_1388',['bort',['../bort_8f.html#a488d3a8cf930fb592a9fdaefcfa04ac4',1,'bort.f']]], + ['bort2_1389',['bort2',['../bort2_8f.html#a50f605cc96a22ffce20206c2d254b9c3',1,'bort2.f']]], + ['bort_5fc_1390',['bort_c',['../namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f',1,'bufr_c2f_interface']]], + ['bort_5fexit_1391',['bort_exit',['../bort__exit_8c.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c'],['../bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c']]], + ['bort_5fexit_5fc_1392',['bort_exit_c',['../interfacebufrlib_1_1bort__exit__c.html#acd1feaa07c688929a6fb0e722df5619e',1,'bufrlib::bort_exit_c']]], + ['bort_5ff_1393',['bort_f',['../bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447',1,'bufrlib.h']]], + ['bvers_1394',['bvers',['../bvers_8f.html#a210e17eb5b254e38f27e129304d4eae7',1,'bvers.f']]], + ['bvers_5fc_1395',['bvers_c',['../namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0',1,'bufr_c2f_interface']]], + ['bvers_5ff_1396',['bvers_f',['../bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b',1,'bufr_interface.h']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_10.html b/previous_versions/v12.0.1/search/functions_10.html new file mode 100644 index 000000000..1bdc12572 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_10.js b/previous_versions/v12.0.1/search/functions_10.js new file mode 100644 index 000000000..38f1b0601 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_10.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['satcode_1695',['satcode',['../sinv_8f90.html#a4ab4fad455062f4d66f23adb61d13c7c',1,'sinv.f90']]], + ['seqsdx_1696',['seqsdx',['../seqsdx_8f.html#ae2dcc6ee54e54657a7b2be4c73e8154f',1,'seqsdx.f']]], + ['setblock_1697',['setblock',['../setblock_8f.html#af78b606039fc7944c42bf0be875579ee',1,'setblock.f']]], + ['setbmiss_1698',['setbmiss',['../setbmiss_8f.html#a9b4bbfdb1ac28c9b42b23c81f2367647',1,'setbmiss.f']]], + ['setim8b_1699',['setim8b',['../setim8b_8F90.html#a156e77d86141acd042efd97146dd18cf',1,'setim8b.F90']]], + ['setvalnb_1700',['setvalnb',['../setvalnb_8f.html#a83372f0085cb453664147c516b69c6b3',1,'setvalnb.f']]], + ['sinv_1701',['sinv',['../sinv_8f90.html#add80e304e2ffa251811ac6a19162f807',1,'sinv.f90']]], + ['sntbbe_1702',['sntbbe',['../sntbbe_8f.html#ae308430ece0bc88b4f8239cfbc13fe1e',1,'sntbbe.f']]], + ['sntbde_1703',['sntbde',['../sntbde_8f.html#ae7338a521f1a0879429886018b9c3e00',1,'sntbde.f']]], + ['sntbfe_1704',['sntbfe',['../sntbfe_8f.html#a447e4b94518009bd41934a6837bb135c',1,'sntbfe.f']]], + ['sorttbf_1705',['sorttbf',['../cfe_8c.html#af9bdd990bf256341aa36e1f0611132de',1,'cfe.c']]], + ['sorttbf_5fc_1706',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb',1,'bufrlib::sorttbf_c']]], + ['split_5fby_5fsubset_1707',['split_by_subset',['../split__by__subset_8f90.html#ae5d45e2086aa783d8ca85e2fd47c8118',1,'split_by_subset.f90']]], + ['srchtbf_1708',['srchtbf',['../cfe_8c.html#aba549e6acf16abcbe89193cb72d94287',1,'cfe.c']]], + ['srchtbf_5fc_1709',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc',1,'bufrlib::srchtbf_c']]], + ['status_1710',['status',['../status_8f.html#a6ec202af21064f4b61058df6b5880d3e',1,'status.f']]], + ['status_5fc_1711',['status_c',['../namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0',1,'bufr_c2f_interface']]], + ['status_5ff_1712',['status_f',['../bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d',1,'bufr_interface.h']]], + ['stbfdx_1713',['stbfdx',['../stbfdx_8f.html#a35d346baad722c9be56532c38d43f8a0',1,'stbfdx.f']]], + ['stdmsg_1714',['stdmsg',['../stdmsg_8f.html#abcb573ae105505deb6d3c0ad55abbce2',1,'stdmsg.f']]], + ['stndrd_1715',['stndrd',['../stndrd_8f.html#ac1fdb2d6ec4e856eb99cfb5fef331c19',1,'stndrd.f']]], + ['stntbi_1716',['stntbi',['../stntbi_8f.html#ad26b48825c877d44d1223a3f4e4051ed',1,'stntbi.f']]], + ['stntbi_5fc_1717',['stntbi_c',['../namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6',1,'bufr_c2f_interface']]], + ['stntbi_5ff_1718',['stntbi_f',['../bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f',1,'bufrlib.h']]], + ['stntbia_1719',['stntbia',['../stntbia_8f.html#afe5b7799490cf671bd2d13730f97fa39',1,'stntbia.f']]], + ['strbtm_1720',['strbtm',['../strbtm_8f.html#af07cb67caa4e62d680d319515c2ad94b',1,'strbtm.f']]], + ['strcln_1721',['strcln',['../strcln_8f.html#a19c92d247281ffcad8aab45d7debb54f',1,'strcln.f']]], + ['strcpt_1722',['strcpt',['../strcpt_8f.html#a9fdadc7a2e8a73b188c9111901faaafc',1,'strcpt.f']]], + ['string_1723',['string',['../string_8f.html#ad5386a1e671ead372f1c087994b68438',1,'string.f']]], + ['strnum_1724',['strnum',['../strnum_8F90.html#a93d704d3c84005bb12c261225445a99e',1,'strnum.F90']]], + ['strnum_5fc_1725',['strnum_c',['../namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2',1,'bufr_c2f_interface']]], + ['strnum_5ff_1726',['strnum_f',['../bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11',1,'bufrlib.h']]], + ['strsuc_1727',['strsuc',['../strsuc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28',1,'strsuc.F90']]], + ['strtbfe_1728',['strtbfe',['../cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76',1,'cfe.c']]], + ['strtbfe_5fc_1729',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5',1,'bufrlib::strtbfe_c']]], + ['stseq_1730',['stseq',['../stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c'],['../bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c']]], + ['stseq_5fc_1731',['stseq_c',['../interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870',1,'bufrlib::stseq_c']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_11.html b/previous_versions/v12.0.1/search/functions_11.html new file mode 100644 index 000000000..188076ef2 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_11.js b/previous_versions/v12.0.1/search/functions_11.js new file mode 100644 index 000000000..e4687c8c5 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_11.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['tabent_1732',['tabent',['../tabent_8f.html#a93eed61bdc169fa276366154d660f959',1,'tabent.f']]], + ['tabsub_1733',['tabsub',['../tabsub_8f.html#a6ad60d6ecdf6a230ccb11e112ecc84ce',1,'tabsub.f']]], + ['trybump_1734',['trybump',['../trybump_8f.html#a7df827415ef9d772ed5bb27bb7a82adf',1,'trybump.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_12.html b/previous_versions/v12.0.1/search/functions_12.html new file mode 100644 index 000000000..eb29d8f9a --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_12.js b/previous_versions/v12.0.1/search/functions_12.js new file mode 100644 index 000000000..3686c3b66 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_12.js @@ -0,0 +1,48 @@ +var searchData= +[ + ['ufbcnt_1735',['ufbcnt',['../ufbcnt_8f.html#afada6ea85af96e5751b5d82d28f807d4',1,'ufbcnt.f']]], + ['ufbcpy_1736',['ufbcpy',['../ufbcpy_8f.html#ac1f15281ef59f8b415f26ab9338a1700',1,'ufbcpy.f']]], + ['ufbcup_1737',['ufbcup',['../ufbcup_8f.html#a634b4974ecc6ef3dfe0f4ee27084305b',1,'ufbcup.f']]], + ['ufbdmp_1738',['ufbdmp',['../ufbdmp_8f.html#a03f00a8e30364f2d9a29718a1296c698',1,'ufbdmp.f']]], + ['ufbevn_1739',['ufbevn',['../ufbevn_8f.html#a630c533559c08a5e7206499d174dedeb',1,'ufbevn.f']]], + ['ufbget_1740',['ufbget',['../ufbget_8f.html#ac8ce7862a6f53cee02ad052d341247e4',1,'ufbget.f']]], + ['ufbin3_1741',['ufbin3',['../ufbin3_8f.html#a8f7e7d94420398251429218892f6ca48',1,'ufbin3.f']]], + ['ufbint_1742',['ufbint',['../ufbint_8f.html#aacc479c23b54cc29eecc78d22e56916b',1,'ufbint.f']]], + ['ufbint_5fc_1743',['ufbint_c',['../namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67',1,'bufr_c2f_interface']]], + ['ufbint_5ff_1744',['ufbint_f',['../bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075',1,'bufr_interface.h']]], + ['ufbinx_1745',['ufbinx',['../ufbinx_8f.html#a4014acd8639acf687abe1cd69efad1d4',1,'ufbinx.f']]], + ['ufbmem_1746',['ufbmem',['../ufbmem_8f.html#aef2048739b26a0efc96a38bda24809a4',1,'ufbmem.f']]], + ['ufbmex_1747',['ufbmex',['../ufbmex_8f.html#a1c3895e1770738efa9108c74d09aac41',1,'ufbmex.f']]], + ['ufbmms_1748',['ufbmms',['../ufbmms_8f.html#a142b387ea3b4861114dd8299375e933b',1,'ufbmms.f']]], + ['ufbmns_1749',['ufbmns',['../ufbmns_8f.html#a8c47d293077b6ef8a0d87a5bda532992',1,'ufbmns.f']]], + ['ufbovr_1750',['ufbovr',['../ufbovr_8f.html#a329577a745ed0bd9d6dcee2e3adac859',1,'ufbovr.f']]], + ['ufbpos_1751',['ufbpos',['../ufbpos_8f.html#a36fae2a842d9b540891fa080cc61b716',1,'ufbpos.f']]], + ['ufbqcd_1752',['ufbqcd',['../ufbqcd_8f.html#a65c0f87b2a9c7666057a269631f1bae7',1,'ufbqcd.f']]], + ['ufbqcp_1753',['ufbqcp',['../ufbqcp_8f.html#a39595280220d52ec11fc213be006d8be',1,'ufbqcp.f']]], + ['ufbrep_1754',['ufbrep',['../ufbrep_8f.html#a8dafd734f4271f895722c7750cf6e9ed',1,'ufbrep.f']]], + ['ufbrep_5fc_1755',['ufbrep_c',['../namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93',1,'bufr_c2f_interface']]], + ['ufbrep_5ff_1756',['ufbrep_f',['../bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce',1,'bufr_interface.h']]], + ['ufbrms_1757',['ufbrms',['../ufbrms_8f.html#aef165d34e315795e76a05ce6b4e79306',1,'ufbrms.f']]], + ['ufbrp_1758',['ufbrp',['../ufbrp_8f.html#a0caf28e523ac9dbea5d5bd592cd40b39',1,'ufbrp.f']]], + ['ufbrw_1759',['ufbrw',['../ufbrw_8f.html#abc239f0ea4f858cccb770bad22d04f02',1,'ufbrw.f']]], + ['ufbseq_1760',['ufbseq',['../ufbseq_8f.html#ad50785c4e565749fa08ec3bdddacc6fd',1,'ufbseq.f']]], + ['ufbseq_5fc_1761',['ufbseq_c',['../namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca',1,'bufr_c2f_interface']]], + ['ufbseq_5ff_1762',['ufbseq_f',['../bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16',1,'bufr_interface.h']]], + ['ufbsp_1763',['ufbsp',['../ufbsp_8f.html#a9e01a96271d067c20bac5606efd53560',1,'ufbsp.f']]], + ['ufbstp_1764',['ufbstp',['../ufbstp_8f.html#a2bee29e854e5de7c143b2395f2b91558',1,'ufbstp.f']]], + ['ufbtab_1765',['ufbtab',['../ufbtab_8f.html#a5e4e72f944670059a938e246717e5ad9',1,'ufbtab.f']]], + ['ufbtam_1766',['ufbtam',['../ufbtam_8f.html#ab057894a02fafc40f351dfb23707f9a1',1,'ufbtam.f']]], + ['ufdump_1767',['ufdump',['../ufdump_8f.html#ac6ded614847f96968e12c9600a7d51ba',1,'ufdump.f']]], + ['up8_1768',['up8',['../up8_8f.html#a9934a3d9c66ea78c7c132066798583f9',1,'up8.f']]], + ['upb_1769',['upb',['../upb_8f.html#aae09b58b06877db63e95889f67c146c0',1,'upb.f']]], + ['upb8_1770',['upb8',['../upb8_8f.html#a25ce428c1ae2bcb567fc2762fabf4317',1,'upb8.f']]], + ['upbb_1771',['upbb',['../upbb_8f.html#a92f5b8055d7eae17ed04e1300e741a39',1,'upbb.f']]], + ['upc_1772',['upc',['../upc_8f.html#ae2afdf50d0bf4063426faeae29515208',1,'upc.f']]], + ['upds3_1773',['upds3',['../upds3_8f.html#ab3f8934add8a578800472069a91d33d6',1,'upds3.f']]], + ['upftbv_1774',['upftbv',['../upftbv_8f.html#a1474a49dffc36e1517bc71c734d36837',1,'upftbv.f']]], + ['ups_1775',['ups',['../ups_8f.html#aea2e26fceeecb31aa90ae7811fa1c361',1,'ups.f']]], + ['uptdd_1776',['uptdd',['../uptdd_8f.html#a560d41b7c906a6cb2dc1f53259261dd4',1,'uptdd.f']]], + ['uptdd_5fc_1777',['uptdd_c',['../namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea',1,'bufr_c2f_interface']]], + ['uptdd_5ff_1778',['uptdd_f',['../bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b',1,'bufrlib.h']]], + ['usrtpl_1779',['usrtpl',['../usrtpl_8f.html#a677bf700a4a6f0626a41921cd66d8ed9',1,'usrtpl.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_13.html b/previous_versions/v12.0.1/search/functions_13.html new file mode 100644 index 000000000..3da2ea69c --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_13.js b/previous_versions/v12.0.1/search/functions_13.js new file mode 100644 index 000000000..86f3fcbcf --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_13.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['wrcmps_1780',['wrcmps',['../wrcmps_8f.html#a8b333832f77606059ec94ba8b80d4e8d',1,'wrcmps.f']]], + ['wrdesc_1781',['wrdesc',['../wrdesc_8c.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c'],['../bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c']]], + ['wrdlen_1782',['wrdlen',['../wrdlen_8F.html#afb746f29272671c842018de69b277685',1,'wrdlen.F']]], + ['wrdlen_5fc_1783',['wrdlen_c',['../namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1',1,'bufr_c2f_interface']]], + ['wrdlen_5ff_1784',['wrdlen_f',['../bufrlib_8h.html#a080eec815db985d32c88720a303f53c4',1,'bufrlib.h']]], + ['wrdxtb_1785',['wrdxtb',['../wrdxtb_8f.html#a89d9a5cf1716a40206ce1684c3eb9415',1,'wrdxtb.f']]], + ['writcp_1786',['writcp',['../writcp_8f.html#a0746c543fb40ce7630bb60775ddb048f',1,'writcp.f']]], + ['writdx_1787',['writdx',['../writdx_8f.html#aeefeb67236c767bcd39c0b2bc03fa390',1,'writdx.f']]], + ['writlc_1788',['writlc',['../writlc_8f.html#a618f82746b2f00c524529cf9c477656a',1,'writlc.f']]], + ['writsa_1789',['writsa',['../writsa_8f.html#a15907b29d7777574ebc34b491e2df0ee',1,'writsa.f']]], + ['writsb_1790',['writsb',['../writsb_8f.html#a9123f1d55a95142381a9eb7402d37b05',1,'writsb.f']]], + ['wrtree_1791',['wrtree',['../wrtree_8f.html#a0700f04d89a10a24b1acb184f6022c77',1,'wrtree.f']]], + ['wtstat_1792',['wtstat',['../wtstat_8f.html#a82676f83ff365e03ad827ed5ba0af1ae',1,'wtstat.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_14.html b/previous_versions/v12.0.1/search/functions_14.html new file mode 100644 index 000000000..29237b44c --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_14.js b/previous_versions/v12.0.1/search/functions_14.js new file mode 100644 index 000000000..fee4ad829 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['x48_1793',['x48',['../x48_8F.html#a268214fc42b428a9fb25656b5d6a4eb3',1,'x48.F']]], + ['x84_1794',['x84',['../x84_8F.html#a26ff906219363c677693bd4de86c5912',1,'x84.F']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_2.html b/previous_versions/v12.0.1/search/functions_2.html new file mode 100644 index 000000000..ca5aa10e6 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_2.js b/previous_versions/v12.0.1/search/functions_2.js new file mode 100644 index 000000000..a82e72a38 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_2.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['cadn30_1397',['cadn30',['../cadn30_8f.html#a62b50a0be6585c53b6604953e5f39ad1',1,'cadn30.f']]], + ['cadn30_5fc_1398',['cadn30_c',['../namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5',1,'bufr_c2f_interface']]], + ['cadn30_5ff_1399',['cadn30_f',['../bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9',1,'bufrlib.h']]], + ['capit_1400',['capit',['../capit_8f.html#acade976948fae8afa1a8301ff9272f56',1,'capit.f']]], + ['ccbfl_1401',['ccbfl',['../crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c'],['../bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c']]], + ['ccbfl_5fc_1402',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8',1,'bufr_interface::ccbfl_c']]], + ['cewind_1403',['cewind',['../bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c'],['../cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c']]], + ['cewind_5fc_1404',['cewind_c',['../interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b',1,'bufrlib::cewind_c']]], + ['chekstab_1405',['chekstab',['../chekstab_8f.html#aab7a156a89f4b58d3ef31ab946485e50',1,'chekstab.f']]], + ['cktaba_1406',['cktaba',['../cktaba_8f.html#a137108e58830be769ba5b28072cf1b4c',1,'cktaba.f']]], + ['closbf_1407',['closbf',['../closbf_8f.html#ad55dd3a551ae12718de0ac459c8f45c0',1,'closbf.f']]], + ['closbf_5fc_1408',['closbf_c',['../namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d',1,'bufr_c2f_interface']]], + ['closbf_5ff_1409',['closbf_f',['../bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a',1,'bufr_interface.h']]], + ['close_5fc_1410',['close_c',['../namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3',1,'bufr_c2f_interface']]], + ['close_5ff_1411',['close_f',['../bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249',1,'bufr_interface.h']]], + ['closfb_1412',['closfb',['../cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c'],['../bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c']]], + ['closfb_5fc_1413',['closfb_c',['../interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f',1,'bufrlib::closfb_c']]], + ['closmg_1414',['closmg',['../closmg_8f.html#a613caf939b486d5820aad9111383921b',1,'closmg.f']]], + ['cmpbqm_1415',['cmpbqm',['../cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da',1,'cmpbqm.F90']]], + ['cmpia_1416',['cmpia',['../stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29',1,'stseq.c']]], + ['cmpmsg_1417',['cmpmsg',['../cmpmsg_8f.html#a75b2d1dfd1dedb519205399a8087fd56',1,'cmpmsg.f']]], + ['cmpmsg_5ff_1418',['cmpmsg_f',['../bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128',1,'bufr_interface.h']]], + ['cmpstia1_1419',['cmpstia1',['../cfe_8c.html#a7211d196317c36365a40a128875d5041',1,'cfe.c']]], + ['cmpstia2_1420',['cmpstia2',['../cfe_8c.html#a54e09962aa43b61717212a2702be33c8',1,'cfe.c']]], + ['cmsgini_1421',['cmsgini',['../cmsgini_8f.html#ace74c243976a7546e92121317b36f9de',1,'cmsgini.f']]], + ['cnved4_1422',['cnved4',['../cnved4_8f.html#a7d89a1cf9282ca0f978a4da923369226',1,'cnved4.f']]], + ['cobfl_1423',['cobfl',['../bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c'],['../crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c']]], + ['cobfl_5fc_1424',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e',1,'bufr_interface::cobfl_c']]], + ['codflg_1425',['codflg',['../codflg_8f.html#af415643ef31f484c879e7a770fa69ff9',1,'codflg.f']]], + ['conwin_1426',['conwin',['../conwin_8f.html#a550d792705db407874c5eedd94a603aa',1,'conwin.f']]], + ['copybf_1427',['copybf',['../copybf_8f.html#a598d71f903b83187540ce568459cd8a0',1,'copybf.f']]], + ['copymg_1428',['copymg',['../copymg_8f.html#a2f6e668a0784a60fa7aa078d10223590',1,'copymg.f']]], + ['copysb_1429',['copysb',['../copysb_8f.html#a7982baa3c1084a33dfa8aec297782978',1,'copysb.f']]], + ['cpbfdx_1430',['cpbfdx',['../cpbfdx_8f.html#a3ab4a857b6a0b1e03f6cb2058712279a',1,'cpbfdx.f']]], + ['cpdxmm_1431',['cpdxmm',['../cpdxmm_8f.html#a48f353028fb8bf77255b4dae476b9da7',1,'cpdxmm.f']]], + ['cpmstabs_1432',['cpmstabs',['../cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c',1,'cpmstabs.c']]], + ['cpmstabs_5fc_1433',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d',1,'bufrlib::cpmstabs_c']]], + ['cpymem_1434',['cpymem',['../cpymem_8f.html#abf683322bb0f02c5fe1d2aed27c997a9',1,'cpymem.f']]], + ['cpyupd_1435',['cpyupd',['../cpyupd_8f.html#a129651d2e47b6c8986c1fc4dd73d87c9',1,'cpyupd.f']]], + ['crbmg_1436',['crbmg',['../bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c']]], + ['crbmg_5fc_1437',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311',1,'bufr_interface::crbmg_c']]], + ['crdbufr_1438',['crdbufr',['../cread_8c.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c'],['../bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c']]], + ['crdbufr_5fc_1439',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9',1,'bufrlib::crdbufr_c']]], + ['cwbmg_1440',['cwbmg',['../bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c']]], + ['cwbmg_5fc_1441',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113',1,'bufr_interface::cwbmg_c']]], + ['cwrbufr_1442',['cwrbufr',['../cread_8c.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c'],['../bufrlib_8h.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c']]], + ['cwrbufr_5fc_1443',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978',1,'bufrlib::cwrbufr_c']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_3.html b/previous_versions/v12.0.1/search/functions_3.html new file mode 100644 index 000000000..d79f55b8e --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_3.js b/previous_versions/v12.0.1/search/functions_3.js new file mode 100644 index 000000000..eab387aa8 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_3.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['datebf_1444',['datebf',['../datebf_8f.html#ad2a5fe76a797b9a857c7eba08f161dda',1,'datebf.f']]], + ['datelen_1445',['datelen',['../datelen_8f.html#a2b79b38439baa89e2b34b0614449d579',1,'datelen.f']]], + ['delete_5ftable_5fdata_5fc_1446',['delete_table_data_c',['../namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e',1,'bufr_c2f_interface']]], + ['delete_5ftable_5fdata_5ff_1447',['delete_table_data_f',['../bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426',1,'bufr_interface.h']]], + ['digit_1448',['digit',['../digit_8f.html#a794db0c45d8412136ea5cd66506c9ec2',1,'digit.f']]], + ['dlloctbf_1449',['dlloctbf',['../cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583',1,'cfe.c']]], + ['dlloctbf_5fc_1450',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6',1,'bufr_interface::dlloctbf_c']]], + ['drfini_1451',['drfini',['../drfini_8f.html#a22bf08213641695f90d64c04429064a8',1,'drfini.f']]], + ['drstpl_1452',['drstpl',['../drstpl_8f.html#a665ed582f0160b2112ca37fe79457d5f',1,'drstpl.f']]], + ['dumpbf_1453',['dumpbf',['../dumpbf_8f.html#a8c87e3d6aa6b01c5ca52fd57d7095826',1,'dumpbf.f']]], + ['dxdump_1454',['dxdump',['../dxdump_8f.html#a42bdc5a58d0586fd8e9bc1b755602aeb',1,'dxdump.f']]], + ['dxinit_1455',['dxinit',['../dxinit_8f.html#a5a104b88a6655ba06336b2c8ab7fb98e',1,'dxinit.f']]], + ['dxmini_1456',['dxmini',['../dxmini_8f.html#af50329e45cba835812b5522f4516f558',1,'dxmini.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_4.html b/previous_versions/v12.0.1/search/functions_4.html new file mode 100644 index 000000000..1657cad0d --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_4.js b/previous_versions/v12.0.1/search/functions_4.js new file mode 100644 index 000000000..c36dc10cd --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['elemdx_1457',['elemdx',['../elemdx_8f.html#adfd6de0f5d3b01918ea50186bf208a2d',1,'elemdx.f']]], + ['elemdx_5fc_1458',['elemdx_c',['../namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241',1,'bufr_c2f_interface']]], + ['elemdx_5ff_1459',['elemdx_f',['../bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c',1,'bufrlib.h']]], + ['errwrt_1460',['errwrt',['../errwrt_8f.html#a65626d9a772648676146b62b596c2764',1,'errwrt.f']]], + ['exitbufr_1461',['exitbufr',['../exitbufr_8f.html#acd1669ed5957ebab6c98ac974b2a1bf8',1,'exitbufr.f']]], + ['exitbufr_5fc_1462',['exitbufr_c',['../namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab',1,'bufr_c2f_interface']]], + ['exitbufr_5ff_1463',['exitbufr_f',['../bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6',1,'bufr_interface.h']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_5.html b/previous_versions/v12.0.1/search/functions_5.html new file mode 100644 index 000000000..9301d6b9c --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_5.js b/previous_versions/v12.0.1/search/functions_5.js new file mode 100644 index 000000000..ae44e83dd --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['fdebufr_5fc_1464',['fdebufr_c',['../debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b',1,'debufr.F90']]], + ['fdebufr_5ff_1465',['fdebufr_f',['../debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6',1,'debufr.c']]], + ['fortran_5fclose_1466',['fortran_close',['../fortran__close_8F90.html#aa585324fae3ecf559d6f39507dde6715',1,'fortran_close.F90']]], + ['fortran_5fopen_1467',['fortran_open',['../fortran__open_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a',1,'fortran_open.F90']]], + ['fstag_1468',['fstag',['../fstag_8f.html#a4086d332625381684867dd7ec13a20e5',1,'fstag.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_6.html b/previous_versions/v12.0.1/search/functions_6.html new file mode 100644 index 000000000..9c4f5fc65 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_6.js b/previous_versions/v12.0.1/search/functions_6.js new file mode 100644 index 000000000..163876526 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_6.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['get_5finode_5fc_1469',['get_inode_c',['../namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f',1,'bufr_c2f_interface']]], + ['get_5finode_5ff_1470',['get_inode_f',['../bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d',1,'bufr_interface.h']]], + ['get_5finv_5fc_1471',['get_inv_c',['../namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6',1,'bufr_c2f_interface']]], + ['get_5finv_5ff_1472',['get_inv_f',['../bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992',1,'bufr_interface.h']]], + ['get_5firf_5fc_1473',['get_irf_c',['../namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252',1,'bufr_c2f_interface']]], + ['get_5firf_5ff_1474',['get_irf_f',['../bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5',1,'bufr_interface.h']]], + ['get_5fisc_5fc_1475',['get_isc_c',['../namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102',1,'bufr_c2f_interface']]], + ['get_5fisc_5ff_1476',['get_isc_f',['../bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e',1,'bufr_interface.h']]], + ['get_5fitp_5fc_1477',['get_itp_c',['../namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d',1,'bufr_c2f_interface']]], + ['get_5fitp_5ff_1478',['get_itp_f',['../bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3',1,'bufr_interface.h']]], + ['get_5fjmpb_5fc_1479',['get_jmpb_c',['../namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f',1,'bufr_c2f_interface']]], + ['get_5fjmpb_5ff_1480',['get_jmpb_f',['../bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e',1,'bufr_interface.h']]], + ['get_5flink_5fc_1481',['get_link_c',['../namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9',1,'bufr_c2f_interface']]], + ['get_5flink_5ff_1482',['get_link_f',['../bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88',1,'bufr_interface.h']]], + ['get_5fnval_5fc_1483',['get_nval_c',['../namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503',1,'bufr_c2f_interface']]], + ['get_5fnval_5ff_1484',['get_nval_f',['../bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2',1,'bufr_interface.h']]], + ['get_5ftag_5fc_1485',['get_tag_c',['../namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a',1,'bufr_c2f_interface']]], + ['get_5ftag_5ff_1486',['get_tag_f',['../bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca',1,'bufr_interface.h']]], + ['get_5ftyp_5fc_1487',['get_typ_c',['../namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102',1,'bufr_c2f_interface']]], + ['get_5ftyp_5ff_1488',['get_typ_f',['../bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3',1,'bufr_interface.h']]], + ['get_5fval_5fc_1489',['get_val_c',['../namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54',1,'bufr_c2f_interface']]], + ['get_5fval_5ff_1490',['get_val_f',['../bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1',1,'bufr_interface.h']]], + ['getabdb_1491',['getabdb',['../getabdb_8f.html#a5a224df0ff920fff5ce7adc7a78ccf39',1,'getabdb.f']]], + ['getbmiss_1492',['getbmiss',['../getbmiss_8f.html#ab344899ae36140147a28f17ec36649d4',1,'getbmiss.f']]], + ['getcfmng_1493',['getcfmng',['../getcfmng_8f.html#a79cc79e9e059a171f8d55fcc481b6f17',1,'getcfmng.f']]], + ['getlens_1494',['getlens',['../getlens_8f.html#a685789badbea7a0251067101a43b1379',1,'getlens.f']]], + ['getntbe_1495',['getntbe',['../getntbe_8f.html#a114eb13cc332b1a370f5d4bc81b43417',1,'getntbe.f']]], + ['gets1loc_1496',['gets1loc',['../gets1loc_8f.html#a9d00101f324f421d08d82185bd6bda5a',1,'gets1loc.f']]], + ['gettab_1497',['gettab',['../gettab_8f90.html#ac9eda42ec8bf46baae0a4f34cd517813',1,'gettab.f90']]], + ['gettagpr_1498',['gettagpr',['../gettagpr_8f.html#afa95ba65c1f04061bcc67bfc42f2591e',1,'gettagpr.f']]], + ['gettagre_1499',['gettagre',['../gettagre_8f.html#ac403696207f08e85eb2cbfdb2260d8c8',1,'gettagre.f']]], + ['gettbh_1500',['gettbh',['../gettbh_8f.html#afdf05d8351efc21966d1667b09e397e3',1,'gettbh.f']]], + ['getvalnb_1501',['getvalnb',['../getvalnb_8f.html#a64c2899499c1da1b24ee62414eaf4ad6',1,'getvalnb.f']]], + ['getwin_1502',['getwin',['../getwin_8f.html#a379c23a5975d8a605b4747586726f5b1',1,'getwin.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_7.html b/previous_versions/v12.0.1/search/functions_7.html new file mode 100644 index 000000000..46b5c0f61 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_7.js b/previous_versions/v12.0.1/search/functions_7.js new file mode 100644 index 000000000..611e45356 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hold4wlc_1503',['hold4wlc',['../hold4wlc_8f.html#a91458ffa3b29d47b043110a8e87ddf50',1,'hold4wlc.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_8.html b/previous_versions/v12.0.1/search/functions_8.html new file mode 100644 index 000000000..31a1d9503 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_8.js b/previous_versions/v12.0.1/search/functions_8.js new file mode 100644 index 000000000..15391dc9b --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_8.js @@ -0,0 +1,78 @@ +var searchData= +[ + ['i4dy_1504',['i4dy',['../i4dy_8f.html#a69dc21255ba388e6aad80e812971f9a2',1,'i4dy.f']]], + ['ibfms_1505',['ibfms',['../ibfms_8f.html#a0f7ba3ed6f17e76d912b4f13ea70967e',1,'ibfms.f']]], + ['ibfms_5fc_1506',['ibfms_c',['../namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c',1,'bufr_c2f_interface']]], + ['ibfms_5ff_1507',['ibfms_f',['../bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c',1,'bufr_interface.h']]], + ['icbfms_1508',['icbfms',['../icbfms_8f.html#af741f019421045a66605fb0bf993e69a',1,'icbfms.f']]], + ['icmpdx_1509',['icmpdx',['../icmpdx_8f.html#a3d484cf9a060c1a81ab132a4356d1b9c',1,'icmpdx.f']]], + ['icopysb_1510',['icopysb',['../icopysb_8f.html#abb76c9e1ce4ec5d6ffd88e44c669e56b',1,'icopysb.f']]], + ['icvidx_1511',['icvidx',['../bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c'],['../icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c']]], + ['icvidx_5fc_1512',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0',1,'bufrlib::icvidx_c']]], + ['idn30_1513',['idn30',['../idn30_8f.html#a69a1bd958e896bf2f1d6e23159d82713',1,'idn30.f']]], + ['idxmsg_1514',['idxmsg',['../idxmsg_8f.html#adb63cdbd7f55f3d36a03e9ffb41bddfc',1,'idxmsg.f']]], + ['ifbget_1515',['ifbget',['../ifbget_8f.html#a02c005f3f5bbddec11cdfee46beaa12f',1,'ifbget.f']]], + ['ifxy_1516',['ifxy',['../ifxy_8f.html#ac971a6f6d644344a5b09d50175498074',1,'ifxy.f']]], + ['ifxy_5fc_1517',['ifxy_c',['../namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6',1,'bufr_c2f_interface']]], + ['ifxy_5ff_1518',['ifxy_f',['../bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24',1,'bufrlib.h']]], + ['igetdate_1519',['igetdate',['../igetdate_8f.html#ade0adb8723f6e1db7a8a6f81d2da4b50',1,'igetdate.f']]], + ['igetfxy_1520',['igetfxy',['../igetfxy_8f.html#a438cad6ce6a5db1ef32ee2fcc3869aa5',1,'igetfxy.f']]], + ['igetmxby_1521',['igetmxby',['../igetmxby_8f.html#a2e158576710c771847a84db8cd00d13b',1,'igetmxby.f']]], + ['igetmxby_5fc_1522',['igetmxby_c',['../namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb',1,'bufr_c2f_interface']]], + ['igetmxby_5ff_1523',['igetmxby_f',['../bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4',1,'bufr_interface.h']]], + ['igetntbi_1524',['igetntbi',['../igetntbi_8f.html#aa62d319cf10b3a98796b583619d8b599',1,'igetntbi.f']]], + ['igetntbi_5fc_1525',['igetntbi_c',['../namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e',1,'bufr_c2f_interface']]], + ['igetntbi_5ff_1526',['igetntbi_f',['../bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131',1,'bufrlib.h']]], + ['igetntbl_1527',['igetntbl',['../igetntbl_8f.html#a5ef5df8d628be06a161f7973fa839795',1,'igetntbl.f']]], + ['igetprm_1528',['igetprm',['../igetprm_8f.html#a6c225e0b5fe6fa21cfd8e46bd2834d9f',1,'igetprm.f']]], + ['igetprm_5fc_1529',['igetprm_c',['../namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b',1,'bufr_c2f_interface']]], + ['igetprm_5ff_1530',['igetprm_f',['../bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb',1,'bufr_interface.h']]], + ['igetrfel_1531',['igetrfel',['../igetrfel_8f.html#a764a4e5ff62c66fcaae4b2b1d806e88c',1,'igetrfel.f']]], + ['igetsc_1532',['igetsc',['../igetsc_8f.html#a256ecb8846572acf465d2483ee42f521',1,'igetsc.f']]], + ['igettdi_1533',['igettdi',['../igettdi_8f.html#a2c1b3d34feef0ad9297be7f4f666a5f1',1,'igettdi.f']]], + ['igettdi_5fc_1534',['igettdi_c',['../namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d',1,'bufr_c2f_interface']]], + ['igettdi_5ff_1535',['igettdi_f',['../bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2',1,'bufrlib.h']]], + ['imrkopr_1536',['imrkopr',['../imrkopr_8f.html#a15297118e0926da9adec4d745b72effe',1,'imrkopr.f']]], + ['imrkopr_5fc_1537',['imrkopr_c',['../namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f',1,'bufr_c2f_interface']]], + ['imrkopr_5ff_1538',['imrkopr_f',['../bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47',1,'bufrlib.h']]], + ['inctab_1539',['inctab',['../inctab_8f.html#ab4d95e791ea67fccbade97e247ed5646',1,'inctab.f']]], + ['inittbf_1540',['inittbf',['../cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e',1,'cfe.c']]], + ['inittbf_5fc_1541',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8',1,'bufrlib::inittbf_c']]], + ['invcon_1542',['invcon',['../invcon_8f.html#afe1aa702b7e243216ea8bfa12394b16c',1,'invcon.f']]], + ['invmrg_1543',['invmrg',['../invmrg_8f.html#a11b608bddc0c6ad660ff50ed461d5266',1,'invmrg.f']]], + ['invtag_1544',['invtag',['../invtag_8f.html#a307883c6492d9e7dab968c16ac0fb673',1,'invtag.f']]], + ['invwin_1545',['invwin',['../invwin_8f.html#ac26ae485efa93dee816efb648bdfcc8b',1,'invwin.f']]], + ['iok2cpy_1546',['iok2cpy',['../iok2cpy_8f.html#adb475e8aa22ff44804298c5119a98b9d',1,'iok2cpy.f']]], + ['iokoper_1547',['iokoper',['../iokoper_8f.html#a4d41730266c35e121d915b729c741bd0',1,'iokoper.f']]], + ['ipkm_1548',['ipkm',['../ipkm_8f.html#a554d822943222b129ddb21f204393665',1,'ipkm.f']]], + ['ipks_1549',['ipks',['../ipks_8f.html#a12376c3561b8a14e09b20d8736b91d82',1,'ipks.f']]], + ['ireadmg_1550',['ireadmg',['../ireadmg_8f.html#a3a275abe52521fa780c379ed69e1c994',1,'ireadmg.f']]], + ['ireadmg_5fc_1551',['ireadmg_c',['../namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b',1,'bufr_c2f_interface']]], + ['ireadmg_5ff_1552',['ireadmg_f',['../bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96',1,'bufr_interface.h']]], + ['ireadmm_1553',['ireadmm',['../ireadmm_8f.html#ae23e9668d28c463649cb18cccd1b6248',1,'ireadmm.f']]], + ['ireadmt_1554',['ireadmt',['../ireadmt_8f.html#aa695ad6da4ed98ed6ef6fc3666f7d7bc',1,'ireadmt.f']]], + ['ireadns_1555',['ireadns',['../ireadns_8f.html#a711f30e52fdc3cafd8800a57f6865449',1,'ireadns.f']]], + ['ireadns_5fc_1556',['ireadns_c',['../namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7',1,'bufr_c2f_interface']]], + ['ireadns_5ff_1557',['ireadns_f',['../bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f',1,'bufr_interface.h']]], + ['ireadsb_1558',['ireadsb',['../ireadsb_8f.html#a778c5b1e6c129932b733bc25ecc27f07',1,'ireadsb.f']]], + ['ireadsb_5fc_1559',['ireadsb_c',['../namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1',1,'bufr_c2f_interface']]], + ['ireadsb_5ff_1560',['ireadsb_f',['../bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb',1,'bufr_interface.h']]], + ['irev_1561',['irev',['../irev_8F.html#a4a8512777ba30c1c919646c7a6a637f5',1,'irev.F']]], + ['isetprm_1562',['isetprm',['../isetprm_8f.html#ae592be54b0568225433b6d66798ddce6',1,'isetprm.f']]], + ['isetprm_5fc_1563',['isetprm_c',['../namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490',1,'bufr_c2f_interface']]], + ['isetprm_5ff_1564',['isetprm_f',['../bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c',1,'bufr_interface.h']]], + ['ishrdx_1565',['ishrdx',['../ishrdx_8f.html#a1426a2d409a3cc93b1ee0c073ad49907',1,'ishrdx.f']]], + ['isize_1566',['isize',['../isize_8f.html#ada463fda3cd15b7615b0dd0cfa415eb9',1,'isize.f']]], + ['istdesc_1567',['istdesc',['../istdesc_8f.html#a8cf4d2f75a7094c482f39dec47f37175',1,'istdesc.f']]], + ['istdesc_5fc_1568',['istdesc_c',['../namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae',1,'bufr_c2f_interface']]], + ['istdesc_5ff_1569',['istdesc_f',['../bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d',1,'bufrlib.h']]], + ['iupb_1570',['iupb',['../iupb_8f.html#abf2490cec5a3d07fd22e1b25c9aee046',1,'iupb.f']]], + ['iupb_5fc_1571',['iupb_c',['../namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe',1,'bufr_c2f_interface']]], + ['iupb_5ff_1572',['iupb_f',['../bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc',1,'bufrlib.h']]], + ['iupbs01_1573',['iupbs01',['../iupbs01_8f.html#a656ed063ebbcd600fcfa2810411dbf5e',1,'iupbs01.f']]], + ['iupbs01_5fc_1574',['iupbs01_c',['../namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd',1,'bufr_c2f_interface']]], + ['iupbs01_5ff_1575',['iupbs01_f',['../bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f',1,'bufr_interface.h']]], + ['iupbs3_1576',['iupbs3',['../iupbs3_8f.html#a09bc8c4de10677c94cfb411a9155bc99',1,'iupbs3.f']]], + ['iupm_1577',['iupm',['../iupm_8f.html#ae519ea0e87bfdd4b22e78f81ad5cb23f',1,'iupm.f']]], + ['iupvs01_1578',['iupvs01',['../iupvs01_8f.html#a77200fe9b0146973c1a0116ade2e70ad',1,'iupvs01.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_9.html b/previous_versions/v12.0.1/search/functions_9.html new file mode 100644 index 000000000..9a8e4290c --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_9.js b/previous_versions/v12.0.1/search/functions_9.js new file mode 100644 index 000000000..0a7fe5c3b --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jstnum_1579',['jstnum',['../jstnum_8f.html#aed41312e53ed76174fb87c3b62ac0b45',1,'jstnum.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_a.html b/previous_versions/v12.0.1/search/functions_a.html new file mode 100644 index 000000000..5ecc152ca --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_a.js b/previous_versions/v12.0.1/search/functions_a.js new file mode 100644 index 000000000..cdfa4ea3a --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['lcmgdf_1580',['lcmgdf',['../lcmgdf_8f.html#a46d9546ede10e6b90d9b44e4b789027e',1,'lcmgdf.f']]], + ['lmsg_1581',['lmsg',['../lmsg_8f.html#ad99ef4c2da4682ebd250ba4ea2a426c8',1,'lmsg.f']]], + ['lstjpb_1582',['lstjpb',['../lstjpb_8f.html#a0a74db325c227fe8ee3b77bd7dfd7baf',1,'lstjpb.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_b.html b/previous_versions/v12.0.1/search/functions_b.html new file mode 100644 index 000000000..e301fedd7 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_b.js b/previous_versions/v12.0.1/search/functions_b.js new file mode 100644 index 000000000..e3a2e097f --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_b.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['main_1583',['main',['../debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): debufr.c'],['../xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): xbfmg.c']]], + ['makestab_1584',['makestab',['../makestab_8f.html#ad12d047119fdcdeb97ffbced0696b9fb',1,'makestab.f']]], + ['maxout_1585',['maxout',['../maxout_8f.html#aaa325906c9b2cc1b17852d152d475bcb',1,'maxout.f']]], + ['maxout_5fc_1586',['maxout_c',['../namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42',1,'bufr_c2f_interface']]], + ['maxout_5ff_1587',['maxout_f',['../bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3',1,'bufr_interface.h']]], + ['mesgbc_1588',['mesgbc',['../mesgbc_8f.html#a94b2ff31250eb562ee4fe3c5c231e98b',1,'mesgbc.f']]], + ['mesgbf_1589',['mesgbf',['../mesgbf_8f.html#a01bf48e41499c9083c3c651d1dd1ee20',1,'mesgbf.f']]], + ['minimg_1590',['minimg',['../minimg_8f.html#a8a82b46fac7c6c9375ec8b0543de1f0a',1,'minimg.f']]], + ['mrginv_1591',['mrginv',['../mrginv_8f.html#ad2b1b1578991d75d98e005d2678bef78',1,'mrginv.f']]], + ['msgfull_1592',['msgfull',['../msgfull_8f.html#a3808cd2ad652b38673d5ac6906cfe73f',1,'msgfull.f']]], + ['msgini_1593',['msgini',['../msgini_8f.html#ae73a0a9e7bba8f7dfeb673f2bca0820b',1,'msgini.f']]], + ['msgupd_1594',['msgupd',['../msgupd_8f.html#adf75cb2bc2a217eb33ffc8e45b1a5350',1,'msgupd.f']]], + ['msgwrt_1595',['msgwrt',['../msgwrt_8f.html#ac95ecf1436ba14805a33efd29fab1e5d',1,'msgwrt.f']]], + ['mtfnam_1596',['mtfnam',['../mtfnam_8f.html#a9991cbb64b79f8c3f07d1037344ab143',1,'mtfnam.f']]], + ['mtinfo_1597',['mtinfo',['../mtinfo_8f.html#a5bc13da9cf85f0bf6a8010842707d271',1,'mtinfo.f']]], + ['mtinfo_5fc_1598',['mtinfo_c',['../namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364',1,'bufr_c2f_interface']]], + ['mtinfo_5ff_1599',['mtinfo_f',['../bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e',1,'bufr_interface.h']]], + ['mvb_1600',['mvb',['../mvb_8f.html#a3fb4ee7c2a5cf7725257dcdd71826ba2',1,'mvb.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_c.html b/previous_versions/v12.0.1/search/functions_c.html new file mode 100644 index 000000000..c4f326877 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_c.js b/previous_versions/v12.0.1/search/functions_c.js new file mode 100644 index 000000000..70d5d7c47 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_c.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['nemdefs_1601',['nemdefs',['../nemdefs_8f.html#ac552350372c0023b612907e7f2445434',1,'nemdefs.f']]], + ['nemdefs_5fc_1602',['nemdefs_c',['../namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48',1,'bufr_c2f_interface']]], + ['nemdefs_5ff_1603',['nemdefs_f',['../bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c',1,'bufr_interface.h']]], + ['nemock_1604',['nemock',['../nemock_8f.html#a4cd0d5caf72ff1f2acb4747d11494dd2',1,'nemock.f']]], + ['nemspecs_1605',['nemspecs',['../nemspecs_8f.html#afc40b65878e8f8537a6bd6d804b5b650',1,'nemspecs.f']]], + ['nemspecs_5fc_1606',['nemspecs_c',['../namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55',1,'bufr_c2f_interface']]], + ['nemspecs_5ff_1607',['nemspecs_f',['../bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f',1,'bufr_interface.h']]], + ['nemtab_1608',['nemtab',['../nemtab_8f.html#a3f3fb5a378c52dac83cb4fce27ceb712',1,'nemtab.f']]], + ['nemtab_5fc_1609',['nemtab_c',['../namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9',1,'bufr_c2f_interface']]], + ['nemtab_5ff_1610',['nemtab_f',['../bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c',1,'bufr_interface.h']]], + ['nemtba_1611',['nemtba',['../nemtba_8f.html#a1038fd60bc3fa89eff9ff79ed996a7e1',1,'nemtba.f']]], + ['nemtbax_1612',['nemtbax',['../nemtbax_8f.html#adec9ab84d3bc51e082325e710354192e',1,'nemtbax.f']]], + ['nemtbb_1613',['nemtbb',['../nemtbb_8f.html#a6a5cf8bb2726a59eeb87fbbef58764be',1,'nemtbb.f']]], + ['nemtbb_5fc_1614',['nemtbb_c',['../namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2',1,'bufr_c2f_interface']]], + ['nemtbb_5ff_1615',['nemtbb_f',['../bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b',1,'bufr_interface.h']]], + ['nemtbd_1616',['nemtbd',['../nemtbd_8f.html#ac3fb25908c829f741ccd1d440d6051d9',1,'nemtbd.f']]], + ['nenubd_1617',['nenubd',['../nenubd_8f.html#a41014913489bdc74d7a2af0fa44159ba',1,'nenubd.f']]], + ['nevn_1618',['nevn',['../nevn_8f.html#abcd7250eb3adfa82e54d118e60ad88e3',1,'nevn.f']]], + ['newwin_1619',['newwin',['../newwin_8f.html#a7c72d9d0b9a4769b7d930b705490e057',1,'newwin.f']]], + ['nmsub_1620',['nmsub',['../nmsub_8f.html#a9813b6374eac55f642fc568b45c7dfe8',1,'nmsub.f']]], + ['nmwrd_1621',['nmwrd',['../nmwrd_8f.html#a462c3b8304f953dff1021ace791b8cc0',1,'nmwrd.f']]], + ['numbck_1622',['numbck',['../numbck_8f.html#abfd2a53dd5457f38bb1aa40284f2475a',1,'numbck.f']]], + ['nummtb_1623',['nummtb',['../stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e',1,'stseq.c']]], + ['numtab_1624',['numtab',['../numtab_8f.html#abe719d38067d3f869c1b200530fc92f9',1,'numtab.f']]], + ['numtbd_1625',['numtbd',['../numtbd_8f.html#aae71d3919c5fc05ca4915e7b61aa3735',1,'numtbd.f']]], + ['numtbd_5fc_1626',['numtbd_c',['../namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64',1,'bufr_c2f_interface']]], + ['numtbd_5ff_1627',['numtbd_f',['../bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a',1,'bufrlib.h']]], + ['nvnwin_1628',['nvnwin',['../nvnwin_8f.html#a4f52a9be063d9dd781de4077c5e9f985',1,'nvnwin.f']]], + ['nwords_1629',['nwords',['../nwords_8f.html#ae6b70eaecec6c57bd71c611cb5bb1e8b',1,'nwords.f']]], + ['nxtwin_1630',['nxtwin',['../nxtwin_8f.html#a1b2e79163137c3e4decd8b9219337f27',1,'nxtwin.f']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_d.html b/previous_versions/v12.0.1/search/functions_d.html new file mode 100644 index 000000000..7a1ed065d --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_d.js b/previous_versions/v12.0.1/search/functions_d.js new file mode 100644 index 000000000..39fcaf6ed --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_d.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['open_5fc_1631',['open_c',['../namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53',1,'bufr_c2f_interface']]], + ['open_5ff_1632',['open_f',['../bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0',1,'bufr_interface.h']]], + ['openab_1633',['openab',['../cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c']]], + ['openab_5fc_1634',['openab_c',['../interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6',1,'bufrlib::openab_c']]], + ['openbf_1635',['openbf',['../openbf_8f.html#abcc4f481b8758da104eb75575431128e',1,'openbf.f']]], + ['openbf_5fc_1636',['openbf_c',['../namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d',1,'bufr_c2f_interface']]], + ['openbf_5ff_1637',['openbf_f',['../bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788',1,'bufr_interface.h']]], + ['openbt_1638',['openbt',['../openbt_8f.html#a3c78756de851568b7315bb084e1fd152',1,'openbt(LUNDX, MTYP): openbt.f'],['../debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89',1,'openbt(lundx, mtyp): debufr.F90']]], + ['openmb_1639',['openmb',['../openmb_8f.html#aee65c9d9bb626bfd51c3f904c2e4f86c',1,'openmb.f']]], + ['openmb_5fc_1640',['openmb_c',['../namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44',1,'bufr_c2f_interface']]], + ['openmb_5ff_1641',['openmb_f',['../bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe',1,'bufr_interface.h']]], + ['openmg_1642',['openmg',['../openmg_8f.html#a2408d74e1c5a3dc2bdbe35ec66a5e35c',1,'openmg.f']]], + ['openrb_1643',['openrb',['../bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c'],['../cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c']]], + ['openrb_5fc_1644',['openrb_c',['../interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626',1,'bufrlib::openrb_c']]], + ['openwb_1645',['openwb',['../cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c']]], + ['openwb_5fc_1646',['openwb_c',['../interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28',1,'bufrlib::openwb_c']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_e.html b/previous_versions/v12.0.1/search/functions_e.html new file mode 100644 index 000000000..22d2a6bf5 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_e.js b/previous_versions/v12.0.1/search/functions_e.js new file mode 100644 index 000000000..b2110d6ac --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_e.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['pad_1647',['pad',['../pad_8f.html#ab92ba263e51623b46cb4a7c9dee641f0',1,'pad.f']]], + ['padmsg_1648',['padmsg',['../padmsg_8f.html#af8c53e62375434d43ee476856388ee1c',1,'padmsg.f']]], + ['parstr_1649',['parstr',['../parstr_8f.html#a3379a342ab3d92dd01eef1f3172f9b86',1,'parstr.f']]], + ['parusr_1650',['parusr',['../parusr_8f.html#a8c7afcc8ef3c345d51b9e902be92f9e5',1,'parusr.f']]], + ['parutg_1651',['parutg',['../parutg_8f.html#a48496d3ac23b5e7d75a524f4ae62e181',1,'parutg.f']]], + ['pkb_1652',['pkb',['../pkb_8f.html#a35aa2e691ff3ad32de9d8721cae613f7',1,'pkb.f']]], + ['pkb8_1653',['pkb8',['../pkb8_8f.html#ad41a6d2e1a35c122af15bbc6dffe8eaa',1,'pkb8.f']]], + ['pkbs1_1654',['pkbs1',['../pkbs1_8f.html#a03b8cfb3af6b1f310462a3e40adc622c',1,'pkbs1.f']]], + ['pkc_1655',['pkc',['../pkc_8f.html#a0376a4af04f7be036484c666ebbb8ef9',1,'pkc.f']]], + ['pkftbv_1656',['pkftbv',['../pkftbv_8f.html#a13ca3b23c3ea896eea3ac3d3dcb1e35f',1,'pkftbv.f']]], + ['pktdd_1657',['pktdd',['../pktdd_8f.html#a5a9bc43ec2b7b51ae5097fd7b828dd84',1,'pktdd.f']]], + ['pktdd_5fc_1658',['pktdd_c',['../namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0',1,'bufr_c2f_interface']]], + ['pktdd_5ff_1659',['pktdd_f',['../bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187',1,'bufrlib.h']]], + ['pkvs01_1660',['pkvs01',['../pkvs01_8f.html#aa2b468d76d4b2710f7b777bf4ffcb3af',1,'pkvs01.f']]], + ['posapx_1661',['posapx',['../posapx_8f.html#ad32a5730c46c657f5fde47244bd1ebd5',1,'posapx.f']]], + ['printx_1662',['printx',['../readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c',1,'readbp.F90']]], + ['prtusage_1663',['prtusage',['../xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): xbfmg.c'],['../debufr_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): debufr.c']]] +]; diff --git a/previous_versions/v12.0.1/search/functions_f.html b/previous_versions/v12.0.1/search/functions_f.html new file mode 100644 index 000000000..54b7dee08 --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/functions_f.js b/previous_versions/v12.0.1/search/functions_f.js new file mode 100644 index 000000000..41019ed0e --- /dev/null +++ b/previous_versions/v12.0.1/search/functions_f.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['rbytes_1664',['rbytes',['../crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae',1,'crwbmg.c']]], + ['rcstpl_1665',['rcstpl',['../rcstpl_8f.html#a6051cb3fd10cab351aaade691f06ffd1',1,'rcstpl.f']]], + ['rdbfdx_1666',['rdbfdx',['../rdbfdx_8f.html#a7d7beabef509022d4d98ebfb79f06dec',1,'rdbfdx.f']]], + ['rdcmps_1667',['rdcmps',['../rdcmps_8f.html#a4592f4f71832d5bc80939cfd8095ad09',1,'rdcmps.f']]], + ['rdmemm_1668',['rdmemm',['../rdmemm_8f.html#acdadcefdf7f3d9e0a9271ece060ec193',1,'rdmemm.f']]], + ['rdmems_1669',['rdmems',['../rdmems_8f.html#a4af6fe463b8e15affa23de1f1ac4358e',1,'rdmems.f']]], + ['rdmgsb_1670',['rdmgsb',['../rdmgsb_8f.html#ae4f5dbd64255fa37c9616ff72289897c',1,'rdmgsb.f']]], + ['rdmsgw_1671',['rdmsgw',['../rdmsgw_8F90.html#ac23041847910e299fa2c89962597a312',1,'rdmsgw.F90']]], + ['rdmtbb_1672',['rdmtbb',['../rdmtbb_8f.html#a500535fb51e5caae61f0fd3627a211da',1,'rdmtbb.f']]], + ['rdmtbd_1673',['rdmtbd',['../rdmtbd_8f.html#a46cfbed2b4e693c0bc7e4792c47d5692',1,'rdmtbd.f']]], + ['rdmtbf_1674',['rdmtbf',['../rdmtbf_8f.html#a5ca890fe454d0615933e8b535e28ac00',1,'rdmtbf.f']]], + ['rdtree_1675',['rdtree',['../rdtree_8f.html#a517c48e080eadc5e9a88fff47ffe4c34',1,'rdtree.f']]], + ['rdusdx_1676',['rdusdx',['../rdusdx_8f.html#ab4869b52a96f03ad2eb5328e71c25764',1,'rdusdx.f']]], + ['readbp_1677',['readbp',['../readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b',1,'readbp.F90']]], + ['readdx_1678',['readdx',['../readdx_8f.html#aa40c216c00c44fefb183a3d2641f5077',1,'readdx.f']]], + ['readerme_1679',['readerme',['../readerme_8f.html#a3d8860f8a5fe519e8d84afbe68dc67b5',1,'readerme.f']]], + ['readlc_1680',['readlc',['../readlc_8f.html#a6ab327a73098c106cbad611b396ea2f1',1,'readlc.f']]], + ['readlc_5fc_1681',['readlc_c',['../namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc',1,'bufr_c2f_interface']]], + ['readlc_5ff_1682',['readlc_f',['../bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97',1,'bufr_interface.h']]], + ['readmg_1683',['readmg',['../readmg_8f.html#a6471e41b4b7e505d6659c1fd45cc195d',1,'readmg.f']]], + ['readmm_1684',['readmm',['../readmm_8f.html#aa4e6aa0249e0a5d5b56698c8cd39806c',1,'readmm.f']]], + ['readmp_1685',['readmp',['../readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650',1,'readmp.F90']]], + ['readns_1686',['readns',['../readns_8f.html#acfb34cc5575782a332a5490cb07ef700',1,'readns.f']]], + ['reads3_1687',['reads3',['../reads3_8f.html#a57a4b386c104472c2df89ca9217d0d4b',1,'reads3.f']]], + ['readsb_1688',['readsb',['../readsb_8f.html#a7487962744f372041e729f0b754b7a92',1,'readsb.f']]], + ['restd_1689',['restd',['../restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3',1,'restd(int lun, int tddesc, int *nctddesc, int *ctddesc): restd.c'],['../bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c',1,'restd(int lunb, int tddesc, int *nctddesc, int *ctddesc): restd.c']]], + ['restd_5fc_1690',['restd_c',['../interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d',1,'bufrlib::restd_c']]], + ['rewnbf_1691',['rewnbf',['../rewnbf_8f.html#a70ac3a628bb020054246ff3fb8392a96',1,'rewnbf.f']]], + ['rsvfvm_1692',['rsvfvm',['../rsvfvm_8f.html#a8c60cd821f7b68a7f79ebd393e58f978',1,'rsvfvm.f']]], + ['rtrcpt_1693',['rtrcpt',['../rtrcpt_8f.html#a7bcf788ea62da2fb181b12e609a28ef4',1,'rtrcpt.f']]], + ['rtrcptb_1694',['rtrcptb',['../rtrcptb_8f.html#a5eb0f5be603cf24d61416442d0a7444c',1,'rtrcptb.f']]] +]; diff --git a/previous_versions/v12.0.1/search/mag_sel.svg b/previous_versions/v12.0.1/search/mag_sel.svg new file mode 100644 index 000000000..03626f64a --- /dev/null +++ b/previous_versions/v12.0.1/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/previous_versions/v12.0.1/search/namespaces_0.html b/previous_versions/v12.0.1/search/namespaces_0.html new file mode 100644 index 000000000..21db2c3a5 --- /dev/null +++ b/previous_versions/v12.0.1/search/namespaces_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/namespaces_0.js b/previous_versions/v12.0.1/search/namespaces_0.js new file mode 100644 index 000000000..5e96898b3 --- /dev/null +++ b/previous_versions/v12.0.1/search/namespaces_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['bufr_5fc2f_5finterface_1028',['bufr_c2f_interface',['../namespacebufr__c2f__interface.html',1,'']]], + ['bufr_5finterface_1029',['bufr_interface',['../namespacebufr__interface.html',1,'']]], + ['bufrlib_1030',['bufrlib',['../namespacebufrlib.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/namespaces_1.html b/previous_versions/v12.0.1/search/namespaces_1.html new file mode 100644 index 000000000..a01efeb1e --- /dev/null +++ b/previous_versions/v12.0.1/search/namespaces_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/namespaces_1.js b/previous_versions/v12.0.1/search/namespaces_1.js new file mode 100644 index 000000000..bc5ddb75e --- /dev/null +++ b/previous_versions/v12.0.1/search/namespaces_1.js @@ -0,0 +1,70 @@ +var searchData= +[ + ['moda_5fbitbuf_1031',['moda_bitbuf',['../namespacemoda__bitbuf.html',1,'']]], + ['moda_5fbitmaps_1032',['moda_bitmaps',['../namespacemoda__bitmaps.html',1,'']]], + ['moda_5fbufrmg_1033',['moda_bufrmg',['../namespacemoda__bufrmg.html',1,'']]], + ['moda_5fbufrsr_1034',['moda_bufrsr',['../namespacemoda__bufrsr.html',1,'']]], + ['moda_5fcomprs_1035',['moda_comprs',['../namespacemoda__comprs.html',1,'']]], + ['moda_5fcomprx_1036',['moda_comprx',['../namespacemoda__comprx.html',1,'']]], + ['moda_5fdscach_1037',['moda_dscach',['../namespacemoda__dscach.html',1,'']]], + ['moda_5fh4wlc_1038',['moda_h4wlc',['../namespacemoda__h4wlc.html',1,'']]], + ['moda_5fidrdm_1039',['moda_idrdm',['../namespacemoda__idrdm.html',1,'']]], + ['moda_5fival_1040',['moda_ival',['../namespacemoda__ival.html',1,'']]], + ['moda_5fivttmp_1041',['moda_ivttmp',['../namespacemoda__ivttmp.html',1,'']]], + ['moda_5flushr_1042',['moda_lushr',['../namespacemoda__lushr.html',1,'']]], + ['moda_5fmgwa_1043',['moda_mgwa',['../namespacemoda__mgwa.html',1,'']]], + ['moda_5fmgwb_1044',['moda_mgwb',['../namespacemoda__mgwb.html',1,'']]], + ['moda_5fmsgcwd_1045',['moda_msgcwd',['../namespacemoda__msgcwd.html',1,'']]], + ['moda_5fmsglim_1046',['moda_msglim',['../namespacemoda__msglim.html',1,'']]], + ['moda_5fmsgmem_1047',['moda_msgmem',['../namespacemoda__msgmem.html',1,'']]], + ['moda_5fmstabs_1048',['moda_mstabs',['../namespacemoda__mstabs.html',1,'']]], + ['moda_5fnmikrp_1049',['moda_nmikrp',['../namespacemoda__nmikrp.html',1,'']]], + ['moda_5fnrv203_1050',['moda_nrv203',['../namespacemoda__nrv203.html',1,'']]], + ['moda_5fnulbfr_1051',['moda_nulbfr',['../namespacemoda__nulbfr.html',1,'']]], + ['moda_5frdmtb_1052',['moda_rdmtb',['../namespacemoda__rdmtb.html',1,'']]], + ['moda_5frlccmn_1053',['moda_rlccmn',['../namespacemoda__rlccmn.html',1,'']]], + ['moda_5fs01cm_1054',['moda_s01cm',['../namespacemoda__s01cm.html',1,'']]], + ['moda_5fsc3bfr_1055',['moda_sc3bfr',['../namespacemoda__sc3bfr.html',1,'']]], + ['moda_5fstbfr_1056',['moda_stbfr',['../namespacemoda__stbfr.html',1,'']]], + ['moda_5fstcode_1057',['moda_stcode',['../namespacemoda__stcode.html',1,'']]], + ['moda_5ftababd_1058',['moda_tababd',['../namespacemoda__tababd.html',1,'']]], + ['moda_5ftables_1059',['moda_tables',['../namespacemoda__tables.html',1,'']]], + ['moda_5fufbcpl_1060',['moda_ufbcpl',['../namespacemoda__ufbcpl.html',1,'']]], + ['moda_5funptyp_1061',['moda_unptyp',['../namespacemoda__unptyp.html',1,'']]], + ['moda_5fusrbit_1062',['moda_usrbit',['../namespacemoda__usrbit.html',1,'']]], + ['moda_5fusrint_1063',['moda_usrint',['../namespacemoda__usrint.html',1,'']]], + ['moda_5fusrtmp_1064',['moda_usrtmp',['../namespacemoda__usrtmp.html',1,'']]], + ['moda_5fxtab_1065',['moda_xtab',['../namespacemoda__xtab.html',1,'']]], + ['modv_5fbmiss_1066',['modv_bmiss',['../namespacemodv__bmiss.html',1,'']]], + ['modv_5fifopbf_1067',['modv_ifopbf',['../namespacemodv__ifopbf.html',1,'']]], + ['modv_5fim8b_1068',['modv_im8b',['../namespacemodv__im8b.html',1,'']]], + ['modv_5fmaxcd_1069',['modv_maxcd',['../namespacemodv__maxcd.html',1,'']]], + ['modv_5fmaxjl_1070',['modv_maxjl',['../namespacemodv__maxjl.html',1,'']]], + ['modv_5fmaxmem_1071',['modv_maxmem',['../namespacemodv__maxmem.html',1,'']]], + ['modv_5fmaxmsg_1072',['modv_maxmsg',['../namespacemodv__maxmsg.html',1,'']]], + ['modv_5fmaxnc_1073',['modv_maxnc',['../namespacemodv__maxnc.html',1,'']]], + ['modv_5fmaxss_1074',['modv_maxss',['../namespacemodv__maxss.html',1,'']]], + ['modv_5fmaxtba_1075',['modv_maxtba',['../namespacemodv__maxtba.html',1,'']]], + ['modv_5fmaxtbb_1076',['modv_maxtbb',['../namespacemodv__maxtbb.html',1,'']]], + ['modv_5fmaxtbd_1077',['modv_maxtbd',['../namespacemodv__maxtbd.html',1,'']]], + ['modv_5fmxbtm_1078',['modv_mxbtm',['../namespacemodv__mxbtm.html',1,'']]], + ['modv_5fmxbtmse_1079',['modv_mxbtmse',['../namespacemodv__mxbtmse.html',1,'']]], + ['modv_5fmxcdv_1080',['modv_mxcdv',['../namespacemodv__mxcdv.html',1,'']]], + ['modv_5fmxcnem_1081',['modv_mxcnem',['../namespacemodv__mxcnem.html',1,'']]], + ['modv_5fmxcsb_1082',['modv_mxcsb',['../namespacemodv__mxcsb.html',1,'']]], + ['modv_5fmxdxts_1083',['modv_mxdxts',['../namespacemodv__mxdxts.html',1,'']]], + ['modv_5fmxh4wlc_1084',['modv_mxh4wlc',['../namespacemodv__mxh4wlc.html',1,'']]], + ['modv_5fmxlcc_1085',['modv_mxlcc',['../namespacemodv__mxlcc.html',1,'']]], + ['modv_5fmxmsgl_1086',['modv_mxmsgl',['../namespacemodv__mxmsgl.html',1,'']]], + ['modv_5fmxmtbb_1087',['modv_mxmtbb',['../namespacemodv__mxmtbb.html',1,'']]], + ['modv_5fmxmtbd_1088',['modv_mxmtbd',['../namespacemodv__mxmtbd.html',1,'']]], + ['modv_5fmxmtbf_1089',['modv_mxmtbf',['../namespacemodv__mxmtbf.html',1,'']]], + ['modv_5fmxnaf_1090',['modv_mxnaf',['../namespacemodv__mxnaf.html',1,'']]], + ['modv_5fmxnrv_1091',['modv_mxnrv',['../namespacemodv__mxnrv.html',1,'']]], + ['modv_5fmxrst_1092',['modv_mxrst',['../namespacemodv__mxrst.html',1,'']]], + ['modv_5fmxs_1093',['modv_mxs',['../namespacemodv__mxs.html',1,'']]], + ['modv_5fmxs01v_1094',['modv_mxs01v',['../namespacemodv__mxs01v.html',1,'']]], + ['modv_5fmxtamc_1095',['modv_mxtamc',['../namespacemodv__mxtamc.html',1,'']]], + ['modv_5fmxtco_1096',['modv_mxtco',['../namespacemodv__mxtco.html',1,'']]], + ['modv_5fnfiles_1097',['modv_nfiles',['../namespacemodv__nfiles.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/namespaces_2.html b/previous_versions/v12.0.1/search/namespaces_2.html new file mode 100644 index 000000000..b46f2a5de --- /dev/null +++ b/previous_versions/v12.0.1/search/namespaces_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/namespaces_2.js b/previous_versions/v12.0.1/search/namespaces_2.js new file mode 100644 index 000000000..c88f87468 --- /dev/null +++ b/previous_versions/v12.0.1/search/namespaces_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['share_5ftable_5finfo_1098',['share_table_info',['../namespaceshare__table__info.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/nomatches.html b/previous_versions/v12.0.1/search/nomatches.html new file mode 100644 index 000000000..2b9360b6b --- /dev/null +++ b/previous_versions/v12.0.1/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
                                                              +
                                                              No Matches
                                                              +
                                                              + + diff --git a/previous_versions/v12.0.1/search/pages_0.html b/previous_versions/v12.0.1/search/pages_0.html new file mode 100644 index 000000000..8517b48f0 --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/pages_0.js b/previous_versions/v12.0.1/search/pages_0.js new file mode 100644 index 000000000..f6a856191 --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dx_20bufr_20tables_2028',['DX BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/pages_1.html b/previous_versions/v12.0.1/search/pages_1.html new file mode 100644 index 000000000..a0fb67963 --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/pages_1.js b/previous_versions/v12.0.1/search/pages_1.js new file mode 100644 index 000000000..1e24e2e57 --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['master_20bufr_20tables_2029',['Master BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/pages_2.html b/previous_versions/v12.0.1/search/pages_2.html new file mode 100644 index 000000000..084edfd03 --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/pages_2.js b/previous_versions/v12.0.1/search/pages_2.js new file mode 100644 index 000000000..cebe077aa --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['release_20notes_2030',['Release Notes',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/pages_3.html b/previous_versions/v12.0.1/search/pages_3.html new file mode 100644 index 000000000..c0b45b0fc --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/pages_3.js b/previous_versions/v12.0.1/search/pages_3.js new file mode 100644 index 000000000..0a9a19503 --- /dev/null +++ b/previous_versions/v12.0.1/search/pages_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['utilities_2031',['Utilities',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html',1,'']]] +]; diff --git a/previous_versions/v12.0.1/search/search.css b/previous_versions/v12.0.1/search/search.css new file mode 100644 index 000000000..9074198f8 --- /dev/null +++ b/previous_versions/v12.0.1/search/search.css @@ -0,0 +1,257 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 1.4em; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 1.1em; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
                                                            • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: Arial, Verdana, sans-serif; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: Arial, Verdana, sans-serif; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/previous_versions/v12.0.1/search/search.js b/previous_versions/v12.0.1/search/search.js new file mode 100644 index 000000000..fb226f734 --- /dev/null +++ b/previous_versions/v12.0.1/search/search.js @@ -0,0 +1,816 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/search/search_r.png b/previous_versions/v12.0.1/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/search/searchdata.js b/previous_versions/v12.0.1/search/searchdata.js new file mode 100644 index 000000000..8d4a8e45c --- /dev/null +++ b/previous_versions/v12.0.1/search/searchdata.js @@ -0,0 +1,36 @@ +var indexSectionsWithContent = +{ + 0: "abcdefghijklmnoprstuvwx", + 1: "abcdiors", + 2: "bms", + 3: "abcdefghijlmnoprstuwx", + 4: "abcdefghijlmnoprstuwx", + 5: "bcfijklmnpstvwx", + 6: "fimnuv", + 7: "dmru" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "variables", + 6: "defines", + 7: "pages" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Data Structures", + 2: "Namespaces", + 3: "Files", + 4: "Functions", + 5: "Variables", + 6: "Macros", + 7: "Pages" +}; + diff --git a/previous_versions/v12.0.1/search/variables_0.html b/previous_versions/v12.0.1/search/variables_0.html new file mode 100644 index 000000000..1e477c08c --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_0.js b/previous_versions/v12.0.1/search/variables_0.js new file mode 100644 index 000000000..c7183dc7a --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bmiss_1795',['bmiss',['../namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519',1,'modv_bmiss']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_1.html b/previous_versions/v12.0.1/search/variables_1.html new file mode 100644 index 000000000..ea73d9a49 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_1.js b/previous_versions/v12.0.1/search/variables_1.js new file mode 100644 index 000000000..c0ce3c02a --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_1.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['catx_1796',['catx',['../namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937',1,'moda_comprs']]], + ['cbbw_1797',['cbbw',['../namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a',1,'moda_mstabs']]], + ['cbbw_5fc_1798',['cbbw_c',['../mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0',1,'mstabs.h']]], + ['cbelem_1799',['cbelem',['../namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7',1,'moda_mstabs']]], + ['cbelem_5fc_1800',['cbelem_c',['../mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d',1,'mstabs.h']]], + ['cbmnem_1801',['cbmnem',['../namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa',1,'moda_mstabs']]], + ['cbmnem_5fc_1802',['cbmnem_c',['../mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b',1,'mstabs.h']]], + ['cbscl_1803',['cbscl',['../namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea',1,'moda_mstabs']]], + ['cbscl_5fc_1804',['cbscl_c',['../mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47',1,'mstabs.h']]], + ['cbsref_1805',['cbsref',['../namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0',1,'moda_mstabs']]], + ['cbsref_5fc_1806',['cbsref_c',['../mstabs_8h.html#a944736d6f549e144e77482a27d57d54f',1,'mstabs.h']]], + ['cbunit_1807',['cbunit',['../namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b',1,'moda_mstabs']]], + ['cbunit_5fc_1808',['cbunit_c',['../mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc',1,'mstabs.h']]], + ['cdmnem_1809',['cdmnem',['../namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168',1,'moda_mstabs']]], + ['cdmnem_5fc_1810',['cdmnem_c',['../mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51',1,'mstabs.h']]], + ['cdseq_1811',['cdseq',['../namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7',1,'moda_mstabs']]], + ['cdseq_5fc_1812',['cdseq_c',['../mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2',1,'mstabs.h']]], + ['ceelem_1813',['ceelem',['../namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653',1,'moda_rdmtb']]], + ['cfe_1814',['cfe',['../cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16',1,'cfe.c']]], + ['chh4wlc_1815',['chh4wlc',['../namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75',1,'moda_h4wlc']]], + ['cmdscb_1816',['cmdscb',['../namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055',1,'moda_rdmtb']]], + ['cmdscd_1817',['cmdscd',['../namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f',1,'moda_rdmtb']]], + ['cmnem_1818',['cmnem',['../namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7',1,'moda_s01cm']]], + ['cnem_1819',['cnem',['../namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a',1,'moda_dscach']]], + ['crtag_1820',['crtag',['../namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1',1,'moda_rlccmn']]], + ['cstr_1821',['cstr',['../namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf',1,'moda_comprx']]], + ['ctco_1822',['ctco',['../namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753',1,'moda_bitmaps']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_2.html b/previous_versions/v12.0.1/search/variables_2.html new file mode 100644 index 000000000..0580462e9 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_2.js b/previous_versions/v12.0.1/search/variables_2.js new file mode 100644 index 000000000..c026229df --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flush_1823',['flush',['../namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7',1,'moda_comprx']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_3.html b/previous_versions/v12.0.1/search/variables_3.html new file mode 100644 index 000000000..0d69e7619 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_3.js b/previous_versions/v12.0.1/search/variables_3.js new file mode 100644 index 000000000..306f83e38 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_3.js @@ -0,0 +1,55 @@ +var searchData= +[ + ['ibay_1824',['ibay',['../namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434',1,'moda_bitbuf']]], + ['ibfxyn_1825',['ibfxyn',['../namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38',1,'moda_mstabs']]], + ['ibfxyn_5fc_1826',['ibfxyn_c',['../mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad',1,'mstabs.h']]], + ['ibit_1827',['ibit',['../namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9',1,'moda_bitbuf']]], + ['ibt_1828',['ibt',['../namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2',1,'moda_tables']]], + ['ibtmse_1829',['ibtmse',['../namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a',1,'moda_bitmaps']]], + ['ibtnrv_1830',['ibtnrv',['../namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d',1,'moda_nrv203']]], + ['icdxts_1831',['icdxts',['../namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab',1,'moda_msgmem']]], + ['idate_1832',['idate',['../namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b',1,'moda_msgcwd']]], + ['idcach_1833',['idcach',['../namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3',1,'moda_dscach']]], + ['idefxy_1834',['idefxy',['../namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24',1,'moda_mstabs']]], + ['idefxy_5fc_1835',['idefxy_c',['../mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0',1,'mstabs.h']]], + ['idfxyn_1836',['idfxyn',['../namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049',1,'moda_mstabs']]], + ['idfxyn_5fc_1837',['idfxyn_c',['../mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab',1,'mstabs.h']]], + ['idna_1838',['idna',['../namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca',1,'moda_tababd']]], + ['idnb_1839',['idnb',['../namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5',1,'moda_tababd']]], + ['idnd_1840',['idnd',['../namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e',1,'moda_tababd']]], + ['idrdm_1841',['idrdm',['../namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6',1,'moda_idrdm']]], + ['iefxyn_1842',['iefxyn',['../namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93',1,'moda_rdmtb']]], + ['ienrv_1843',['ienrv',['../namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1',1,'moda_nrv203']]], + ['ifdxts_1844',['ifdxts',['../namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74',1,'moda_msgmem']]], + ['ifopbf_1845',['ifopbf',['../namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71',1,'modv_ifopbf']]], + ['im8b_1846',['im8b',['../namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af',1,'modv_im8b']]], + ['incr_1847',['incr',['../namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27',1,'moda_comprs']]], + ['inode_1848',['inode',['../namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa',1,'moda_msgcwd']]], + ['inodnrv_1849',['inodnrv',['../namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f',1,'moda_nrv203']]], + ['inodtamc_1850',['inodtamc',['../namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458',1,'moda_bitmaps']]], + ['inodtco_1851',['inodtco',['../namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf',1,'moda_bitmaps']]], + ['inv_1852',['inv',['../namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e',1,'moda_usrint']]], + ['iolun_1853',['iolun',['../namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99',1,'moda_stbfr']]], + ['iomsg_1854',['iomsg',['../namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7',1,'moda_stbfr']]], + ['ipdxm_1855',['ipdxm',['../namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db',1,'moda_msgmem']]], + ['ipfnrv_1856',['ipfnrv',['../namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7',1,'moda_nrv203']]], + ['ipmsgs_1857',['ipmsgs',['../namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536',1,'moda_msgmem']]], + ['irbit_1858',['irbit',['../namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca',1,'moda_rlccmn']]], + ['irf_1859',['irf',['../namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599',1,'moda_tables']]], + ['irnch_1860',['irnch',['../namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd',1,'moda_rlccmn']]], + ['irp_1861',['irp',['../namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812',1,'moda_nmikrp']]], + ['isc_1862',['isc',['../namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e',1,'moda_tables']]], + ['isc3_1863',['isc3',['../namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a',1,'moda_sc3bfr']]], + ['iscodes_1864',['iscodes',['../namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e',1,'moda_stcode']]], + ['iseq_1865',['iseq',['../namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901',1,'moda_tables']]], + ['isnrv_1866',['isnrv',['../namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602',1,'moda_nrv203']]], + ['istbtm_1867',['istbtm',['../namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965',1,'moda_bitmaps']]], + ['iszbtm_1868',['iszbtm',['../namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574',1,'moda_bitmaps']]], + ['itmp_1869',['itmp',['../namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785',1,'moda_ivttmp']]], + ['itp_1870',['itp',['../namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251',1,'moda_tables']]], + ['ityp_1871',['ityp',['../namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522',1,'moda_comprx']]], + ['iutmp_1872',['iutmp',['../namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30',1,'moda_usrtmp']]], + ['ival_1873',['ival',['../namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58',1,'moda_ival']]], + ['ivmnem_1874',['ivmnem',['../namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655',1,'moda_s01cm']]], + ['iwid_1875',['iwid',['../namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808',1,'moda_comprx']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_4.html b/previous_versions/v12.0.1/search/variables_4.html new file mode 100644 index 000000000..a4b6506bb --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_4.js b/previous_versions/v12.0.1/search/variables_4.js new file mode 100644 index 000000000..67b7492cc --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_4.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['jbay_1876',['jbay',['../namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856',1,'moda_bufrsr']]], + ['jbit_1877',['jbit',['../namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08',1,'moda_bufrsr']]], + ['jbyt_1878',['jbyt',['../namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07',1,'moda_bufrsr']]], + ['jdat_1879',['jdat',['../namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47',1,'moda_bufrsr']]], + ['jill_1880',['jill',['../namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06',1,'moda_bufrsr']]], + ['jimm_1881',['jimm',['../namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c',1,'moda_bufrsr']]], + ['jmpb_1882',['jmpb',['../namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb',1,'moda_tables']]], + ['jmsg_1883',['jmsg',['../namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0',1,'moda_bufrsr']]], + ['jnod_1884',['jnod',['../namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218',1,'moda_bufrsr']]], + ['jseq_1885',['jseq',['../namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6',1,'moda_tables']]], + ['jsr_1886',['jsr',['../namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51',1,'moda_bufrsr']]], + ['jsub_1887',['jsub',['../namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0',1,'moda_bufrsr']]], + ['jump_1888',['jump',['../namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36',1,'moda_tables']]], + ['junn_1889',['junn',['../namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d',1,'moda_bufrsr']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_5.html b/previous_versions/v12.0.1/search/variables_5.html new file mode 100644 index 000000000..7e345d16c --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_5.js b/previous_versions/v12.0.1/search/variables_5.js new file mode 100644 index 000000000..a23b70a9b --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_5.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['kbit_1890',['kbit',['../namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147',1,'moda_comprx']]], + ['kbyt_1891',['kbyt',['../namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8',1,'moda_comprx']]], + ['kmax_1892',['kmax',['../namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71',1,'moda_comprx']]], + ['kmin_1893',['kmin',['../namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732',1,'moda_comprx']]], + ['kmis_1894',['kmis',['../namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1',1,'moda_comprx']]], + ['knt_1895',['knt',['../namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b',1,'moda_tables']]], + ['knti_1896',['knti',['../namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3',1,'moda_tables']]], + ['krp_1897',['krp',['../namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876',1,'moda_nmikrp']]], + ['ksub_1898',['ksub',['../namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6',1,'moda_bufrsr']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_6.html b/previous_versions/v12.0.1/search/variables_6.html new file mode 100644 index 000000000..7d48e75e2 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_6.js b/previous_versions/v12.0.1/search/variables_6.js new file mode 100644 index 000000000..179277b93 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_6.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['ldxm_1899',['ldxm',['../namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5',1,'moda_msgmem']]], + ['ldxts_1900',['ldxts',['../namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f',1,'moda_msgmem']]], + ['linbtm_1901',['linbtm',['../namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80',1,'moda_bitmaps']]], + ['link_1902',['link',['../namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c',1,'moda_tables']]], + ['lstnod_1903',['lstnod',['../namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d',1,'moda_bitmaps']]], + ['lstnodct_1904',['lstnodct',['../namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e',1,'moda_bitmaps']]], + ['lstpos_1905',['lstpos',['../cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0',1,'cread.h']]], + ['ltbd_1906',['ltbd',['../namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c',1,'share_table_info']]], + ['ludx_1907',['ludx',['../namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f',1,'share_table_info']]], + ['luh4wlc_1908',['luh4wlc',['../namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71',1,'moda_h4wlc']]], + ['lunc_1909',['lunc',['../namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3',1,'moda_comprx']]], + ['luncpy_1910',['luncpy',['../namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf',1,'moda_ufbcpl']]], + ['lus_1911',['lus',['../namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6',1,'moda_lushr']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_7.html b/previous_versions/v12.0.1/search/variables_7.html new file mode 100644 index 000000000..5c2634092 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_7.js b/previous_versions/v12.0.1/search/variables_7.js new file mode 100644 index 000000000..2a69383e5 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_7.js @@ -0,0 +1,53 @@ +var searchData= +[ + ['matx_1912',['matx',['../namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576',1,'moda_comprs']]], + ['maxbyt_1913',['maxbyt',['../namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc',1,'moda_bitbuf']]], + ['maxcd_1914',['maxcd',['../namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8',1,'modv_maxcd']]], + ['maxjl_1915',['maxjl',['../namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61',1,'modv_maxjl']]], + ['maxmem_1916',['maxmem',['../namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1',1,'modv_maxmem']]], + ['maxmsg_1917',['maxmsg',['../namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46',1,'modv_maxmsg']]], + ['maxnc_1918',['maxnc',['../namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e',1,'modv_maxnc']]], + ['maxss_1919',['maxss',['../namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2',1,'modv_maxss']]], + ['maxtab_1920',['maxtab',['../namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2',1,'moda_tables']]], + ['maxtba_1921',['maxtba',['../namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a',1,'modv_maxtba']]], + ['maxtbb_1922',['maxtbb',['../namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2',1,'modv_maxtbb']]], + ['maxtbd_1923',['maxtbd',['../namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0',1,'modv_maxtbd']]], + ['mbay_1924',['mbay',['../namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050',1,'moda_bitbuf']]], + ['mbit_1925',['mbit',['../namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a',1,'moda_usrbit']]], + ['mbyt_1926',['mbyt',['../namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a',1,'moda_bitbuf']]], + ['mdx_1927',['mdx',['../namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94',1,'moda_msgmem']]], + ['mgwa_1928',['mgwa',['../namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a',1,'moda_mgwa']]], + ['mgwb_1929',['mgwb',['../namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa',1,'moda_mgwb']]], + ['mlast_1930',['mlast',['../namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9',1,'moda_msgmem']]], + ['msglen_1931',['msglen',['../namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211',1,'moda_bufrmg']]], + ['msglim_1932',['msglim',['../namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf',1,'moda_msglim']]], + ['msgp_1933',['msgp',['../namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2',1,'moda_msgmem']]], + ['msgs_1934',['msgs',['../namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227',1,'moda_msgmem']]], + ['msgtxt_1935',['msgtxt',['../namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793',1,'moda_bufrmg']]], + ['msgunp_1936',['msgunp',['../namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca',1,'moda_unptyp']]], + ['msub_1937',['msub',['../namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295',1,'moda_msgcwd']]], + ['mtab_1938',['mtab',['../namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56',1,'moda_tababd']]], + ['munit_1939',['munit',['../namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc',1,'moda_msgmem']]], + ['mxbtm_1940',['mxbtm',['../namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f',1,'modv_mxbtm']]], + ['mxbtmse_1941',['mxbtmse',['../namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac',1,'modv_mxbtmse']]], + ['mxcdv_1942',['mxcdv',['../namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7',1,'modv_mxcdv']]], + ['mxcnem_1943',['mxcnem',['../namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3',1,'modv_mxcnem']]], + ['mxcsb_1944',['mxcsb',['../namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c',1,'modv_mxcsb']]], + ['mxdxm_1945',['mxdxm',['../namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd',1,'moda_msgmem']]], + ['mxdxts_1946',['mxdxts',['../namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884',1,'modv_mxdxts']]], + ['mxdxw_1947',['mxdxw',['../namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142',1,'moda_msgmem']]], + ['mxh4wlc_1948',['mxh4wlc',['../namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886',1,'modv_mxh4wlc']]], + ['mxlcc_1949',['mxlcc',['../namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af',1,'modv_mxlcc']]], + ['mxmsgl_1950',['mxmsgl',['../namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc',1,'modv_mxmsgl']]], + ['mxmsgld4_1951',['mxmsgld4',['../namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9',1,'modv_mxmsgl']]], + ['mxmtbb_1952',['mxmtbb',['../namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139',1,'modv_mxmtbb']]], + ['mxmtbd_1953',['mxmtbd',['../namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea',1,'modv_mxmtbd']]], + ['mxmtbf_1954',['mxmtbf',['../cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2',1,'mxmtbf(): cfe.c'],['../namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363',1,'modv_mxmtbf::mxmtbf()']]], + ['mxnaf_1955',['mxnaf',['../namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e',1,'modv_mxnaf']]], + ['mxnrv_1956',['mxnrv',['../namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050',1,'modv_mxnrv']]], + ['mxrst_1957',['mxrst',['../namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97',1,'modv_mxrst']]], + ['mxs_1958',['mxs',['../namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375',1,'modv_mxs']]], + ['mxs01v_1959',['mxs01v',['../namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51',1,'modv_mxs01v']]], + ['mxtamc_1960',['mxtamc',['../namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11',1,'modv_mxtamc']]], + ['mxtco_1961',['mxtco',['../namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81',1,'modv_mxtco']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_8.html b/previous_versions/v12.0.1/search/variables_8.html new file mode 100644 index 000000000..dc9ec54a5 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_8.js b/previous_versions/v12.0.1/search/variables_8.js new file mode 100644 index 000000000..e5bc9e78f --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_8.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['nbit_1962',['nbit',['../namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7',1,'moda_usrbit']]], + ['nbtm_1963',['nbtm',['../namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d',1,'moda_bitmaps']]], + ['nbtmse_1964',['nbtmse',['../namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c',1,'moda_bitmaps']]], + ['ncnem_1965',['ncnem',['../namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6',1,'moda_dscach']]], + ['ncol_1966',['ncol',['../namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133',1,'moda_comprs']]], + ['ndc_1967',['ndc',['../namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c',1,'moda_dscach']]], + ['ndelem_1968',['ndelem',['../namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1',1,'moda_mstabs']]], + ['ndelem_5fc_1969',['ndelem_c',['../mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26',1,'mstabs.h']]], + ['ndxm_1970',['ndxm',['../namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637',1,'moda_msgmem']]], + ['ndxts_1971',['ndxts',['../namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23',1,'moda_msgmem']]], + ['nem_1972',['nem',['../namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3',1,'moda_nmikrp']]], + ['nfiles_1973',['nfiles',['../namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3',1,'modv_nfiles']]], + ['nh4wlc_1974',['nh4wlc',['../namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac',1,'moda_h4wlc']]], + ['nmsg_1975',['nmsg',['../namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad',1,'moda_msgcwd']]], + ['nmtb_1976',['nmtb',['../namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95',1,'moda_mstabs']]], + ['nmtb_5fc_1977',['nmtb_c',['../mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0',1,'mstabs.h']]], + ['nmtd_1978',['nmtd',['../namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae',1,'moda_mstabs']]], + ['nmtd_5fc_1979',['nmtd_c',['../mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff',1,'mstabs.h']]], + ['nmtf_1980',['nmtf',['../cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b',1,'cfe.c']]], + ['nnrv_1981',['nnrv',['../namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e',1,'moda_nrv203']]], + ['nrfelm_1982',['nrfelm',['../namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a',1,'moda_usrint']]], + ['nrow_1983',['nrow',['../namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561',1,'moda_comprx']]], + ['nrst_1984',['nrst',['../namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f',1,'moda_rlccmn']]], + ['nrv_1985',['nrv',['../namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f',1,'moda_nrv203']]], + ['ns01v_1986',['ns01v',['../namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888',1,'moda_s01cm']]], + ['nsub_1987',['nsub',['../namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59',1,'moda_msgcwd']]], + ['ntab_1988',['ntab',['../namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc',1,'moda_tables']]], + ['ntamc_1989',['ntamc',['../namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396',1,'moda_bitmaps']]], + ['ntba_1990',['ntba',['../namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558',1,'moda_tababd']]], + ['ntbb_1991',['ntbb',['../namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f',1,'moda_tababd']]], + ['ntbd_1992',['ntbd',['../namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556',1,'moda_tababd']]], + ['ntco_1993',['ntco',['../namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404',1,'moda_bitmaps']]], + ['null_1994',['null',['../namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526',1,'moda_nulbfr']]], + ['nval_1995',['nval',['../namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261',1,'moda_usrint']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_9.html b/previous_versions/v12.0.1/search/variables_9.html new file mode 100644 index 000000000..7b0147509 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_9.js b/previous_versions/v12.0.1/search/variables_9.js new file mode 100644 index 000000000..8d19d3083 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pb_1996',['pb',['../cread_8h.html#a58db779a0b3c7250a119069bd2e5106c',1,'cread.h']]], + ['pbf_1997',['pbf',['../crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193',1,'crwbmg.c']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_a.html b/previous_versions/v12.0.1/search/variables_a.html new file mode 100644 index 000000000..52a724d19 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_a.js b/previous_versions/v12.0.1/search/variables_a.js new file mode 100644 index 000000000..84effb5be --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sth4wlc_1998',['sth4wlc',['../namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889',1,'moda_h4wlc']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_b.html b/previous_versions/v12.0.1/search/variables_b.html new file mode 100644 index 000000000..f376b27af --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_b.js b/previous_versions/v12.0.1/search/variables_b.js new file mode 100644 index 000000000..63546f902 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_b.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['taba_1999',['taba',['../namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65',1,'moda_tababd']]], + ['tabb_2000',['tabb',['../namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c',1,'moda_tababd']]], + ['tabd_2001',['tabd',['../namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c',1,'moda_tababd']]], + ['tag_2002',['tag',['../namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4',1,'moda_tables']]], + ['tagnrv_2003',['tagnrv',['../namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de',1,'moda_nrv203']]], + ['tamnem_2004',['tamnem',['../namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584',1,'moda_sc3bfr']]], + ['tbldir_5ff_2005',['tbldir_f',['../namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02',1,'share_table_info']]], + ['ttmp_2006',['ttmp',['../namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e',1,'moda_ivttmp']]], + ['typ_2007',['typ',['../namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c',1,'moda_tables']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_c.html b/previous_versions/v12.0.1/search/variables_c.html new file mode 100644 index 000000000..6019eba96 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_c.js b/previous_versions/v12.0.1/search/variables_c.js new file mode 100644 index 000000000..6f9211f51 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['val_2008',['val',['../namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486',1,'moda_usrint']]], + ['vali_2009',['vali',['../namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed',1,'moda_tables']]], + ['vtmp_2010',['vtmp',['../namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b',1,'moda_ivttmp']]], + ['vutmp_2011',['vutmp',['../namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973',1,'moda_usrtmp']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_d.html b/previous_versions/v12.0.1/search/variables_d.html new file mode 100644 index 000000000..f61ae7511 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_d.js b/previous_versions/v12.0.1/search/variables_d.js new file mode 100644 index 000000000..705d51dd2 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['writ1_2012',['writ1',['../namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02',1,'moda_comprx']]] +]; diff --git a/previous_versions/v12.0.1/search/variables_e.html b/previous_versions/v12.0.1/search/variables_e.html new file mode 100644 index 000000000..7bfd37215 --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                              +
                                                              Loading...
                                                              +
                                                              + +
                                                              Searching...
                                                              +
                                                              No Matches
                                                              + +
                                                              + + diff --git a/previous_versions/v12.0.1/search/variables_e.js b/previous_versions/v12.0.1/search/variables_e.js new file mode 100644 index 000000000..e6636854d --- /dev/null +++ b/previous_versions/v12.0.1/search/variables_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['xtab_2013',['xtab',['../namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d',1,'moda_xtab']]] +]; diff --git a/seqsdx_8f.html b/previous_versions/v12.0.1/seqsdx_8f.html similarity index 100% rename from seqsdx_8f.html rename to previous_versions/v12.0.1/seqsdx_8f.html diff --git a/seqsdx_8f.js b/previous_versions/v12.0.1/seqsdx_8f.js similarity index 100% rename from seqsdx_8f.js rename to previous_versions/v12.0.1/seqsdx_8f.js diff --git a/seqsdx_8f_source.html b/previous_versions/v12.0.1/seqsdx_8f_source.html similarity index 100% rename from seqsdx_8f_source.html rename to previous_versions/v12.0.1/seqsdx_8f_source.html diff --git a/setblock_8f.html b/previous_versions/v12.0.1/setblock_8f.html similarity index 100% rename from setblock_8f.html rename to previous_versions/v12.0.1/setblock_8f.html diff --git a/setblock_8f.js b/previous_versions/v12.0.1/setblock_8f.js similarity index 100% rename from setblock_8f.js rename to previous_versions/v12.0.1/setblock_8f.js diff --git a/setblock_8f_source.html b/previous_versions/v12.0.1/setblock_8f_source.html similarity index 100% rename from setblock_8f_source.html rename to previous_versions/v12.0.1/setblock_8f_source.html diff --git a/setbmiss_8f.html b/previous_versions/v12.0.1/setbmiss_8f.html similarity index 100% rename from setbmiss_8f.html rename to previous_versions/v12.0.1/setbmiss_8f.html diff --git a/setbmiss_8f.js b/previous_versions/v12.0.1/setbmiss_8f.js similarity index 100% rename from setbmiss_8f.js rename to previous_versions/v12.0.1/setbmiss_8f.js diff --git a/setbmiss_8f_source.html b/previous_versions/v12.0.1/setbmiss_8f_source.html similarity index 100% rename from setbmiss_8f_source.html rename to previous_versions/v12.0.1/setbmiss_8f_source.html diff --git a/setim8b_8F90.html b/previous_versions/v12.0.1/setim8b_8F90.html similarity index 100% rename from setim8b_8F90.html rename to previous_versions/v12.0.1/setim8b_8F90.html diff --git a/setim8b_8F90.js b/previous_versions/v12.0.1/setim8b_8F90.js similarity index 100% rename from setim8b_8F90.js rename to previous_versions/v12.0.1/setim8b_8F90.js diff --git a/setim8b_8F90_source.html b/previous_versions/v12.0.1/setim8b_8F90_source.html similarity index 100% rename from setim8b_8F90_source.html rename to previous_versions/v12.0.1/setim8b_8F90_source.html diff --git a/setvalnb_8f.html b/previous_versions/v12.0.1/setvalnb_8f.html similarity index 100% rename from setvalnb_8f.html rename to previous_versions/v12.0.1/setvalnb_8f.html diff --git a/setvalnb_8f.js b/previous_versions/v12.0.1/setvalnb_8f.js similarity index 100% rename from setvalnb_8f.js rename to previous_versions/v12.0.1/setvalnb_8f.js diff --git a/setvalnb_8f_source.html b/previous_versions/v12.0.1/setvalnb_8f_source.html similarity index 100% rename from setvalnb_8f_source.html rename to previous_versions/v12.0.1/setvalnb_8f_source.html diff --git a/sinv_8f90.html b/previous_versions/v12.0.1/sinv_8f90.html similarity index 100% rename from sinv_8f90.html rename to previous_versions/v12.0.1/sinv_8f90.html diff --git a/sinv_8f90.js b/previous_versions/v12.0.1/sinv_8f90.js similarity index 100% rename from sinv_8f90.js rename to previous_versions/v12.0.1/sinv_8f90.js diff --git a/sinv_8f90_source.html b/previous_versions/v12.0.1/sinv_8f90_source.html similarity index 100% rename from sinv_8f90_source.html rename to previous_versions/v12.0.1/sinv_8f90_source.html diff --git a/sntbbe_8f.html b/previous_versions/v12.0.1/sntbbe_8f.html similarity index 100% rename from sntbbe_8f.html rename to previous_versions/v12.0.1/sntbbe_8f.html diff --git a/sntbbe_8f.js b/previous_versions/v12.0.1/sntbbe_8f.js similarity index 100% rename from sntbbe_8f.js rename to previous_versions/v12.0.1/sntbbe_8f.js diff --git a/sntbbe_8f_source.html b/previous_versions/v12.0.1/sntbbe_8f_source.html similarity index 100% rename from sntbbe_8f_source.html rename to previous_versions/v12.0.1/sntbbe_8f_source.html diff --git a/sntbde_8f.html b/previous_versions/v12.0.1/sntbde_8f.html similarity index 100% rename from sntbde_8f.html rename to previous_versions/v12.0.1/sntbde_8f.html diff --git a/sntbde_8f.js b/previous_versions/v12.0.1/sntbde_8f.js similarity index 100% rename from sntbde_8f.js rename to previous_versions/v12.0.1/sntbde_8f.js diff --git a/sntbde_8f_source.html b/previous_versions/v12.0.1/sntbde_8f_source.html similarity index 100% rename from sntbde_8f_source.html rename to previous_versions/v12.0.1/sntbde_8f_source.html diff --git a/sntbfe_8f.html b/previous_versions/v12.0.1/sntbfe_8f.html similarity index 100% rename from sntbfe_8f.html rename to previous_versions/v12.0.1/sntbfe_8f.html diff --git a/sntbfe_8f.js b/previous_versions/v12.0.1/sntbfe_8f.js similarity index 100% rename from sntbfe_8f.js rename to previous_versions/v12.0.1/sntbfe_8f.js diff --git a/sntbfe_8f_source.html b/previous_versions/v12.0.1/sntbfe_8f_source.html similarity index 100% rename from sntbfe_8f_source.html rename to previous_versions/v12.0.1/sntbfe_8f_source.html diff --git a/split__by__subset_8f90.html b/previous_versions/v12.0.1/split__by__subset_8f90.html similarity index 100% rename from split__by__subset_8f90.html rename to previous_versions/v12.0.1/split__by__subset_8f90.html diff --git a/split__by__subset_8f90.js b/previous_versions/v12.0.1/split__by__subset_8f90.js similarity index 100% rename from split__by__subset_8f90.js rename to previous_versions/v12.0.1/split__by__subset_8f90.js diff --git a/split__by__subset_8f90_source.html b/previous_versions/v12.0.1/split__by__subset_8f90_source.html similarity index 100% rename from split__by__subset_8f90_source.html rename to previous_versions/v12.0.1/split__by__subset_8f90_source.html diff --git a/previous_versions/v12.0.1/splitbar.png b/previous_versions/v12.0.1/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/status_8f.html b/previous_versions/v12.0.1/status_8f.html similarity index 100% rename from status_8f.html rename to previous_versions/v12.0.1/status_8f.html diff --git a/status_8f.js b/previous_versions/v12.0.1/status_8f.js similarity index 100% rename from status_8f.js rename to previous_versions/v12.0.1/status_8f.js diff --git a/status_8f_source.html b/previous_versions/v12.0.1/status_8f_source.html similarity index 100% rename from status_8f_source.html rename to previous_versions/v12.0.1/status_8f_source.html diff --git a/stbfdx_8f.html b/previous_versions/v12.0.1/stbfdx_8f.html similarity index 100% rename from stbfdx_8f.html rename to previous_versions/v12.0.1/stbfdx_8f.html diff --git a/stbfdx_8f.js b/previous_versions/v12.0.1/stbfdx_8f.js similarity index 100% rename from stbfdx_8f.js rename to previous_versions/v12.0.1/stbfdx_8f.js diff --git a/stbfdx_8f_source.html b/previous_versions/v12.0.1/stbfdx_8f_source.html similarity index 100% rename from stbfdx_8f_source.html rename to previous_versions/v12.0.1/stbfdx_8f_source.html diff --git a/stdmsg_8f.html b/previous_versions/v12.0.1/stdmsg_8f.html similarity index 100% rename from stdmsg_8f.html rename to previous_versions/v12.0.1/stdmsg_8f.html diff --git a/stdmsg_8f.js b/previous_versions/v12.0.1/stdmsg_8f.js similarity index 100% rename from stdmsg_8f.js rename to previous_versions/v12.0.1/stdmsg_8f.js diff --git a/stdmsg_8f_source.html b/previous_versions/v12.0.1/stdmsg_8f_source.html similarity index 100% rename from stdmsg_8f_source.html rename to previous_versions/v12.0.1/stdmsg_8f_source.html diff --git a/stndrd_8f.html b/previous_versions/v12.0.1/stndrd_8f.html similarity index 100% rename from stndrd_8f.html rename to previous_versions/v12.0.1/stndrd_8f.html diff --git a/stndrd_8f.js b/previous_versions/v12.0.1/stndrd_8f.js similarity index 100% rename from stndrd_8f.js rename to previous_versions/v12.0.1/stndrd_8f.js diff --git a/stndrd_8f_source.html b/previous_versions/v12.0.1/stndrd_8f_source.html similarity index 100% rename from stndrd_8f_source.html rename to previous_versions/v12.0.1/stndrd_8f_source.html diff --git a/stntbi_8f.html b/previous_versions/v12.0.1/stntbi_8f.html similarity index 100% rename from stntbi_8f.html rename to previous_versions/v12.0.1/stntbi_8f.html diff --git a/stntbi_8f.js b/previous_versions/v12.0.1/stntbi_8f.js similarity index 100% rename from stntbi_8f.js rename to previous_versions/v12.0.1/stntbi_8f.js diff --git a/stntbi_8f_source.html b/previous_versions/v12.0.1/stntbi_8f_source.html similarity index 100% rename from stntbi_8f_source.html rename to previous_versions/v12.0.1/stntbi_8f_source.html diff --git a/stntbia_8f.html b/previous_versions/v12.0.1/stntbia_8f.html similarity index 100% rename from stntbia_8f.html rename to previous_versions/v12.0.1/stntbia_8f.html diff --git a/stntbia_8f.js b/previous_versions/v12.0.1/stntbia_8f.js similarity index 100% rename from stntbia_8f.js rename to previous_versions/v12.0.1/stntbia_8f.js diff --git a/stntbia_8f_source.html b/previous_versions/v12.0.1/stntbia_8f_source.html similarity index 100% rename from stntbia_8f_source.html rename to previous_versions/v12.0.1/stntbia_8f_source.html diff --git a/strbtm_8f.html b/previous_versions/v12.0.1/strbtm_8f.html similarity index 100% rename from strbtm_8f.html rename to previous_versions/v12.0.1/strbtm_8f.html diff --git a/strbtm_8f.js b/previous_versions/v12.0.1/strbtm_8f.js similarity index 100% rename from strbtm_8f.js rename to previous_versions/v12.0.1/strbtm_8f.js diff --git a/strbtm_8f_source.html b/previous_versions/v12.0.1/strbtm_8f_source.html similarity index 100% rename from strbtm_8f_source.html rename to previous_versions/v12.0.1/strbtm_8f_source.html diff --git a/strcln_8f.html b/previous_versions/v12.0.1/strcln_8f.html similarity index 100% rename from strcln_8f.html rename to previous_versions/v12.0.1/strcln_8f.html diff --git a/strcln_8f.js b/previous_versions/v12.0.1/strcln_8f.js similarity index 100% rename from strcln_8f.js rename to previous_versions/v12.0.1/strcln_8f.js diff --git a/strcln_8f_source.html b/previous_versions/v12.0.1/strcln_8f_source.html similarity index 100% rename from strcln_8f_source.html rename to previous_versions/v12.0.1/strcln_8f_source.html diff --git a/strcpt_8f.html b/previous_versions/v12.0.1/strcpt_8f.html similarity index 100% rename from strcpt_8f.html rename to previous_versions/v12.0.1/strcpt_8f.html diff --git a/strcpt_8f.js b/previous_versions/v12.0.1/strcpt_8f.js similarity index 100% rename from strcpt_8f.js rename to previous_versions/v12.0.1/strcpt_8f.js diff --git a/strcpt_8f_source.html b/previous_versions/v12.0.1/strcpt_8f_source.html similarity index 100% rename from strcpt_8f_source.html rename to previous_versions/v12.0.1/strcpt_8f_source.html diff --git a/string_8f.html b/previous_versions/v12.0.1/string_8f.html similarity index 100% rename from string_8f.html rename to previous_versions/v12.0.1/string_8f.html diff --git a/string_8f.js b/previous_versions/v12.0.1/string_8f.js similarity index 100% rename from string_8f.js rename to previous_versions/v12.0.1/string_8f.js diff --git a/string_8f_source.html b/previous_versions/v12.0.1/string_8f_source.html similarity index 100% rename from string_8f_source.html rename to previous_versions/v12.0.1/string_8f_source.html diff --git a/strnum_8F90.html b/previous_versions/v12.0.1/strnum_8F90.html similarity index 100% rename from strnum_8F90.html rename to previous_versions/v12.0.1/strnum_8F90.html diff --git a/strnum_8F90.js b/previous_versions/v12.0.1/strnum_8F90.js similarity index 100% rename from strnum_8F90.js rename to previous_versions/v12.0.1/strnum_8F90.js diff --git a/strnum_8F90_source.html b/previous_versions/v12.0.1/strnum_8F90_source.html similarity index 100% rename from strnum_8F90_source.html rename to previous_versions/v12.0.1/strnum_8F90_source.html diff --git a/strsuc_8F90.html b/previous_versions/v12.0.1/strsuc_8F90.html similarity index 100% rename from strsuc_8F90.html rename to previous_versions/v12.0.1/strsuc_8F90.html diff --git a/strsuc_8F90.js b/previous_versions/v12.0.1/strsuc_8F90.js similarity index 100% rename from strsuc_8F90.js rename to previous_versions/v12.0.1/strsuc_8F90.js diff --git a/strsuc_8F90_source.html b/previous_versions/v12.0.1/strsuc_8F90_source.html similarity index 100% rename from strsuc_8F90_source.html rename to previous_versions/v12.0.1/strsuc_8F90_source.html diff --git a/previous_versions/v12.0.1/stseq_8c.html b/previous_versions/v12.0.1/stseq_8c.html new file mode 100644 index 000000000..f923a8bc5 --- /dev/null +++ b/previous_versions/v12.0.1/stseq_8c.html @@ -0,0 +1,310 @@ + + + + + + + +NCEPLIBS-bufr: stseq.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              stseq.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              Store information about a standard Table D descriptor within internal DX BUFR tables. +More...

                                                              +
                                                              #include "bufrlib.h"
                                                              +#include "mstabs.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + +

                                                              +Functions

                                                              int cmpia (const void *pf1, const void *pf2)
                                                               Define a comparison between two integers. More...
                                                               
                                                              void nummtb (int *idn, char *tab, int *ipt)
                                                               Search for an entry in the BUFR master table. More...
                                                               
                                                              void stseq (int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
                                                               Store information about a standard Table D descriptor within internal DX BUFR tables. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Store information about a standard Table D descriptor within internal DX BUFR tables.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition in file stseq.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ cmpia()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int cmpia (const void * pf1,
                                                              const void * pf2 
                                                              )
                                                              +
                                                              + +

                                                              Define a comparison between two integers.

                                                              +

                                                              This routine defines a comparison between two integers for use by the binary search function bsearch.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              pf1- first integer to be compared.
                                                              pf2- second integer to be compared.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                                +
                                                              • -1 PF1 is less than PF2
                                                              • +
                                                              • 0 PF1 is equal to PF2
                                                              • +
                                                              • 1 PF1 is greater than PF2
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 28 of file stseq.c.

                                                              + +

                                                              Referenced by nummtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nummtb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void nummtb (int * idn,
                                                              char * tab,
                                                              int * ipt 
                                                              )
                                                              +
                                                              + +

                                                              Search for an entry in the BUFR master table.

                                                              +

                                                              This routine searches for an entry corresponding to idn in the bufr master table (either 'B' or 'D', depending on the value of idn). The search uses binary search logic, so all of the entries in the table must be sorted in ascending order (by FXY number) in order for this routine to work properly.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              idn- WMO bit-wise representation of FXY number to be searched for.
                                                              tab- table in which idn was found ('B' or 'D').
                                                              ipt- index of entry for idn in master table tab.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 54 of file stseq.c.

                                                              + +

                                                              References bort_f(), cadn30_f(), cmpia(), FXY_STR_LEN, ibfxyn_c, idfxyn_c, ifxy_f(), MIN_FXY_TABLED, nmtb_c, and nmtd_c.

                                                              + +

                                                              Referenced by stseq().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ stseq()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              void stseq (int lun,
                                                              int * irepct,
                                                              int idn,
                                                              char * nemo,
                                                              char * cseq,
                                                              int * cdesc,
                                                              int ncdesc 
                                                              )
                                                              +
                                                              + +

                                                              Store information about a standard Table D descriptor within internal DX BUFR tables.

                                                              +

                                                              Given the bit-wise (integer) representation of a WMO-standard Table D descriptor, this subroutine uses the master BUFR tables to store all of the necessary information for that descriptor within the internal DX BUFR tables. Any child descriptors which are themselves Table D descriptors are automatically resolved via a recursive call to this same subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lun- File ID.
                                                              irepct- Replication sequence counter for the current master table; used internally to keep track of which sequence names have already been defined, and thereby avoid contention within the internal DX BUFR Table D.
                                                              idn- WMO bit-wise representation of FXY value for WMO-standard Table D descriptor
                                                              nemo- Mnemonic corresponding to idn.
                                                              cseq- Description corresponding to idn.
                                                              cdesc- Array of WMO-standard child descriptors equivalent to idn.
                                                              ncdesc- Number of WMO-standard child descriptors in cdesc.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 111 of file stseq.c.

                                                              + +

                                                              References bort_f(), cadn30_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, elemdx_f(), FXY_STR_LEN, icvidx(), idefxy_c, ifxy_f(), igetntbi_f(), igetprm_f(), igettdi_f(), imrkopr_f(), MAX_FXY_TABLEB, MIN_FXY_REPL, MIN_FXY_TABLED, MXNAF, ndelem_c, NEMO_STR_LEN, nemtab_f(), nummtb(), numtbd_f(), pktdd_f(), stntbi_f(), and strnum_f().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/stseq_8c.js b/previous_versions/v12.0.1/stseq_8c.js new file mode 100644 index 000000000..814ee57cb --- /dev/null +++ b/previous_versions/v12.0.1/stseq_8c.js @@ -0,0 +1,6 @@ +var stseq_8c = +[ + [ "cmpia", "stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29", null ], + [ "nummtb", "stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e", null ], + [ "stseq", "stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/stseq_8c_source.html b/previous_versions/v12.0.1/stseq_8c_source.html new file mode 100644 index 000000000..784a03fc9 --- /dev/null +++ b/previous_versions/v12.0.1/stseq_8c_source.html @@ -0,0 +1,556 @@ + + + + + + + +NCEPLIBS-bufr: stseq.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              stseq.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              8 #include "bufrlib.h"
                                                              +
                                                              9 #include "mstabs.h"
                                                              +
                                                              10 
                                                              +
                                                              27 int
                                                              +
                                                              28 cmpia(const void *pf1, const void *pf2)
                                                              +
                                                              29 {
                                                              +
                                                              30  int *mypf1 = ( int * ) pf1;
                                                              +
                                                              31  int *mypf2 = ( int * ) pf2;
                                                              +
                                                              32 
                                                              +
                                                              33  if ( *mypf1 == *mypf2 ) return 0;
                                                              +
                                                              34 
                                                              +
                                                              35  return ( *mypf1 < *mypf2 ? -1 : 1 );
                                                              +
                                                              36 }
                                                              +
                                                              37 
                                                              +
                                                              53 void
                                                              +
                                                              54 nummtb(int *idn, char *tab, int *ipt)
                                                              +
                                                              55 {
                                                              +
                                                              56  int *pifxyn, *pbs, nmt;
                                                              +
                                                              57 
                                                              +
                                                              58  char adn[FXY_STR_LEN+1], errstr[129];
                                                              +
                                                              59 
                                                              +
                                                              60  if ( *idn >= ifxy_f(MIN_FXY_TABLED) ) {
                                                              +
                                                              61  *tab = 'D';
                                                              +
                                                              62  pifxyn = &idfxyn_c[0];
                                                              +
                                                              63  nmt = nmtd_c;
                                                              +
                                                              64  }
                                                              +
                                                              65  else {
                                                              +
                                                              66  *tab = 'B';
                                                              +
                                                              67  pifxyn = &ibfxyn_c[0];
                                                              +
                                                              68  nmt = nmtb_c;
                                                              +
                                                              69  }
                                                              +
                                                              70 
                                                              +
                                                              71  pbs = bsearch(idn, pifxyn, (size_t) nmt, sizeof(int),
                                                              +
                                                              72  (int (*) (const void *, const void *)) cmpia);
                                                              +
                                                              73  if ( pbs == NULL ) {
                                                              +
                                                              74  cadn30_f(*idn, adn, FXY_STR_LEN+1);
                                                              +
                                                              75  sprintf(errstr, "BUFRLIB: NUMMTB - COULD NOT FIND DESCRIPTOR "
                                                              +
                                                              76  "%s IN MASTER TABLE %c", adn, *tab);
                                                              +
                                                              77  bort_f(errstr);
                                                              +
                                                              78  }
                                                              +
                                                              79  *ipt = pbs - pifxyn;
                                                              +
                                                              80 
                                                              +
                                                              81  return;
                                                              +
                                                              82 }
                                                              +
                                                              83 
                                                              +
                                                              110 void
                                                              +
                                                              111 stseq(int lun, int *irepct, int idn, char *nemo,
                                                              +
                                                              112  char *cseq, int *cdesc, int ncdesc)
                                                              +
                                                              113 {
                                                              +
                                                              114  int i, j, nb, nd, ix, iy, iret, nbits;
                                                              +
                                                              115  int rpidn, pkint, ilen, imxcd, ipt, *rpdesc;
                                                              +
                                                              116 
                                                              +
                                                              117  char tab, adn[FXY_STR_LEN+1], adn2[FXY_STR_LEN+1], units[10], errstr[129];
                                                              +
                                                              118  char nemo2[NEMO_STR_LEN+1], rpseq[56], card[80], ctmp[4], cblk = ' ', czero = '0';
                                                              +
                                                              119 
                                                              +
                                                              120 /*
                                                              +
                                                              121 ** The following variables are declared as static so that they
                                                              +
                                                              122 ** automatically initialize to zero and remain unchanged between
                                                              +
                                                              123 ** recursive calls to this subroutine.
                                                              +
                                                              124 */
                                                              +
                                                              125  static int naf, iafpk[MXNAF];
                                                              +
                                                              126 
                                                              +
                                                              127 /*
                                                              +
                                                              128 ** Is idn already listed as an entry in the internal Table D?
                                                              +
                                                              129 ** If so, then there's no need to proceed any further.
                                                              +
                                                              130 */
                                                              +
                                                              131  numtbd_f(lun, idn, nemo2, NEMO_STR_LEN+1, &tab, &iret);
                                                              +
                                                              132  if ( ( iret > 0 ) && ( tab == 'D' ) ) return;
                                                              +
                                                              133 
                                                              +
                                                              134 /*
                                                              +
                                                              135 ** Start a new Table D entry for idn.
                                                              +
                                                              136 */
                                                              +
                                                              137  tab = 'D';
                                                              +
                                                              138  nd = igetntbi_f(lun, &tab);
                                                              +
                                                              139  cadn30_f(idn, adn, FXY_STR_LEN+1);
                                                              +
                                                              140  stntbi_f(nd, lun, adn, nemo, cseq);
                                                              +
                                                              141 
                                                              +
                                                              142 /*
                                                              +
                                                              143 ** Now, go through the list of child descriptors corresponding to idn.
                                                              +
                                                              144 */
                                                              +
                                                              145  imxcd = igetprm_f("MAXCD");
                                                              +
                                                              146 
                                                              +
                                                              147  for ( i = 0; i < ncdesc; i++ ) {
                                                              +
                                                              148  cadn30_f(cdesc[i], adn, FXY_STR_LEN+1); adn[6] = '\0';
                                                              +
                                                              149  strncpy(ctmp, &adn[1], 2); ctmp[2] = '\0';
                                                              +
                                                              150  strnum_f(ctmp, &ix, &iret);
                                                              +
                                                              151  strncpy(ctmp, &adn[3], 4); /* trailing null will be included in this copy */
                                                              +
                                                              152  strnum_f(ctmp, &iy, &iret);
                                                              +
                                                              153  if ( adn[0] == '3' ) {
                                                              +
                                                              154 /*
                                                              +
                                                              155 ** cdesc[i] is itself a Table D descriptor, so locate it within the
                                                              +
                                                              156 ** master table D and then store the contents within the internal
                                                              +
                                                              157 ** Table D via a recursive call to this same routine.
                                                              +
                                                              158 */
                                                              +
                                                              159  nummtb(&cdesc[i], &tab, &ipt);
                                                              +
                                                              160  if ( naf > 0 ) {
                                                              +
                                                              161 /*
                                                              +
                                                              162 ** There are associated fields in effect which will modify this
                                                              +
                                                              163 ** descriptor when storing it within the internal Table D. So
                                                              +
                                                              164 ** create a new sequence to store the contents of this descriptor
                                                              +
                                                              165 ** along with its associated fields.
                                                              +
                                                              166 */
                                                              +
                                                              167  rpidn = igettdi_f(lun);
                                                              +
                                                              168 
                                                              +
                                                              169  sprintf(rpseq, "REPLICATION SEQUENCE %.3d", ++(*irepct));
                                                              +
                                                              170  memset(&rpseq[24], (int) cblk, 31);
                                                              +
                                                              171  sprintf(nemo2, "RPSEQ%.3d", *irepct);
                                                              +
                                                              172 
                                                              +
                                                              173  stseq(lun, irepct, rpidn, nemo2, rpseq,
                                                              +
                                                              174  &idefxy_c[icvidx(ipt,0,imxcd)],
                                                              +
                                                              175  ndelem_c[ipt]);
                                                              +
                                                              176  pkint = rpidn;
                                                              +
                                                              177 
                                                              +
                                                              178  }
                                                              +
                                                              179  else {
                                                              +
                                                              180 /*
                                                              +
                                                              181 ** Store cdesc[i] as is directly within the internal Table D.
                                                              +
                                                              182 */
                                                              +
                                                              183  stseq(lun, irepct, cdesc[i], &cdmnem_c[ipt][0],
                                                              +
                                                              184  &cdseq_c[ipt][0],
                                                              +
                                                              185  &idefxy_c[icvidx(ipt,0,imxcd)],
                                                              +
                                                              186  ndelem_c[ipt]);
                                                              +
                                                              187  pkint = cdesc[i];
                                                              +
                                                              188  }
                                                              +
                                                              189  }
                                                              +
                                                              190  else if ( adn[0] == '2' ) {
                                                              +
                                                              191 /*
                                                              +
                                                              192 ** cdesc[i] is an operator descriptor.
                                                              +
                                                              193 */
                                                              +
                                                              194  if ( ( ( ix >= 4 ) && ( ix <= 6 ) ) || ( imrkopr_f(adn) ) ) {
                                                              +
                                                              195 /*
                                                              +
                                                              196 ** This is a 204YYY, 205YYY, 206YYY operator, or else a 223255,
                                                              +
                                                              197 ** 224255, 225255 or 232255 marker operator. In any case,
                                                              +
                                                              198 ** generate a Table B mnemonic to hold the corresponding data.
                                                              +
                                                              199 */
                                                              +
                                                              200  strncpy(nemo2, adn, 6);
                                                              +
                                                              201  memset(&nemo2[6], (int) cblk, 2);
                                                              +
                                                              202  nemo2[8] = '\0';
                                                              +
                                                              203 
                                                              +
                                                              204  if ( ( ix == 4 ) && ( iy == 0 ) ) {
                                                              +
                                                              205 /*
                                                              +
                                                              206 ** Cancel the most-recently added associated field.
                                                              +
                                                              207 */
                                                              +
                                                              208  if ( naf-- <= 0 ) {
                                                              +
                                                              209  sprintf(errstr, "BUFRLIB: STSEQ - TOO MANY ASSOCIATED"
                                                              +
                                                              210  " FIELD CANCELLATION OPERATORS");
                                                              +
                                                              211  bort_f(errstr);
                                                              +
                                                              212  }
                                                              +
                                                              213  }
                                                              +
                                                              214  else {
                                                              +
                                                              215 /*
                                                              +
                                                              216 ** Is nemo2 already listed as an entry within the internal
                                                              +
                                                              217 ** Table B?
                                                              +
                                                              218 */
                                                              +
                                                              219  nemtab_f(lun, nemo2, &pkint, &tab, &iret);
                                                              +
                                                              220  if ( ( iret == 0 ) || ( tab != 'B' ) ) {
                                                              +
                                                              221 /*
                                                              +
                                                              222 ** No, so create and store a new Table B entry for nemo2.
                                                              +
                                                              223 */
                                                              +
                                                              224  tab = 'B';
                                                              +
                                                              225  nb = igetntbi_f(lun, &tab);
                                                              +
                                                              226 
                                                              +
                                                              227  if ( ix == 4 ) {
                                                              +
                                                              228  sprintf(rpseq, "Associated field of %3d bits", iy);
                                                              +
                                                              229  nbits = iy;
                                                              +
                                                              230  strcpy(units, "NUMERIC");
                                                              +
                                                              231  }
                                                              +
                                                              232  else if ( ix == 5 ) {
                                                              +
                                                              233  sprintf(rpseq, "Text string of %3d bytes", iy);
                                                              +
                                                              234  nbits = iy*8;
                                                              +
                                                              235  strcpy(units, "CCITT IA5");
                                                              +
                                                              236  }
                                                              +
                                                              237  else if ( ix == 6 ) {
                                                              +
                                                              238  sprintf(rpseq, "Local descriptor of %3d bits", iy);
                                                              +
                                                              239  nbits = iy;
                                                              +
                                                              240  if ( nbits > 32 ) {
                                                              +
                                                              241  strcpy(units, "CCITT IA5");
                                                              +
                                                              242  }
                                                              +
                                                              243  else {
                                                              +
                                                              244  strcpy(units, "NUMERIC");
                                                              +
                                                              245  }
                                                              +
                                                              246  }
                                                              +
                                                              247  else { // 2-XX-255 marker operator
                                                              +
                                                              248  if ( ix == 23 ) {
                                                              +
                                                              249  sprintf(rpseq, "Substituted value");
                                                              +
                                                              250  }
                                                              +
                                                              251  else if ( ix == 24 ) {
                                                              +
                                                              252  sprintf(rpseq, "First-order statistical value");
                                                              +
                                                              253  }
                                                              +
                                                              254  else if ( ix == 25 ) {
                                                              +
                                                              255  sprintf(rpseq, "Difference statistical value");
                                                              +
                                                              256  }
                                                              +
                                                              257  else if ( ix == 32 ) {
                                                              +
                                                              258  sprintf(rpseq, "Replaced/retained value");
                                                              +
                                                              259  }
                                                              +
                                                              260  /* For now, set a default bit width and units. */
                                                              +
                                                              261  nbits = 8;
                                                              +
                                                              262  strcpy(units, "NUMERIC");
                                                              +
                                                              263  }
                                                              +
                                                              264  ilen = ( int ) strlen(rpseq);
                                                              +
                                                              265  memset(&rpseq[ilen], (int) cblk, 55 - ilen);
                                                              +
                                                              266 /*
                                                              +
                                                              267 ** Note that 49152 = 3*(2**14), so subtracting 49152 in the
                                                              +
                                                              268 ** following statement changes a Table D bit-wise FXY value into
                                                              +
                                                              269 ** a Table B bit-wise FXY value.
                                                              +
                                                              270 */
                                                              +
                                                              271  pkint = (igettdi_f(lun) - 49152);
                                                              +
                                                              272  cadn30_f(pkint, adn2, FXY_STR_LEN+1);
                                                              +
                                                              273 
                                                              +
                                                              274  stntbi_f(nb, lun, adn2, nemo2, rpseq);
                                                              +
                                                              275 
                                                              +
                                                              276  /* Initialize card to all blanks. */
                                                              +
                                                              277  memset(card, (int) cblk, sizeof( card ));
                                                              +
                                                              278 
                                                              +
                                                              279  strncpy(&card[2], nemo2, 8);
                                                              +
                                                              280  memcpy(&card[16], &czero, 1);
                                                              +
                                                              281  memcpy(&card[30], &czero, 1);
                                                              +
                                                              282  sprintf(&card[33], "%4d", nbits);
                                                              +
                                                              283  strcpy(&card[40], units);
                                                              +
                                                              284  card[40+strlen(units)] = cblk; /* overwrite trailing null */
                                                              +
                                                              285  elemdx_f(card, lun);
                                                              +
                                                              286  }
                                                              +
                                                              287  if ( ix == 4 ) {
                                                              +
                                                              288 /*
                                                              +
                                                              289 ** Add an associated field.
                                                              +
                                                              290 */
                                                              +
                                                              291  if ( naf >= MXNAF ) {
                                                              +
                                                              292  sprintf(errstr, "BUFRLIB: STSEQ - TOO MANY ASSOCIATED"
                                                              +
                                                              293  " FIELDS ARE IN EFFECT AT THE SAME TIME");
                                                              +
                                                              294  bort_f(errstr);
                                                              +
                                                              295  }
                                                              +
                                                              296  iafpk[naf++] = pkint;
                                                              +
                                                              297  }
                                                              +
                                                              298  }
                                                              +
                                                              299  if ( ix == 6 ) {
                                                              +
                                                              300 /*
                                                              +
                                                              301 ** Skip over the local descriptor placeholder.
                                                              +
                                                              302 */
                                                              +
                                                              303  if ( ++i >= ncdesc ) {
                                                              +
                                                              304  sprintf(errstr, "BUFRLIB: STSEQ - COULD NOT FIND LOCAL"
                                                              +
                                                              305  " DESCRIPTOR PLACEHOLDER FOR %s", adn);
                                                              +
                                                              306  bort_f(errstr);
                                                              +
                                                              307  }
                                                              +
                                                              308  }
                                                              +
                                                              309  }
                                                              +
                                                              310  else {
                                                              +
                                                              311  pkint = cdesc[i];
                                                              +
                                                              312  }
                                                              +
                                                              313  }
                                                              +
                                                              314  else if ( adn[0] == '1' ) {
                                                              +
                                                              315 /*
                                                              +
                                                              316 ** cdesc[i] is a replication descriptor, so create a sequence
                                                              +
                                                              317 ** consisting of the set of replicated descriptors and then immediately
                                                              +
                                                              318 ** store that sequence within the internal Table D via a recursive call
                                                              +
                                                              319 ** to this same routine.
                                                              +
                                                              320 **
                                                              +
                                                              321 ** See subroutine BFRINI and COMMON /REPTAB/ for the source of the FXY
                                                              +
                                                              322 ** values referenced in the following block. Note we are guaranteed
                                                              +
                                                              323 ** that 0 <= iy <= 255 since adn was generated using subroutine CADN30.
                                                              +
                                                              324 */
                                                              +
                                                              325  if ( iy == 0 ) { /* delayed replication */
                                                              +
                                                              326  if ( ( i+1 ) >= ncdesc ) {
                                                              +
                                                              327  sprintf(errstr, "BUFRLIB: STSEQ - COULD NOT FIND DELAYED "
                                                              +
                                                              328  "DESCRIPTOR REPLICATION FACTOR FOR %s", adn);
                                                              +
                                                              329  bort_f(errstr);
                                                              +
                                                              330  }
                                                              +
                                                              331  else if ( cdesc[i+1] == ifxy_f("031002") ) {
                                                              +
                                                              332  pkint = ifxy_f("360001");
                                                              +
                                                              333  }
                                                              +
                                                              334  else if ( cdesc[i+1] == ifxy_f("031001") ) {
                                                              +
                                                              335  pkint = ifxy_f("360002");
                                                              +
                                                              336  }
                                                              +
                                                              337  else if ( cdesc[i+1] == ifxy_f("031000") ) {
                                                              +
                                                              338  pkint = ifxy_f("360004");
                                                              +
                                                              339  }
                                                              +
                                                              340  else {
                                                              +
                                                              341  sprintf(errstr, "BUFRLIB: STSEQ - UNKNOWN DELAYED "
                                                              +
                                                              342  "DESCRIPTOR REPLICATION FACTOR FOR %s", adn);
                                                              +
                                                              343  bort_f(errstr);
                                                              +
                                                              344  }
                                                              +
                                                              345  i += 2;
                                                              +
                                                              346  }
                                                              +
                                                              347  else { /* regular replication */
                                                              +
                                                              348  pkint = ifxy_f(MIN_FXY_REPL) + iy;
                                                              +
                                                              349  i++;
                                                              +
                                                              350  }
                                                              +
                                                              351 /*
                                                              +
                                                              352 ** Store this replication descriptor within the table D entry for
                                                              +
                                                              353 ** this parent.
                                                              +
                                                              354 */
                                                              +
                                                              355  pktdd_f(nd, lun, pkint, &iret);
                                                              +
                                                              356  if ( iret < 0 ) {
                                                              +
                                                              357  strncpy(nemo2, nemo, 8);
                                                              +
                                                              358  nemo2[8] = '\0';
                                                              +
                                                              359  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD WHEN "
                                                              +
                                                              360  "STORING REPLICATOR FOR PARENT MNEMONIC %s", nemo2);
                                                              +
                                                              361  bort_f(errstr);
                                                              +
                                                              362  }
                                                              +
                                                              363 /*
                                                              +
                                                              364 ** Note we are guaranteed that 0 < ix <= 63 since adn was generated
                                                              +
                                                              365 ** using subroutine CADN30.
                                                              +
                                                              366 */
                                                              +
                                                              367  if ( ix > ( ncdesc - i ) ) {
                                                              +
                                                              368  sprintf(errstr, "BUFRLIB: STSEQ - NOT ENOUGH REMAINING CHILD "
                                                              +
                                                              369  "DESCRIPTORS TO COMPLETE REPLICATION FOR %s", adn);
                                                              +
                                                              370  bort_f(errstr);
                                                              +
                                                              371  }
                                                              +
                                                              372  else if ( ( ix == 1 ) && ( cdesc[i] >= ifxy_f(MIN_FXY_TABLED) ) ) {
                                                              +
                                                              373 /*
                                                              +
                                                              374 ** The only thing being replicated is a single Table D descriptor,
                                                              +
                                                              375 ** so there's no need to invent a new sequence for this replication
                                                              +
                                                              376 ** (this is a special case!)
                                                              +
                                                              377 */
                                                              +
                                                              378  nummtb(&cdesc[i], &tab, &ipt);
                                                              +
                                                              379  stseq(lun, irepct, cdesc[i], &cdmnem_c[ipt][0],
                                                              +
                                                              380  &cdseq_c[ipt][0],
                                                              +
                                                              381  &idefxy_c[icvidx(ipt,0,imxcd)],
                                                              +
                                                              382  ndelem_c[ipt]);
                                                              +
                                                              383  pkint = cdesc[i];
                                                              +
                                                              384  }
                                                              +
                                                              385  else {
                                                              +
                                                              386 /*
                                                              +
                                                              387 ** Store the ix descriptors to be replicated in a local list, then
                                                              +
                                                              388 ** get an FXY value to use with this list and generate a unique
                                                              +
                                                              389 ** mnemonic and description as well.
                                                              +
                                                              390 */
                                                              +
                                                              391 
                                                              +
                                                              392  if ( ( rpdesc = malloc( imxcd * sizeof(int) ) ) == NULL ) {
                                                              +
                                                              393  sprintf(errstr, "BUFRLIB: STSEQ - UNABLE TO ALLOCATE SPACE"
                                                              +
                                                              394  " FOR RPDESC");
                                                              +
                                                              395  bort_f(errstr);
                                                              +
                                                              396  }
                                                              +
                                                              397 
                                                              +
                                                              398  for ( j = 0; j < ix; j++ ) {
                                                              +
                                                              399  rpdesc[j] = cdesc[i+j];
                                                              +
                                                              400  }
                                                              +
                                                              401 
                                                              +
                                                              402  rpidn = igettdi_f(lun);
                                                              +
                                                              403 
                                                              +
                                                              404  sprintf(rpseq, "REPLICATION SEQUENCE %.3d", ++(*irepct));
                                                              +
                                                              405  memset(&rpseq[24], (int) cblk, 31);
                                                              +
                                                              406  sprintf(nemo2, "RPSEQ%.3d", *irepct);
                                                              +
                                                              407 
                                                              +
                                                              408  stseq(lun, irepct, rpidn, nemo2, rpseq, rpdesc, ix);
                                                              +
                                                              409 
                                                              +
                                                              410  free(rpdesc);
                                                              +
                                                              411 
                                                              +
                                                              412  pkint = rpidn;
                                                              +
                                                              413  i += ix - 1;
                                                              +
                                                              414  }
                                                              +
                                                              415  }
                                                              +
                                                              416  else {
                                                              +
                                                              417 /*
                                                              +
                                                              418 ** cdesc[i] is a Table B descriptor.
                                                              +
                                                              419 **
                                                              +
                                                              420 ** Is cdesc[i] already listed as an entry in the internal Table B?
                                                              +
                                                              421 */
                                                              +
                                                              422  numtbd_f(lun, cdesc[i], nemo2, NEMO_STR_LEN+1, &tab, &iret);
                                                              +
                                                              423  if ( ( iret == 0 ) || ( tab != 'B' ) ) {
                                                              +
                                                              424 /*
                                                              +
                                                              425 ** No, so search for it within the master table B.
                                                              +
                                                              426 */
                                                              +
                                                              427  nummtb(&cdesc[i], &tab, &ipt);
                                                              +
                                                              428 /*
                                                              +
                                                              429 ** Start a new Table B entry for cdesc[i].
                                                              +
                                                              430 */
                                                              +
                                                              431  nb = igetntbi_f(lun, &tab);
                                                              +
                                                              432  cadn30_f(cdesc[i], adn2, FXY_STR_LEN+1);
                                                              +
                                                              433  stntbi_f(nb, lun, adn2, &cbmnem_c[ipt][0], &cbelem_c[ipt][0]);
                                                              +
                                                              434 
                                                              +
                                                              435  /* Initialize card to all blanks. */
                                                              +
                                                              436  memset(card, (int) cblk, sizeof( card ));
                                                              +
                                                              437 
                                                              +
                                                              438  strncpy(&card[2], &cbmnem_c[ipt][0], 8);
                                                              +
                                                              439  strncpy(&card[13], &cbscl_c[ipt][0], 4);
                                                              +
                                                              440  strncpy(&card[19], &cbsref_c[ipt][0], 12);
                                                              +
                                                              441  strncpy(&card[33], &cbbw_c[ipt][0], 4);
                                                              +
                                                              442  strncpy(&card[40], &cbunit_c[ipt][0], 24);
                                                              +
                                                              443  elemdx_f(card, lun);
                                                              +
                                                              444  }
                                                              +
                                                              445  pkint = cdesc[i];
                                                              +
                                                              446  }
                                                              +
                                                              447  if (strncmp( adn, "204", 3) != 0 ) {
                                                              +
                                                              448 /*
                                                              +
                                                              449 ** Store this child descriptor within the table D entry for this
                                                              +
                                                              450 ** parent, preceding it with any associated fields that are currently
                                                              +
                                                              451 ** in effect.
                                                              +
                                                              452 **
                                                              +
                                                              453 ** Note that associated fields are only applied to Table B descriptors,
                                                              +
                                                              454 ** except for those in Class 31.
                                                              +
                                                              455 */
                                                              +
                                                              456  if ( ( naf > 0 ) && ( pkint <= ifxy_f(MAX_FXY_TABLEB) ) &&
                                                              +
                                                              457  ( ( pkint < ifxy_f("031000") ) ||
                                                              +
                                                              458  ( pkint > ifxy_f("031255") ) ) ) {
                                                              +
                                                              459  for ( j = 0; j < naf; j++ ) {
                                                              +
                                                              460  pktdd_f(nd, lun, iafpk[j], &iret);
                                                              +
                                                              461  if ( iret < 0 ) {
                                                              +
                                                              462  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD "
                                                              +
                                                              463  "WHEN STORING ASSOCIATED FIELDS");
                                                              +
                                                              464  bort_f(errstr);
                                                              +
                                                              465  }
                                                              +
                                                              466  }
                                                              +
                                                              467  }
                                                              +
                                                              468 /*
                                                              +
                                                              469 ** Store the child descriptor.
                                                              +
                                                              470 */
                                                              +
                                                              471  pktdd_f(nd, lun, pkint, &iret);
                                                              +
                                                              472  if ( iret < 0 ) {
                                                              +
                                                              473  strncpy(nemo2, nemo, 8);
                                                              +
                                                              474  nemo2[8] = '\0';
                                                              +
                                                              475  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD WHEN "
                                                              +
                                                              476  "STORING CHILD FOR PARENT MNEMONIC %s", nemo2);
                                                              +
                                                              477  bort_f(errstr);
                                                              +
                                                              478  }
                                                              +
                                                              479  }
                                                              +
                                                              480  }
                                                              +
                                                              481 }
                                                              +
                                                              int igetprm_f(char *cprmnm)
                                                              Get the current value of a parameter.
                                                              +
                                                              void nemtab_f(int lun, const char *mnemonic, int *descriptor, char *table_type, int *table_idx)
                                                              Get information about a descriptor.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              int igettdi_f(int iflag)
                                                              Get the next usable Table D index for the current master table, or reset the index.
                                                              +
                                                              void cadn30_f(int idn, char *adn, int adn_str_len)
                                                              Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                                              +
                                                              #define FXY_STR_LEN
                                                              Size of a character string needed to store an FXY value.
                                                              Definition: bufrlib.h:54
                                                              +
                                                              void elemdx_f(char *card, int lun)
                                                              Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
                                                              +
                                                              int imrkopr_f(char *nemo)
                                                              Check whether a specified mnemonic is a Table C marker operator.
                                                              +
                                                              #define MXNAF
                                                              Maximum number of associated fields that can be in effect at any given time for a Table B descriptor.
                                                              Definition: bufrlib.h:51
                                                              +
                                                              void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
                                                              Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                                              +
                                                              void bort_f(char *errstr)
                                                              Log one error message and abort application program.
                                                              +
                                                              void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq)
                                                              Store a new entry within the internal BUFR Table B or D.
                                                              +
                                                              #define MIN_FXY_REPL
                                                              Character string containing minimum FXY value for a replication descriptor.
                                                              Definition: bufrlib.h:57
                                                              +
                                                              #define MIN_FXY_TABLED
                                                              Character string containing minimum FXY value for a Table D descriptor.
                                                              Definition: bufrlib.h:60
                                                              +
                                                              int ifxy_f(char *cfxy)
                                                              Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                                              +
                                                              void strnum_f(char *str, int *num, int *iret)
                                                              Decode an integer from a character string.
                                                              +
                                                              #define NEMO_STR_LEN
                                                              Size of a character string needed to store a mnemonic.
                                                              Definition: bufrlib.h:66
                                                              +
                                                              #define MAX_FXY_TABLEB
                                                              Character string containing maximum FXY value for a Table B descriptor.
                                                              Definition: bufrlib.h:63
                                                              +
                                                              void pktdd_f(int id, int lun, int idn, int *iret)
                                                              Store information about a child mnemonic within the internal arrays.
                                                              +
                                                              int igetntbi_f(int lun, char *table_type)
                                                              Get the next index for storing an entry within an internal DX BUFR table.
                                                              +
                                                              int icvidx(int ii, int jj, int numjj)
                                                              Computes a unique 1-dimensional array index from 2-dimensional indices.
                                                              Definition: icvidx.c:22
                                                              +
                                                              Declare variables for internal storage of master Table B and Table D entries.
                                                              +
                                                              char(* cbunit_c)[24]
                                                              Master Table B units; copied from Fortran cbunit array.
                                                              +
                                                              int * idfxyn_c
                                                              Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                                              +
                                                              char(* cdmnem_c)[8]
                                                              Master Table D mnemonics; copied from Fortran cdmnem array.
                                                              +
                                                              char(* cbelem_c)[120]
                                                              Master Table B element names; copied from Fortran cbelem array.
                                                              +
                                                              int * ndelem_c
                                                              Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
                                                              +
                                                              int nmtd_c
                                                              Number of master Table D entries; copied from Fortran nmtd variable.
                                                              +
                                                              int * idefxy_c
                                                              Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
                                                              +
                                                              char(* cbbw_c)[4]
                                                              Master Table B bit widths; copied from Fortran cbbw array.
                                                              +
                                                              char(* cbsref_c)[12]
                                                              Master Table B reference value; copied from Fortran cbsref array.
                                                              +
                                                              char(* cdseq_c)[120]
                                                              Master Table D sequence names; copied from Fortran cdseq array.
                                                              +
                                                              int * ibfxyn_c
                                                              Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                                              +
                                                              int nmtb_c
                                                              Number of master Table B entries; copied from Fortran nmtb variable.
                                                              +
                                                              char(* cbscl_c)[4]
                                                              Master Table B scale factors; copied from Fortran cbscl array.
                                                              +
                                                              char(* cbmnem_c)[8]
                                                              Master Table B mnemonics; copied from Fortran cbmnem array.
                                                              +
                                                              void nummtb(int *idn, char *tab, int *ipt)
                                                              Search for an entry in the BUFR master table.
                                                              Definition: stseq.c:54
                                                              +
                                                              void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
                                                              Store information about a standard Table D descriptor within internal DX BUFR tables.
                                                              Definition: stseq.c:111
                                                              +
                                                              int cmpia(const void *pf1, const void *pf2)
                                                              Define a comparison between two integers.
                                                              Definition: stseq.c:28
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/sync_off.png b/previous_versions/v12.0.1/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/sync_on.png b/previous_versions/v12.0.1/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/tab_a.png b/previous_versions/v12.0.1/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/previous_versions/v12.0.1/tab_b.png b/previous_versions/v12.0.1/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tabent_8f.html b/previous_versions/v12.0.1/tabent_8f.html similarity index 100% rename from tabent_8f.html rename to previous_versions/v12.0.1/tabent_8f.html diff --git a/tabent_8f.js b/previous_versions/v12.0.1/tabent_8f.js similarity index 100% rename from tabent_8f.js rename to previous_versions/v12.0.1/tabent_8f.js diff --git a/tabent_8f_source.html b/previous_versions/v12.0.1/tabent_8f_source.html similarity index 100% rename from tabent_8f_source.html rename to previous_versions/v12.0.1/tabent_8f_source.html diff --git a/previous_versions/v12.0.1/tabs.css b/previous_versions/v12.0.1/tabs.css new file mode 100644 index 000000000..7d45d36c1 --- /dev/null +++ b/previous_versions/v12.0.1/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/tabsub_8f.html b/previous_versions/v12.0.1/tabsub_8f.html similarity index 100% rename from tabsub_8f.html rename to previous_versions/v12.0.1/tabsub_8f.html diff --git a/tabsub_8f.js b/previous_versions/v12.0.1/tabsub_8f.js similarity index 100% rename from tabsub_8f.js rename to previous_versions/v12.0.1/tabsub_8f.js diff --git a/tabsub_8f_source.html b/previous_versions/v12.0.1/tabsub_8f_source.html similarity index 100% rename from tabsub_8f_source.html rename to previous_versions/v12.0.1/tabsub_8f_source.html diff --git a/trybump_8f.html b/previous_versions/v12.0.1/trybump_8f.html similarity index 100% rename from trybump_8f.html rename to previous_versions/v12.0.1/trybump_8f.html diff --git a/trybump_8f.js b/previous_versions/v12.0.1/trybump_8f.js similarity index 100% rename from trybump_8f.js rename to previous_versions/v12.0.1/trybump_8f.js diff --git a/trybump_8f_source.html b/previous_versions/v12.0.1/trybump_8f_source.html similarity index 100% rename from trybump_8f_source.html rename to previous_versions/v12.0.1/trybump_8f_source.html diff --git a/ufbcnt_8f.html b/previous_versions/v12.0.1/ufbcnt_8f.html similarity index 100% rename from ufbcnt_8f.html rename to previous_versions/v12.0.1/ufbcnt_8f.html diff --git a/ufbcnt_8f.js b/previous_versions/v12.0.1/ufbcnt_8f.js similarity index 100% rename from ufbcnt_8f.js rename to previous_versions/v12.0.1/ufbcnt_8f.js diff --git a/ufbcnt_8f_source.html b/previous_versions/v12.0.1/ufbcnt_8f_source.html similarity index 100% rename from ufbcnt_8f_source.html rename to previous_versions/v12.0.1/ufbcnt_8f_source.html diff --git a/ufbcpy_8f.html b/previous_versions/v12.0.1/ufbcpy_8f.html similarity index 100% rename from ufbcpy_8f.html rename to previous_versions/v12.0.1/ufbcpy_8f.html diff --git a/ufbcpy_8f.js b/previous_versions/v12.0.1/ufbcpy_8f.js similarity index 100% rename from ufbcpy_8f.js rename to previous_versions/v12.0.1/ufbcpy_8f.js diff --git a/ufbcpy_8f_source.html b/previous_versions/v12.0.1/ufbcpy_8f_source.html similarity index 100% rename from ufbcpy_8f_source.html rename to previous_versions/v12.0.1/ufbcpy_8f_source.html diff --git a/ufbcup_8f.html b/previous_versions/v12.0.1/ufbcup_8f.html similarity index 100% rename from ufbcup_8f.html rename to previous_versions/v12.0.1/ufbcup_8f.html diff --git a/ufbcup_8f.js b/previous_versions/v12.0.1/ufbcup_8f.js similarity index 100% rename from ufbcup_8f.js rename to previous_versions/v12.0.1/ufbcup_8f.js diff --git a/ufbcup_8f_source.html b/previous_versions/v12.0.1/ufbcup_8f_source.html similarity index 100% rename from ufbcup_8f_source.html rename to previous_versions/v12.0.1/ufbcup_8f_source.html diff --git a/ufbdmp_8f.html b/previous_versions/v12.0.1/ufbdmp_8f.html similarity index 100% rename from ufbdmp_8f.html rename to previous_versions/v12.0.1/ufbdmp_8f.html diff --git a/ufbdmp_8f.js b/previous_versions/v12.0.1/ufbdmp_8f.js similarity index 100% rename from ufbdmp_8f.js rename to previous_versions/v12.0.1/ufbdmp_8f.js diff --git a/ufbdmp_8f_source.html b/previous_versions/v12.0.1/ufbdmp_8f_source.html similarity index 100% rename from ufbdmp_8f_source.html rename to previous_versions/v12.0.1/ufbdmp_8f_source.html diff --git a/ufbevn_8f.html b/previous_versions/v12.0.1/ufbevn_8f.html similarity index 100% rename from ufbevn_8f.html rename to previous_versions/v12.0.1/ufbevn_8f.html diff --git a/ufbevn_8f.js b/previous_versions/v12.0.1/ufbevn_8f.js similarity index 100% rename from ufbevn_8f.js rename to previous_versions/v12.0.1/ufbevn_8f.js diff --git a/ufbevn_8f_source.html b/previous_versions/v12.0.1/ufbevn_8f_source.html similarity index 100% rename from ufbevn_8f_source.html rename to previous_versions/v12.0.1/ufbevn_8f_source.html diff --git a/ufbget_8f.html b/previous_versions/v12.0.1/ufbget_8f.html similarity index 100% rename from ufbget_8f.html rename to previous_versions/v12.0.1/ufbget_8f.html diff --git a/ufbget_8f.js b/previous_versions/v12.0.1/ufbget_8f.js similarity index 100% rename from ufbget_8f.js rename to previous_versions/v12.0.1/ufbget_8f.js diff --git a/ufbget_8f_source.html b/previous_versions/v12.0.1/ufbget_8f_source.html similarity index 100% rename from ufbget_8f_source.html rename to previous_versions/v12.0.1/ufbget_8f_source.html diff --git a/ufbin3_8f.html b/previous_versions/v12.0.1/ufbin3_8f.html similarity index 100% rename from ufbin3_8f.html rename to previous_versions/v12.0.1/ufbin3_8f.html diff --git a/ufbin3_8f.js b/previous_versions/v12.0.1/ufbin3_8f.js similarity index 100% rename from ufbin3_8f.js rename to previous_versions/v12.0.1/ufbin3_8f.js diff --git a/ufbin3_8f_source.html b/previous_versions/v12.0.1/ufbin3_8f_source.html similarity index 100% rename from ufbin3_8f_source.html rename to previous_versions/v12.0.1/ufbin3_8f_source.html diff --git a/ufbint_8f.html b/previous_versions/v12.0.1/ufbint_8f.html similarity index 100% rename from ufbint_8f.html rename to previous_versions/v12.0.1/ufbint_8f.html diff --git a/ufbint_8f.js b/previous_versions/v12.0.1/ufbint_8f.js similarity index 100% rename from ufbint_8f.js rename to previous_versions/v12.0.1/ufbint_8f.js diff --git a/ufbint_8f_source.html b/previous_versions/v12.0.1/ufbint_8f_source.html similarity index 100% rename from ufbint_8f_source.html rename to previous_versions/v12.0.1/ufbint_8f_source.html diff --git a/ufbinx_8f.html b/previous_versions/v12.0.1/ufbinx_8f.html similarity index 100% rename from ufbinx_8f.html rename to previous_versions/v12.0.1/ufbinx_8f.html diff --git a/ufbinx_8f.js b/previous_versions/v12.0.1/ufbinx_8f.js similarity index 100% rename from ufbinx_8f.js rename to previous_versions/v12.0.1/ufbinx_8f.js diff --git a/ufbinx_8f_source.html b/previous_versions/v12.0.1/ufbinx_8f_source.html similarity index 100% rename from ufbinx_8f_source.html rename to previous_versions/v12.0.1/ufbinx_8f_source.html diff --git a/ufbmem_8f.html b/previous_versions/v12.0.1/ufbmem_8f.html similarity index 100% rename from ufbmem_8f.html rename to previous_versions/v12.0.1/ufbmem_8f.html diff --git a/ufbmem_8f.js b/previous_versions/v12.0.1/ufbmem_8f.js similarity index 100% rename from ufbmem_8f.js rename to previous_versions/v12.0.1/ufbmem_8f.js diff --git a/ufbmem_8f_source.html b/previous_versions/v12.0.1/ufbmem_8f_source.html similarity index 100% rename from ufbmem_8f_source.html rename to previous_versions/v12.0.1/ufbmem_8f_source.html diff --git a/ufbmex_8f.html b/previous_versions/v12.0.1/ufbmex_8f.html similarity index 100% rename from ufbmex_8f.html rename to previous_versions/v12.0.1/ufbmex_8f.html diff --git a/ufbmex_8f.js b/previous_versions/v12.0.1/ufbmex_8f.js similarity index 100% rename from ufbmex_8f.js rename to previous_versions/v12.0.1/ufbmex_8f.js diff --git a/ufbmex_8f_source.html b/previous_versions/v12.0.1/ufbmex_8f_source.html similarity index 100% rename from ufbmex_8f_source.html rename to previous_versions/v12.0.1/ufbmex_8f_source.html diff --git a/ufbmms_8f.html b/previous_versions/v12.0.1/ufbmms_8f.html similarity index 100% rename from ufbmms_8f.html rename to previous_versions/v12.0.1/ufbmms_8f.html diff --git a/ufbmms_8f.js b/previous_versions/v12.0.1/ufbmms_8f.js similarity index 100% rename from ufbmms_8f.js rename to previous_versions/v12.0.1/ufbmms_8f.js diff --git a/ufbmms_8f_source.html b/previous_versions/v12.0.1/ufbmms_8f_source.html similarity index 100% rename from ufbmms_8f_source.html rename to previous_versions/v12.0.1/ufbmms_8f_source.html diff --git a/ufbmns_8f.html b/previous_versions/v12.0.1/ufbmns_8f.html similarity index 100% rename from ufbmns_8f.html rename to previous_versions/v12.0.1/ufbmns_8f.html diff --git a/ufbmns_8f.js b/previous_versions/v12.0.1/ufbmns_8f.js similarity index 100% rename from ufbmns_8f.js rename to previous_versions/v12.0.1/ufbmns_8f.js diff --git a/ufbmns_8f_source.html b/previous_versions/v12.0.1/ufbmns_8f_source.html similarity index 100% rename from ufbmns_8f_source.html rename to previous_versions/v12.0.1/ufbmns_8f_source.html diff --git a/ufbovr_8f.html b/previous_versions/v12.0.1/ufbovr_8f.html similarity index 100% rename from ufbovr_8f.html rename to previous_versions/v12.0.1/ufbovr_8f.html diff --git a/ufbovr_8f.js b/previous_versions/v12.0.1/ufbovr_8f.js similarity index 100% rename from ufbovr_8f.js rename to previous_versions/v12.0.1/ufbovr_8f.js diff --git a/ufbovr_8f_source.html b/previous_versions/v12.0.1/ufbovr_8f_source.html similarity index 100% rename from ufbovr_8f_source.html rename to previous_versions/v12.0.1/ufbovr_8f_source.html diff --git a/ufbpos_8f.html b/previous_versions/v12.0.1/ufbpos_8f.html similarity index 100% rename from ufbpos_8f.html rename to previous_versions/v12.0.1/ufbpos_8f.html diff --git a/ufbpos_8f.js b/previous_versions/v12.0.1/ufbpos_8f.js similarity index 100% rename from ufbpos_8f.js rename to previous_versions/v12.0.1/ufbpos_8f.js diff --git a/ufbpos_8f_source.html b/previous_versions/v12.0.1/ufbpos_8f_source.html similarity index 100% rename from ufbpos_8f_source.html rename to previous_versions/v12.0.1/ufbpos_8f_source.html diff --git a/ufbqcd_8f.html b/previous_versions/v12.0.1/ufbqcd_8f.html similarity index 100% rename from ufbqcd_8f.html rename to previous_versions/v12.0.1/ufbqcd_8f.html diff --git a/ufbqcd_8f.js b/previous_versions/v12.0.1/ufbqcd_8f.js similarity index 100% rename from ufbqcd_8f.js rename to previous_versions/v12.0.1/ufbqcd_8f.js diff --git a/ufbqcd_8f_source.html b/previous_versions/v12.0.1/ufbqcd_8f_source.html similarity index 100% rename from ufbqcd_8f_source.html rename to previous_versions/v12.0.1/ufbqcd_8f_source.html diff --git a/ufbqcp_8f.html b/previous_versions/v12.0.1/ufbqcp_8f.html similarity index 100% rename from ufbqcp_8f.html rename to previous_versions/v12.0.1/ufbqcp_8f.html diff --git a/ufbqcp_8f.js b/previous_versions/v12.0.1/ufbqcp_8f.js similarity index 100% rename from ufbqcp_8f.js rename to previous_versions/v12.0.1/ufbqcp_8f.js diff --git a/ufbqcp_8f_source.html b/previous_versions/v12.0.1/ufbqcp_8f_source.html similarity index 100% rename from ufbqcp_8f_source.html rename to previous_versions/v12.0.1/ufbqcp_8f_source.html diff --git a/ufbrep_8f.html b/previous_versions/v12.0.1/ufbrep_8f.html similarity index 100% rename from ufbrep_8f.html rename to previous_versions/v12.0.1/ufbrep_8f.html diff --git a/ufbrep_8f.js b/previous_versions/v12.0.1/ufbrep_8f.js similarity index 100% rename from ufbrep_8f.js rename to previous_versions/v12.0.1/ufbrep_8f.js diff --git a/ufbrep_8f_source.html b/previous_versions/v12.0.1/ufbrep_8f_source.html similarity index 100% rename from ufbrep_8f_source.html rename to previous_versions/v12.0.1/ufbrep_8f_source.html diff --git a/ufbrms_8f.html b/previous_versions/v12.0.1/ufbrms_8f.html similarity index 100% rename from ufbrms_8f.html rename to previous_versions/v12.0.1/ufbrms_8f.html diff --git a/ufbrms_8f.js b/previous_versions/v12.0.1/ufbrms_8f.js similarity index 100% rename from ufbrms_8f.js rename to previous_versions/v12.0.1/ufbrms_8f.js diff --git a/ufbrms_8f_source.html b/previous_versions/v12.0.1/ufbrms_8f_source.html similarity index 100% rename from ufbrms_8f_source.html rename to previous_versions/v12.0.1/ufbrms_8f_source.html diff --git a/ufbrp_8f.html b/previous_versions/v12.0.1/ufbrp_8f.html similarity index 100% rename from ufbrp_8f.html rename to previous_versions/v12.0.1/ufbrp_8f.html diff --git a/ufbrp_8f.js b/previous_versions/v12.0.1/ufbrp_8f.js similarity index 100% rename from ufbrp_8f.js rename to previous_versions/v12.0.1/ufbrp_8f.js diff --git a/ufbrp_8f_source.html b/previous_versions/v12.0.1/ufbrp_8f_source.html similarity index 100% rename from ufbrp_8f_source.html rename to previous_versions/v12.0.1/ufbrp_8f_source.html diff --git a/ufbrw_8f.html b/previous_versions/v12.0.1/ufbrw_8f.html similarity index 100% rename from ufbrw_8f.html rename to previous_versions/v12.0.1/ufbrw_8f.html diff --git a/ufbrw_8f.js b/previous_versions/v12.0.1/ufbrw_8f.js similarity index 100% rename from ufbrw_8f.js rename to previous_versions/v12.0.1/ufbrw_8f.js diff --git a/ufbrw_8f_source.html b/previous_versions/v12.0.1/ufbrw_8f_source.html similarity index 100% rename from ufbrw_8f_source.html rename to previous_versions/v12.0.1/ufbrw_8f_source.html diff --git a/ufbseq_8f.html b/previous_versions/v12.0.1/ufbseq_8f.html similarity index 100% rename from ufbseq_8f.html rename to previous_versions/v12.0.1/ufbseq_8f.html diff --git a/ufbseq_8f.js b/previous_versions/v12.0.1/ufbseq_8f.js similarity index 100% rename from ufbseq_8f.js rename to previous_versions/v12.0.1/ufbseq_8f.js diff --git a/ufbseq_8f_source.html b/previous_versions/v12.0.1/ufbseq_8f_source.html similarity index 100% rename from ufbseq_8f_source.html rename to previous_versions/v12.0.1/ufbseq_8f_source.html diff --git a/ufbsp_8f.html b/previous_versions/v12.0.1/ufbsp_8f.html similarity index 100% rename from ufbsp_8f.html rename to previous_versions/v12.0.1/ufbsp_8f.html diff --git a/ufbsp_8f.js b/previous_versions/v12.0.1/ufbsp_8f.js similarity index 100% rename from ufbsp_8f.js rename to previous_versions/v12.0.1/ufbsp_8f.js diff --git a/ufbsp_8f_source.html b/previous_versions/v12.0.1/ufbsp_8f_source.html similarity index 100% rename from ufbsp_8f_source.html rename to previous_versions/v12.0.1/ufbsp_8f_source.html diff --git a/ufbstp_8f.html b/previous_versions/v12.0.1/ufbstp_8f.html similarity index 100% rename from ufbstp_8f.html rename to previous_versions/v12.0.1/ufbstp_8f.html diff --git a/ufbstp_8f.js b/previous_versions/v12.0.1/ufbstp_8f.js similarity index 100% rename from ufbstp_8f.js rename to previous_versions/v12.0.1/ufbstp_8f.js diff --git a/ufbstp_8f_source.html b/previous_versions/v12.0.1/ufbstp_8f_source.html similarity index 100% rename from ufbstp_8f_source.html rename to previous_versions/v12.0.1/ufbstp_8f_source.html diff --git a/ufbtab_8f.html b/previous_versions/v12.0.1/ufbtab_8f.html similarity index 100% rename from ufbtab_8f.html rename to previous_versions/v12.0.1/ufbtab_8f.html diff --git a/ufbtab_8f.js b/previous_versions/v12.0.1/ufbtab_8f.js similarity index 100% rename from ufbtab_8f.js rename to previous_versions/v12.0.1/ufbtab_8f.js diff --git a/ufbtab_8f_source.html b/previous_versions/v12.0.1/ufbtab_8f_source.html similarity index 100% rename from ufbtab_8f_source.html rename to previous_versions/v12.0.1/ufbtab_8f_source.html diff --git a/ufbtam_8f.html b/previous_versions/v12.0.1/ufbtam_8f.html similarity index 100% rename from ufbtam_8f.html rename to previous_versions/v12.0.1/ufbtam_8f.html diff --git a/ufbtam_8f.js b/previous_versions/v12.0.1/ufbtam_8f.js similarity index 100% rename from ufbtam_8f.js rename to previous_versions/v12.0.1/ufbtam_8f.js diff --git a/ufbtam_8f_source.html b/previous_versions/v12.0.1/ufbtam_8f_source.html similarity index 100% rename from ufbtam_8f_source.html rename to previous_versions/v12.0.1/ufbtam_8f_source.html diff --git a/ufdump_8f.html b/previous_versions/v12.0.1/ufdump_8f.html similarity index 100% rename from ufdump_8f.html rename to previous_versions/v12.0.1/ufdump_8f.html diff --git a/ufdump_8f.js b/previous_versions/v12.0.1/ufdump_8f.js similarity index 100% rename from ufdump_8f.js rename to previous_versions/v12.0.1/ufdump_8f.js diff --git a/ufdump_8f_source.html b/previous_versions/v12.0.1/ufdump_8f_source.html similarity index 100% rename from ufdump_8f_source.html rename to previous_versions/v12.0.1/ufdump_8f_source.html diff --git a/up8_8f.html b/previous_versions/v12.0.1/up8_8f.html similarity index 100% rename from up8_8f.html rename to previous_versions/v12.0.1/up8_8f.html diff --git a/up8_8f.js b/previous_versions/v12.0.1/up8_8f.js similarity index 100% rename from up8_8f.js rename to previous_versions/v12.0.1/up8_8f.js diff --git a/up8_8f_source.html b/previous_versions/v12.0.1/up8_8f_source.html similarity index 100% rename from up8_8f_source.html rename to previous_versions/v12.0.1/up8_8f_source.html diff --git a/upb8_8f.html b/previous_versions/v12.0.1/upb8_8f.html similarity index 100% rename from upb8_8f.html rename to previous_versions/v12.0.1/upb8_8f.html diff --git a/upb8_8f.js b/previous_versions/v12.0.1/upb8_8f.js similarity index 100% rename from upb8_8f.js rename to previous_versions/v12.0.1/upb8_8f.js diff --git a/upb8_8f_source.html b/previous_versions/v12.0.1/upb8_8f_source.html similarity index 100% rename from upb8_8f_source.html rename to previous_versions/v12.0.1/upb8_8f_source.html diff --git a/upb_8f.html b/previous_versions/v12.0.1/upb_8f.html similarity index 100% rename from upb_8f.html rename to previous_versions/v12.0.1/upb_8f.html diff --git a/upb_8f.js b/previous_versions/v12.0.1/upb_8f.js similarity index 100% rename from upb_8f.js rename to previous_versions/v12.0.1/upb_8f.js diff --git a/upb_8f_source.html b/previous_versions/v12.0.1/upb_8f_source.html similarity index 100% rename from upb_8f_source.html rename to previous_versions/v12.0.1/upb_8f_source.html diff --git a/upbb_8f.html b/previous_versions/v12.0.1/upbb_8f.html similarity index 100% rename from upbb_8f.html rename to previous_versions/v12.0.1/upbb_8f.html diff --git a/upbb_8f.js b/previous_versions/v12.0.1/upbb_8f.js similarity index 100% rename from upbb_8f.js rename to previous_versions/v12.0.1/upbb_8f.js diff --git a/upbb_8f_source.html b/previous_versions/v12.0.1/upbb_8f_source.html similarity index 100% rename from upbb_8f_source.html rename to previous_versions/v12.0.1/upbb_8f_source.html diff --git a/upc_8f.html b/previous_versions/v12.0.1/upc_8f.html similarity index 100% rename from upc_8f.html rename to previous_versions/v12.0.1/upc_8f.html diff --git a/upc_8f.js b/previous_versions/v12.0.1/upc_8f.js similarity index 100% rename from upc_8f.js rename to previous_versions/v12.0.1/upc_8f.js diff --git a/upc_8f_source.html b/previous_versions/v12.0.1/upc_8f_source.html similarity index 100% rename from upc_8f_source.html rename to previous_versions/v12.0.1/upc_8f_source.html diff --git a/upds3_8f.html b/previous_versions/v12.0.1/upds3_8f.html similarity index 100% rename from upds3_8f.html rename to previous_versions/v12.0.1/upds3_8f.html diff --git a/upds3_8f.js b/previous_versions/v12.0.1/upds3_8f.js similarity index 100% rename from upds3_8f.js rename to previous_versions/v12.0.1/upds3_8f.js diff --git a/upds3_8f_source.html b/previous_versions/v12.0.1/upds3_8f_source.html similarity index 100% rename from upds3_8f_source.html rename to previous_versions/v12.0.1/upds3_8f_source.html diff --git a/upftbv_8f.html b/previous_versions/v12.0.1/upftbv_8f.html similarity index 100% rename from upftbv_8f.html rename to previous_versions/v12.0.1/upftbv_8f.html diff --git a/upftbv_8f.js b/previous_versions/v12.0.1/upftbv_8f.js similarity index 100% rename from upftbv_8f.js rename to previous_versions/v12.0.1/upftbv_8f.js diff --git a/upftbv_8f_source.html b/previous_versions/v12.0.1/upftbv_8f_source.html similarity index 100% rename from upftbv_8f_source.html rename to previous_versions/v12.0.1/upftbv_8f_source.html diff --git a/ups_8f.html b/previous_versions/v12.0.1/ups_8f.html similarity index 100% rename from ups_8f.html rename to previous_versions/v12.0.1/ups_8f.html diff --git a/ups_8f.js b/previous_versions/v12.0.1/ups_8f.js similarity index 100% rename from ups_8f.js rename to previous_versions/v12.0.1/ups_8f.js diff --git a/ups_8f_source.html b/previous_versions/v12.0.1/ups_8f_source.html similarity index 100% rename from ups_8f_source.html rename to previous_versions/v12.0.1/ups_8f_source.html diff --git a/uptdd_8f.html b/previous_versions/v12.0.1/uptdd_8f.html similarity index 100% rename from uptdd_8f.html rename to previous_versions/v12.0.1/uptdd_8f.html diff --git a/uptdd_8f.js b/previous_versions/v12.0.1/uptdd_8f.js similarity index 100% rename from uptdd_8f.js rename to previous_versions/v12.0.1/uptdd_8f.js diff --git a/uptdd_8f_source.html b/previous_versions/v12.0.1/uptdd_8f_source.html similarity index 100% rename from uptdd_8f_source.html rename to previous_versions/v12.0.1/uptdd_8f_source.html diff --git a/usrtpl_8f.html b/previous_versions/v12.0.1/usrtpl_8f.html similarity index 100% rename from usrtpl_8f.html rename to previous_versions/v12.0.1/usrtpl_8f.html diff --git a/usrtpl_8f.js b/previous_versions/v12.0.1/usrtpl_8f.js similarity index 100% rename from usrtpl_8f.js rename to previous_versions/v12.0.1/usrtpl_8f.js diff --git a/usrtpl_8f_source.html b/previous_versions/v12.0.1/usrtpl_8f_source.html similarity index 100% rename from usrtpl_8f_source.html rename to previous_versions/v12.0.1/usrtpl_8f_source.html diff --git a/wrcmps_8f.html b/previous_versions/v12.0.1/wrcmps_8f.html similarity index 100% rename from wrcmps_8f.html rename to previous_versions/v12.0.1/wrcmps_8f.html diff --git a/wrcmps_8f.js b/previous_versions/v12.0.1/wrcmps_8f.js similarity index 100% rename from wrcmps_8f.js rename to previous_versions/v12.0.1/wrcmps_8f.js diff --git a/wrcmps_8f_source.html b/previous_versions/v12.0.1/wrcmps_8f_source.html similarity index 100% rename from wrcmps_8f_source.html rename to previous_versions/v12.0.1/wrcmps_8f_source.html diff --git a/wrdesc_8c.html b/previous_versions/v12.0.1/wrdesc_8c.html similarity index 100% rename from wrdesc_8c.html rename to previous_versions/v12.0.1/wrdesc_8c.html diff --git a/wrdesc_8c.js b/previous_versions/v12.0.1/wrdesc_8c.js similarity index 100% rename from wrdesc_8c.js rename to previous_versions/v12.0.1/wrdesc_8c.js diff --git a/wrdesc_8c_source.html b/previous_versions/v12.0.1/wrdesc_8c_source.html similarity index 100% rename from wrdesc_8c_source.html rename to previous_versions/v12.0.1/wrdesc_8c_source.html diff --git a/wrdlen_8F.html b/previous_versions/v12.0.1/wrdlen_8F.html similarity index 100% rename from wrdlen_8F.html rename to previous_versions/v12.0.1/wrdlen_8F.html diff --git a/wrdlen_8F.js b/previous_versions/v12.0.1/wrdlen_8F.js similarity index 100% rename from wrdlen_8F.js rename to previous_versions/v12.0.1/wrdlen_8F.js diff --git a/wrdlen_8F_source.html b/previous_versions/v12.0.1/wrdlen_8F_source.html similarity index 100% rename from wrdlen_8F_source.html rename to previous_versions/v12.0.1/wrdlen_8F_source.html diff --git a/wrdxtb_8f.html b/previous_versions/v12.0.1/wrdxtb_8f.html similarity index 100% rename from wrdxtb_8f.html rename to previous_versions/v12.0.1/wrdxtb_8f.html diff --git a/wrdxtb_8f.js b/previous_versions/v12.0.1/wrdxtb_8f.js similarity index 100% rename from wrdxtb_8f.js rename to previous_versions/v12.0.1/wrdxtb_8f.js diff --git a/wrdxtb_8f_source.html b/previous_versions/v12.0.1/wrdxtb_8f_source.html similarity index 100% rename from wrdxtb_8f_source.html rename to previous_versions/v12.0.1/wrdxtb_8f_source.html diff --git a/writcp_8f.html b/previous_versions/v12.0.1/writcp_8f.html similarity index 100% rename from writcp_8f.html rename to previous_versions/v12.0.1/writcp_8f.html diff --git a/writcp_8f.js b/previous_versions/v12.0.1/writcp_8f.js similarity index 100% rename from writcp_8f.js rename to previous_versions/v12.0.1/writcp_8f.js diff --git a/writcp_8f_source.html b/previous_versions/v12.0.1/writcp_8f_source.html similarity index 100% rename from writcp_8f_source.html rename to previous_versions/v12.0.1/writcp_8f_source.html diff --git a/writdx_8f.html b/previous_versions/v12.0.1/writdx_8f.html similarity index 100% rename from writdx_8f.html rename to previous_versions/v12.0.1/writdx_8f.html diff --git a/writdx_8f.js b/previous_versions/v12.0.1/writdx_8f.js similarity index 100% rename from writdx_8f.js rename to previous_versions/v12.0.1/writdx_8f.js diff --git a/writdx_8f_source.html b/previous_versions/v12.0.1/writdx_8f_source.html similarity index 100% rename from writdx_8f_source.html rename to previous_versions/v12.0.1/writdx_8f_source.html diff --git a/writlc_8f.html b/previous_versions/v12.0.1/writlc_8f.html similarity index 100% rename from writlc_8f.html rename to previous_versions/v12.0.1/writlc_8f.html diff --git a/writlc_8f.js b/previous_versions/v12.0.1/writlc_8f.js similarity index 100% rename from writlc_8f.js rename to previous_versions/v12.0.1/writlc_8f.js diff --git a/writlc_8f_source.html b/previous_versions/v12.0.1/writlc_8f_source.html similarity index 100% rename from writlc_8f_source.html rename to previous_versions/v12.0.1/writlc_8f_source.html diff --git a/writsa_8f.html b/previous_versions/v12.0.1/writsa_8f.html similarity index 100% rename from writsa_8f.html rename to previous_versions/v12.0.1/writsa_8f.html diff --git a/writsa_8f.js b/previous_versions/v12.0.1/writsa_8f.js similarity index 100% rename from writsa_8f.js rename to previous_versions/v12.0.1/writsa_8f.js diff --git a/writsa_8f_source.html b/previous_versions/v12.0.1/writsa_8f_source.html similarity index 100% rename from writsa_8f_source.html rename to previous_versions/v12.0.1/writsa_8f_source.html diff --git a/writsb_8f.html b/previous_versions/v12.0.1/writsb_8f.html similarity index 100% rename from writsb_8f.html rename to previous_versions/v12.0.1/writsb_8f.html diff --git a/writsb_8f.js b/previous_versions/v12.0.1/writsb_8f.js similarity index 100% rename from writsb_8f.js rename to previous_versions/v12.0.1/writsb_8f.js diff --git a/writsb_8f_source.html b/previous_versions/v12.0.1/writsb_8f_source.html similarity index 100% rename from writsb_8f_source.html rename to previous_versions/v12.0.1/writsb_8f_source.html diff --git a/wrtree_8f.html b/previous_versions/v12.0.1/wrtree_8f.html similarity index 100% rename from wrtree_8f.html rename to previous_versions/v12.0.1/wrtree_8f.html diff --git a/wrtree_8f.js b/previous_versions/v12.0.1/wrtree_8f.js similarity index 100% rename from wrtree_8f.js rename to previous_versions/v12.0.1/wrtree_8f.js diff --git a/wrtree_8f_source.html b/previous_versions/v12.0.1/wrtree_8f_source.html similarity index 100% rename from wrtree_8f_source.html rename to previous_versions/v12.0.1/wrtree_8f_source.html diff --git a/wtstat_8f.html b/previous_versions/v12.0.1/wtstat_8f.html similarity index 100% rename from wtstat_8f.html rename to previous_versions/v12.0.1/wtstat_8f.html diff --git a/wtstat_8f.js b/previous_versions/v12.0.1/wtstat_8f.js similarity index 100% rename from wtstat_8f.js rename to previous_versions/v12.0.1/wtstat_8f.js diff --git a/wtstat_8f_source.html b/previous_versions/v12.0.1/wtstat_8f_source.html similarity index 100% rename from wtstat_8f_source.html rename to previous_versions/v12.0.1/wtstat_8f_source.html diff --git a/x48_8F.html b/previous_versions/v12.0.1/x48_8F.html similarity index 100% rename from x48_8F.html rename to previous_versions/v12.0.1/x48_8F.html diff --git a/x48_8F.js b/previous_versions/v12.0.1/x48_8F.js similarity index 100% rename from x48_8F.js rename to previous_versions/v12.0.1/x48_8F.js diff --git a/x48_8F_source.html b/previous_versions/v12.0.1/x48_8F_source.html similarity index 100% rename from x48_8F_source.html rename to previous_versions/v12.0.1/x48_8F_source.html diff --git a/x84_8F.html b/previous_versions/v12.0.1/x84_8F.html similarity index 100% rename from x84_8F.html rename to previous_versions/v12.0.1/x84_8F.html diff --git a/x84_8F.js b/previous_versions/v12.0.1/x84_8F.js similarity index 100% rename from x84_8F.js rename to previous_versions/v12.0.1/x84_8F.js diff --git a/x84_8F_source.html b/previous_versions/v12.0.1/x84_8F_source.html similarity index 100% rename from x84_8F_source.html rename to previous_versions/v12.0.1/x84_8F_source.html diff --git a/previous_versions/v12.0.1/xbfmg_8c.html b/previous_versions/v12.0.1/xbfmg_8c.html new file mode 100644 index 000000000..393e494dd --- /dev/null +++ b/previous_versions/v12.0.1/xbfmg_8c.html @@ -0,0 +1,238 @@ + + + + + + + +NCEPLIBS-bufr: xbfmg.c File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              xbfmg.c File Reference
                                                              +
                                                              +
                                                              + +

                                                              Split a BUFR file into separate BUFR files by message. +More...

                                                              +
                                                              #include <stdio.h>
                                                              +#include <stdlib.h>
                                                              +#include <string.h>
                                                              +#include <libgen.h>
                                                              +#include <unistd.h>
                                                              +#include <sys/stat.h>
                                                              +#include "bufrlib.h"
                                                              +
                                                              +

                                                              Go to the source code of this file.

                                                              + + + + + + + + +

                                                              +Functions

                                                              int main (int argc, char *argv[])
                                                               This program splits a single file containing one or more BUFR messages into one or more BUFR files each containing a single BUFR message. More...
                                                               
                                                              void prtusage (char *prgnam)
                                                               This function prints program usage information to standard output. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Split a BUFR file into separate BUFR files by message.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2018-03-01
                                                              + +

                                                              Definition in file xbfmg.c.

                                                              +

                                                              Function Documentation

                                                              + +

                                                              ◆ main()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              int main (int argc,
                                                              char * argv[] 
                                                              )
                                                              +
                                                              + +

                                                              This program splits a single file containing one or more BUFR messages into one or more BUFR files each containing a single BUFR message.

                                                              +

                                                              The output BUFR files are written to the current working directory, according to a pre-defined naming convention as described below.

                                                              +

                                                              Usage
                                                              +

                                                              +  xbfmg [-v] [-h] [-g] bufrfile
                                                              +
                                                              +    where:
                                                              +      -v        prints version information and exits
                                                              +
                                                              +      -h        prints program help and usage information and exits
                                                              +
                                                              +      -g        preserves within each output file any GTS bulletin header
                                                              +                and control characters associated with the corresponding
                                                              +                BUFR message from the input file
                                                              +
                                                              +     bufrfile   [path/]name of input file containing one or more BUFR
                                                              +                messages to be extracted into separate output files within
                                                              +                the current working directory
                                                              +
                                                              +  The output will be stored within the current working directory using
                                                              +  the following filenames:
                                                              +
                                                              +     (basename).xbfmg.out.000001
                                                              +     (basename).xbfmg.out.000002
                                                              +     (basename).xbfmg.out.000003
                                                              +       and so on, up through
                                                              +     (basename).xbfmg.out.(last#)
                                                              +
                                                              +  where:
                                                              +
                                                              +     (basename) = basename of bufrfile
                                                              +
                                                              +     (last#) = total number of BUFR messages in bufrfile
                                                              +
                                                              Parameters
                                                              + + + +
                                                              argc- argument count.
                                                              argv- argument array.
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              0 for success, error code otherwise.
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2018-03-01
                                                              + +

                                                              Definition at line 95 of file xbfmg.c.

                                                              + +

                                                              References bvers_f(), iupb_f(), moda_bufrmg::msglen, prtusage(), VERS_STR_LEN, and wrdlen_f().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ prtusage()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              void prtusage (char * prgnam)
                                                              +
                                                              + +

                                                              This function prints program usage information to standard output.

                                                              +
                                                              Parameters
                                                              + + +
                                                              prgnam- [path/]name of program executable.
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2018-03-01
                                                              + +

                                                              Definition at line 23 of file xbfmg.c.

                                                              + +

                                                              Referenced by main().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/previous_versions/v12.0.1/xbfmg_8c.js b/previous_versions/v12.0.1/xbfmg_8c.js new file mode 100644 index 000000000..dbd150124 --- /dev/null +++ b/previous_versions/v12.0.1/xbfmg_8c.js @@ -0,0 +1,5 @@ +var xbfmg_8c = +[ + [ "main", "xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97", null ], + [ "prtusage", "xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d", null ] +]; \ No newline at end of file diff --git a/previous_versions/v12.0.1/xbfmg_8c_source.html b/previous_versions/v12.0.1/xbfmg_8c_source.html new file mode 100644 index 000000000..97a1e5186 --- /dev/null +++ b/previous_versions/v12.0.1/xbfmg_8c_source.html @@ -0,0 +1,325 @@ + + + + + + + +NCEPLIBS-bufr: xbfmg.c Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.0.1 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              xbfmg.c
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              7 #include <stdio.h>
                                                              +
                                                              8 #include <stdlib.h>
                                                              +
                                                              9 #include <string.h>
                                                              +
                                                              10 #include <libgen.h>
                                                              +
                                                              11 #include <unistd.h>
                                                              +
                                                              12 #include <sys/stat.h>
                                                              +
                                                              13 
                                                              +
                                                              14 #include "bufrlib.h"
                                                              +
                                                              15 
                                                              +
                                                              23 void prtusage( char *prgnam ) {
                                                              +
                                                              24  printf( "\nUSAGE: %s [-v] [-h] [-g] bufrfile\n\n", prgnam );
                                                              +
                                                              25  printf( "WHERE:\n" );
                                                              +
                                                              26  printf( " -v prints program version information and exits\n" );
                                                              +
                                                              27  printf( " -h prints program help and usage information and exits\n" );
                                                              +
                                                              28  printf( " -g preserves within each output file any GTS bulletin header and\n" );
                                                              +
                                                              29  printf( " control characters associated with the corresponding BUFR message\n" );
                                                              +
                                                              30  printf( " from the input file\n" );
                                                              +
                                                              31  printf( " bufrfile [path/]name of input file containing one or more BUFR messages\n" );
                                                              +
                                                              32  printf( " to be extracted into separate output files within the current\n" );
                                                              +
                                                              33  printf( " working directory\n\n" );
                                                              +
                                                              34  printf( "The output will be stored within the current working directory using the\n" );
                                                              +
                                                              35  printf( "following filenames:\n\n" );
                                                              +
                                                              36  printf( " (basename).xbfmg.out.000001\n" );
                                                              +
                                                              37  printf( " (basename).xbfmg.out.000002\n" );
                                                              +
                                                              38  printf( " (basename).xbfmg.out.000003\n" );
                                                              +
                                                              39  printf( " .\n" );
                                                              +
                                                              40  printf( " .\n" );
                                                              +
                                                              41  printf( " (basename).xbfmg.out.(last#)\n\n" );
                                                              +
                                                              42  printf( "where:\n\n" );
                                                              +
                                                              43  printf( " (basename) = basename of bufrfile\n" );
                                                              +
                                                              44  printf( " (last#) = total number of BUFR messages in bufrfile\n\n" );
                                                              +
                                                              45 }
                                                              +
                                                              46 
                                                              +
                                                              95 int main( int argc, char *argv[] ) {
                                                              +
                                                              96 
                                                              +
                                                              97  struct stat fileinfo;
                                                              +
                                                              98 
                                                              +
                                                              99  char *pc, *pmsg, *psb;
                                                              +
                                                              100 
                                                              +
                                                              101  int save_GTSbull = 0;
                                                              +
                                                              102 
                                                              +
                                                              103  char *outfile, *outfile_temp;
                                                              +
                                                              104 
                                                              +
                                                              105  char bvstr[VERS_STR_LEN+1];
                                                              +
                                                              106 
                                                              +
                                                              107  int ch;
                                                              +
                                                              108 
                                                              +
                                                              109  FILE *fp;
                                                              +
                                                              110 
                                                              +
                                                              111  int msglen, wkint;
                                                              +
                                                              112 
                                                              +
                                                              113  unsigned long i, filesize, noutfile;
                                                              +
                                                              114 
                                                              +
                                                              115  /*
                                                              +
                                                              116  ** Get the valid options from the command line:
                                                              +
                                                              117  */
                                                              +
                                                              118  while ( ( ch = getopt ( argc, argv, "vgh" ) ) != EOF ) {
                                                              +
                                                              119  switch ( ch ) {
                                                              +
                                                              120  case 'v':
                                                              +
                                                              121  bvers_f( bvstr, VERS_STR_LEN+1 );
                                                              +
                                                              122  printf( "This is xbfmg v4.0.0, built with NCEPLIBS-bufr v%s\n", bvstr );
                                                              +
                                                              123  return 0;
                                                              +
                                                              124  case 'g':
                                                              +
                                                              125  save_GTSbull = 1;
                                                              +
                                                              126  break;
                                                              +
                                                              127  case 'h':
                                                              +
                                                              128  printf( "\nPROGRAM %s\n", argv[0] );
                                                              +
                                                              129  printf( "\nABSTRACT: This program reads an input file containing one or more\n" );
                                                              +
                                                              130  printf( " BUFR messages as given by the first argument. It then extracts each\n" );
                                                              +
                                                              131  printf( " each individual BUFR message into its own separate output file within\n" );
                                                              +
                                                              132  printf( " the current working directory.\n" );
                                                              +
                                                              133  prtusage( argv[0] );
                                                              +
                                                              134  return 0;
                                                              +
                                                              135  break;
                                                              +
                                                              136  }
                                                              +
                                                              137  }
                                                              +
                                                              138 
                                                              +
                                                              139  /*
                                                              +
                                                              140  ** There should be one remaining command line argument specifying the input file.
                                                              +
                                                              141  */
                                                              +
                                                              142  if ( (optind+1) != argc ) {
                                                              +
                                                              143  printf( "\nERROR: You must specify an input BUFR file of BUFR messages!\n" );
                                                              +
                                                              144  prtusage( argv[0] );
                                                              +
                                                              145  return -1;
                                                              +
                                                              146  }
                                                              +
                                                              147 
                                                              +
                                                              148  /*
                                                              +
                                                              149  ** Get the filesize of the input file.
                                                              +
                                                              150  */
                                                              +
                                                              151  if ( stat( argv[optind], &fileinfo ) != 0 ) {
                                                              +
                                                              152  printf( "\nERROR: Could not stat the file %s!\n", argv[optind] );
                                                              +
                                                              153  return -1;
                                                              +
                                                              154  }
                                                              +
                                                              155  filesize = fileinfo.st_size;
                                                              +
                                                              156 
                                                              +
                                                              157  /*
                                                              +
                                                              158  ** Dynamically allocate memory in order to read in the input file.
                                                              +
                                                              159  */
                                                              +
                                                              160  if ( ( pc = malloc( filesize + 1 ) ) == NULL ) {
                                                              +
                                                              161  printf( "\nERROR: Could not allocate memory for file %s!\n", argv[optind] );
                                                              +
                                                              162  return -1;
                                                              +
                                                              163  }
                                                              +
                                                              164 
                                                              +
                                                              165  /*
                                                              +
                                                              166  ** Read the input file into memory.
                                                              +
                                                              167  */
                                                              +
                                                              168  if ( ( fp = fopen( argv[optind], "rb" ) ) == NULL ) {
                                                              +
                                                              169  printf( "\nERROR: Could not open input file %s!\n", argv[optind] );
                                                              +
                                                              170  free(pc);
                                                              +
                                                              171  return -1;
                                                              +
                                                              172  }
                                                              +
                                                              173  for ( i = 0; i < filesize; i++ ) {
                                                              +
                                                              174  pc[i] = (char) fgetc( fp );
                                                              +
                                                              175  }
                                                              +
                                                              176  pc[i] = '\0';
                                                              +
                                                              177  fclose( fp );
                                                              +
                                                              178 
                                                              +
                                                              179  /*
                                                              +
                                                              180  ** Create an output file name template.
                                                              +
                                                              181  */
                                                              +
                                                              182  if ( ( outfile_temp = malloc( strlen( argv[optind] ) + 26 ) ) == NULL ) {
                                                              +
                                                              183  // allow for up to 25 extra chars so that we can strcat an additional filename qualifier below
                                                              +
                                                              184  printf( "\nERROR: Could not allocate memory for output file name template!\n" );
                                                              +
                                                              185  return -1;
                                                              +
                                                              186  }
                                                              +
                                                              187  strcpy( outfile_temp, basename( argv[optind] ) );
                                                              +
                                                              188  strcat( outfile_temp, ".xbfmg.out" );
                                                              +
                                                              189  if ( ( outfile = malloc( strlen( outfile_temp ) + 26 ) ) == NULL ) {
                                                              +
                                                              190  // allow for up to 25 extra chars so that we can sprintf an additional filename qualifier below
                                                              +
                                                              191  printf( "\nERROR: Could not allocate memory for output file names!\n" );
                                                              +
                                                              192  return -1;
                                                              +
                                                              193  }
                                                              +
                                                              194 
                                                              +
                                                              195  /*
                                                              +
                                                              196  ** Call wrdlen function to initialize NCEPLIBS-bufr and determine machine endianness.
                                                              +
                                                              197  */
                                                              +
                                                              198  wrdlen_f( );
                                                              +
                                                              199 
                                                              +
                                                              200  /*
                                                              +
                                                              201  ** Locate each BUFR message within the input file and write each one to a separate output file.
                                                              +
                                                              202  **
                                                              +
                                                              203  ** Note that we can't use the intrinsic C strstr function to locate the "BUFR" and "7777"
                                                              +
                                                              204  ** strings within the file, because the file could contain embedded NULL characters.
                                                              +
                                                              205  */
                                                              +
                                                              206  noutfile = 0;
                                                              +
                                                              207  pmsg = psb = pc;
                                                              +
                                                              208  while ( 1 ) {
                                                              +
                                                              209  while ( ( ( pmsg - pc + 4 ) < filesize ) &&
                                                              +
                                                              210  ( ( *(pmsg) != 'B' ) ||
                                                              +
                                                              211  ( *(pmsg + 1) != 'U' ) ||
                                                              +
                                                              212  ( *(pmsg + 2) != 'F' ) ||
                                                              +
                                                              213  ( *(pmsg + 3) != 'R' ) ) ) {
                                                              +
                                                              214  if ( *pmsg == '\x01' ) psb = pmsg;
                                                              +
                                                              215  pmsg++;
                                                              +
                                                              216  }
                                                              +
                                                              217  if ( ( pmsg - pc + 4 ) >= filesize ) {
                                                              +
                                                              218  free( pc );
                                                              +
                                                              219  free( outfile_temp );
                                                              +
                                                              220  free( outfile );
                                                              +
                                                              221  return 0;
                                                              +
                                                              222  }
                                                              +
                                                              223 
                                                              +
                                                              224  /*
                                                              +
                                                              225  ** Open a new output file for this message.
                                                              +
                                                              226  */
                                                              +
                                                              227  sprintf( outfile, "%s.%06lu", outfile_temp, ++noutfile );
                                                              +
                                                              228  if ( ( fp = fopen( outfile, "wb" ) ) == NULL ) {
                                                              +
                                                              229  printf( "\nERROR: Could not open output file %s!\n", outfile );
                                                              +
                                                              230  return -1;
                                                              +
                                                              231  }
                                                              +
                                                              232 
                                                              +
                                                              233  /*
                                                              +
                                                              234  ** If requested, write the preceding GTS bulletin information to the output file.
                                                              +
                                                              235  */
                                                              +
                                                              236  if ( save_GTSbull ) {
                                                              +
                                                              237  while ( psb < pmsg ) {
                                                              +
                                                              238  fputc( *psb++, fp );
                                                              +
                                                              239  }
                                                              +
                                                              240  }
                                                              +
                                                              241 
                                                              +
                                                              242  /*
                                                              +
                                                              243  ** Read the BUFR message length from Section 0.
                                                              +
                                                              244  */
                                                              +
                                                              245  memcpy( &wkint, ( pmsg + 4 ), 3 );
                                                              +
                                                              246  msglen = iupb_f( &wkint, 1, 24 );
                                                              +
                                                              247 
                                                              +
                                                              248  /*
                                                              +
                                                              249  ** Write the BUFR message to the output file.
                                                              +
                                                              250  */
                                                              +
                                                              251  if ( ( pmsg + msglen - pc - 1 ) <= filesize ) {
                                                              +
                                                              252  for ( i = 1; i <= msglen; i++ ) {
                                                              +
                                                              253  fputc( *pmsg++, fp );
                                                              +
                                                              254  }
                                                              +
                                                              255  }
                                                              +
                                                              256 
                                                              +
                                                              257  /*
                                                              +
                                                              258  ** Make sure that the "7777" indicator is in the expected place.
                                                              +
                                                              259  */
                                                              +
                                                              260  if ( ( *(pmsg - 4) != '7' ) || ( *(pmsg - 3) != '7' ) ||
                                                              +
                                                              261  ( *(pmsg - 2) != '7' ) || ( *(pmsg - 1) != '7' ) ) {
                                                              +
                                                              262  printf( "\nERROR: Could not find 7777 indicator in output file %s!\n",
                                                              +
                                                              263  outfile );
                                                              +
                                                              264  }
                                                              +
                                                              265 
                                                              +
                                                              266  /*
                                                              +
                                                              267  ** If requested, append GTS bulletin tail markers to the output file.
                                                              +
                                                              268  */
                                                              +
                                                              269  if ( save_GTSbull ) {
                                                              +
                                                              270  fputc( '\x0d', fp );
                                                              +
                                                              271  fputc( '\x0d', fp );
                                                              +
                                                              272  fputc( '\x0a', fp );
                                                              +
                                                              273  fputc( '\x03', fp );
                                                              +
                                                              274  }
                                                              +
                                                              275 
                                                              +
                                                              276  fclose( fp );
                                                              +
                                                              277  }
                                                              +
                                                              278 }
                                                              +
                                                              void bvers_f(char *cverstr, int cverstr_len)
                                                              Get the version number of the NCEPLIBS-bufr software.
                                                              +
                                                              Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                                              +
                                                              #define VERS_STR_LEN
                                                              Size of a character string needed to store a library version number.
                                                              Definition: bufrlib.h:72
                                                              +
                                                              void wrdlen_f(void)
                                                              Determine important information about the local machine.
                                                              +
                                                              int iupb_f(int *mbay, int nbyt, int nbit)
                                                              Decode an integer value from an integer array.
                                                              +
                                                              integer, dimension(:), allocatable msglen
                                                              Length (in integers) of BUFR message most recently written to each output I/O stream.
                                                              +
                                                              int main(int argc, char *argv[])
                                                              This program splits a single file containing one or more BUFR messages into one or more BUFR files ea...
                                                              Definition: xbfmg.c:95
                                                              +
                                                              void prtusage(char *prgnam)
                                                              This function prints program usage information to standard output.
                                                              Definition: xbfmg.c:23
                                                              +
                                                              +
                                                              + + + + diff --git a/python/index.html b/python/index.html index 767f30175..47f515e3c 100644 --- a/python/index.html +++ b/python/index.html @@ -1,250 +1,7 @@ - + - - - Module List – pdoc 7.2.0 - - - - - - - - + - -
                                                              - - pdoc logo - - -
                                                              -
                                                              -
                                                              - - - - \ No newline at end of file + diff --git a/python/ncepbufr.html b/python/ncepbufr.html index 0c4bd6067..5c25b19d0 100644 --- a/python/ncepbufr.html +++ b/python/ncepbufr.html @@ -3,39 +3,32 @@ - + ncepbufr API documentation - - - - - - -
                                                              -
                                                              +

                                                              ncepbufr

                                                              -
                                                              - View Source -
                                                              import _bufrlib
                                                              -import random
                                                              -import bisect
                                                              -import numpy as np
                                                              -from .bufr_mnemonics import *
                                                              -import os
                                                              -
                                                              -__version__ = "1.1.1"
                                                              -__bufrlib_version__ = _bufrlib.bvers().rstrip()
                                                              -
                                                              -# create list of allowed fortran unit numbers
                                                              -_funits = list(range(1,100))
                                                              -# remove unit numbers used for stdin and stdout
                                                              -_funits.remove(5)
                                                              -_funits.remove(6)
                                                              -_maxdim = 5000 # max number of data levels in message
                                                              -_maxevents = 255 # max number of prepbufr events in message
                                                              -_nmaxseq = _maxevents # max size of sequence in message
                                                              -
                                                              -def set_param(key, value):
                                                              -    """
                                                              -    set BUFRLIB internal parameters controlling size limits.
                                                              -    Must be done prior to opening a bufr file.  Valid parameters are:
                                                              -
                                                              -    'MXMSGL' = MAXIMUM LENGTH (IN BYTES) OF A BUFR\
                                                              -               MESSAGE
                                                              -
                                                              -    'MAXSS'  = MAXIMUM NUMBER OF DATA VALUES IN AN
                                                              -               UNCOMPRESSED BUFR SUBSET
                                                              -
                                                              -    'MXCDV'  = MAXIMUM NUMBER OF DATA VALUES THAT CAN BE
                                                              -               WRITTEN INTO A COMPRESSED BUFR SUBSET
                                                              -
                                                              -    'MXLCC'  = MAXIMUM LENGTH (IN BYTES) OF A CHARACTER
                                                              -               STRING THAT CAN BE WRITTEN INTO A
                                                              -               COMPRESSED BUFR SUBSET
                                                              -
                                                              -    'MXCSB'  = MAXIMUM NUMBER OF SUBSETS THAT CAN BE
                                                              -               WRITTEN INTO A COMPRESSED BUFR MESSAGE
                                                              -
                                                              -    'NFILES' = MAXIMUM NUMBER OF BUFR FILES THAT CAN BE
                                                              -               ACCESSED FOR READING OR WRITING AT ANY
                                                              -               ONE TIME
                                                              -
                                                              -    'MAXTBA' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              -               TABLE A PER BUFR FILE
                                                              -
                                                              -    'MAXTBB' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              -               TABLE B PER BUFR FILE
                                                              -
                                                              -    'MAXTBD' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              -               TABLE D PER BUFR FILE
                                                              +                        
                                                              +
                                                              +                        
                                                              +
                                                              +                        
                                                                1import _bufrlib
                                                              +  2import random
                                                              +  3import bisect
                                                              +  4import numpy as np
                                                              +  5from .bufr_mnemonics import *
                                                              +  6import os
                                                              +  7
                                                              +  8__version__ = "1.1.1"
                                                              +  9__bufrlib_version__ = _bufrlib.bvers().rstrip()
                                                              + 10
                                                              + 11# create list of allowed fortran unit numbers
                                                              + 12_funits = list(range(1,100))
                                                              + 13# remove unit numbers used for stdin and stdout
                                                              + 14_funits.remove(5)
                                                              + 15_funits.remove(6)
                                                              + 16_maxdim = 5000 # max number of data levels in message
                                                              + 17_maxevents = 255 # max number of prepbufr events in message
                                                              + 18_nmaxseq = _maxevents # max size of sequence in message
                                                              + 19
                                                              + 20def set_param(key, value):
                                                              + 21    """
                                                              + 22    set BUFRLIB internal parameters controlling size limits.
                                                              + 23    Must be done prior to opening a bufr file.  Valid parameters are
                                                              + 24    listed in the docblock of the isetprm source file.
                                                              + 25
                                                              + 26    The 'get_param' function can be used to obtain the current value of these
                                                              + 27    parameters."""
                                                              + 28    return _bufrlib.isetprm(key, value)
                                                              + 29
                                                              + 30def get_param(key):
                                                              + 31    """
                                                              + 32    get the values BUFRLIB internal parameters controlling size limits.
                                                              + 33    see 'set_param' docstring for allowable parameter names."""
                                                              + 34    return _bufrlib.igetprm(key)
                                                              + 35
                                                              + 36def set_missing_value(missing_value):
                                                              + 37    """
                                                              + 38    set bufr missing value.
                                                              + 39    """
                                                              + 40    _bufrlib.setbmiss(missing_value)
                                                              + 41
                                                              + 42def get_missing_value():
                                                              + 43    """
                                                              + 44    get bufr missing value.
                                                              + 45    """
                                                              + 46    return _bufrlib.getbmiss()
                                                              + 47
                                                              + 48def set_datelength(charlen):
                                                              + 49    """
                                                              + 50    set number of digits for date specification (10 gives `YYYYMMDDHH`)
                                                              + 51    """
                                                              + 52    _bufrlib.datelen(charlen)
                                                              + 53
                                                              + 54set_datelength(10) # set default date length to 10 (YYYYMDDHH)
                                                              + 55
                                                              + 56class open:
                                                              + 57    """
                                                              + 58    bufr file object.
                                                              + 59
                                                              + 60    `ncepbufr.open.__init__` used to construct instance.
                                                              + 61
                                                              + 62    `ncepbufr.open.advance` method can be used step through bufr messages.
                                                              + 63    """
                                                              + 64    def __init__(self,filename,mode='r',table=None):
                                                              + 65        """
                                                              + 66        bufr object constructor
                                                              + 67
                                                              + 68        `filename`: bufr file name.
                                                              + 69
                                                              + 70        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              + 71        `'r'`).
                                                              + 72
                                                              + 73        `table`:  bufr table filename or ncepbufr.open instance.
                                                              + 74        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              + 75        If table is an existing ncepbufr.open instance, the table
                                                              + 76        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              + 77        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              + 78        """
                                                              + 79        # randomly choose available fortran unit number
                                                              + 80        self.lunit = random.choice(_funits)
                                                              + 81        self.filename = filename
                                                              + 82        '''bufr file opened with this fortran unit number'''
                                                              + 83        _funits.remove(self.lunit)
                                                              + 84        if not _funits:
                                                              + 85            raise IOError("too many files open")
                                                              + 86        if mode == 'r':
                                                              + 87            self._ioflag = 'IN'
                                                              + 88        elif mode == 'w':
                                                              + 89            if table is None:
                                                              + 90                msg="must specify file containing bufr table when mode='w'"
                                                              + 91                raise ValueError(msg)
                                                              + 92            self._ioflag = 'OUT'
                                                              + 93        elif mode == 'a':
                                                              + 94            self._ioflag = 'APN'
                                                              + 95        else:
                                                              + 96            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              + 97        if mode == 'r' or mode == 'a':
                                                              + 98            if not os.path.isfile(filename):
                                                              + 99                msg='%s does not exist' % filename
                                                              +100                raise IOError(msg)
                                                              +101            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +102            if iret != 0:
                                                              +103                msg='error opening %s' % filename
                                                              +104                raise IOError(msg)
                                                              +105            if table is None:
                                                              +106                # table embedded in bufr file
                                                              +107                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              +108                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              +109            else:
                                                              +110                try:
                                                              +111                    # share a bufr table with another instance
                                                              +112                    self.lundx = table.lunit
                                                              +113                except AttributeError:
                                                              +114                    # external table file specified
                                                              +115                    self.lundx = random.choice(_funits)
                                                              +116                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +117                    if iret != 0:
                                                              +118                        msg='error opening %s' % filename
                                                              +119                        raise IOError(msg)
                                                              +120                    _funits.remove(self.lundx)
                                                              +121                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +122        elif mode == 'w':
                                                              +123            try:
                                                              +124                # share a bufr table with another instance
                                                              +125                self.lundx = table.lunit
                                                              +126            except AttributeError:
                                                              +127                # read bufr table from a file.
                                                              +128                self.lundx = random.choice(_funits)
                                                              +129                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +130                if iret != 0:
                                                              +131                    msg='error opening %s' % table
                                                              +132                    raise IOError(msg)
                                                              +133                _funits.remove(self.lundx)
                                                              +134            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +135            if iret != 0:
                                                              +136                msg='error opening %s' % filename
                                                              +137                raise IOError(msg)
                                                              +138            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +139        # initialized message number counter
                                                              +140        self.msg_counter = 0
                                                              +141        '''current bufr message number'''
                                                              +142        self.msg_type = None
                                                              +143        '''current bufr message type'''
                                                              +144        self.msg_date = None
                                                              +145        '''reference date for bufr message'''
                                                              +146        self.receipt_time = None
                                                              +147        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              +148        self.subsets = None
                                                              +149        '''number of subsets in the bufr message'''
                                                              +150        # missing value in decoded data.
                                                              +151        # (if equal to self.missing_value, data is masked)
                                                              +152        self.missing_value = get_missing_value()
                                                              +153        '''bufr missing value'''
                                                              +154    def _receipt_time(self):
                                                              +155        """
                                                              +156        return 'tank' receipt time (`YYYYMMDDHHMM`).
                                                              +157
                                                              +158        returns -1 if there is no tank receipt time for this message.
                                                              +159        """
                                                              +160        iyr,imon,iday,ihr,imin,iret = _bufrlib.rtrcpt(self.lunit)
                                                              +161        if iret == 0:
                                                              +162            return int('%04i%02i%02i%02i%02i' % (iyr,imon,iday,ihr,imin))
                                                              +163        else:
                                                              +164            return iret
                                                              +165    def _subsets(self):
                                                              +166        """
                                                              +167        return the number of subsets in this bufr message
                                                              +168        """
                                                              +169        return _bufrlib.nmsub(self.lunit)
                                                              +170    def dump_table(self,filename):
                                                              +171        """
                                                              +172        dump embedded bufr table to a file
                                                              +173        """
                                                              +174        lundx = random.choice(_funits)
                                                              +175        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              +176        if iret != 0:
                                                              +177            msg='error opening %s' % filename
                                                              +178        _bufrlib.dxdump(self.lunit,lundx)
                                                              +179        iret = _bufrlib.fortran_close(lundx)
                                                              +180        if iret == 0:
                                                              +181            bisect.insort_left(_funits,lundx)
                                                              +182        else:
                                                              +183            raise IOError('error closing %s' % filename)
                                                              +184    def print_table(self):
                                                              +185        """
                                                              +186        print embedded bufr table to stdout
                                                              +187        """
                                                              +188        _bufrlib.dxdump(self.lunit,6)
                                                              +189    def close(self):
                                                              +190        """
                                                              +191        close the bufr file
                                                              +192        """
                                                              +193        _bufrlib.closbf(self.lunit)
                                                              +194        # add fortran unit number back to pool
                                                              +195        bisect.insort_left(_funits,self.lunit)
                                                              +196        if self.lundx != self.lunit:
                                                              +197            iret = _bufrlib.fortran_close(self.lundx)
                                                              +198            if iret == 0:
                                                              +199                bisect.insort_left(_funits,self.lundx)
                                                              +200            else:
                                                              +201                raise IOError('error closing bufr table')
                                                              +202
                                                              +203    def cmpmsg(self, cmp):
                                                              +204        """
                                                              +205        compress the data in subsequent writes to the bufr file
                                                              +206        """
                                                              +207        _bufrlib.cmpmsg(cmp)
                                                              +208
                                                              +209    def advance(self):
                                                              +210        """
                                                              +211        advance to the next msg in the bufr file
                                                              +212        returns 0 if advance was sucessful,
                                                              +213        1 if not (presumably because the end
                                                              +214        of the file was reached).
                                                              +215
                                                              +216        The following attributes are set each time
                                                              +217        file is advanced to the next message:
                                                              +218
                                                              +219        `msg_type`: string describing type of message.
                                                              +220
                                                              +221        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              +222
                                                              +223        `msg_counter`: message number.
                                                              +224
                                                              +225        `receipt_time`: bufr tank receipt time.
                                                              +226
                                                              +227        `subsets`: number of subsets in the message.
                                                              +228
                                                              +229        `subset_loaded`: Boolean indicating whether a subset has been
                                                              +230        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              +231
                                                              +232        To loop through all the bufr messages in a file:
                                                              +233
                                                              +234            :::python
                                                              +235            >>> bufr = ncepbufr.open(filename)
                                                              +236            >>> while bufr.advance() == 0:
                                                              +237            >>>     # processing code for each message here
                                                              +238
                                                              +239        """
                                                              +240        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              +241        if iret:
                                                              +242            return iret
                                                              +243        else:
                                                              +244            self.msg_type = subset.decode('ascii').rstrip()
                                                              +245            self.msg_date = idate
                                                              +246            self.msg_counter += 1
                                                              +247            self.subset_loaded = False
                                                              +248            self.receipt_time = self._receipt_time()
                                                              +249            self.subsets = self._subsets()
                                                              +250            return 0
                                                              +251    def inventory(self):
                                                              +252        """
                                                              +253        return a list containing an inventory of the bufr file.
                                                              +254        The list contains a tuple for each message.
                                                              +255        containing (msg_type,msg_date,receipt_time,subsets).
                                                              +256        """
                                                              +257        self.checkpoint()
                                                              +258        inv = []
                                                              +259        while self.advance() == 0:
                                                              +260            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              +261        self.restore()
                                                              +262        return inv
                                                              +263
                                                              +264    def print_subset(self,verbose=False):
                                                              +265        """
                                                              +266        print a textual representation of the decoded
                                                              +267        data in the currently loaded subset.
                                                              +268
                                                              +269        If `verbose=True`, more complete but harder to read info is written.
                                                              +270
                                                              +271        `ncepbufr.open.load_subset` must be called before
                                                              +272        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              +273        """
                                                              +274        if not verbose:
                                                              +275            _bufrlib.ufdump(self.lunit,6)
                                                              +276        else:
                                                              +277            _bufrlib.ufbdmp(self.lunit,6)
                                                              +278    def copy_subset(self,bufrin):
                                                              +279        """
                                                              +280        copy the currently loaded subset from the specified bufr file object
                                                              +281        and write to the current bufr message"""
                                                              +282        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              +283        _bufrlib.writsb(self.lunit)
                                                              +284    def dump_subset(self,filename,append=False,verbose=False):
                                                              +285        """
                                                              +286        dump a textual representation of the decoded
                                                              +287        data in the currently loaded subset to a file.
                                                              +288
                                                              +289        If `append=True`, append to an existing file
                                                              +290        (otherwise over-write file).
                                                              +291
                                                              +292        If `verbose=True`, more complete but harder to read info is written.
                                                              +293
                                                              +294        `ncepbufr.open.load_subset` must be called before
                                                              +295        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              +296        """
                                                              +297        lunout = random.choice(_funits)
                                                              +298        if not append:
                                                              +299            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              +300        else:
                                                              +301            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              +302        if iret != 0:
                                                              +303            msg='error opening %s' % filename
                                                              +304        if not verbose:
                                                              +305            _bufrlib.ufdump(self.lunit,lunout)
                                                              +306        else:
                                                              +307            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              +308        iret = _bufrlib.fortran_close(lunout)
                                                              +309        if iret == 0:
                                                              +310            bisect.insort_left(_funits,lunout)
                                                              +311        else:
                                                              +312            raise IOError('error closing %s' % filename)
                                                              +313    def get_program_code(self,mnemonic):
                                                              +314        """
                                                              +315        return prepbufr event program code
                                                              +316        associated with specified mnemonic
                                                              +317        (see `src/ufbqcd.f` for more details)
                                                              +318        """
                                                              +319        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              +320    def get_flag_table_bits(self, mnemonic, val):
                                                              +321        """
                                                              +322        return bit settings associated with
                                                              +323        a specifed value and flag table mnemonic
                                                              +324        (see src/upftbv.f for more details)
                                                              +325        """
                                                              +326        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              +327        return ibits[:nbits]
                                                              +328    def checkpoint(self):
                                                              +329        """
                                                              +330        mark where we are in the bufr file,
                                                              +331        and rewind the file.
                                                              +332        The `ncepbufr.open.restore` method can then be
                                                              +333        used to go back to this state.
                                                              +334        """
                                                              +335        _bufrlib.rewnbf(self.lunit,0)
                                                              +336        self.msg_counter = 0
                                                              +337        self.msg_type = None
                                                              +338        self.msg_date = None
                                                              +339        self.receipt_time = None
                                                              +340        self.subsets = None
                                                              +341    def rewind(self):
                                                              +342        """
                                                              +343        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              +344        """
                                                              +345        self.checkpoint()
                                                              +346    def restore(self):
                                                              +347        """
                                                              +348        restore the state of the bufr
                                                              +349        file that recorded by a previous call
                                                              +350        to `ncepbufr.open.checkpoint`.
                                                              +351        """
                                                              +352        _bufrlib.rewnbf(self.lunit,1)
                                                              +353    def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              +354        """
                                                              +355        open new bufr message.
                                                              +356
                                                              +357        Mandatory arguments:
                                                              +358
                                                              +359        `msg_type`: string describing type of message.
                                                              +360
                                                              +361        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              +362        number of digits in the reference date is controlled by
                                                              +363        module function `set_datelength`, and is 10 by default.
                                                              +364
                                                              +365        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              +366        """
                                                              +367        if msg_receipt_time is not None:
                                                              +368            yyyymmddhhmm = str(msg_receipt_time)
                                                              +369            try:
                                                              +370                yyyy = int(yyyymmddhhmm[0:4])
                                                              +371                mm = int(yyyymmddhhmm[4:6])
                                                              +372                dd = int(yyyymmddhhmm[6:8])
                                                              +373                hh = int(yyyymmddhhmm[8:10])
                                                              +374                mm = int(yyyymmddhhmm[10:12])
                                                              +375                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              +376            except IndexError:
                                                              +377                pass # don't write receipt time
                                                              +378        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              +379    def copy_message(self,bufrin):
                                                              +380        """
                                                              +381        copy the currently loaded message from the specified bufr file object
                                                              +382        and write to the file"""
                                                              +383        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              +384    def close_message(self):
                                                              +385        """
                                                              +386        close bufr message
                                                              +387        """
                                                              +388        _bufrlib.closmg(self.lunit)
                                                              +389    def load_subset(self):
                                                              +390        """
                                                              +391        load subset data from the current message
                                                              +392        (must be called before `ncepbufr.open.read_subset`).
                                                              +393        To loop through all messages in a file, and
                                                              +394        all subsets in each message:
                                                              +395
                                                              +396            :::python
                                                              +397            >>> bufr = ncepbufr.open(filename)
                                                              +398            >>> while bufr.advance() == 0:
                                                              +399            >>>     while bufr.load_subset() == 0:
                                                              +400            >>>         # processing code for each subset here
                                                              +401
                                                              +402        """
                                                              +403        iret = _bufrlib.ireadsb(self.lunit)
                                                              +404        if iret == 0:
                                                              +405            self.subset_loaded = True
                                                              +406        return iret
                                                              +407    def read_long_string(self,mnemonic):
                                                              +408        """
                                                              +409        Decode character string from the currently loaded message subset
                                                              +410        using the specified mnemonic (a 'mnemonic' is simply a
                                                              +411        descriptive, alphanumeric name for a data value, like
                                                              +412        a key in a python dictionary). The mnemonic string
                                                              +413        must be a single mnemonic only. If the subset contains more 
                                                              +414        than one occurrence of the mnemonic, then can append '#X' to 
                                                              +415        the mnemonic to request the character string corresponding to 
                                                              +416        the Xth occurrence of the mnemonic, counting from the beginning 
                                                              +417        of the subset. Otherwise, X is assumed to be 1.
                                                              +418        
                                                              +419        Returns the character string, if found, or "MISSING" if not.
                                                              +420
                                                              +421        Example:
                                                              +422
                                                              +423            :::python
                                                              +424            >>> bufr = ncepbufr.open(filename)
                                                              +425            >>> while bufr.advance() == 0:
                                                              +426            >>>     while bufr.load_subset() == 0:
                                                              +427            >>>         st_name = bufr.read_long_string(mnemonic='STSN')
                                                              +428        """
                                                              +429        if not self.subset_loaded:
                                                              +430            raise IOError('subset not loaded, call load_subset first')
                                                              +431        if len(mnemonic.split()) > 1:
                                                              +432            raise ValueError('only one mnemonic per call to read_long_string')
                                                              +433        long_string = _bufrlib.readlc(self.lunit,mnemonic)
                                                              +434        try:
                                                              +435            result = str(long_string, encoding='ascii').strip()
                                                              +436        except UnicodeDecodeError:
                                                              +437            try:
                                                              +438                if all([bt == int('0xff',16) for bt in long_string.strip()]):
                                                              +439                    # All values set to 255 for missing data.
                                                              +440                    result = 'MISSING'
                                                              +441                else:
                                                              +442                    # Extended ASCII for Roman alphabet accents.
                                                              +443                    result = str(long_string, encoding='cp1252').strip()
                                                              +444            except Exception as error:
                                                              +445                print(f"An exception occurred {error}")
                                                              +446        except Exception as error:
                                                              +447            print(f"An exception occurred {error}")
                                                              +448        return result
                                                              +449    def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              +450        """
                                                              +451        decode the data from the currently loaded message subset
                                                              +452        using the specified mnemonics (a 'mnemonic' is simply a
                                                              +453        descriptive, alphanumeric name for a data value, like
                                                              +454        a key in a python dictionary). The mnemonics string
                                                              +455        may contain multiple space delimited mnemonics
                                                              +456        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +457
                                                              +458        By default, the mnemonics are assumed to be part of a delayed
                                                              +459        replication sequence, or have no replication at all, and `ufbint`
                                                              +460        is used to read the data.
                                                              +461
                                                              +462        `ncepbufr.open.load_subset` must be called before
                                                              +463        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              +464
                                                              +465        if `rep = True`, `ufbrep` is used to read data represented
                                                              +466        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +467        more details. Used for radiance data.
                                                              +468
                                                              +469        if `seq=True`, `ufbseq` is used to read data represented by
                                                              +470        a sequence mnemonic. Used for gps data.
                                                              +471
                                                              +472        if `events=True`, `ufbevn` is used to read prepbufr
                                                              +473        "events", and a 3-d array is returned.
                                                              +474
                                                              +475        Only one of seq, rep and events can be True.
                                                              +476
                                                              +477        returns a numpy masked array with decoded values
                                                              +478        (missing values are masked).
                                                              +479        The shape of the array is `(nm,nlevs)`, where
                                                              +480        where `nm` is the number of elements in the specified
                                                              +481        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              +482        If `events=True`, a 3rd dimension representing the prepbufr
                                                              +483        event codes is added.
                                                              +484        """
                                                              +485        if not self.subset_loaded:
                                                              +486            raise IOError('subset not loaded, call load_subset first')
                                                              +487        ndim = len(mnemonics.split())
                                                              +488        if np.array([rep,seq,events]).sum() > 1:
                                                              +489            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +490        if seq:
                                                              +491            data = np.empty((_nmaxseq,_maxdim),np.float64,order='F')
                                                              +492            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              +493        elif rep:
                                                              +494            data = np.empty((ndim,_maxdim),np.float64,order='F')
                                                              +495            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +496        elif events:
                                                              +497            #data = np.empty((ndim,_maxdim,maxevents),np.float64,order='F')
                                                              +498            data = np.empty((ndim,_maxdim,_maxevents),np.float64,order='F')
                                                              +499            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              +500        else:
                                                              +501            data = np.empty((ndim,_maxdim),np.float64,order='F')
                                                              +502            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +503        if events:
                                                              +504            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              +505        else:
                                                              +506            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              +507    def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              +508        """
                                                              +509        write data to message subset using the specified mnemonics
                                                              +510        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              +511        data value, like a key in a python dictionary). The mnemonics string
                                                              +512        may contain multiple space delimited mnemonics
                                                              +513        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +514
                                                              +515        By default, the mnemonics are assumed to be part of a delayed
                                                              +516        replication sequence, or have no replication at all, and `ufbint`
                                                              +517        is used to write the data.
                                                              +518
                                                              +519        if `rep = True`, `ufbrep` is used to write data represented
                                                              +520        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +521        more details. Used for radiance data.
                                                              +522
                                                              +523        if `seq=True`, `ufbseq` is used to write data represented by
                                                              +524        a sequence mnemonic. Used for gps data.
                                                              +525
                                                              +526        if `events=True`, `ufbevn` is used to write prepbufr
                                                              +527        "events" (a 3-d data array is required)
                                                              +528
                                                              +529        Only one of seq, rep and events can be True.
                                                              +530
                                                              +531        If `end=True`, the message subset is closed and written
                                                              +532        to the bufr file (default `False`).
                                                              +533        """
                                                              +534        # make a fortran contiguous copy of input data.
                                                              +535        if len(data.shape) in [2,3]:
                                                              +536            dataf = np.empty(data.shape, np.float64, order='F')
                                                              +537            dataf[:] = data[:]
                                                              +538        elif len(data.shape) == 1:
                                                              +539            # make 1d array into 2d array with 1 level
                                                              +540            dataf = np.empty((data.shape[0],1), np.float64, order='F')
                                                              +541            dataf[:,0] = data[:]
                                                              +542        else:
                                                              +543            msg = 'data in write_subset must be 1,2 or 3d'
                                                              +544            raise ValueError(msg)
                                                              +545        if np.array([rep,seq,events]).sum() > 1:
                                                              +546            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +547        if seq:
                                                              +548            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +549                    dataf.shape[1])
                                                              +550        elif rep:
                                                              +551            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +552                    dataf.shape[1])
                                                              +553        elif events:
                                                              +554            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +555                    dataf.shape[1],dataf.shape[2])
                                                              +556        else:
                                                              +557            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +558                    dataf.shape[1])
                                                              +559        # end subset if desired.
                                                              +560        if end:
                                                              +561            _bufrlib.writsb(self.lunit)
                                                              +
                                                              - 'MAXMEM' = MAXIMUM NUMBER OF BYTES THAT CAN BE USED - TO STORE BUFR MESSAGES IN INTERNAL MEMORY - - 'MAXMSG' = MAXIMUM NUMBER OF BUFR MESSAGES THAT CAN - BE STORED IN INTERNAL MEMORY - - 'MXDXTS' = MAXIMUM NUMBER OF DICTIONARY TABLES THAT - CAN BE STORED FOR USE WITH BUFR MESSAGES - IN INTERNAL MEMORY - - 'MXMTBB' = MAXIMUM NUMBER OF MASTER TABLE B ENTRIES - - 'MXMTBD' = MAXIMUM NUMBER OF MASTER TABLE D ENTRIES - - 'MXMTBF' = MAXIMUM NUMBER OF MASTER CODE/FLAG ENTRIES - - 'MAXCD' = MAXIMUM NUMBER OF CHILD DESCRIPTORS IN A - TABLE D DESCRIPTOR SEQUENCE DEFINITION - - 'MAXJL' = MAXIMUM NUMBER OF ENTRIES IN THE INTERNAL - JUMP/LINK TABLE - - 'MXS01V' = MAXIMUM NUMBER OF DEFAULT SECTION 0 OR - SECTION 1 VALUES THAT CAN BE OVERWRITTEN - WITHIN AN OUTPUT BUFR MESSAGE - - 'MXBTM' = MAXIMUM NUMBER OF BITMAPS THAT CAN BE - STORED INTERNALLY FOR A BUFR SUBSET - - 'MXBTMSE' = MAXIMUM NUMBER OF ENTRIES THAT CAN BE - SET WITHIN A BITMAP - - 'MXTAMC' = MAXIMUM NUMBER OF TABLE A MNEMONICS IN THE - INTERNAL JUMP/LINK TABLE WHICH CONTAIN AT - LEAST ONE TABLE C OPERATOR WITH X>=21 IN - THEIR SUBSET DEFINITION - - 'MXTCO' = MAXIMUM NUMBER OF TABLE C OPERATORS (WITH - X>=21) IN THE SUBSET DEFINITION OF A - TABLE A MNEMONIC - - 'MXNRV' = MAXIMUM NUMBER OF 2-03 REFERENCE VALUES - IN THE INTERNAL JUMP/LINK TABLE - - The 'get_param' function can be used to obtain the current value of these - parameters.""" - _bufrlib.isetprm(key, value) - -def get_param(key): - """ - get the values BUFRLIB internal parameters controlling size limits. - see 'set_param' docstring for allowable parameter names.""" - return _bufrlib.igetprm(key) - -def set_missing_value(missing_value): - """ - set bufr missing value. - """ - _bufrlib.setbmiss(missing_value) - -def get_missing_value(): - """ - get bufr missing value. - """ - return _bufrlib.getbmiss() - -def set_datelength(charlen): - """ - set number of digits for date specification (10 gives `YYYYMMDDHH`) - """ - _bufrlib.datelen(charlen) - -set_datelength(10) # set default date length to 10 (YYYYMDDHH) - -class open: - """ - bufr file object. - - `ncepbufr.open.__init__` used to construct instance. - - `ncepbufr.open.advance` method can be used step through bufr messages. - """ - def __init__(self,filename,mode='r',table=None): - """ - bufr object constructor - - `filename`: bufr file name. - - `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default - `'r'`). - - `table`: bufr table filename or ncepbufr.open instance. - Must be specified for `mode='w'`, optional for `mode='r'`. - If table is an existing ncepbufr.open instance, the table - will be shared. If not, it is assumed to be the filename of a bufr table. - For `mode='r'`, bufr table embedded in file will be used if not specified. - """ - # randomly choose available fortran unit number - self.lunit = random.choice(_funits) - self.filename = filename - '''bufr file opened with this fortran unit number''' - _funits.remove(self.lunit) - if not _funits: - raise IOError("too many files open") - if mode == 'r': - self._ioflag = 'IN' - elif mode == 'w': - if table is None: - msg="must specify file containing bufr table when mode='w'" - raise ValueError(msg) - self._ioflag = 'OUT' - elif mode == 'a': - self._ioflag = 'APN' - else: - raise ValueError("mode must be 'r', 'w' or 'a'") - if mode == 'r' or mode == 'a': - if not os.path.isfile(filename): - msg='%s does not exist' % filename - raise IOError(msg) - iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind") - if iret != 0: - msg='error opening %s' % filename - raise IOError(msg) - if table is None: - # table embedded in bufr file - _bufrlib.openbf(self.lunit,self._ioflag,self.lunit) - self.lundx = self.lunit # table unit number same as bufr unit number - else: - try: - # share a bufr table with another instance - self.lundx = table.lunit - except AttributeError: - # external table file specified - self.lundx = random.choice(_funits) - iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind") - if iret != 0: - msg='error opening %s' % filename - raise IOError(msg) - _funits.remove(self.lundx) - _bufrlib.openbf(self.lunit,self._ioflag,self.lundx) - elif mode == 'w': - try: - # share a bufr table with another instance - self.lundx = table.lunit - except AttributeError: - # read bufr table from a file. - self.lundx = random.choice(_funits) - iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind") - if iret != 0: - msg='error opening %s' % table - raise IOError(msg) - _funits.remove(self.lundx) - iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind") - if iret != 0: - msg='error opening %s' % filename - raise IOError(msg) - _bufrlib.openbf(self.lunit,self._ioflag,self.lundx) - # initialized message number counter - self.msg_counter = 0 - '''current bufr message number''' - self.msg_type = None - '''current bufr message type''' - self.msg_date = None - '''reference date for bufr message''' - self.receipt_time = None - '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing''' - self.subsets = None - '''number of subsets in the bufr message''' - # missing value in decoded data. - # (if equal to self.missing_value, data is masked) - self.missing_value = get_missing_value() - '''bufr missing value''' - def _receipt_time(self): - """ - return 'tank' receipt time (`YYYYMMDDHHMM`). - - returns -1 if there is no tank receipt time for this message. - """ - iyr,imon,iday,ihr,imin,iret = _bufrlib.rtrcpt(self.lunit) - if iret == 0: - return int('%04i%02i%02i%02i%02i' % (iyr,imon,iday,ihr,imin)) - else: - return iret - def _subsets(self): - """ - return the number of subsets in this bufr message - """ - return _bufrlib.nmsub(self.lunit) - def dump_table(self,filename): - """ - dump embedded bufr table to a file - """ - lundx = random.choice(_funits) - iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind') - if iret != 0: - msg='error opening %s' % filename - _bufrlib.dxdump(self.lunit,lundx) - iret = _bufrlib.fortran_close(lundx) - if iret == 0: - bisect.insort_left(_funits,lundx) - else: - raise IOError('error closing %s' % filename) - def print_table(self): - """ - print embedded bufr table to stdout - """ - _bufrlib.dxdump(self.lunit,6) - def close(self): - """ - close the bufr file - """ - _bufrlib.closbf(self.lunit) - # add fortran unit number back to pool - bisect.insort_left(_funits,self.lunit) - if self.lundx != self.lunit: - iret = _bufrlib.fortran_close(self.lundx) - if iret == 0: - bisect.insort_left(_funits,self.lundx) - else: - raise IOError('error closing bufr table') - def advance(self): - """ - advance to the next msg in the bufr file - returns 0 if advance was sucessful, - 1 if not (presumably because the end - of the file was reached). - - The following attributes are set each time - file is advanced to the next message: - - `msg_type`: string describing type of message. - - `msg_date`: reference date (YYYYMMDDHH) for message. - - `msg_counter`: message number. - - `receipt_time`: bufr tank receipt time. - - `subsets`: number of subsets in the message. - - `subset_loaded`: Boolean indicating whether a subset has been - loaded with `ncepbufr.open.load_subset`. Initialized to `False`. - - To loop through all the bufr messages in a file: - - :::python - >>> bufr = ncepbufr.open(filename) - >>> while bufr.advance() == 0: - >>> # processing code for each message here - - """ - subset, idate, iret = _bufrlib.readmg(self.lunit) - if iret: - return iret - else: - self.msg_type = subset.decode('ascii').rstrip() - self.msg_date = idate - self.msg_counter += 1 - self.subset_loaded = False - self.receipt_time = self._receipt_time() - self.subsets = self._subsets() - return 0 - def inventory(self): - """ - return a list containing an inventory of the bufr file. - The list contains a tuple for each message. - containing (msg_type,msg_date,receipt_time,subsets). - """ - self.checkpoint() - inv = [] - while self.advance() == 0: - inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets)) - self.restore() - return inv - - def print_subset(self,verbose=False): - """ - print a textual representation of the decoded - data in the currently loaded subset. - - If `verbose=True`, more complete but harder to read info is written. - - `ncepbufr.open.load_subset` must be called before - trying to print the decoded subset using `ncepbufr.open.print_subset`. - """ - if not verbose: - _bufrlib.ufdump(self.lunit,6) - else: - _bufrlib.ufbdmp(self.lunit,6) - def copy_subset(self,bufrin): - """ - copy the currently loaded subset from the specified bufr file object - and write to the current bufr message""" - _bufrlib.ufbcpy(bufrin.lunit, self.lunit) - _bufrlib.writsb(self.lunit) - def dump_subset(self,filename,append=False,verbose=False): - """ - dump a textual representation of the decoded - data in the currently loaded subset to a file. - - If `append=True`, append to an existing file - (otherwise over-write file). - - If `verbose=True`, more complete but harder to read info is written. - - `ncepbufr.open.load_subset` must be called before - trying to print the decoded subset using `ncepbufr.open.dump_subset`. - """ - lunout = random.choice(_funits) - if not append: - iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind') - else: - iret = _bufrlib.fortran_open(filename,lunout,'formatted','append') - if iret != 0: - msg='error opening %s' % filename - if not verbose: - _bufrlib.ufdump(self.lunit,lunout) - else: - _bufrlib.ufbdmp(self.lunit,lunout) - iret = _bufrlib.fortran_close(lunout) - if iret == 0: - bisect.insort_left(_funits,lunout) - else: - raise IOError('error closing %s' % filename) - def get_program_code(self,mnemonic): - """ - return prepbufr event program code - associated with specified mnemonic - (see `src/ufbqcd.f` for more details) - """ - return _bufrlib.ufbqcd(self.lunit, mnemonic) - def get_flag_table_bits(self, mnemonic, val): - """ - return bit settings associated with - a specifed value and flag table mnemonic - (see src/upftbv.f for more details) - """ - ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents) - return ibits[:nbits] - def checkpoint(self): - """ - mark where we are in the bufr file, - and rewind the file. - The `ncepbufr.open.restore` method can then be - used to go back to this state. - """ - _bufrlib.rewnbf(self.lunit,0) - self.msg_counter = 0 - self.msg_type = None - self.msg_date = None - self.receipt_time = None - self.subsets = None - def rewind(self): - """ - rewind the bufr file (same as `ncepbufr.open.checkpoint`). - """ - self.checkpoint() - def restore(self): - """ - restore the state of the bufr - file that recorded by a previous call - to `ncepbufr.open.checkpoint`. - """ - _bufrlib.rewnbf(self.lunit,1) - def open_message(self,msg_type,msg_date,msg_receipt_time=None): - """ - open new bufr message. - - Mandatory arguments: - - `msg_type`: string describing type of message. - - `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The - number of digits in the reference date is controlled by - module function `set_datelength`, and is 10 by default. - - `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional). - """ - if msg_receipt_time is not None: - yyyymmddhhmm = str(msg_receipt_time) - try: - yyyy = int(yyyymmddhhmm[0:4]) - mm = int(yyyymmddhhmm[4:6]) - dd = int(yyyymmddhhmm[6:8]) - hh = int(yyyymmddhhmm[8:10]) - mm = int(yyyymmddhhmm[10:12]) - _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm) - except IndexError: - pass # don't write receipt time - _bufrlib.openmb(self.lunit,msg_type,int(msg_date)) - def copy_message(self,bufrin): - """ - copy the currently loaded message from the specified bufr file object - and write to the file""" - _bufrlib.copymg(bufrin.lunit, self.lunit) - def close_message(self): - """ - close bufr message - """ - _bufrlib.closmg(self.lunit) - def load_subset(self): - """ - load subset data from the current message - (must be called before `ncepbufr.open.read_subset`). - To loop through all messages in a file, and - all subsets in each message: - - :::python - >>> bufr = ncepbufr.open(filename) - >>> while bufr.advance() == 0: - >>> while bufr.load_subset() == 0: - >>> # processing code for each subset here - - """ - iret = _bufrlib.ireadsb(self.lunit) - if iret == 0: - self.subset_loaded = True - return iret - def read_subset(self,mnemonics,rep=False,seq=False,events=False): - """ - decode the data from the currently loaded message subset - using the specified mnemonics (a 'mnemonic' is simply a - descriptive, alphanumeric name for a data value, like - a key in a python dictionary). The mnemonics string - may contain multiple space delimited mnemonics - (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`). - - By default, the mnemonics are assumed to be part of a delayed - replication sequence, or have no replication at all, and `ufbint` - is used to read the data. - - `ncepbufr.open.load_subset` must be called before - trying to decode a subset using `ncepbufr.open.read_subset`. - - if `rep = True`, `ufbrep` is used to read data represented - a regular replication sequence. See the comments in `src/ufbrep.f` for - more details. Used for radiance data. - - if `seq=True`, `ufbseq` is used to read data represented by - a sequence mnemonic. Used for gps data. - - if `events=True`, `ufbevn` is used to read prepbufr - "events", and a 3-d array is returned. - - Only one of seq, rep and events can be True. - - returns a numpy masked array with decoded values - (missing values are masked). - The shape of the array is `(nm,nlevs)`, where - where `nm` is the number of elements in the specified - mnemonics string, and `nlevs` is the number of levels in the report. - If `events=True`, a 3rd dimension representing the prepbufr - event codes is added. - """ - if not self.subset_loaded: - raise IOError('subset not loaded, call load_subset first') - ndim = len(mnemonics.split()) - if np.array([rep,seq,events]).sum() > 1: - raise ValueError('only one of rep, seq and events cannot be True') - if seq: - data = np.empty((_nmaxseq,_maxdim),np.float,order='F') - levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim) - elif rep: - data = np.empty((ndim,_maxdim),np.float,order='F') - levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim) - elif events: - #data = np.empty((ndim,_maxdim,maxevents),np.float,order='F') - data = np.empty((ndim,_maxdim,_maxevents),np.float,order='F') - levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents) - else: - data = np.empty((ndim,_maxdim),np.float,order='F') - levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim) - if events: - return np.ma.masked_values(data[:,:levs,:],self.missing_value) - else: - return np.ma.masked_values(data[:,:levs],self.missing_value) - def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False): - """ - write data to message subset using the specified mnemonics - (a 'mnemonic' is simply a descriptive, alphanumeric name for a - data value, like a key in a python dictionary). The mnemonics string - may contain multiple space delimited mnemonics - (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`). - - By default, the mnemonics are assumed to be part of a delayed - replication sequence, or have no replication at all, and `ufbint` - is used to write the data. - - if `rep = True`, `ufbrep` is used to write data represented - a regular replication sequence. See the comments in `src/ufbrep.f` for - more details. Used for radiance data. - - if `seq=True`, `ufbseq` is used to write data represented by - a sequence mnemonic. Used for gps data. - - if `events=True`, `ufbevn` is used to write prepbufr - "events" (a 3-d data array is required) - - Only one of seq, rep and events can be True. - - If `end=True`, the message subset is closed and written - to the bufr file (default `False`). - """ - # make a fortran contiguous copy of input data. - if len(data.shape) in [2,3]: - dataf = np.empty(data.shape, np.float, order='F') - dataf[:] = data[:] - elif len(data.shape) == 1: - # make 1d array into 2d array with 1 level - dataf = np.empty((data.shape[0],1), np.float, order='F') - dataf[:,0] = data[:] - else: - msg = 'data in write_subset must be 1,2 or 3d' - raise ValueError(msg) - if np.array([rep,seq,events]).sum() > 1: - raise ValueError('only one of rep, seq and events cannot be True') - if seq: - levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\ - dataf.shape[1]) - elif rep: - levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\ - dataf.shape[1]) - elif events: - levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\ - dataf.shape[1],dataf.shape[2]) - else: - levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\ - dataf.shape[1]) - # end subset if desired. - if end: - _bufrlib.writsb(self.lunit) -
                                                              - -
                                                              -
                                                              #   - - - def - set_param(key, value): -
                                                              - -
                                                              - View Source -
                                                              def set_param(key, value):
                                                              -    """
                                                              -    set BUFRLIB internal parameters controlling size limits.
                                                              -    Must be done prior to opening a bufr file.  Valid parameters are:
                                                              -
                                                              -    'MXMSGL' = MAXIMUM LENGTH (IN BYTES) OF A BUFR\
                                                              -               MESSAGE
                                                              -
                                                              -    'MAXSS'  = MAXIMUM NUMBER OF DATA VALUES IN AN
                                                              -               UNCOMPRESSED BUFR SUBSET
                                                              -
                                                              -    'MXCDV'  = MAXIMUM NUMBER OF DATA VALUES THAT CAN BE
                                                              -               WRITTEN INTO A COMPRESSED BUFR SUBSET
                                                              -
                                                              -    'MXLCC'  = MAXIMUM LENGTH (IN BYTES) OF A CHARACTER
                                                              -               STRING THAT CAN BE WRITTEN INTO A
                                                              -               COMPRESSED BUFR SUBSET
                                                              -
                                                              -    'MXCSB'  = MAXIMUM NUMBER OF SUBSETS THAT CAN BE
                                                              -               WRITTEN INTO A COMPRESSED BUFR MESSAGE
                                                              -
                                                              -    'NFILES' = MAXIMUM NUMBER OF BUFR FILES THAT CAN BE
                                                              -               ACCESSED FOR READING OR WRITING AT ANY
                                                              -               ONE TIME
                                                              -
                                                              -    'MAXTBA' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              -               TABLE A PER BUFR FILE
                                                              -
                                                              -    'MAXTBB' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              -               TABLE B PER BUFR FILE
                                                              -
                                                              -    'MAXTBD' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR
                                                              -               TABLE D PER BUFR FILE
                                                              -
                                                              -    'MAXMEM' = MAXIMUM NUMBER OF BYTES THAT CAN BE USED
                                                              -               TO STORE BUFR MESSAGES IN INTERNAL MEMORY
                                                              -
                                                              -    'MAXMSG' = MAXIMUM NUMBER OF BUFR MESSAGES THAT CAN
                                                              -               BE STORED IN INTERNAL MEMORY
                                                              -
                                                              -    'MXDXTS' = MAXIMUM NUMBER OF DICTIONARY TABLES THAT
                                                              -               CAN BE STORED FOR USE WITH BUFR MESSAGES
                                                              -               IN INTERNAL MEMORY
                                                              -
                                                              -    'MXMTBB' = MAXIMUM NUMBER OF MASTER TABLE B ENTRIES
                                                              -
                                                              -    'MXMTBD' = MAXIMUM NUMBER OF MASTER TABLE D ENTRIES
                                                              -
                                                              -    'MXMTBF' = MAXIMUM NUMBER OF MASTER CODE/FLAG ENTRIES
                                                              -
                                                              -    'MAXCD'  = MAXIMUM NUMBER OF CHILD DESCRIPTORS IN A
                                                              -               TABLE D DESCRIPTOR SEQUENCE DEFINITION
                                                              -
                                                              -    'MAXJL'  = MAXIMUM NUMBER OF ENTRIES IN THE INTERNAL
                                                              -               JUMP/LINK TABLE
                                                              -
                                                              -    'MXS01V' = MAXIMUM NUMBER OF DEFAULT SECTION 0 OR
                                                              -               SECTION 1 VALUES THAT CAN BE OVERWRITTEN
                                                              -               WITHIN AN OUTPUT BUFR MESSAGE
                                                              -
                                                              -    'MXBTM'  = MAXIMUM NUMBER OF BITMAPS THAT CAN BE
                                                              -               STORED INTERNALLY FOR A BUFR SUBSET
                                                              -
                                                              -   'MXBTMSE' = MAXIMUM NUMBER OF ENTRIES THAT CAN BE
                                                              -               SET WITHIN A BITMAP
                                                              -
                                                              -    'MXTAMC' = MAXIMUM NUMBER OF TABLE A MNEMONICS IN THE
                                                              -               INTERNAL JUMP/LINK TABLE WHICH CONTAIN AT
                                                              -               LEAST ONE TABLE C OPERATOR WITH X>=21 IN
                                                              -               THEIR SUBSET DEFINITION
                                                              -
                                                              -    'MXTCO'  = MAXIMUM NUMBER OF TABLE C OPERATORS (WITH
                                                              -               X>=21) IN THE SUBSET DEFINITION OF A
                                                              -               TABLE A MNEMONIC
                                                              +                            
                                                              +
                                                              + + def + set_param(key, value): - 'MXNRV' = MAXIMUM NUMBER OF 2-03 REFERENCE VALUES - IN THE INTERNAL JUMP/LINK TABLE + - The 'get_param' function can be used to obtain the current value of these - parameters.""" - _bufrlib.isetprm(key, value) -
                                                              +
                                                            • + +
                                                              21def set_param(key, value):
                                                              +22    """
                                                              +23    set BUFRLIB internal parameters controlling size limits.
                                                              +24    Must be done prior to opening a bufr file.  Valid parameters are
                                                              +25    listed in the docblock of the isetprm source file.
                                                              +26
                                                              +27    The 'get_param' function can be used to obtain the current value of these
                                                              +28    parameters."""
                                                              +29    return _bufrlib.isetprm(key, value)
                                                              +
                                                              -

                                                              set BUFRLIB internal parameters controlling size limits. - Must be done prior to opening a bufr file. Valid parameters are:

                                                              - -

                                                              'MXMSGL' = MAXIMUM LENGTH (IN BYTES) OF A BUFR MESSAGE

                                                              - -

                                                              'MAXSS' = MAXIMUM NUMBER OF DATA VALUES IN AN - UNCOMPRESSED BUFR SUBSET

                                                              - -

                                                              'MXCDV' = MAXIMUM NUMBER OF DATA VALUES THAT CAN BE - WRITTEN INTO A COMPRESSED BUFR SUBSET

                                                              - -

                                                              'MXLCC' = MAXIMUM LENGTH (IN BYTES) OF A CHARACTER - STRING THAT CAN BE WRITTEN INTO A - COMPRESSED BUFR SUBSET

                                                              - -

                                                              'MXCSB' = MAXIMUM NUMBER OF SUBSETS THAT CAN BE - WRITTEN INTO A COMPRESSED BUFR MESSAGE

                                                              - -

                                                              'NFILES' = MAXIMUM NUMBER OF BUFR FILES THAT CAN BE - ACCESSED FOR READING OR WRITING AT ANY - ONE TIME

                                                              - -

                                                              'MAXTBA' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR - TABLE A PER BUFR FILE

                                                              - -

                                                              'MAXTBB' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR - TABLE B PER BUFR FILE

                                                              - -

                                                              'MAXTBD' = MAXIMUM NUMBER OF ENTRIES IN INTERNAL BUFR - TABLE D PER BUFR FILE

                                                              - -

                                                              'MAXMEM' = MAXIMUM NUMBER OF BYTES THAT CAN BE USED - TO STORE BUFR MESSAGES IN INTERNAL MEMORY

                                                              - -

                                                              'MAXMSG' = MAXIMUM NUMBER OF BUFR MESSAGES THAT CAN - BE STORED IN INTERNAL MEMORY

                                                              - -

                                                              'MXDXTS' = MAXIMUM NUMBER OF DICTIONARY TABLES THAT - CAN BE STORED FOR USE WITH BUFR MESSAGES - IN INTERNAL MEMORY

                                                              - -

                                                              'MXMTBB' = MAXIMUM NUMBER OF MASTER TABLE B ENTRIES

                                                              - -

                                                              'MXMTBD' = MAXIMUM NUMBER OF MASTER TABLE D ENTRIES

                                                              - -

                                                              'MXMTBF' = MAXIMUM NUMBER OF MASTER CODE/FLAG ENTRIES

                                                              - -

                                                              'MAXCD' = MAXIMUM NUMBER OF CHILD DESCRIPTORS IN A - TABLE D DESCRIPTOR SEQUENCE DEFINITION

                                                              - -

                                                              'MAXJL' = MAXIMUM NUMBER OF ENTRIES IN THE INTERNAL - JUMP/LINK TABLE

                                                              - -

                                                              'MXS01V' = MAXIMUM NUMBER OF DEFAULT SECTION 0 OR - SECTION 1 VALUES THAT CAN BE OVERWRITTEN - WITHIN AN OUTPUT BUFR MESSAGE

                                                              - -

                                                              'MXBTM' = MAXIMUM NUMBER OF BITMAPS THAT CAN BE - STORED INTERNALLY FOR A BUFR SUBSET

                                                              - -

                                                              'MXBTMSE' = MAXIMUM NUMBER OF ENTRIES THAT CAN BE - SET WITHIN A BITMAP

                                                              - -

                                                              'MXTAMC' = MAXIMUM NUMBER OF TABLE A MNEMONICS IN THE - INTERNAL JUMP/LINK TABLE WHICH CONTAIN AT - LEAST ONE TABLE C OPERATOR WITH X>=21 IN - THEIR SUBSET DEFINITION

                                                              - -

                                                              'MXTCO' = MAXIMUM NUMBER OF TABLE C OPERATORS (WITH - X>=21) IN THE SUBSET DEFINITION OF A - TABLE A MNEMONIC

                                                              - -

                                                              'MXNRV' = MAXIMUM NUMBER OF 2-03 REFERENCE VALUES - IN THE INTERNAL JUMP/LINK TABLE

                                                              +Must be done prior to opening a bufr file. Valid parameters are +listed in the docblock of the isetprm source file.

                                                              The 'get_param' function can be used to obtain the current value of these - parameters.

                                                              +parameters.

                                                              -
                                                              #   + +
                                                              + + def + get_param(key): - - def - get_param(key): -
                                                              + -
                                                              - View Source -
                                                              def get_param(key):
                                                              -    """
                                                              -    get the values BUFRLIB internal parameters controlling size limits.
                                                              -    see 'set_param' docstring for allowable parameter names."""
                                                              -    return _bufrlib.igetprm(key)
                                                              -
                                                              +
                                                              + +
                                                              31def get_param(key):
                                                              +32    """
                                                              +33    get the values BUFRLIB internal parameters controlling size limits.
                                                              +34    see 'set_param' docstring for allowable parameter names."""
                                                              +35    return _bufrlib.igetprm(key)
                                                              +
                                                              -

                                                              get the values BUFRLIB internal parameters controlling size limits. see 'set_param' docstring for allowable parameter names.

                                                              @@ -947,23 +785,23 @@

                                                              -
                                                              #   + +
                                                              + + def + set_missing_value(missing_value): - - def - set_missing_value(missing_value): -
                                                              + -
                                                              - View Source -
                                                              def set_missing_value(missing_value):
                                                              -    """
                                                              -    set bufr missing value.
                                                              -    """
                                                              -    _bufrlib.setbmiss(missing_value)
                                                              -
                                                              +
                                                              + +
                                                              37def set_missing_value(missing_value):
                                                              +38    """
                                                              +39    set bufr missing value.
                                                              +40    """
                                                              +41    _bufrlib.setbmiss(missing_value)
                                                              +
                                                              -

                                                              set bufr missing value.

                                                              @@ -971,23 +809,23 @@

                                                              -
                                                              #   + +
                                                              + + def + get_missing_value(): - - def - get_missing_value(): -
                                                              + -
                                                              - View Source -
                                                              def get_missing_value():
                                                              -    """
                                                              -    get bufr missing value.
                                                              -    """
                                                              -    return _bufrlib.getbmiss()
                                                              -
                                                              +
                                                              + +
                                                              43def get_missing_value():
                                                              +44    """
                                                              +45    get bufr missing value.
                                                              +46    """
                                                              +47    return _bufrlib.getbmiss()
                                                              +
                                                              -

                                                              get bufr missing value.

                                                              @@ -995,23 +833,23 @@

                                                              -
                                                              #   + +
                                                              + + def + set_datelength(charlen): - - def - set_datelength(charlen): -
                                                              + -
                                                              - View Source -
                                                              def set_datelength(charlen):
                                                              -    """
                                                              -    set number of digits for date specification (10 gives `YYYYMMDDHH`)
                                                              -    """
                                                              -    _bufrlib.datelen(charlen)
                                                              -
                                                              +
                                                              + +
                                                              49def set_datelength(charlen):
                                                              +50    """
                                                              +51    set number of digits for date specification (10 gives `YYYYMMDDHH`)
                                                              +52    """
                                                              +53    _bufrlib.datelen(charlen)
                                                              +
                                                              -

                                                              set number of digits for date specification (10 gives YYYYMMDDHH)

                                                              @@ -1019,587 +857,635 @@

                                                              -
                                                              - #   + +
                                                              + + class + open: + + - - class - open:
                                                              + +
                                                               57class open:
                                                              + 58    """
                                                              + 59    bufr file object.
                                                              + 60
                                                              + 61    `ncepbufr.open.__init__` used to construct instance.
                                                              + 62
                                                              + 63    `ncepbufr.open.advance` method can be used step through bufr messages.
                                                              + 64    """
                                                              + 65    def __init__(self,filename,mode='r',table=None):
                                                              + 66        """
                                                              + 67        bufr object constructor
                                                              + 68
                                                              + 69        `filename`: bufr file name.
                                                              + 70
                                                              + 71        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              + 72        `'r'`).
                                                              + 73
                                                              + 74        `table`:  bufr table filename or ncepbufr.open instance.
                                                              + 75        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              + 76        If table is an existing ncepbufr.open instance, the table
                                                              + 77        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              + 78        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              + 79        """
                                                              + 80        # randomly choose available fortran unit number
                                                              + 81        self.lunit = random.choice(_funits)
                                                              + 82        self.filename = filename
                                                              + 83        '''bufr file opened with this fortran unit number'''
                                                              + 84        _funits.remove(self.lunit)
                                                              + 85        if not _funits:
                                                              + 86            raise IOError("too many files open")
                                                              + 87        if mode == 'r':
                                                              + 88            self._ioflag = 'IN'
                                                              + 89        elif mode == 'w':
                                                              + 90            if table is None:
                                                              + 91                msg="must specify file containing bufr table when mode='w'"
                                                              + 92                raise ValueError(msg)
                                                              + 93            self._ioflag = 'OUT'
                                                              + 94        elif mode == 'a':
                                                              + 95            self._ioflag = 'APN'
                                                              + 96        else:
                                                              + 97            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              + 98        if mode == 'r' or mode == 'a':
                                                              + 99            if not os.path.isfile(filename):
                                                              +100                msg='%s does not exist' % filename
                                                              +101                raise IOError(msg)
                                                              +102            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +103            if iret != 0:
                                                              +104                msg='error opening %s' % filename
                                                              +105                raise IOError(msg)
                                                              +106            if table is None:
                                                              +107                # table embedded in bufr file
                                                              +108                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              +109                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              +110            else:
                                                              +111                try:
                                                              +112                    # share a bufr table with another instance
                                                              +113                    self.lundx = table.lunit
                                                              +114                except AttributeError:
                                                              +115                    # external table file specified
                                                              +116                    self.lundx = random.choice(_funits)
                                                              +117                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +118                    if iret != 0:
                                                              +119                        msg='error opening %s' % filename
                                                              +120                        raise IOError(msg)
                                                              +121                    _funits.remove(self.lundx)
                                                              +122                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +123        elif mode == 'w':
                                                              +124            try:
                                                              +125                # share a bufr table with another instance
                                                              +126                self.lundx = table.lunit
                                                              +127            except AttributeError:
                                                              +128                # read bufr table from a file.
                                                              +129                self.lundx = random.choice(_funits)
                                                              +130                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +131                if iret != 0:
                                                              +132                    msg='error opening %s' % table
                                                              +133                    raise IOError(msg)
                                                              +134                _funits.remove(self.lundx)
                                                              +135            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +136            if iret != 0:
                                                              +137                msg='error opening %s' % filename
                                                              +138                raise IOError(msg)
                                                              +139            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +140        # initialized message number counter
                                                              +141        self.msg_counter = 0
                                                              +142        '''current bufr message number'''
                                                              +143        self.msg_type = None
                                                              +144        '''current bufr message type'''
                                                              +145        self.msg_date = None
                                                              +146        '''reference date for bufr message'''
                                                              +147        self.receipt_time = None
                                                              +148        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              +149        self.subsets = None
                                                              +150        '''number of subsets in the bufr message'''
                                                              +151        # missing value in decoded data.
                                                              +152        # (if equal to self.missing_value, data is masked)
                                                              +153        self.missing_value = get_missing_value()
                                                              +154        '''bufr missing value'''
                                                              +155    def _receipt_time(self):
                                                              +156        """
                                                              +157        return 'tank' receipt time (`YYYYMMDDHHMM`).
                                                              +158
                                                              +159        returns -1 if there is no tank receipt time for this message.
                                                              +160        """
                                                              +161        iyr,imon,iday,ihr,imin,iret = _bufrlib.rtrcpt(self.lunit)
                                                              +162        if iret == 0:
                                                              +163            return int('%04i%02i%02i%02i%02i' % (iyr,imon,iday,ihr,imin))
                                                              +164        else:
                                                              +165            return iret
                                                              +166    def _subsets(self):
                                                              +167        """
                                                              +168        return the number of subsets in this bufr message
                                                              +169        """
                                                              +170        return _bufrlib.nmsub(self.lunit)
                                                              +171    def dump_table(self,filename):
                                                              +172        """
                                                              +173        dump embedded bufr table to a file
                                                              +174        """
                                                              +175        lundx = random.choice(_funits)
                                                              +176        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              +177        if iret != 0:
                                                              +178            msg='error opening %s' % filename
                                                              +179        _bufrlib.dxdump(self.lunit,lundx)
                                                              +180        iret = _bufrlib.fortran_close(lundx)
                                                              +181        if iret == 0:
                                                              +182            bisect.insort_left(_funits,lundx)
                                                              +183        else:
                                                              +184            raise IOError('error closing %s' % filename)
                                                              +185    def print_table(self):
                                                              +186        """
                                                              +187        print embedded bufr table to stdout
                                                              +188        """
                                                              +189        _bufrlib.dxdump(self.lunit,6)
                                                              +190    def close(self):
                                                              +191        """
                                                              +192        close the bufr file
                                                              +193        """
                                                              +194        _bufrlib.closbf(self.lunit)
                                                              +195        # add fortran unit number back to pool
                                                              +196        bisect.insort_left(_funits,self.lunit)
                                                              +197        if self.lundx != self.lunit:
                                                              +198            iret = _bufrlib.fortran_close(self.lundx)
                                                              +199            if iret == 0:
                                                              +200                bisect.insort_left(_funits,self.lundx)
                                                              +201            else:
                                                              +202                raise IOError('error closing bufr table')
                                                              +203
                                                              +204    def cmpmsg(self, cmp):
                                                              +205        """
                                                              +206        compress the data in subsequent writes to the bufr file
                                                              +207        """
                                                              +208        _bufrlib.cmpmsg(cmp)
                                                              +209
                                                              +210    def advance(self):
                                                              +211        """
                                                              +212        advance to the next msg in the bufr file
                                                              +213        returns 0 if advance was sucessful,
                                                              +214        1 if not (presumably because the end
                                                              +215        of the file was reached).
                                                              +216
                                                              +217        The following attributes are set each time
                                                              +218        file is advanced to the next message:
                                                              +219
                                                              +220        `msg_type`: string describing type of message.
                                                              +221
                                                              +222        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              +223
                                                              +224        `msg_counter`: message number.
                                                              +225
                                                              +226        `receipt_time`: bufr tank receipt time.
                                                              +227
                                                              +228        `subsets`: number of subsets in the message.
                                                              +229
                                                              +230        `subset_loaded`: Boolean indicating whether a subset has been
                                                              +231        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              +232
                                                              +233        To loop through all the bufr messages in a file:
                                                              +234
                                                              +235            :::python
                                                              +236            >>> bufr = ncepbufr.open(filename)
                                                              +237            >>> while bufr.advance() == 0:
                                                              +238            >>>     # processing code for each message here
                                                              +239
                                                              +240        """
                                                              +241        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              +242        if iret:
                                                              +243            return iret
                                                              +244        else:
                                                              +245            self.msg_type = subset.decode('ascii').rstrip()
                                                              +246            self.msg_date = idate
                                                              +247            self.msg_counter += 1
                                                              +248            self.subset_loaded = False
                                                              +249            self.receipt_time = self._receipt_time()
                                                              +250            self.subsets = self._subsets()
                                                              +251            return 0
                                                              +252    def inventory(self):
                                                              +253        """
                                                              +254        return a list containing an inventory of the bufr file.
                                                              +255        The list contains a tuple for each message.
                                                              +256        containing (msg_type,msg_date,receipt_time,subsets).
                                                              +257        """
                                                              +258        self.checkpoint()
                                                              +259        inv = []
                                                              +260        while self.advance() == 0:
                                                              +261            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              +262        self.restore()
                                                              +263        return inv
                                                              +264
                                                              +265    def print_subset(self,verbose=False):
                                                              +266        """
                                                              +267        print a textual representation of the decoded
                                                              +268        data in the currently loaded subset.
                                                              +269
                                                              +270        If `verbose=True`, more complete but harder to read info is written.
                                                              +271
                                                              +272        `ncepbufr.open.load_subset` must be called before
                                                              +273        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              +274        """
                                                              +275        if not verbose:
                                                              +276            _bufrlib.ufdump(self.lunit,6)
                                                              +277        else:
                                                              +278            _bufrlib.ufbdmp(self.lunit,6)
                                                              +279    def copy_subset(self,bufrin):
                                                              +280        """
                                                              +281        copy the currently loaded subset from the specified bufr file object
                                                              +282        and write to the current bufr message"""
                                                              +283        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              +284        _bufrlib.writsb(self.lunit)
                                                              +285    def dump_subset(self,filename,append=False,verbose=False):
                                                              +286        """
                                                              +287        dump a textual representation of the decoded
                                                              +288        data in the currently loaded subset to a file.
                                                              +289
                                                              +290        If `append=True`, append to an existing file
                                                              +291        (otherwise over-write file).
                                                              +292
                                                              +293        If `verbose=True`, more complete but harder to read info is written.
                                                              +294
                                                              +295        `ncepbufr.open.load_subset` must be called before
                                                              +296        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              +297        """
                                                              +298        lunout = random.choice(_funits)
                                                              +299        if not append:
                                                              +300            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              +301        else:
                                                              +302            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              +303        if iret != 0:
                                                              +304            msg='error opening %s' % filename
                                                              +305        if not verbose:
                                                              +306            _bufrlib.ufdump(self.lunit,lunout)
                                                              +307        else:
                                                              +308            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              +309        iret = _bufrlib.fortran_close(lunout)
                                                              +310        if iret == 0:
                                                              +311            bisect.insort_left(_funits,lunout)
                                                              +312        else:
                                                              +313            raise IOError('error closing %s' % filename)
                                                              +314    def get_program_code(self,mnemonic):
                                                              +315        """
                                                              +316        return prepbufr event program code
                                                              +317        associated with specified mnemonic
                                                              +318        (see `src/ufbqcd.f` for more details)
                                                              +319        """
                                                              +320        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              +321    def get_flag_table_bits(self, mnemonic, val):
                                                              +322        """
                                                              +323        return bit settings associated with
                                                              +324        a specifed value and flag table mnemonic
                                                              +325        (see src/upftbv.f for more details)
                                                              +326        """
                                                              +327        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              +328        return ibits[:nbits]
                                                              +329    def checkpoint(self):
                                                              +330        """
                                                              +331        mark where we are in the bufr file,
                                                              +332        and rewind the file.
                                                              +333        The `ncepbufr.open.restore` method can then be
                                                              +334        used to go back to this state.
                                                              +335        """
                                                              +336        _bufrlib.rewnbf(self.lunit,0)
                                                              +337        self.msg_counter = 0
                                                              +338        self.msg_type = None
                                                              +339        self.msg_date = None
                                                              +340        self.receipt_time = None
                                                              +341        self.subsets = None
                                                              +342    def rewind(self):
                                                              +343        """
                                                              +344        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              +345        """
                                                              +346        self.checkpoint()
                                                              +347    def restore(self):
                                                              +348        """
                                                              +349        restore the state of the bufr
                                                              +350        file that recorded by a previous call
                                                              +351        to `ncepbufr.open.checkpoint`.
                                                              +352        """
                                                              +353        _bufrlib.rewnbf(self.lunit,1)
                                                              +354    def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              +355        """
                                                              +356        open new bufr message.
                                                              +357
                                                              +358        Mandatory arguments:
                                                              +359
                                                              +360        `msg_type`: string describing type of message.
                                                              +361
                                                              +362        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              +363        number of digits in the reference date is controlled by
                                                              +364        module function `set_datelength`, and is 10 by default.
                                                              +365
                                                              +366        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              +367        """
                                                              +368        if msg_receipt_time is not None:
                                                              +369            yyyymmddhhmm = str(msg_receipt_time)
                                                              +370            try:
                                                              +371                yyyy = int(yyyymmddhhmm[0:4])
                                                              +372                mm = int(yyyymmddhhmm[4:6])
                                                              +373                dd = int(yyyymmddhhmm[6:8])
                                                              +374                hh = int(yyyymmddhhmm[8:10])
                                                              +375                mm = int(yyyymmddhhmm[10:12])
                                                              +376                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              +377            except IndexError:
                                                              +378                pass # don't write receipt time
                                                              +379        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              +380    def copy_message(self,bufrin):
                                                              +381        """
                                                              +382        copy the currently loaded message from the specified bufr file object
                                                              +383        and write to the file"""
                                                              +384        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              +385    def close_message(self):
                                                              +386        """
                                                              +387        close bufr message
                                                              +388        """
                                                              +389        _bufrlib.closmg(self.lunit)
                                                              +390    def load_subset(self):
                                                              +391        """
                                                              +392        load subset data from the current message
                                                              +393        (must be called before `ncepbufr.open.read_subset`).
                                                              +394        To loop through all messages in a file, and
                                                              +395        all subsets in each message:
                                                              +396
                                                              +397            :::python
                                                              +398            >>> bufr = ncepbufr.open(filename)
                                                              +399            >>> while bufr.advance() == 0:
                                                              +400            >>>     while bufr.load_subset() == 0:
                                                              +401            >>>         # processing code for each subset here
                                                              +402
                                                              +403        """
                                                              +404        iret = _bufrlib.ireadsb(self.lunit)
                                                              +405        if iret == 0:
                                                              +406            self.subset_loaded = True
                                                              +407        return iret
                                                              +408    def read_long_string(self,mnemonic):
                                                              +409        """
                                                              +410        Decode character string from the currently loaded message subset
                                                              +411        using the specified mnemonic (a 'mnemonic' is simply a
                                                              +412        descriptive, alphanumeric name for a data value, like
                                                              +413        a key in a python dictionary). The mnemonic string
                                                              +414        must be a single mnemonic only. If the subset contains more 
                                                              +415        than one occurrence of the mnemonic, then can append '#X' to 
                                                              +416        the mnemonic to request the character string corresponding to 
                                                              +417        the Xth occurrence of the mnemonic, counting from the beginning 
                                                              +418        of the subset. Otherwise, X is assumed to be 1.
                                                              +419        
                                                              +420        Returns the character string, if found, or "MISSING" if not.
                                                              +421
                                                              +422        Example:
                                                              +423
                                                              +424            :::python
                                                              +425            >>> bufr = ncepbufr.open(filename)
                                                              +426            >>> while bufr.advance() == 0:
                                                              +427            >>>     while bufr.load_subset() == 0:
                                                              +428            >>>         st_name = bufr.read_long_string(mnemonic='STSN')
                                                              +429        """
                                                              +430        if not self.subset_loaded:
                                                              +431            raise IOError('subset not loaded, call load_subset first')
                                                              +432        if len(mnemonic.split()) > 1:
                                                              +433            raise ValueError('only one mnemonic per call to read_long_string')
                                                              +434        long_string = _bufrlib.readlc(self.lunit,mnemonic)
                                                              +435        try:
                                                              +436            result = str(long_string, encoding='ascii').strip()
                                                              +437        except UnicodeDecodeError:
                                                              +438            try:
                                                              +439                if all([bt == int('0xff',16) for bt in long_string.strip()]):
                                                              +440                    # All values set to 255 for missing data.
                                                              +441                    result = 'MISSING'
                                                              +442                else:
                                                              +443                    # Extended ASCII for Roman alphabet accents.
                                                              +444                    result = str(long_string, encoding='cp1252').strip()
                                                              +445            except Exception as error:
                                                              +446                print(f"An exception occurred {error}")
                                                              +447        except Exception as error:
                                                              +448            print(f"An exception occurred {error}")
                                                              +449        return result
                                                              +450    def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              +451        """
                                                              +452        decode the data from the currently loaded message subset
                                                              +453        using the specified mnemonics (a 'mnemonic' is simply a
                                                              +454        descriptive, alphanumeric name for a data value, like
                                                              +455        a key in a python dictionary). The mnemonics string
                                                              +456        may contain multiple space delimited mnemonics
                                                              +457        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +458
                                                              +459        By default, the mnemonics are assumed to be part of a delayed
                                                              +460        replication sequence, or have no replication at all, and `ufbint`
                                                              +461        is used to read the data.
                                                              +462
                                                              +463        `ncepbufr.open.load_subset` must be called before
                                                              +464        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              +465
                                                              +466        if `rep = True`, `ufbrep` is used to read data represented
                                                              +467        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +468        more details. Used for radiance data.
                                                              +469
                                                              +470        if `seq=True`, `ufbseq` is used to read data represented by
                                                              +471        a sequence mnemonic. Used for gps data.
                                                              +472
                                                              +473        if `events=True`, `ufbevn` is used to read prepbufr
                                                              +474        "events", and a 3-d array is returned.
                                                              +475
                                                              +476        Only one of seq, rep and events can be True.
                                                              +477
                                                              +478        returns a numpy masked array with decoded values
                                                              +479        (missing values are masked).
                                                              +480        The shape of the array is `(nm,nlevs)`, where
                                                              +481        where `nm` is the number of elements in the specified
                                                              +482        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              +483        If `events=True`, a 3rd dimension representing the prepbufr
                                                              +484        event codes is added.
                                                              +485        """
                                                              +486        if not self.subset_loaded:
                                                              +487            raise IOError('subset not loaded, call load_subset first')
                                                              +488        ndim = len(mnemonics.split())
                                                              +489        if np.array([rep,seq,events]).sum() > 1:
                                                              +490            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +491        if seq:
                                                              +492            data = np.empty((_nmaxseq,_maxdim),np.float64,order='F')
                                                              +493            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              +494        elif rep:
                                                              +495            data = np.empty((ndim,_maxdim),np.float64,order='F')
                                                              +496            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +497        elif events:
                                                              +498            #data = np.empty((ndim,_maxdim,maxevents),np.float64,order='F')
                                                              +499            data = np.empty((ndim,_maxdim,_maxevents),np.float64,order='F')
                                                              +500            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              +501        else:
                                                              +502            data = np.empty((ndim,_maxdim),np.float64,order='F')
                                                              +503            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +504        if events:
                                                              +505            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              +506        else:
                                                              +507            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              +508    def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              +509        """
                                                              +510        write data to message subset using the specified mnemonics
                                                              +511        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              +512        data value, like a key in a python dictionary). The mnemonics string
                                                              +513        may contain multiple space delimited mnemonics
                                                              +514        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +515
                                                              +516        By default, the mnemonics are assumed to be part of a delayed
                                                              +517        replication sequence, or have no replication at all, and `ufbint`
                                                              +518        is used to write the data.
                                                              +519
                                                              +520        if `rep = True`, `ufbrep` is used to write data represented
                                                              +521        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +522        more details. Used for radiance data.
                                                              +523
                                                              +524        if `seq=True`, `ufbseq` is used to write data represented by
                                                              +525        a sequence mnemonic. Used for gps data.
                                                              +526
                                                              +527        if `events=True`, `ufbevn` is used to write prepbufr
                                                              +528        "events" (a 3-d data array is required)
                                                              +529
                                                              +530        Only one of seq, rep and events can be True.
                                                              +531
                                                              +532        If `end=True`, the message subset is closed and written
                                                              +533        to the bufr file (default `False`).
                                                              +534        """
                                                              +535        # make a fortran contiguous copy of input data.
                                                              +536        if len(data.shape) in [2,3]:
                                                              +537            dataf = np.empty(data.shape, np.float64, order='F')
                                                              +538            dataf[:] = data[:]
                                                              +539        elif len(data.shape) == 1:
                                                              +540            # make 1d array into 2d array with 1 level
                                                              +541            dataf = np.empty((data.shape[0],1), np.float64, order='F')
                                                              +542            dataf[:,0] = data[:]
                                                              +543        else:
                                                              +544            msg = 'data in write_subset must be 1,2 or 3d'
                                                              +545            raise ValueError(msg)
                                                              +546        if np.array([rep,seq,events]).sum() > 1:
                                                              +547            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +548        if seq:
                                                              +549            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +550                    dataf.shape[1])
                                                              +551        elif rep:
                                                              +552            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +553                    dataf.shape[1])
                                                              +554        elif events:
                                                              +555            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +556                    dataf.shape[1],dataf.shape[2])
                                                              +557        else:
                                                              +558            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +559                    dataf.shape[1])
                                                              +560        # end subset if desired.
                                                              +561        if end:
                                                              +562            _bufrlib.writsb(self.lunit)
                                                              +
                                                              -
                                                              - View Source -
                                                              class open:
                                                              -    """
                                                              -    bufr file object.
                                                              -
                                                              -    `ncepbufr.open.__init__` used to construct instance.
                                                              -
                                                              -    `ncepbufr.open.advance` method can be used step through bufr messages.
                                                              -    """
                                                              -    def __init__(self,filename,mode='r',table=None):
                                                              -        """
                                                              -        bufr object constructor
                                                              -
                                                              -        `filename`: bufr file name.
                                                              -
                                                              -        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              -        `'r'`).
                                                              -
                                                              -        `table`:  bufr table filename or ncepbufr.open instance.
                                                              -        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              -        If table is an existing ncepbufr.open instance, the table
                                                              -        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              -        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              -        """
                                                              -        # randomly choose available fortran unit number
                                                              -        self.lunit = random.choice(_funits)
                                                              -        self.filename = filename
                                                              -        '''bufr file opened with this fortran unit number'''
                                                              -        _funits.remove(self.lunit)
                                                              -        if not _funits:
                                                              -            raise IOError("too many files open")
                                                              -        if mode == 'r':
                                                              -            self._ioflag = 'IN'
                                                              -        elif mode == 'w':
                                                              -            if table is None:
                                                              -                msg="must specify file containing bufr table when mode='w'"
                                                              -                raise ValueError(msg)
                                                              -            self._ioflag = 'OUT'
                                                              -        elif mode == 'a':
                                                              -            self._ioflag = 'APN'
                                                              -        else:
                                                              -            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              -        if mode == 'r' or mode == 'a':
                                                              -            if not os.path.isfile(filename):
                                                              -                msg='%s does not exist' % filename
                                                              -                raise IOError(msg)
                                                              -            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              -            if iret != 0:
                                                              -                msg='error opening %s' % filename
                                                              -                raise IOError(msg)
                                                              -            if table is None:
                                                              -                # table embedded in bufr file
                                                              -                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              -                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              -            else:
                                                              -                try:
                                                              -                    # share a bufr table with another instance
                                                              -                    self.lundx = table.lunit
                                                              -                except AttributeError:
                                                              -                    # external table file specified
                                                              -                    self.lundx = random.choice(_funits)
                                                              -                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              -                    if iret != 0:
                                                              -                        msg='error opening %s' % filename
                                                              -                        raise IOError(msg)
                                                              -                    _funits.remove(self.lundx)
                                                              -                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              -        elif mode == 'w':
                                                              -            try:
                                                              -                # share a bufr table with another instance
                                                              -                self.lundx = table.lunit
                                                              -            except AttributeError:
                                                              -                # read bufr table from a file.
                                                              -                self.lundx = random.choice(_funits)
                                                              -                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              -                if iret != 0:
                                                              -                    msg='error opening %s' % table
                                                              -                    raise IOError(msg)
                                                              -                _funits.remove(self.lundx)
                                                              -            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              -            if iret != 0:
                                                              -                msg='error opening %s' % filename
                                                              -                raise IOError(msg)
                                                              -            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              -        # initialized message number counter
                                                              -        self.msg_counter = 0
                                                              -        '''current bufr message number'''
                                                              -        self.msg_type = None
                                                              -        '''current bufr message type'''
                                                              -        self.msg_date = None
                                                              -        '''reference date for bufr message'''
                                                              -        self.receipt_time = None
                                                              -        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              -        self.subsets = None
                                                              -        '''number of subsets in the bufr message'''
                                                              -        # missing value in decoded data.
                                                              -        # (if equal to self.missing_value, data is masked)
                                                              -        self.missing_value = get_missing_value()
                                                              -        '''bufr missing value'''
                                                              -    def _receipt_time(self):
                                                              -        """
                                                              -        return 'tank' receipt time (`YYYYMMDDHHMM`).
                                                              -
                                                              -        returns -1 if there is no tank receipt time for this message.
                                                              -        """
                                                              -        iyr,imon,iday,ihr,imin,iret = _bufrlib.rtrcpt(self.lunit)
                                                              -        if iret == 0:
                                                              -            return int('%04i%02i%02i%02i%02i' % (iyr,imon,iday,ihr,imin))
                                                              -        else:
                                                              -            return iret
                                                              -    def _subsets(self):
                                                              -        """
                                                              -        return the number of subsets in this bufr message
                                                              -        """
                                                              -        return _bufrlib.nmsub(self.lunit)
                                                              -    def dump_table(self,filename):
                                                              -        """
                                                              -        dump embedded bufr table to a file
                                                              -        """
                                                              -        lundx = random.choice(_funits)
                                                              -        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              -        if iret != 0:
                                                              -            msg='error opening %s' % filename
                                                              -        _bufrlib.dxdump(self.lunit,lundx)
                                                              -        iret = _bufrlib.fortran_close(lundx)
                                                              -        if iret == 0:
                                                              -            bisect.insort_left(_funits,lundx)
                                                              -        else:
                                                              -            raise IOError('error closing %s' % filename)
                                                              -    def print_table(self):
                                                              -        """
                                                              -        print embedded bufr table to stdout
                                                              -        """
                                                              -        _bufrlib.dxdump(self.lunit,6)
                                                              -    def close(self):
                                                              -        """
                                                              -        close the bufr file
                                                              -        """
                                                              -        _bufrlib.closbf(self.lunit)
                                                              -        # add fortran unit number back to pool
                                                              -        bisect.insort_left(_funits,self.lunit)
                                                              -        if self.lundx != self.lunit:
                                                              -            iret = _bufrlib.fortran_close(self.lundx)
                                                              -            if iret == 0:
                                                              -                bisect.insort_left(_funits,self.lundx)
                                                              -            else:
                                                              -                raise IOError('error closing bufr table')
                                                              -    def advance(self):
                                                              -        """
                                                              -        advance to the next msg in the bufr file
                                                              -        returns 0 if advance was sucessful,
                                                              -        1 if not (presumably because the end
                                                              -        of the file was reached).
                                                              -
                                                              -        The following attributes are set each time
                                                              -        file is advanced to the next message:
                                                              -
                                                              -        `msg_type`: string describing type of message.
                                                              -
                                                              -        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              -
                                                              -        `msg_counter`: message number.
                                                              -
                                                              -        `receipt_time`: bufr tank receipt time.
                                                              -
                                                              -        `subsets`: number of subsets in the message.
                                                              -
                                                              -        `subset_loaded`: Boolean indicating whether a subset has been
                                                              -        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              -
                                                              -        To loop through all the bufr messages in a file:
                                                              -
                                                              -            :::python
                                                              -            >>> bufr = ncepbufr.open(filename)
                                                              -            >>> while bufr.advance() == 0:
                                                              -            >>>     # processing code for each message here
                                                              -
                                                              -        """
                                                              -        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              -        if iret:
                                                              -            return iret
                                                              -        else:
                                                              -            self.msg_type = subset.decode('ascii').rstrip()
                                                              -            self.msg_date = idate
                                                              -            self.msg_counter += 1
                                                              -            self.subset_loaded = False
                                                              -            self.receipt_time = self._receipt_time()
                                                              -            self.subsets = self._subsets()
                                                              -            return 0
                                                              -    def inventory(self):
                                                              -        """
                                                              -        return a list containing an inventory of the bufr file.
                                                              -        The list contains a tuple for each message.
                                                              -        containing (msg_type,msg_date,receipt_time,subsets).
                                                              -        """
                                                              -        self.checkpoint()
                                                              -        inv = []
                                                              -        while self.advance() == 0:
                                                              -            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              -        self.restore()
                                                              -        return inv
                                                              -
                                                              -    def print_subset(self,verbose=False):
                                                              -        """
                                                              -        print a textual representation of the decoded
                                                              -        data in the currently loaded subset.
                                                              -
                                                              -        If `verbose=True`, more complete but harder to read info is written.
                                                              -
                                                              -        `ncepbufr.open.load_subset` must be called before
                                                              -        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              -        """
                                                              -        if not verbose:
                                                              -            _bufrlib.ufdump(self.lunit,6)
                                                              -        else:
                                                              -            _bufrlib.ufbdmp(self.lunit,6)
                                                              -    def copy_subset(self,bufrin):
                                                              -        """
                                                              -        copy the currently loaded subset from the specified bufr file object
                                                              -        and write to the current bufr message"""
                                                              -        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              -        _bufrlib.writsb(self.lunit)
                                                              -    def dump_subset(self,filename,append=False,verbose=False):
                                                              -        """
                                                              -        dump a textual representation of the decoded
                                                              -        data in the currently loaded subset to a file.
                                                              -
                                                              -        If `append=True`, append to an existing file
                                                              -        (otherwise over-write file).
                                                              -
                                                              -        If `verbose=True`, more complete but harder to read info is written.
                                                              -
                                                              -        `ncepbufr.open.load_subset` must be called before
                                                              -        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              -        """
                                                              -        lunout = random.choice(_funits)
                                                              -        if not append:
                                                              -            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              -        else:
                                                              -            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              -        if iret != 0:
                                                              -            msg='error opening %s' % filename
                                                              -        if not verbose:
                                                              -            _bufrlib.ufdump(self.lunit,lunout)
                                                              -        else:
                                                              -            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              -        iret = _bufrlib.fortran_close(lunout)
                                                              -        if iret == 0:
                                                              -            bisect.insort_left(_funits,lunout)
                                                              -        else:
                                                              -            raise IOError('error closing %s' % filename)
                                                              -    def get_program_code(self,mnemonic):
                                                              -        """
                                                              -        return prepbufr event program code
                                                              -        associated with specified mnemonic
                                                              -        (see `src/ufbqcd.f` for more details)
                                                              -        """
                                                              -        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              -    def get_flag_table_bits(self, mnemonic, val):
                                                              -        """
                                                              -        return bit settings associated with
                                                              -        a specifed value and flag table mnemonic
                                                              -        (see src/upftbv.f for more details)
                                                              -        """
                                                              -        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              -        return ibits[:nbits]
                                                              -    def checkpoint(self):
                                                              -        """
                                                              -        mark where we are in the bufr file,
                                                              -        and rewind the file.
                                                              -        The `ncepbufr.open.restore` method can then be
                                                              -        used to go back to this state.
                                                              -        """
                                                              -        _bufrlib.rewnbf(self.lunit,0)
                                                              -        self.msg_counter = 0
                                                              -        self.msg_type = None
                                                              -        self.msg_date = None
                                                              -        self.receipt_time = None
                                                              -        self.subsets = None
                                                              -    def rewind(self):
                                                              -        """
                                                              -        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              -        """
                                                              -        self.checkpoint()
                                                              -    def restore(self):
                                                              -        """
                                                              -        restore the state of the bufr
                                                              -        file that recorded by a previous call
                                                              -        to `ncepbufr.open.checkpoint`.
                                                              -        """
                                                              -        _bufrlib.rewnbf(self.lunit,1)
                                                              -    def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              -        """
                                                              -        open new bufr message.
                                                              -
                                                              -        Mandatory arguments:
                                                              -
                                                              -        `msg_type`: string describing type of message.
                                                              -
                                                              -        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              -        number of digits in the reference date is controlled by
                                                              -        module function `set_datelength`, and is 10 by default.
                                                              -
                                                              -        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              -        """
                                                              -        if msg_receipt_time is not None:
                                                              -            yyyymmddhhmm = str(msg_receipt_time)
                                                              -            try:
                                                              -                yyyy = int(yyyymmddhhmm[0:4])
                                                              -                mm = int(yyyymmddhhmm[4:6])
                                                              -                dd = int(yyyymmddhhmm[6:8])
                                                              -                hh = int(yyyymmddhhmm[8:10])
                                                              -                mm = int(yyyymmddhhmm[10:12])
                                                              -                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              -            except IndexError:
                                                              -                pass # don't write receipt time
                                                              -        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              -    def copy_message(self,bufrin):
                                                              -        """
                                                              -        copy the currently loaded message from the specified bufr file object
                                                              -        and write to the file"""
                                                              -        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              -    def close_message(self):
                                                              -        """
                                                              -        close bufr message
                                                              -        """
                                                              -        _bufrlib.closmg(self.lunit)
                                                              -    def load_subset(self):
                                                              -        """
                                                              -        load subset data from the current message
                                                              -        (must be called before `ncepbufr.open.read_subset`).
                                                              -        To loop through all messages in a file, and
                                                              -        all subsets in each message:
                                                              -
                                                              -            :::python
                                                              -            >>> bufr = ncepbufr.open(filename)
                                                              -            >>> while bufr.advance() == 0:
                                                              -            >>>     while bufr.load_subset() == 0:
                                                              -            >>>         # processing code for each subset here
                                                              -
                                                              -        """
                                                              -        iret = _bufrlib.ireadsb(self.lunit)
                                                              -        if iret == 0:
                                                              -            self.subset_loaded = True
                                                              -        return iret
                                                              -    def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              -        """
                                                              -        decode the data from the currently loaded message subset
                                                              -        using the specified mnemonics (a 'mnemonic' is simply a
                                                              -        descriptive, alphanumeric name for a data value, like
                                                              -        a key in a python dictionary). The mnemonics string
                                                              -        may contain multiple space delimited mnemonics
                                                              -        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              -
                                                              -        By default, the mnemonics are assumed to be part of a delayed
                                                              -        replication sequence, or have no replication at all, and `ufbint`
                                                              -        is used to read the data.
                                                              -
                                                              -        `ncepbufr.open.load_subset` must be called before
                                                              -        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              -
                                                              -        if `rep = True`, `ufbrep` is used to read data represented
                                                              -        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              -        more details. Used for radiance data.
                                                              -
                                                              -        if `seq=True`, `ufbseq` is used to read data represented by
                                                              -        a sequence mnemonic. Used for gps data.
                                                              -
                                                              -        if `events=True`, `ufbevn` is used to read prepbufr
                                                              -        "events", and a 3-d array is returned.
                                                              -
                                                              -        Only one of seq, rep and events can be True.
                                                              -
                                                              -        returns a numpy masked array with decoded values
                                                              -        (missing values are masked).
                                                              -        The shape of the array is `(nm,nlevs)`, where
                                                              -        where `nm` is the number of elements in the specified
                                                              -        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              -        If `events=True`, a 3rd dimension representing the prepbufr
                                                              -        event codes is added.
                                                              -        """
                                                              -        if not self.subset_loaded:
                                                              -            raise IOError('subset not loaded, call load_subset first')
                                                              -        ndim = len(mnemonics.split())
                                                              -        if np.array([rep,seq,events]).sum() > 1:
                                                              -            raise ValueError('only one of rep, seq and events cannot be True')
                                                              -        if seq:
                                                              -            data = np.empty((_nmaxseq,_maxdim),np.float,order='F')
                                                              -            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              -        elif rep:
                                                              -            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              -            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              -        elif events:
                                                              -            #data = np.empty((ndim,_maxdim,maxevents),np.float,order='F')
                                                              -            data = np.empty((ndim,_maxdim,_maxevents),np.float,order='F')
                                                              -            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              -        else:
                                                              -            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              -            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              -        if events:
                                                              -            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              -        else:
                                                              -            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              -    def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              -        """
                                                              -        write data to message subset using the specified mnemonics
                                                              -        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              -        data value, like a key in a python dictionary). The mnemonics string
                                                              -        may contain multiple space delimited mnemonics
                                                              -        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              -
                                                              -        By default, the mnemonics are assumed to be part of a delayed
                                                              -        replication sequence, or have no replication at all, and `ufbint`
                                                              -        is used to write the data.
                                                              -
                                                              -        if `rep = True`, `ufbrep` is used to write data represented
                                                              -        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              -        more details. Used for radiance data.
                                                              -
                                                              -        if `seq=True`, `ufbseq` is used to write data represented by
                                                              -        a sequence mnemonic. Used for gps data.
                                                              -
                                                              -        if `events=True`, `ufbevn` is used to write prepbufr
                                                              -        "events" (a 3-d data array is required)
                                                              -
                                                              -        Only one of seq, rep and events can be True.
                                                              -
                                                              -        If `end=True`, the message subset is closed and written
                                                              -        to the bufr file (default `False`).
                                                              -        """
                                                              -        # make a fortran contiguous copy of input data.
                                                              -        if len(data.shape) in [2,3]:
                                                              -            dataf = np.empty(data.shape, np.float, order='F')
                                                              -            dataf[:] = data[:]
                                                              -        elif len(data.shape) == 1:
                                                              -            # make 1d array into 2d array with 1 level
                                                              -            dataf = np.empty((data.shape[0],1), np.float, order='F')
                                                              -            dataf[:,0] = data[:]
                                                              -        else:
                                                              -            msg = 'data in write_subset must be 1,2 or 3d'
                                                              -            raise ValueError(msg)
                                                              -        if np.array([rep,seq,events]).sum() > 1:
                                                              -            raise ValueError('only one of rep, seq and events cannot be True')
                                                              -        if seq:
                                                              -            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1])
                                                              -        elif rep:
                                                              -            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1])
                                                              -        elif events:
                                                              -            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1],dataf.shape[2])
                                                              -        else:
                                                              -            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1])
                                                              -        # end subset if desired.
                                                              -        if end:
                                                              -            _bufrlib.writsb(self.lunit)
                                                              -
                                                              - -

                                                              bufr file object.

                                                              -

                                                              ncepbufr.open.__init__ used to construct instance.

                                                              +

                                                              open.__init__ used to construct instance.

                                                              -

                                                              ncepbufr.open.advance method can be used step through bufr messages.

                                                              +

                                                              open.advance method can be used step through bufr messages.

                                                              -
                                                              #   + +
                                                              + + open(filename, mode='r', table=None) + + - - open(filename, mode='r', table=None)
                                                              + +
                                                               65    def __init__(self,filename,mode='r',table=None):
                                                              + 66        """
                                                              + 67        bufr object constructor
                                                              + 68
                                                              + 69        `filename`: bufr file name.
                                                              + 70
                                                              + 71        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              + 72        `'r'`).
                                                              + 73
                                                              + 74        `table`:  bufr table filename or ncepbufr.open instance.
                                                              + 75        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              + 76        If table is an existing ncepbufr.open instance, the table
                                                              + 77        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              + 78        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              + 79        """
                                                              + 80        # randomly choose available fortran unit number
                                                              + 81        self.lunit = random.choice(_funits)
                                                              + 82        self.filename = filename
                                                              + 83        '''bufr file opened with this fortran unit number'''
                                                              + 84        _funits.remove(self.lunit)
                                                              + 85        if not _funits:
                                                              + 86            raise IOError("too many files open")
                                                              + 87        if mode == 'r':
                                                              + 88            self._ioflag = 'IN'
                                                              + 89        elif mode == 'w':
                                                              + 90            if table is None:
                                                              + 91                msg="must specify file containing bufr table when mode='w'"
                                                              + 92                raise ValueError(msg)
                                                              + 93            self._ioflag = 'OUT'
                                                              + 94        elif mode == 'a':
                                                              + 95            self._ioflag = 'APN'
                                                              + 96        else:
                                                              + 97            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              + 98        if mode == 'r' or mode == 'a':
                                                              + 99            if not os.path.isfile(filename):
                                                              +100                msg='%s does not exist' % filename
                                                              +101                raise IOError(msg)
                                                              +102            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +103            if iret != 0:
                                                              +104                msg='error opening %s' % filename
                                                              +105                raise IOError(msg)
                                                              +106            if table is None:
                                                              +107                # table embedded in bufr file
                                                              +108                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              +109                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              +110            else:
                                                              +111                try:
                                                              +112                    # share a bufr table with another instance
                                                              +113                    self.lundx = table.lunit
                                                              +114                except AttributeError:
                                                              +115                    # external table file specified
                                                              +116                    self.lundx = random.choice(_funits)
                                                              +117                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +118                    if iret != 0:
                                                              +119                        msg='error opening %s' % filename
                                                              +120                        raise IOError(msg)
                                                              +121                    _funits.remove(self.lundx)
                                                              +122                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +123        elif mode == 'w':
                                                              +124            try:
                                                              +125                # share a bufr table with another instance
                                                              +126                self.lundx = table.lunit
                                                              +127            except AttributeError:
                                                              +128                # read bufr table from a file.
                                                              +129                self.lundx = random.choice(_funits)
                                                              +130                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              +131                if iret != 0:
                                                              +132                    msg='error opening %s' % table
                                                              +133                    raise IOError(msg)
                                                              +134                _funits.remove(self.lundx)
                                                              +135            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              +136            if iret != 0:
                                                              +137                msg='error opening %s' % filename
                                                              +138                raise IOError(msg)
                                                              +139            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              +140        # initialized message number counter
                                                              +141        self.msg_counter = 0
                                                              +142        '''current bufr message number'''
                                                              +143        self.msg_type = None
                                                              +144        '''current bufr message type'''
                                                              +145        self.msg_date = None
                                                              +146        '''reference date for bufr message'''
                                                              +147        self.receipt_time = None
                                                              +148        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              +149        self.subsets = None
                                                              +150        '''number of subsets in the bufr message'''
                                                              +151        # missing value in decoded data.
                                                              +152        # (if equal to self.missing_value, data is masked)
                                                              +153        self.missing_value = get_missing_value()
                                                              +154        '''bufr missing value'''
                                                              +
                                                              -
                                                              - View Source -
                                                                  def __init__(self,filename,mode='r',table=None):
                                                              -        """
                                                              -        bufr object constructor
                                                              -
                                                              -        `filename`: bufr file name.
                                                              -
                                                              -        `mode`: `'r'` for read, `'w'` for write, `'a'` for append (default
                                                              -        `'r'`).
                                                              -
                                                              -        `table`:  bufr table filename or ncepbufr.open instance.
                                                              -        Must be specified for `mode='w'`, optional for `mode='r'`.
                                                              -        If table is an existing ncepbufr.open instance, the table
                                                              -        will be shared. If not, it is assumed to be the filename of a bufr table.
                                                              -        For `mode='r'`, bufr table embedded in file will be used if not specified.
                                                              -        """
                                                              -        # randomly choose available fortran unit number
                                                              -        self.lunit = random.choice(_funits)
                                                              -        self.filename = filename
                                                              -        '''bufr file opened with this fortran unit number'''
                                                              -        _funits.remove(self.lunit)
                                                              -        if not _funits:
                                                              -            raise IOError("too many files open")
                                                              -        if mode == 'r':
                                                              -            self._ioflag = 'IN'
                                                              -        elif mode == 'w':
                                                              -            if table is None:
                                                              -                msg="must specify file containing bufr table when mode='w'"
                                                              -                raise ValueError(msg)
                                                              -            self._ioflag = 'OUT'
                                                              -        elif mode == 'a':
                                                              -            self._ioflag = 'APN'
                                                              -        else:
                                                              -            raise ValueError("mode must be 'r', 'w' or 'a'")
                                                              -        if mode == 'r' or mode == 'a':
                                                              -            if not os.path.isfile(filename):
                                                              -                msg='%s does not exist' % filename
                                                              -                raise IOError(msg)
                                                              -            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              -            if iret != 0:
                                                              -                msg='error opening %s' % filename
                                                              -                raise IOError(msg)
                                                              -            if table is None:
                                                              -                # table embedded in bufr file
                                                              -                _bufrlib.openbf(self.lunit,self._ioflag,self.lunit)
                                                              -                self.lundx = self.lunit # table unit number same as bufr unit number
                                                              -            else:
                                                              -                try:
                                                              -                    # share a bufr table with another instance
                                                              -                    self.lundx = table.lunit
                                                              -                except AttributeError:
                                                              -                    # external table file specified
                                                              -                    self.lundx = random.choice(_funits)
                                                              -                    iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              -                    if iret != 0:
                                                              -                        msg='error opening %s' % filename
                                                              -                        raise IOError(msg)
                                                              -                    _funits.remove(self.lundx)
                                                              -                _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              -        elif mode == 'w':
                                                              -            try:
                                                              -                # share a bufr table with another instance
                                                              -                self.lundx = table.lunit
                                                              -            except AttributeError:
                                                              -                # read bufr table from a file.
                                                              -                self.lundx = random.choice(_funits)
                                                              -                iret = _bufrlib.fortran_open(table,self.lundx,"formatted","rewind")
                                                              -                if iret != 0:
                                                              -                    msg='error opening %s' % table
                                                              -                    raise IOError(msg)
                                                              -                _funits.remove(self.lundx)
                                                              -            iret = _bufrlib.fortran_open(filename,self.lunit,"unformatted","rewind")
                                                              -            if iret != 0:
                                                              -                msg='error opening %s' % filename
                                                              -                raise IOError(msg)
                                                              -            _bufrlib.openbf(self.lunit,self._ioflag,self.lundx)
                                                              -        # initialized message number counter
                                                              -        self.msg_counter = 0
                                                              -        '''current bufr message number'''
                                                              -        self.msg_type = None
                                                              -        '''current bufr message type'''
                                                              -        self.msg_date = None
                                                              -        '''reference date for bufr message'''
                                                              -        self.receipt_time = None
                                                              -        '''tank receipt time for bufr message (`YYYYMMDDHHMM`), -1 if missing'''
                                                              -        self.subsets = None
                                                              -        '''number of subsets in the bufr message'''
                                                              -        # missing value in decoded data.
                                                              -        # (if equal to self.missing_value, data is masked)
                                                              -        self.missing_value = get_missing_value()
                                                              -        '''bufr missing value'''
                                                              -
                                                              - -

                                                              bufr object constructor

                                                              @@ -1608,119 +1494,144 @@

                                                              mode: 'r' for read, 'w' for write, 'a' for append (default 'r').

                                                              -

                                                              table: bufr table filename or ncepbufr.open instance. +

                                                              table: bufr table filename or open instance. Must be specified for mode='w', optional for mode='r'. -If table is an existing ncepbufr.open instance, the table +If table is an existing open instance, the table will be shared. If not, it is assumed to be the filename of a bufr table. For mode='r', bufr table embedded in file will be used if not specified.

                                                              -
                                                              -
                                                              #   +
                                                              +
                                                              + lunit - filename +
                                                              + + + +
                                                              +
                                                              +
                                                              + filename + + +
                                                              + +

                                                              bufr file opened with this fortran unit number

                                                              -
                                                              #   +
                                                              + msg_counter - msg_counter +
                                                              - + +

                                                              current bufr message number

                                                              -
                                                              #   +
                                                              + msg_type - msg_type +
                                                              - + +

                                                              current bufr message type

                                                              -
                                                              #   +
                                                              + msg_date - msg_date +
                                                              - + +

                                                              reference date for bufr message

                                                              -
                                                              #   +
                                                              + receipt_time - receipt_time +
                                                              - + +

                                                              tank receipt time for bufr message (YYYYMMDDHHMM), -1 if missing

                                                              -
                                                              #   +
                                                              + subsets - subsets +
                                                              - + +

                                                              number of subsets in the bufr message

                                                              -
                                                              #   +
                                                              + missing_value - missing_value +
                                                              - + +

                                                              bufr missing value

                                                              -
                                                              #   + +
                                                              + + def + dump_table(self, filename): + + - - def - dump_table(self, filename):
                                                              + +
                                                              171    def dump_table(self,filename):
                                                              +172        """
                                                              +173        dump embedded bufr table to a file
                                                              +174        """
                                                              +175        lundx = random.choice(_funits)
                                                              +176        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              +177        if iret != 0:
                                                              +178            msg='error opening %s' % filename
                                                              +179        _bufrlib.dxdump(self.lunit,lundx)
                                                              +180        iret = _bufrlib.fortran_close(lundx)
                                                              +181        if iret == 0:
                                                              +182            bisect.insort_left(_funits,lundx)
                                                              +183        else:
                                                              +184            raise IOError('error closing %s' % filename)
                                                              +
                                                              -
                                                              - View Source -
                                                                  def dump_table(self,filename):
                                                              -        """
                                                              -        dump embedded bufr table to a file
                                                              -        """
                                                              -        lundx = random.choice(_funits)
                                                              -        iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
                                                              -        if iret != 0:
                                                              -            msg='error opening %s' % filename
                                                              -        _bufrlib.dxdump(self.lunit,lundx)
                                                              -        iret = _bufrlib.fortran_close(lundx)
                                                              -        if iret == 0:
                                                              -            bisect.insort_left(_funits,lundx)
                                                              -        else:
                                                              -            raise IOError('error closing %s' % filename)
                                                              -
                                                              - -

                                                              dump embedded bufr table to a file

                                                              @@ -1728,23 +1639,23 @@

                                                              -
                                                              #   + +
                                                              + + def + print_table(self): - - def - print_table(self): -
                                                              + -
                                                              - View Source -
                                                                  def print_table(self):
                                                              -        """
                                                              -        print embedded bufr table to stdout
                                                              -        """
                                                              -        _bufrlib.dxdump(self.lunit,6)
                                                              -
                                                              +
                                                              + +
                                                              185    def print_table(self):
                                                              +186        """
                                                              +187        print embedded bufr table to stdout
                                                              +188        """
                                                              +189        _bufrlib.dxdump(self.lunit,6)
                                                              +
                                                              -

                                                              print embedded bufr table to stdout

                                                              @@ -1752,92 +1663,116 @@

                                                              -
                                                              #   + +
                                                              + + def + close(self): + + - - def - close(self):
                                                              + +
                                                              190    def close(self):
                                                              +191        """
                                                              +192        close the bufr file
                                                              +193        """
                                                              +194        _bufrlib.closbf(self.lunit)
                                                              +195        # add fortran unit number back to pool
                                                              +196        bisect.insort_left(_funits,self.lunit)
                                                              +197        if self.lundx != self.lunit:
                                                              +198            iret = _bufrlib.fortran_close(self.lundx)
                                                              +199            if iret == 0:
                                                              +200                bisect.insort_left(_funits,self.lundx)
                                                              +201            else:
                                                              +202                raise IOError('error closing bufr table')
                                                              +
                                                              -
                                                              - View Source -
                                                                  def close(self):
                                                              -        """
                                                              -        close the bufr file
                                                              -        """
                                                              -        _bufrlib.closbf(self.lunit)
                                                              -        # add fortran unit number back to pool
                                                              -        bisect.insort_left(_funits,self.lunit)
                                                              -        if self.lundx != self.lunit:
                                                              -            iret = _bufrlib.fortran_close(self.lundx)
                                                              -            if iret == 0:
                                                              -                bisect.insort_left(_funits,self.lundx)
                                                              -            else:
                                                              -                raise IOError('error closing bufr table')
                                                              -
                                                              - -

                                                              close the bufr file

                                                              -
                                                              -
                                                              #   - - - def - advance(self): -
                                                              - -
                                                              - View Source -
                                                                  def advance(self):
                                                              -        """
                                                              -        advance to the next msg in the bufr file
                                                              -        returns 0 if advance was sucessful,
                                                              -        1 if not (presumably because the end
                                                              -        of the file was reached).
                                                              -
                                                              -        The following attributes are set each time
                                                              -        file is advanced to the next message:
                                                              +                            
                                                              + +
                                                              + + def + cmpmsg(self, cmp): - `msg_type`: string describing type of message. + - `msg_date`: reference date (YYYYMMDDHH) for message. - - `msg_counter`: message number. +
                                                              + +
                                                              204    def cmpmsg(self, cmp):
                                                              +205        """
                                                              +206        compress the data in subsequent writes to the bufr file
                                                              +207        """
                                                              +208        _bufrlib.cmpmsg(cmp)
                                                              +
                                                              - `receipt_time`: bufr tank receipt time. - `subsets`: number of subsets in the message. +

                                                              compress the data in subsequent writes to the bufr file

                                                              +
                                                              - `subset_loaded`: Boolean indicating whether a subset has been - loaded with `ncepbufr.open.load_subset`. Initialized to `False`. - To loop through all the bufr messages in a file: +
                                                              +
                                                              + +
                                                              + + def + advance(self): - :::python - >>> bufr = ncepbufr.open(filename) - >>> while bufr.advance() == 0: - >>> # processing code for each message here + - """ - subset, idate, iret = _bufrlib.readmg(self.lunit) - if iret: - return iret - else: - self.msg_type = subset.decode('ascii').rstrip() - self.msg_date = idate - self.msg_counter += 1 - self.subset_loaded = False - self.receipt_time = self._receipt_time() - self.subsets = self._subsets() - return 0 -
                                                              +
                                                              + +
                                                              210    def advance(self):
                                                              +211        """
                                                              +212        advance to the next msg in the bufr file
                                                              +213        returns 0 if advance was sucessful,
                                                              +214        1 if not (presumably because the end
                                                              +215        of the file was reached).
                                                              +216
                                                              +217        The following attributes are set each time
                                                              +218        file is advanced to the next message:
                                                              +219
                                                              +220        `msg_type`: string describing type of message.
                                                              +221
                                                              +222        `msg_date`: reference date (YYYYMMDDHH) for message.
                                                              +223
                                                              +224        `msg_counter`: message number.
                                                              +225
                                                              +226        `receipt_time`: bufr tank receipt time.
                                                              +227
                                                              +228        `subsets`: number of subsets in the message.
                                                              +229
                                                              +230        `subset_loaded`: Boolean indicating whether a subset has been
                                                              +231        loaded with `ncepbufr.open.load_subset`.  Initialized to `False`.
                                                              +232
                                                              +233        To loop through all the bufr messages in a file:
                                                              +234
                                                              +235            :::python
                                                              +236            >>> bufr = ncepbufr.open(filename)
                                                              +237            >>> while bufr.advance() == 0:
                                                              +238            >>>     # processing code for each message here
                                                              +239
                                                              +240        """
                                                              +241        subset, idate, iret = _bufrlib.readmg(self.lunit)
                                                              +242        if iret:
                                                              +243            return iret
                                                              +244        else:
                                                              +245            self.msg_type = subset.decode('ascii').rstrip()
                                                              +246            self.msg_date = idate
                                                              +247            self.msg_counter += 1
                                                              +248            self.subset_loaded = False
                                                              +249            self.receipt_time = self._receipt_time()
                                                              +250            self.subsets = self._subsets()
                                                              +251            return 0
                                                              +
                                                              -

                                                              advance to the next msg in the bufr file returns 0 if advance was sucessful, @@ -1858,12 +1793,12 @@

                                                              subsets: number of subsets in the message.

                                                              subset_loaded: Boolean indicating whether a subset has been -loaded with ncepbufr.open.load_subset. Initialized to False.

                                                              +loaded with open.load_subset. Initialized to False.

                                                              To loop through all the bufr messages in a file:

                                                              :::python
                                                              ->>> bufr = ncepbufr.open(filename)
                                                              +>>> bufr = open(filename)
                                                               >>> while bufr.advance() == 0:
                                                               >>>     # processing code for each message here
                                                               
                                                              @@ -1872,30 +1807,30 @@

                                                              -
                                                              #   + +
                                                              + + def + inventory(self): + + - - def - inventory(self):
                                                              + +
                                                              252    def inventory(self):
                                                              +253        """
                                                              +254        return a list containing an inventory of the bufr file.
                                                              +255        The list contains a tuple for each message.
                                                              +256        containing (msg_type,msg_date,receipt_time,subsets).
                                                              +257        """
                                                              +258        self.checkpoint()
                                                              +259        inv = []
                                                              +260        while self.advance() == 0:
                                                              +261            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              +262        self.restore()
                                                              +263        return inv
                                                              +
                                                              -
                                                              - View Source -
                                                                  def inventory(self):
                                                              -        """
                                                              -        return a list containing an inventory of the bufr file.
                                                              -        The list contains a tuple for each message.
                                                              -        containing (msg_type,msg_date,receipt_time,subsets).
                                                              -        """
                                                              -        self.checkpoint()
                                                              -        inv = []
                                                              -        while self.advance() == 0:
                                                              -            inv.append((self.msg_type,self.msg_date,self.receipt_time,self.subsets))
                                                              -        self.restore()
                                                              -        return inv
                                                              -
                                                              - -

                                                              return a list containing an inventory of the bufr file. The list contains a tuple for each message. @@ -1905,63 +1840,63 @@

                                                              -
                                                              #   + +
                                                              + + def + print_subset(self, verbose=False): - - def - print_subset(self, verbose=False): -
                                                              + -
                                                              - View Source -
                                                                  def print_subset(self,verbose=False):
                                                              -        """
                                                              -        print a textual representation of the decoded
                                                              -        data in the currently loaded subset.
                                                              -
                                                              -        If `verbose=True`, more complete but harder to read info is written.
                                                              -
                                                              -        `ncepbufr.open.load_subset` must be called before
                                                              -        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              -        """
                                                              -        if not verbose:
                                                              -            _bufrlib.ufdump(self.lunit,6)
                                                              -        else:
                                                              -            _bufrlib.ufbdmp(self.lunit,6)
                                                              -
                                                              +
                                                              + +
                                                              265    def print_subset(self,verbose=False):
                                                              +266        """
                                                              +267        print a textual representation of the decoded
                                                              +268        data in the currently loaded subset.
                                                              +269
                                                              +270        If `verbose=True`, more complete but harder to read info is written.
                                                              +271
                                                              +272        `ncepbufr.open.load_subset` must be called before
                                                              +273        trying to print the decoded subset using `ncepbufr.open.print_subset`.
                                                              +274        """
                                                              +275        if not verbose:
                                                              +276            _bufrlib.ufdump(self.lunit,6)
                                                              +277        else:
                                                              +278            _bufrlib.ufbdmp(self.lunit,6)
                                                              +
                                                              -

                                                              print a textual representation of the decoded data in the currently loaded subset.

                                                              If verbose=True, more complete but harder to read info is written.

                                                              -

                                                              ncepbufr.open.load_subset must be called before -trying to print the decoded subset using ncepbufr.open.print_subset.

                                                              +

                                                              open.load_subset must be called before +trying to print the decoded subset using open.print_subset.

                                                              -
                                                              #   + +
                                                              + + def + copy_subset(self, bufrin): - - def - copy_subset(self, bufrin): -
                                                              + -
                                                              - View Source -
                                                                  def copy_subset(self,bufrin):
                                                              -        """
                                                              -        copy the currently loaded subset from the specified bufr file object
                                                              -        and write to the current bufr message"""
                                                              -        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              -        _bufrlib.writsb(self.lunit)
                                                              -
                                                              +
                                                              + +
                                                              279    def copy_subset(self,bufrin):
                                                              +280        """
                                                              +281        copy the currently loaded subset from the specified bufr file object
                                                              +282        and write to the current bufr message"""
                                                              +283        _bufrlib.ufbcpy(bufrin.lunit, self.lunit)
                                                              +284        _bufrlib.writsb(self.lunit)
                                                              +
                                                              -

                                                              copy the currently loaded subset from the specified bufr file object and write to the current bufr message

                                                              @@ -1970,47 +1905,47 @@

                                                              -
                                                              #   + +
                                                              + + def + dump_subset(self, filename, append=False, verbose=False): + + - - def - dump_subset(self, filename, append=False, verbose=False):
                                                              + +
                                                              285    def dump_subset(self,filename,append=False,verbose=False):
                                                              +286        """
                                                              +287        dump a textual representation of the decoded
                                                              +288        data in the currently loaded subset to a file.
                                                              +289
                                                              +290        If `append=True`, append to an existing file
                                                              +291        (otherwise over-write file).
                                                              +292
                                                              +293        If `verbose=True`, more complete but harder to read info is written.
                                                              +294
                                                              +295        `ncepbufr.open.load_subset` must be called before
                                                              +296        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              +297        """
                                                              +298        lunout = random.choice(_funits)
                                                              +299        if not append:
                                                              +300            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              +301        else:
                                                              +302            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              +303        if iret != 0:
                                                              +304            msg='error opening %s' % filename
                                                              +305        if not verbose:
                                                              +306            _bufrlib.ufdump(self.lunit,lunout)
                                                              +307        else:
                                                              +308            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              +309        iret = _bufrlib.fortran_close(lunout)
                                                              +310        if iret == 0:
                                                              +311            bisect.insort_left(_funits,lunout)
                                                              +312        else:
                                                              +313            raise IOError('error closing %s' % filename)
                                                              +
                                                              -
                                                              - View Source -
                                                                  def dump_subset(self,filename,append=False,verbose=False):
                                                              -        """
                                                              -        dump a textual representation of the decoded
                                                              -        data in the currently loaded subset to a file.
                                                              -
                                                              -        If `append=True`, append to an existing file
                                                              -        (otherwise over-write file).
                                                              -
                                                              -        If `verbose=True`, more complete but harder to read info is written.
                                                              -
                                                              -        `ncepbufr.open.load_subset` must be called before
                                                              -        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
                                                              -        """
                                                              -        lunout = random.choice(_funits)
                                                              -        if not append:
                                                              -            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
                                                              -        else:
                                                              -            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
                                                              -        if iret != 0:
                                                              -            msg='error opening %s' % filename
                                                              -        if not verbose:
                                                              -            _bufrlib.ufdump(self.lunit,lunout)
                                                              -        else:
                                                              -            _bufrlib.ufbdmp(self.lunit,lunout)
                                                              -        iret = _bufrlib.fortran_close(lunout)
                                                              -        if iret == 0:
                                                              -            bisect.insort_left(_funits,lunout)
                                                              -        else:
                                                              -            raise IOError('error closing %s' % filename)
                                                              -
                                                              - -

                                                              dump a textual representation of the decoded data in the currently loaded subset to a file.

                                                              @@ -2020,32 +1955,32 @@

                                                              If verbose=True, more complete but harder to read info is written.

                                                              -

                                                              ncepbufr.open.load_subset must be called before -trying to print the decoded subset using ncepbufr.open.dump_subset.

                                                              +

                                                              open.load_subset must be called before +trying to print the decoded subset using open.dump_subset.

                                                              -
                                                              #   + +
                                                              + + def + get_program_code(self, mnemonic): - - def - get_program_code(self, mnemonic): -
                                                              + -
                                                              - View Source -
                                                                  def get_program_code(self,mnemonic):
                                                              -        """
                                                              -        return prepbufr event program code
                                                              -        associated with specified mnemonic
                                                              -        (see `src/ufbqcd.f` for more details)
                                                              -        """
                                                              -        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              -
                                                              +
                                                              + +
                                                              314    def get_program_code(self,mnemonic):
                                                              +315        """
                                                              +316        return prepbufr event program code
                                                              +317        associated with specified mnemonic
                                                              +318        (see `src/ufbqcd.f` for more details)
                                                              +319        """
                                                              +320        return _bufrlib.ufbqcd(self.lunit, mnemonic)
                                                              +
                                                              -

                                                              return prepbufr event program code associated with specified mnemonic @@ -2055,26 +1990,26 @@

                                                              -
                                                              #   + +
                                                              + + def + get_flag_table_bits(self, mnemonic, val): - - def - get_flag_table_bits(self, mnemonic, val): -
                                                              + -
                                                              - View Source -
                                                                  def get_flag_table_bits(self, mnemonic, val):
                                                              -        """
                                                              -        return bit settings associated with
                                                              -        a specifed value and flag table mnemonic
                                                              -        (see src/upftbv.f for more details)
                                                              -        """
                                                              -        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              -        return ibits[:nbits]
                                                              -
                                                              +
                                                              + +
                                                              321    def get_flag_table_bits(self, mnemonic, val):
                                                              +322        """
                                                              +323        return bit settings associated with
                                                              +324        a specifed value and flag table mnemonic
                                                              +325        (see src/upftbv.f for more details)
                                                              +326        """
                                                              +327        ibits, nbits = _bufrlib.upftbv(self.lunit, mnemonic, float(val), _maxevents)
                                                              +328        return ibits[:nbits]
                                                              +
                                                              -

                                                              return bit settings associated with a specifed value and flag table mnemonic @@ -2084,131 +2019,131 @@

                                                              -
                                                              #   + +
                                                              + + def + checkpoint(self): + + - - def - checkpoint(self):
                                                              + +
                                                              329    def checkpoint(self):
                                                              +330        """
                                                              +331        mark where we are in the bufr file,
                                                              +332        and rewind the file.
                                                              +333        The `ncepbufr.open.restore` method can then be
                                                              +334        used to go back to this state.
                                                              +335        """
                                                              +336        _bufrlib.rewnbf(self.lunit,0)
                                                              +337        self.msg_counter = 0
                                                              +338        self.msg_type = None
                                                              +339        self.msg_date = None
                                                              +340        self.receipt_time = None
                                                              +341        self.subsets = None
                                                              +
                                                              -
                                                              - View Source -
                                                                  def checkpoint(self):
                                                              -        """
                                                              -        mark where we are in the bufr file,
                                                              -        and rewind the file.
                                                              -        The `ncepbufr.open.restore` method can then be
                                                              -        used to go back to this state.
                                                              -        """
                                                              -        _bufrlib.rewnbf(self.lunit,0)
                                                              -        self.msg_counter = 0
                                                              -        self.msg_type = None
                                                              -        self.msg_date = None
                                                              -        self.receipt_time = None
                                                              -        self.subsets = None
                                                              -
                                                              - -

                                                              mark where we are in the bufr file, and rewind the file. -The ncepbufr.open.restore method can then be +The open.restore method can then be used to go back to this state.

                                                              -
                                                              #   + +
                                                              + + def + rewind(self): - - def - rewind(self): -
                                                              + -
                                                              - View Source -
                                                                  def rewind(self):
                                                              -        """
                                                              -        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              -        """
                                                              -        self.checkpoint()
                                                              -
                                                              +
                                                              + +
                                                              342    def rewind(self):
                                                              +343        """
                                                              +344        rewind the bufr file (same as `ncepbufr.open.checkpoint`).
                                                              +345        """
                                                              +346        self.checkpoint()
                                                              +
                                                              - -

                                                              rewind the bufr file (same as ncepbufr.open.checkpoint).

                                                              +

                                                              rewind the bufr file (same as open.checkpoint).

                                                              -
                                                              #   + +
                                                              + + def + restore(self): - - def - restore(self): -
                                                              + -
                                                              - View Source -
                                                                  def restore(self):
                                                              -        """
                                                              -        restore the state of the bufr
                                                              -        file that recorded by a previous call
                                                              -        to `ncepbufr.open.checkpoint`.
                                                              -        """
                                                              -        _bufrlib.rewnbf(self.lunit,1)
                                                              -
                                                              +
                                                              + +
                                                              347    def restore(self):
                                                              +348        """
                                                              +349        restore the state of the bufr
                                                              +350        file that recorded by a previous call
                                                              +351        to `ncepbufr.open.checkpoint`.
                                                              +352        """
                                                              +353        _bufrlib.rewnbf(self.lunit,1)
                                                              +
                                                              -

                                                              restore the state of the bufr file that recorded by a previous call -to ncepbufr.open.checkpoint.

                                                              +to open.checkpoint.

                                                              -
                                                              #   + +
                                                              + + def + open_message(self, msg_type, msg_date, msg_receipt_time=None): + + - - def - open_message(self, msg_type, msg_date, msg_receipt_time=None):
                                                              + +
                                                              354    def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              +355        """
                                                              +356        open new bufr message.
                                                              +357
                                                              +358        Mandatory arguments:
                                                              +359
                                                              +360        `msg_type`: string describing type of message.
                                                              +361
                                                              +362        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              +363        number of digits in the reference date is controlled by
                                                              +364        module function `set_datelength`, and is 10 by default.
                                                              +365
                                                              +366        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              +367        """
                                                              +368        if msg_receipt_time is not None:
                                                              +369            yyyymmddhhmm = str(msg_receipt_time)
                                                              +370            try:
                                                              +371                yyyy = int(yyyymmddhhmm[0:4])
                                                              +372                mm = int(yyyymmddhhmm[4:6])
                                                              +373                dd = int(yyyymmddhhmm[6:8])
                                                              +374                hh = int(yyyymmddhhmm[8:10])
                                                              +375                mm = int(yyyymmddhhmm[10:12])
                                                              +376                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              +377            except IndexError:
                                                              +378                pass # don't write receipt time
                                                              +379        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              +
                                                              -
                                                              - View Source -
                                                                  def open_message(self,msg_type,msg_date,msg_receipt_time=None):
                                                              -        """
                                                              -        open new bufr message.
                                                              -
                                                              -        Mandatory arguments:
                                                              -
                                                              -        `msg_type`: string describing type of message.
                                                              -
                                                              -        `msg_date`: reference date (e.g. `YYYYMMDDHH`) for message. The
                                                              -        number of digits in the reference date is controlled by
                                                              -        module function `set_datelength`, and is 10 by default.
                                                              -
                                                              -        `msg_receipt_time` bufr tank receipt time YYYYMMDDHHMM (optional).
                                                              -        """
                                                              -        if msg_receipt_time is not None:
                                                              -            yyyymmddhhmm = str(msg_receipt_time)
                                                              -            try:
                                                              -                yyyy = int(yyyymmddhhmm[0:4])
                                                              -                mm = int(yyyymmddhhmm[4:6])
                                                              -                dd = int(yyyymmddhhmm[6:8])
                                                              -                hh = int(yyyymmddhhmm[8:10])
                                                              -                mm = int(yyyymmddhhmm[10:12])
                                                              -                _bufrlib.strcpt('Y',yyyy,mm,dd,hh,mm)
                                                              -            except IndexError:
                                                              -                pass # don't write receipt time
                                                              -        _bufrlib.openmb(self.lunit,msg_type,int(msg_date))
                                                              -
                                                              - -

                                                              open new bufr message.

                                                              @@ -2226,23 +2161,23 @@

                                                              -
                                                              #   + +
                                                              + + def + copy_message(self, bufrin): - - def - copy_message(self, bufrin): -
                                                              + -
                                                              - View Source -
                                                                  def copy_message(self,bufrin):
                                                              -        """
                                                              -        copy the currently loaded message from the specified bufr file object
                                                              -        and write to the file"""
                                                              -        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              -
                                                              +
                                                              + +
                                                              380    def copy_message(self,bufrin):
                                                              +381        """
                                                              +382        copy the currently loaded message from the specified bufr file object
                                                              +383        and write to the file"""
                                                              +384        _bufrlib.copymg(bufrin.lunit, self.lunit)
                                                              +
                                                              -

                                                              copy the currently loaded message from the specified bufr file object and write to the file

                                                              @@ -2251,23 +2186,23 @@

                                                              -
                                                              #   + +
                                                              + + def + close_message(self): - - def - close_message(self): -
                                                              + -
                                                              - View Source -
                                                                  def close_message(self):
                                                              -        """
                                                              -        close bufr message
                                                              -        """
                                                              -        _bufrlib.closmg(self.lunit)
                                                              -
                                                              +
                                                              + +
                                                              385    def close_message(self):
                                                              +386        """
                                                              +387        close bufr message
                                                              +388        """
                                                              +389        _bufrlib.closmg(self.lunit)
                                                              +
                                                              -

                                                              close bufr message

                                                              @@ -2275,44 +2210,44 @@

                                                              -
                                                              #   + +
                                                              + + def + load_subset(self): + + - - def - load_subset(self):
                                                              + +
                                                              390    def load_subset(self):
                                                              +391        """
                                                              +392        load subset data from the current message
                                                              +393        (must be called before `ncepbufr.open.read_subset`).
                                                              +394        To loop through all messages in a file, and
                                                              +395        all subsets in each message:
                                                              +396
                                                              +397            :::python
                                                              +398            >>> bufr = ncepbufr.open(filename)
                                                              +399            >>> while bufr.advance() == 0:
                                                              +400            >>>     while bufr.load_subset() == 0:
                                                              +401            >>>         # processing code for each subset here
                                                              +402
                                                              +403        """
                                                              +404        iret = _bufrlib.ireadsb(self.lunit)
                                                              +405        if iret == 0:
                                                              +406            self.subset_loaded = True
                                                              +407        return iret
                                                              +
                                                              -
                                                              - View Source -
                                                                  def load_subset(self):
                                                              -        """
                                                              -        load subset data from the current message
                                                              -        (must be called before `ncepbufr.open.read_subset`).
                                                              -        To loop through all messages in a file, and
                                                              -        all subsets in each message:
                                                              -
                                                              -            :::python
                                                              -            >>> bufr = ncepbufr.open(filename)
                                                              -            >>> while bufr.advance() == 0:
                                                              -            >>>     while bufr.load_subset() == 0:
                                                              -            >>>         # processing code for each subset here
                                                              -
                                                              -        """
                                                              -        iret = _bufrlib.ireadsb(self.lunit)
                                                              -        if iret == 0:
                                                              -            self.subset_loaded = True
                                                              -        return iret
                                                              -
                                                              - -

                                                              load subset data from the current message -(must be called before ncepbufr.open.read_subset). +(must be called before open.read_subset). To loop through all messages in a file, and all subsets in each message:

                                                              :::python
                                                              ->>> bufr = ncepbufr.open(filename)
                                                              +>>> bufr = open(filename)
                                                               >>> while bufr.advance() == 0:
                                                               >>>     while bufr.load_subset() == 0:
                                                               >>>         # processing code for each subset here
                                                              @@ -2320,78 +2255,158 @@ 

                                                              +
                                                              +
                                                              + +
                                                              + + def + read_long_string(self, mnemonic): + + + +
                                                              + +
                                                              408    def read_long_string(self,mnemonic):
                                                              +409        """
                                                              +410        Decode character string from the currently loaded message subset
                                                              +411        using the specified mnemonic (a 'mnemonic' is simply a
                                                              +412        descriptive, alphanumeric name for a data value, like
                                                              +413        a key in a python dictionary). The mnemonic string
                                                              +414        must be a single mnemonic only. If the subset contains more 
                                                              +415        than one occurrence of the mnemonic, then can append '#X' to 
                                                              +416        the mnemonic to request the character string corresponding to 
                                                              +417        the Xth occurrence of the mnemonic, counting from the beginning 
                                                              +418        of the subset. Otherwise, X is assumed to be 1.
                                                              +419        
                                                              +420        Returns the character string, if found, or "MISSING" if not.
                                                              +421
                                                              +422        Example:
                                                              +423
                                                              +424            :::python
                                                              +425            >>> bufr = ncepbufr.open(filename)
                                                              +426            >>> while bufr.advance() == 0:
                                                              +427            >>>     while bufr.load_subset() == 0:
                                                              +428            >>>         st_name = bufr.read_long_string(mnemonic='STSN')
                                                              +429        """
                                                              +430        if not self.subset_loaded:
                                                              +431            raise IOError('subset not loaded, call load_subset first')
                                                              +432        if len(mnemonic.split()) > 1:
                                                              +433            raise ValueError('only one mnemonic per call to read_long_string')
                                                              +434        long_string = _bufrlib.readlc(self.lunit,mnemonic)
                                                              +435        try:
                                                              +436            result = str(long_string, encoding='ascii').strip()
                                                              +437        except UnicodeDecodeError:
                                                              +438            try:
                                                              +439                if all([bt == int('0xff',16) for bt in long_string.strip()]):
                                                              +440                    # All values set to 255 for missing data.
                                                              +441                    result = 'MISSING'
                                                              +442                else:
                                                              +443                    # Extended ASCII for Roman alphabet accents.
                                                              +444                    result = str(long_string, encoding='cp1252').strip()
                                                              +445            except Exception as error:
                                                              +446                print(f"An exception occurred {error}")
                                                              +447        except Exception as error:
                                                              +448            print(f"An exception occurred {error}")
                                                              +449        return result
                                                              +
                                                              + + +

                                                              Decode character string from the currently loaded message subset +using the specified mnemonic (a 'mnemonic' is simply a +descriptive, alphanumeric name for a data value, like +a key in a python dictionary). The mnemonic string +must be a single mnemonic only. If the subset contains more +than one occurrence of the mnemonic, then can append '#X' to +the mnemonic to request the character string corresponding to +the Xth occurrence of the mnemonic, counting from the beginning +of the subset. Otherwise, X is assumed to be 1.

                                                              + +

                                                              Returns the character string, if found, or "MISSING" if not.

                                                              + +

                                                              Example:

                                                              + +
                                                              :::python
                                                              +>>> bufr = open(filename)
                                                              +>>> while bufr.advance() == 0:
                                                              +>>>     while bufr.load_subset() == 0:
                                                              +>>>         st_name = bufr.read_long_string(mnemonic='STSN')
                                                              +
                                                              +
                                                              + +
                                                              -
                                                              #   + +
                                                              + + def + read_subset(self, mnemonics, rep=False, seq=False, events=False): + + - - def - read_subset(self, mnemonics, rep=False, seq=False, events=False):
                                                              + +
                                                              450    def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              +451        """
                                                              +452        decode the data from the currently loaded message subset
                                                              +453        using the specified mnemonics (a 'mnemonic' is simply a
                                                              +454        descriptive, alphanumeric name for a data value, like
                                                              +455        a key in a python dictionary). The mnemonics string
                                                              +456        may contain multiple space delimited mnemonics
                                                              +457        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +458
                                                              +459        By default, the mnemonics are assumed to be part of a delayed
                                                              +460        replication sequence, or have no replication at all, and `ufbint`
                                                              +461        is used to read the data.
                                                              +462
                                                              +463        `ncepbufr.open.load_subset` must be called before
                                                              +464        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              +465
                                                              +466        if `rep = True`, `ufbrep` is used to read data represented
                                                              +467        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +468        more details. Used for radiance data.
                                                              +469
                                                              +470        if `seq=True`, `ufbseq` is used to read data represented by
                                                              +471        a sequence mnemonic. Used for gps data.
                                                              +472
                                                              +473        if `events=True`, `ufbevn` is used to read prepbufr
                                                              +474        "events", and a 3-d array is returned.
                                                              +475
                                                              +476        Only one of seq, rep and events can be True.
                                                              +477
                                                              +478        returns a numpy masked array with decoded values
                                                              +479        (missing values are masked).
                                                              +480        The shape of the array is `(nm,nlevs)`, where
                                                              +481        where `nm` is the number of elements in the specified
                                                              +482        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              +483        If `events=True`, a 3rd dimension representing the prepbufr
                                                              +484        event codes is added.
                                                              +485        """
                                                              +486        if not self.subset_loaded:
                                                              +487            raise IOError('subset not loaded, call load_subset first')
                                                              +488        ndim = len(mnemonics.split())
                                                              +489        if np.array([rep,seq,events]).sum() > 1:
                                                              +490            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +491        if seq:
                                                              +492            data = np.empty((_nmaxseq,_maxdim),np.float64,order='F')
                                                              +493            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              +494        elif rep:
                                                              +495            data = np.empty((ndim,_maxdim),np.float64,order='F')
                                                              +496            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +497        elif events:
                                                              +498            #data = np.empty((ndim,_maxdim,maxevents),np.float64,order='F')
                                                              +499            data = np.empty((ndim,_maxdim,_maxevents),np.float64,order='F')
                                                              +500            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              +501        else:
                                                              +502            data = np.empty((ndim,_maxdim),np.float64,order='F')
                                                              +503            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              +504        if events:
                                                              +505            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              +506        else:
                                                              +507            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              +
                                                              -
                                                              - View Source -
                                                                  def read_subset(self,mnemonics,rep=False,seq=False,events=False):
                                                              -        """
                                                              -        decode the data from the currently loaded message subset
                                                              -        using the specified mnemonics (a 'mnemonic' is simply a
                                                              -        descriptive, alphanumeric name for a data value, like
                                                              -        a key in a python dictionary). The mnemonics string
                                                              -        may contain multiple space delimited mnemonics
                                                              -        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              -
                                                              -        By default, the mnemonics are assumed to be part of a delayed
                                                              -        replication sequence, or have no replication at all, and `ufbint`
                                                              -        is used to read the data.
                                                              -
                                                              -        `ncepbufr.open.load_subset` must be called before
                                                              -        trying to decode a subset using `ncepbufr.open.read_subset`.
                                                              -
                                                              -        if `rep = True`, `ufbrep` is used to read data represented
                                                              -        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              -        more details. Used for radiance data.
                                                              -
                                                              -        if `seq=True`, `ufbseq` is used to read data represented by
                                                              -        a sequence mnemonic. Used for gps data.
                                                              -
                                                              -        if `events=True`, `ufbevn` is used to read prepbufr
                                                              -        "events", and a 3-d array is returned.
                                                              -
                                                              -        Only one of seq, rep and events can be True.
                                                              -
                                                              -        returns a numpy masked array with decoded values
                                                              -        (missing values are masked).
                                                              -        The shape of the array is `(nm,nlevs)`, where
                                                              -        where `nm` is the number of elements in the specified
                                                              -        mnemonics string, and `nlevs` is the number of levels in the report.
                                                              -        If `events=True`, a 3rd dimension representing the prepbufr
                                                              -        event codes is added.
                                                              -        """
                                                              -        if not self.subset_loaded:
                                                              -            raise IOError('subset not loaded, call load_subset first')
                                                              -        ndim = len(mnemonics.split())
                                                              -        if np.array([rep,seq,events]).sum() > 1:
                                                              -            raise ValueError('only one of rep, seq and events cannot be True')
                                                              -        if seq:
                                                              -            data = np.empty((_nmaxseq,_maxdim),np.float,order='F')
                                                              -            levs = _bufrlib.ufbseq(self.lunit,data,mnemonics,_nmaxseq,_maxdim)
                                                              -        elif rep:
                                                              -            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              -            levs = _bufrlib.ufbrep(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              -        elif events:
                                                              -            #data = np.empty((ndim,_maxdim,maxevents),np.float,order='F')
                                                              -            data = np.empty((ndim,_maxdim,_maxevents),np.float,order='F')
                                                              -            levs = _bufrlib.ufbevn(self.lunit,data,mnemonics,ndim,_maxdim,_maxevents)
                                                              -        else:
                                                              -            data = np.empty((ndim,_maxdim),np.float,order='F')
                                                              -            levs = _bufrlib.ufbint(self.lunit,data,mnemonics,ndim,_maxdim)
                                                              -        if events:
                                                              -            return np.ma.masked_values(data[:,:levs,:],self.missing_value)
                                                              -        else:
                                                              -            return np.ma.masked_values(data[:,:levs],self.missing_value)
                                                              -
                                                              - -

                                                              decode the data from the currently loaded message subset using the specified mnemonics (a 'mnemonic' is simply a @@ -2404,8 +2419,8 @@

                                                              replication sequence, or have no replication at all, and ufbint is used to read the data.

                                                              -

                                                              ncepbufr.open.load_subset must be called before -trying to decode a subset using ncepbufr.open.read_subset.

                                                              +

                                                              open.load_subset must be called before +trying to decode a subset using open.read_subset.

                                                              if rep = True, ufbrep is used to read data represented a regular replication sequence. See the comments in src/ufbrep.f for @@ -2431,73 +2446,73 @@

                                                              -
                                                              #   + +
                                                              + + def + write_subset(self, data, mnemonics, rep=False, seq=False, events=False, end=False): + + - - def - write_subset(self, data, mnemonics, rep=False, seq=False, events=False, end=False):
                                                              + +
                                                              508    def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              +509        """
                                                              +510        write data to message subset using the specified mnemonics
                                                              +511        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              +512        data value, like a key in a python dictionary). The mnemonics string
                                                              +513        may contain multiple space delimited mnemonics
                                                              +514        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              +515
                                                              +516        By default, the mnemonics are assumed to be part of a delayed
                                                              +517        replication sequence, or have no replication at all, and `ufbint`
                                                              +518        is used to write the data.
                                                              +519
                                                              +520        if `rep = True`, `ufbrep` is used to write data represented
                                                              +521        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              +522        more details. Used for radiance data.
                                                              +523
                                                              +524        if `seq=True`, `ufbseq` is used to write data represented by
                                                              +525        a sequence mnemonic. Used for gps data.
                                                              +526
                                                              +527        if `events=True`, `ufbevn` is used to write prepbufr
                                                              +528        "events" (a 3-d data array is required)
                                                              +529
                                                              +530        Only one of seq, rep and events can be True.
                                                              +531
                                                              +532        If `end=True`, the message subset is closed and written
                                                              +533        to the bufr file (default `False`).
                                                              +534        """
                                                              +535        # make a fortran contiguous copy of input data.
                                                              +536        if len(data.shape) in [2,3]:
                                                              +537            dataf = np.empty(data.shape, np.float64, order='F')
                                                              +538            dataf[:] = data[:]
                                                              +539        elif len(data.shape) == 1:
                                                              +540            # make 1d array into 2d array with 1 level
                                                              +541            dataf = np.empty((data.shape[0],1), np.float64, order='F')
                                                              +542            dataf[:,0] = data[:]
                                                              +543        else:
                                                              +544            msg = 'data in write_subset must be 1,2 or 3d'
                                                              +545            raise ValueError(msg)
                                                              +546        if np.array([rep,seq,events]).sum() > 1:
                                                              +547            raise ValueError('only one of rep, seq and events cannot be True')
                                                              +548        if seq:
                                                              +549            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +550                    dataf.shape[1])
                                                              +551        elif rep:
                                                              +552            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +553                    dataf.shape[1])
                                                              +554        elif events:
                                                              +555            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +556                    dataf.shape[1],dataf.shape[2])
                                                              +557        else:
                                                              +558            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              +559                    dataf.shape[1])
                                                              +560        # end subset if desired.
                                                              +561        if end:
                                                              +562            _bufrlib.writsb(self.lunit)
                                                              +
                                                              -
                                                              - View Source -
                                                                  def write_subset(self,data,mnemonics,rep=False,seq=False,events=False,end=False):
                                                              -        """
                                                              -        write data to message subset using the specified mnemonics
                                                              -        (a 'mnemonic' is simply a descriptive, alphanumeric name for a
                                                              -        data value, like a key in a python dictionary). The mnemonics string
                                                              -        may contain multiple space delimited mnemonics
                                                              -        (e.g. `mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3'`).
                                                              -
                                                              -        By default, the mnemonics are assumed to be part of a delayed
                                                              -        replication sequence, or have no replication at all, and `ufbint`
                                                              -        is used to write the data.
                                                              -
                                                              -        if `rep = True`, `ufbrep` is used to write data represented
                                                              -        a regular replication sequence.  See the comments in `src/ufbrep.f` for
                                                              -        more details. Used for radiance data.
                                                              -
                                                              -        if `seq=True`, `ufbseq` is used to write data represented by
                                                              -        a sequence mnemonic. Used for gps data.
                                                              -
                                                              -        if `events=True`, `ufbevn` is used to write prepbufr
                                                              -        "events" (a 3-d data array is required)
                                                              -
                                                              -        Only one of seq, rep and events can be True.
                                                              -
                                                              -        If `end=True`, the message subset is closed and written
                                                              -        to the bufr file (default `False`).
                                                              -        """
                                                              -        # make a fortran contiguous copy of input data.
                                                              -        if len(data.shape) in [2,3]:
                                                              -            dataf = np.empty(data.shape, np.float, order='F')
                                                              -            dataf[:] = data[:]
                                                              -        elif len(data.shape) == 1:
                                                              -            # make 1d array into 2d array with 1 level
                                                              -            dataf = np.empty((data.shape[0],1), np.float, order='F')
                                                              -            dataf[:,0] = data[:]
                                                              -        else:
                                                              -            msg = 'data in write_subset must be 1,2 or 3d'
                                                              -            raise ValueError(msg)
                                                              -        if np.array([rep,seq,events]).sum() > 1:
                                                              -            raise ValueError('only one of rep, seq and events cannot be True')
                                                              -        if seq:
                                                              -            levs = _bufrlib.ufbseq(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1])
                                                              -        elif rep:
                                                              -            levs = _bufrlib.ufbrep(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1])
                                                              -        elif events:
                                                              -            levs = _bufrlib.ufbevn(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1],dataf.shape[2])
                                                              -        else:
                                                              -            levs = _bufrlib.ufbint(self.lunit,dataf,mnemonics,dataf.shape[0],\
                                                              -                    dataf.shape[1])
                                                              -        # end subset if desired.
                                                              -        if end:
                                                              -            _bufrlib.writsb(self.lunit)
                                                              -
                                                              - -

                                                              write data to message subset using the specified mnemonics (a 'mnemonic' is simply a descriptive, alphanumeric name for a @@ -2529,195 +2544,186 @@

                                                              - - - + } else if ( + e.key === "Enter" + ) { + focused.querySelector("a").click(); + } + } + }); + \ No newline at end of file diff --git a/python/ncepbufr/bufr_mnemonics.html b/python/ncepbufr/bufr_mnemonics.html index 83eef642c..05ade5f2e 100644 --- a/python/ncepbufr/bufr_mnemonics.html +++ b/python/ncepbufr/bufr_mnemonics.html @@ -3,33 +3,33 @@ - + ncepbufr.bufr_mnemonics API documentation - - - - - - - -
                                                              -
                                                              +

                                                              ncepbufr.bufr_mnemonics

                                                              -
                                                              - View Source -
                                                              prepbufr_mnemonics_dict = {
                                                              -'PW2Q':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              -'PW2P':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              -'T__EVENT':'TEMPERATURE EVENT SEQUENCE',\
                                                              -'PW2R':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              -'T__POSTP':'TEMPERATURE POSTPROCESSING SEQUENCE',\
                                                              -'PW2A':'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              -'WFC__MSQ':'MODEL WIND FORECAST SEQUENCE',\
                                                              -'TP24':'TOTAL PRECIPITATION PAST 24 HOURS',\
                                                              -'YCOR':"INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'",\
                                                              -'PW2E':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              -'PREWXSEQ':'PRESENT WEATHER SEQUENCE',\
                                                              -'XCOR':"INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'",\
                                                              -'PW2O':'0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              -'PW3EVENT':'0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              -'UAN':'ANALYZED U-COMPONENT WIND VALUE',\
                                                              -'TAN':'ANALYZED TEMPERATURE VALUE',\
                                                              -'MSST':'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT',\
                                                              -'VAN':'ANALYZED V-COMPONENT WIND VALUE',\
                                                              -'WRC':'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE',\
                                                              -'SFCSHP':'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS',\
                                                              -'ADPUPA':'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS',\
                                                              -'DF_EVENT':'WIND (DIRECTION/SPEED) EVENT SEQUENCE',\
                                                              -'TURB3SEQ':'TURBULENCE SEQUENCE # 3',\
                                                              -'QQM':'SPECIFIC HUMIDITY (QUALITY) MARKER',\
                                                              -'E1':'ERS ERROR ESTIMATE NUMBER 1',\
                                                              -'SPSSMI':'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)',\
                                                              -'PQM':'PRESSURE (QUALITY) MARKER',\
                                                              -'CLOUDSEQ':'OBSERVED CLOUD SEQUENCE # 1',\
                                                              -'SNOW_SEQ':'SNOW DEPTH SEQUENCE',\
                                                              -'ZQM':'HEIGHT (QUALITY) MARKER',\
                                                              -'CTCN':'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)',\
                                                              -'ACID_SEQ':'AIRCRAFT FLIGHT NUMBER SEQUENCE',\
                                                              -'TFC__MSQ':'MODEL TEMPERATURE FORECAST SEQUENCE',\
                                                              -'QFC__MSQ':'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE',\
                                                              -'PCS':'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE',\
                                                              -'SID':'STATION IDENTIFICATION',\
                                                              -'TSB':'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)',\
                                                              -'UOB':'U-COMPONENT WIND OBSERVATION (M/S)',\
                                                              -'PCL':'CLIMATOLOGICAL PRESSURE VALUE',\
                                                              -'VADWND':'VAD (NEXRAD) WIND REPORTS',\
                                                              -'TOPC':'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT',\
                                                              -'SST_INFO':'SEA TEMPERATURE INFORMATION',\
                                                              -'PREVENT':'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP',\
                                                              -'GUST1SEQ':'MAXIMUM WIND GUST SEQUENCE # 1',\
                                                              -'RF10M':'10 METER WIND REDUCTION FACTOR',\
                                                              -'PAN':'ANALYZED PRESSURE VALUE',\
                                                              -'ELEV':'SATELLITE ELEVATION (ZENITH ANGLE)',\
                                                              -'TMXMNSEQ':'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE',\
                                                              -'CTPQM':'CLOUD TOP PRESSURE (QUALITY) MARKER',\
                                                              -'MSTQ':'MOISTURE QUALITY',\
                                                              -'PCLIMATO':'PRESSURE CLIMATOLOGY SEQUENCE',\
                                                              -'SAID':'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)',\
                                                              -'MWD10':'MODEL WIND DIRECTION AT 10 M',\
                                                              -'CQCVAD':'VAD WIND QUALITY CONTROL STEP',\
                                                              -'PW1F_MSQ':'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              -'SOEL':'SOLAR ELEVATION (ZENITH ANGLE)',\
                                                              -'ALTIMSEQ':'ALTIMETER SETTING SEQUENCE',\
                                                              -'SSTRC':'SEA TEMPERATURE EVENT REASON CODE',\
                                                              -'S3':'ERS BACKSCATTER NUMBER 3',\
                                                              -'S2':'ERS BACKSCATTER NUMBER 2',\
                                                              -'S1':'ERS BACKSCATTER NUMBER 1',\
                                                              -'IALR':'INSTANTANEOUS ALTITUDE RATE',\
                                                              -'RADCOR':'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP',\
                                                              -'ACID':'AIRCRAFT FLIGHT NUMBER',\
                                                              -'RRTBACKG':'RAIN RATE BACKGROUND SEQUENCE',\
                                                              -'ERS1DA':'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)',\
                                                              -'CLAM':'CLOUD AMOUNT',\
                                                              -'POWV':'PERIOD OF WAVES',\
                                                              -'POWW':'PERIOD OF WIND WAVES',\
                                                              -'RCT':'RECEIPT TIME',\
                                                              -'BTMPINFO':'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION',\
                                                              -'DFQ':'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER',\
                                                              -'DFP':'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE',\
                                                              -'DFR':'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE',\
                                                              -'HOSW':'HEIGHT OF SWELL WAVES',\
                                                              -'SYNDAT':'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS',\
                                                              -'PW4FMOD':'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)',\
                                                              -'DGOT':'DEGREE OF TURBULENCE',\
                                                              -'PW1FMOD':'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)',\
                                                              -'UFCMOD':'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)',\
                                                              -'MRWVC':'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)',\
                                                              -'TRBX32':'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)',\
                                                              -'WQM':'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER',\
                                                              -'PW4F_MSQ':'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              -'PW2F':'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE',\
                                                              -'GPSIPW':'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER',\
                                                              -'QOETU':'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR',\
                                                              -'CAT':'PREPBUFR DATA LEVEL CATEGORY',\
                                                              -'MITM':'MINIMUM TEMPERATURE',\
                                                              -'ACARSQC':'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP',\
                                                              -'TOB':'TEMPERATURE OBSERVATION (DEGREES C)',\
                                                              -'TOE':'TEMPERATURE OBSERVATION ERROR (DEGREES C)',\
                                                              -'RRTPC':'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE',\
                                                              -'BSCD':'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)',\
                                                              -'PW1O':'1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              -'PW1A':'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              -'PFCMOD':'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)',\
                                                              -'PW1F':'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE',\
                                                              -'HOCT_SEQ':'HEIGHT OF TOP OF CLOUD SEQUENCE',\
                                                              -'SOB':'WIND SPEED OBSERVATION',\
                                                              -'XOB':'LONGITUDE (DEG E)',\
                                                              -'PW1P':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              -'PW1Q':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              -'PW1R':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              -'PWETU':'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR',\
                                                              -'TP12_SEQ':'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE',\
                                                              -'PKWDDR':'PEAK WIND DIRECTION',\
                                                              -'CHPT':'CHARACTERISTIC OF PRESSURE TENDENCY',\
                                                              -'TFC':'FORECAST (BACKGROUND) TEMPERATURE VALUE',\
                                                              -'TURB1SEQ':'TURBULENCE SEQUENCE # 1',\
                                                              -'PW2_INFO':'0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              -'EXPRSRD':'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION',\
                                                              -'VFC':'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE',\
                                                              -'CTPOE':'CLOUD TOP PRESSURE OBSERVATION ERROR',\
                                                              -'PW1POSTP':'1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              -'WOETU':'ANALYSIS-TUNED WIND OBSERVATION ERROR',\
                                                              -'PRC':'PRESSURE EVENT REASON CODE',\
                                                              -'QPC':'SPECIFIC HUMIDITY EVENT PROGRAM CODE',\
                                                              -'P__POSTP':'PRESSURE POSTPROCESSING SEQUENCE',\
                                                              -'ADPSFC':'SURFACE LAND (SYNOPTIC, METAR) REPORTS',\
                                                              -'ZFC__MSQ':'MODEL HEIGHT FORECAST SEQUENCE',\
                                                              -'CTPFC':'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE',\
                                                              -'TPC':'TEMPERATURE EVENT PROGRAM CODE',\
                                                              -'RFFL':'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN',\
                                                              -'PSW2':'PAST WEATHER (2)',\
                                                              -'PSW1':'PAST WEATHER (1)',\
                                                              -'NRLACQC':'NRL AIRCRAFT QUALITY CONTROL STEP',\
                                                              -'CTPEVENT':'CLOUD TOP PRESSURE EVENT SEQUENCE',\
                                                              -'PW2POSTP':'0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              -'PW1EVENT':'1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              -'VISB2SEQ':'VISIBILITY SEQUENCE # 2',\
                                                              -'HOVI':'HORIZONTAL VISIBILITY (M)',\
                                                              -'POAF':'PHASE OF AIRCRAFT FLIGHT',\
                                                              -'GUST2SEQ':'MAXIMUM WIND GUST SEQUENCE # 2',\
                                                              -'TYP':'PREPBUFR REPORT TYPE',\
                                                              -'PW4F':'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE',\
                                                              -'PW4E':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              -'HEADR':'REPORT HEADER SEQUENCE',\
                                                              -'PW4A':'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              -'PW4O':'0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              -'CTPPC':'CLOUD TOP PRESSURE EVENT PROGRAM CODE',\
                                                              -'PW4R':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              -'PW4Q':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              -'PW4P':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              -'FFO':'WIND SPEED OBSERVATION (NOT ASSIMILATED)',\
                                                              -'ASMP':'AVG SPD OF SHIP DURING PAST 3 HOURS',\
                                                              -'CHSQ':'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)',\
                                                              -'QOE':'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)',\
                                                              -'SFCBOG':'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS',\
                                                              -'QOB':'SPECIFIC HUMIDITY OBSERVATION (MG/KG)',\
                                                              -'PW3POSTP':'0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              -'E3':'ERS ERROR ESTIMATE NUMBER 3',\
                                                              -'E2':'ERS ERROR ESTIMATE NUMBER 2',\
                                                              -'PKWDSP':'PEAK WIND SPEED',\
                                                              -'ESBAK':'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE',\
                                                              -'SATWND':'SATELLITE-DERIVED WIND REPORTS',\
                                                              -'PW1E':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              -'TOETU':'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR',\
                                                              -'PHER':'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL',\
                                                              -'WCLIMATO':'WIND CLIMATOLOGY SEQUENCE',\
                                                              -'WOE':'WIND OBSERVATION ERROR (M/S)',\
                                                              -'POSW':'PERIOD OF SWELL WAVES',\
                                                              -'SCATINFO':'SCATTEROMETER DATA INFORMATION',\
                                                              -'CLDE':'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.',\
                                                              -'RRTPOSTP':'RAIN RATE POSTPROCESSING SEQUENCE',\
                                                              -'SSI':'SSI GLOBAL ANALYSIS STEP',\
                                                              -'ZRC':'HEIGHT EVENT REASON CODE',\
                                                              -'PW2FMOD':'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)',\
                                                              -'Z___INFO':'HEIGHT INFORMATION',\
                                                              -'RASSDA':'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS',\
                                                              -'PTE24SEQ':'24 HOUR PRESSURE TENDENCY SEQUENCE',\
                                                              -'RRTFC':'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE',\
                                                              -'HRDR':'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)',\
                                                              -'ACFT_SEQ':'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE',\
                                                              -'POETU':'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR',\
                                                              -'P__BACKG':'PRESSURE BACKGROUND SEQUENCE',\
                                                              -'NUL':'NULL (IGNORE)',\
                                                              -'RRTOE':'RAINFALL (AVERAGE RATE) OBSERVATION ERROR',\
                                                              -'TDMP':'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS',\
                                                              -'WPC':'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE',\
                                                              -'TOSS':'TOTAL SUNSHINE',\
                                                              -'CDTP':'CLOUD TOP PRESSURE OBSERVATION',\
                                                              -'W__EVENT':'WIND EVENT SEQUENCE',\
                                                              -'CLIMO':'CLIMOTOLOGICAL PROCESSING STEP',\
                                                              -'XS20':'20 METER EXTRAPOLATED WIND SPEED',\
                                                              -'TOSD':'TOTAL SNOW DEPTH',\
                                                              -'QFC':'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE',\
                                                              -'PREPRO':'INITIAL PREPBUFR PROCESSING STEP',\
                                                              -'SYNDATA':'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP',\
                                                              -'PKWNDSEQ':'PEAK WIND SEQUENCE',\
                                                              -'ITP':'INSTRUMENT TYPE',\
                                                              -'Q__POSTP':'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE',\
                                                              -'PWTVWTA':'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL',\
                                                              -'TCLIMATO':'TEMPERATURE CLIMATOLOGY SEQUENCE',\
                                                              -'PWTVWTG':'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS',\
                                                              -'RPT':'REPORTED OBSERVATION TIME',\
                                                              -'TP01':'TOTAL PRECIPITATION PAST 1 HOUR',\
                                                              -'TP03':'TOTAL PRECIPITATION PAST 3 HOURS',\
                                                              -'VTVI_SEQ':'VERTICAL VISIBILITY SEQUENCE',\
                                                              -'TP06':'TOTAL PRECIPITATION PAST 6 HOURS',\
                                                              -'POE':'PRESSURE OBSERVATION ERROR (MB)',\
                                                              -'POB':'PRESSURE OBSERVATION (MB)',\
                                                              -'PW2BACKG':'0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              -'TURB2SEQ':'TURBULENCE SEQUENCE # 2',\
                                                              -'PW__INFO':'PRECIPITABLE WATER INFORMATION',\
                                                              -'PWA':'ANALYZED TOTAL PRECIPITABLE WATER VALUE',\
                                                              -'VCL':'CLIMATOLOGICAL V-COMPONENT WIND VALUE',\
                                                              -'VCS':'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE',\
                                                              -'SSTQM':'SEA TEMPERATURE (QUALITY) MARKER',\
                                                              -'DHR':'OBSERVATION TIME MINUS CYCLE TIME (HOURS)',\
                                                              -'VIRTMP':'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP',\
                                                              -'24PC':'24 HOUR PRESSURE CHANGE',\
                                                              -'PVWTG':'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS',\
                                                              -'PVWTA':'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL',\
                                                              -'ROLF':'AIRCRAFT ROLL ANGLE FLAG',\
                                                              -'TQM':'TEMPERATURE (QUALITY) MARKER',\
                                                              -'AIRCFT':'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS',\
                                                              -'HBOI':'HEIGHT OF BASE OF ICING',\
                                                              -'PRSLEVEL':'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)',\
                                                              -'LATCORSQ':'LATITUDE CORRECTION SEQUENCE',\
                                                              -'HBOT':'HEIGHT OF BASE OF TURBULENCE',\
                                                              -'ZFC':'FORECAST (BACKGROUND) HEIGHT VALUE',\
                                                              -'QAN':'ANALYZED SPECIFIC HUMIDITY VALUE',\
                                                              -'Q___INFO':'SPECIFIC HUMIDITY INFORMATION',\
                                                              -'QIFY':'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST',\
                                                              -'P___INFO':'PRESSURE INFORMATION',\
                                                              -'SSTFC':'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE',\
                                                              -'QIFN':'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST',\
                                                              -'TPRECSEQ':'TOTAL PRECIPITATION SEQUENCE',\
                                                              -'Z__POSTP':'HEIGHT POSTPROCESSING SEQUENCE',\
                                                              -'QRC':'SPECIFIC HUMIDITY EVENT REASON CODE',\
                                                              -'PTENDSEQ':'PRESSURE TENDENCY SEQUENCE',\
                                                              -'XWSPDSEQ':'EXTRAPOLATED WIND SPEED SEQUENCE',\
                                                              -'ZAN':'ANALYZED HEIGHT VALUE',\
                                                              -'RRTQM':'RAINFALL (AVERAGE RATE) (QUALITY) MARKER',\
                                                              -'PROFLR':'WIND PROFILER REPORTS',\
                                                              -'PWTPOSTP':'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE',\
                                                              -'CHNM':'CHANNEL NUMBER',\
                                                              -'CTP_INFO':'CLOUD TOP INFORMATION',\
                                                              -'SSTAN':'ANALYZED SEA TEMPERATURE VALUE',\
                                                              -'PW3BACKG':'0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              -'HOCT':'HEIGHT OF TOP OF CLOUD',\
                                                              -'SUNSHSEQ':'TOTAL SUNSHINE SEQUENCE',\
                                                              -'PRWE':'PRESENT WEATHER',\
                                                              -'XS10':'10 METER EXTRAPOLATED WIND SPEED',\
                                                              -'NRLQMS':'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)',\
                                                              -'PWF__MSQ':'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE',\
                                                              -'Q__EVENT':'SPECIFIC HUMIDITY EVENT SEQUENCE',\
                                                              -'TCS':'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE',\
                                                              -'TCL':'CLIMATOLOGICAL TEMPERATURE VALUE',\
                                                              -'W__BACKG':'WIND BACKGROUND SEQUENCE',\
                                                              -'XDR':'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)',\
                                                              -'DOFS':'DEPTH OF FRESH SNOW',\
                                                              -'PFC__MSQ':'MODEL PRESSURE FORECAST SEQUENCE',\
                                                              -'SIRC':'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR',\
                                                              -'ZOB':'HEIGHT OBSERVATION (M)',\
                                                              -'ZOE':'HEIGHT OBSERVATION ERROR (M)',\
                                                              -'RSRD_SEQ':'RESTRICTIONS ON REDISTRIBUTION SEQUENCE',\
                                                              -'SATEMP':'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)',\
                                                              -'SSTOE':'SEA TEMPERATURE OBSERVATION ERROR',\
                                                              -'DDO':'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)',\
                                                              -'SSTPOSTP':'SEA TEMPERATURE POSTPROCESSING SEQUENCE',\
                                                              -'AFIC_SEQ':'AIRCRAFT ICING SEQUENCE',\
                                                              -'PCCF_SEQ':'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE',\
                                                              -'CTPPOSTP':'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE',\
                                                              -'WSPD1':'SURFACE WIND SPEED',\
                                                              -'TRBX10':'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB',\
                                                              -'SPRR':'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)',\
                                                              -'LKCS':'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)',\
                                                              -'PRSLEVLG':'GOESND PRESSURE LEVEL SEQUENCE',\
                                                              -'OZON':'OZONE',\
                                                              -'CTPAN':'ANALYZED CLOUD TOP PRESSURE VALUE',\
                                                              -'R3DVAR':'3DVAR REGIONAL ANALYSIS STEP',\
                                                              -'Z__EVENT':'HEIGHT EVENT SEQUENCE',\
                                                              -'PWFMOD':'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)',\
                                                              -'ASCATW':'ASCAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              -'MRLWC':'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)',\
                                                              -'VISB1SEQ':'VISIBILITY SEQUENCE # 1',\
                                                              -'PW4_INFO':'0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              -'TMBR':'BRIGHTNESS TEMPERATURE (KELVIN)',\
                                                              -'MXGD':'MAXIMUM WIND GUST DIRECTION',\
                                                              -'EEQF':'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR',\
                                                              -'TVO':'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)',\
                                                              -'MXGS':'MAXIMUM WIND SPEED (GUSTS, M/S)',\
                                                              -'P__EVENT':'PRESSURE EVENT SEQUENCE',\
                                                              -'WDSATR':'WINDSAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              -'REQV':'RAINFALL (AVERAGE RATE) OBSERVATION',\
                                                              -'QFCMOD':'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)',\
                                                              -'ATRN':'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)',\
                                                              -'WDIR1':'SURFACE WIND DIRECTION',\
                                                              -'LONCORSQ':'LONGITUDE CORRECTION SEQUENCE',\
                                                              -'XORG':'REPORTED (ORIGINAL) LONGITUDE',\
                                                              -'RRTEVENT':'RATE RATE EVENT SEQUENCE',\
                                                              -'YORG':'REPORTED (ORIGINAL) LATITUDE',\
                                                              -'MWS10':'MODEL WIND SPEED AT 10 M',\
                                                              -'TDO':'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)',\
                                                              -'YDR':'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)',\
                                                              -'UFC':'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE',\
                                                              -'W__POSTP':'WIND POSTPROCESSING SEQUENCE',\
                                                              -'SWINDSEQ':'SURFACE WIND SEQUENCE',\
                                                              -'PRSS':'SURFACE PRESSURE OBSERVATION (PASCALS)',\
                                                              -'SSTPC':'SEA TEMPERATURE EVENT PROGRAM CODE',\
                                                              -'WSPD_SEQ':'WIND SPEED SEQUENCE',\
                                                              -'VFCMOD':'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)',\
                                                              -'AFIC':'AIRFRAME ICING',\
                                                              -'WSEQC1':'WINDSAT EDR QC FLAG #1',\
                                                              -'DOSW':'DIRECTION OF SWELL WAVES',\
                                                              -'PPC':'PRESSURE EVENT PROGRAM CODE',\
                                                              -'PWTBACKG':'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE',\
                                                              -'VPRE':'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL',\
                                                              -'PWL_INFO':'LAYER PRECIPITABLE WATER INFORMATION',\
                                                              -'TVWTA':'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL',\
                                                              -'PRSLEVLA':'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE',\
                                                              -'HTOI':'HEIGHT OF TOP OF ICING',\
                                                              -'YOB':'LATITUDE (DEG N)',\
                                                              -'TVWTG':'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS',\
                                                              -'HTOT':'HEIGHT OF TOP OF TURBULENCE',\
                                                              -'SSTBACKG':'SEA TEMPERATURE BACKGROUND SEQUENCE',\
                                                              -'UCS':'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE',\
                                                              -'PWR':'TOTAL PRECIPITABLE WATER EVENT REASON CODE',\
                                                              -'PWP':'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE',\
                                                              -'PWQ':'TOTAL PRECIPITABLE WATER (QUALITY) MARKER',\
                                                              -'TP12':'TOTAL PRECIPITATION PAST 12 HOURS',\
                                                              -'3HPC':'3 HOUR PRESSURE CHANGE',\
                                                              -'PWF':'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE',\
                                                              -'PWE':'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)',\
                                                              -'QKSWND':'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              -'TRBX43':'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)',\
                                                              -'PWO':'TOTAL PRECIPITABLE WATER OBSERVATION (MM)',\
                                                              -'TRBX':'TURBULENCE INDEX',\
                                                              -'PW3FMOD':'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)',\
                                                              -'GSI':'GSI ANALYSIS STEP',\
                                                              -'A1':'ERS INCIDENT ANGLE NUMBER 1',\
                                                              -'RRTRC':'RAINFALL (AVERAGE RATE) EVENT REASON CODE',\
                                                              -'QVWTA':'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL',\
                                                              -'TFCMOD':'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)',\
                                                              -'QVWTG':'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS',\
                                                              -'SPDE':'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL',\
                                                              -'CTPBACKG':'CLOUD TOP PRESSURE BACKGROUND SEQUENCE',\
                                                              -'GCDTT':'GOES CLOUD TOP TEMPERATURE OBSERVATION',\
                                                              -'PW3R':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              -'PW3P':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              -'PW3Q':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              -'PW3F':'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE',\
                                                              -'PW3E':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              -'PW3A':'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              -'PW3O':'0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              -'ZPC':'HEIGHT EVENT PROGRAM CODE',\
                                                              -'UCL':'CLIMATOLOGICAL U-COMPONENT WIND VALUE',\
                                                              -'PW1BACKG':'1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              -'SQN':'REPORT SEQUENCE NUMBER',\
                                                              -'B2':'ERS AZIMUTH  ANGLE NUMBER 2',\
                                                              -'B3':'ERS AZIMUTH  ANGLE NUMBER 3',\
                                                              -'PWT_INFO':'TOTAL PRECIPITABLE WATER INFORMATION',\
                                                              -'PW4BACKG':'0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              -'SWELLSEQ':'SWELL WAVE SEQUENCE',\
                                                              -'CLTP':'CLOUD TYPE',\
                                                              -'GOESND':'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)',\
                                                              -'WAVE_SEQ':'WAVE SEQUENCE',\
                                                              -'PW1_INFO':'1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              -'PW3_INFO':'0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              -'WSST':'WINDSAT SURFACE TYPE',\
                                                              -'CQCPROF':'WIND PROFILER QUALITY CONTROL STEP',\
                                                              -'BTMPLEVL':"BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE",\
                                                              -'W___INFO':'WIND INFORMATION',\
                                                              -'VTVI':'VERTICAL VISIBILITY',\
                                                              -'MXTM':'MAXIMUM TEMPERATURE',\
                                                              -'SPRVSTG':'MESONET SUBPROVIDER ID STRING',\
                                                              -'B1':'ERS AZIMUTH  ANGLE NUMBER 1',\
                                                              -'TCOR':"INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED",\
                                                              -'PSTWXSEQ':'PAST WEATHER SEQUENCE',\
                                                              -'AIRCAR':'MDCRS ACARS AIRCRAFT REPORTS',\
                                                              -'TRC':'TEMPERATURE EVENT REASON CODE',\
                                                              -'TOPC_SEQ':'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE',\
                                                              -'T__BACKG':'TEMPERATURE BACKGROUND SEQUENCE',\
                                                              -'T29':'DATA DUMP REPORT TYPE',\
                                                              -'T___INFO':'TEMPERATURE INFORMATION',\
                                                              -'PW3F_MSQ':'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              -'VOB':'V-COMPONENT WIND OBSERVATION (M/S)',\
                                                              -'QCLIMATO':'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE',\
                                                              -'OIQC':'OI-QUALITY MULTI-PLATFROM CONTROL STEP',\
                                                              -'PMSL_SEQ':'MEAN SEA LEVEL PRESSURE SEQUENCE',\
                                                              -'WVCQ':'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)',\
                                                              -'DEFAULT':'NON-DEFINED STEP (DEFAULT)',\
                                                              -'TOCC':'CLOUD COVER (TOTAL)',\
                                                              -'SST1':'SEA TEMPERATURE',\
                                                              -'ACAV':'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE',\
                                                              -'CTPRC':'CLOUD TOP PRESSURE EVENT REASON CODE',\
                                                              -'PRVSTG':'MESONET PROVIDER ID STRING',\
                                                              -'TRBX21':'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)',\
                                                              -'PMQ':'MEAN SEA-LVL PRESSURE (QUALITY) MARKER',\
                                                              -'DBSS_SEQ':'DEPTH BELOW SEA SURFACE SEQUENCE',\
                                                              -'MSONET':'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)',\
                                                              -'PMO':'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)',\
                                                              -'PWTEVENT':'TOTAL PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              -'PW4POSTP':'0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              -'TMSK':'SKIN TEMPERATURE',\
                                                              -'CLOU2SEQ':'OBSERVED CLOUD SEQUENCE # 2',\
                                                              -'PW2F_MSQ':'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              -'WVWTG':'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS',\
                                                              -'ELV':'STATION ELEVATION (M)',\
                                                              -'WVWTA':'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL',\
                                                              -'ZFCMOD':'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)',\
                                                              -'RSRD':'RESTRICTIONS ON REDISTRIBUTION',\
                                                              -'PREPACQC':'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)',\
                                                              -'SSTE':'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL',\
                                                              -'QCS':'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE',\
                                                              -'ZCLIMATO':'HEIGHT CLIMATOLOGY SEQUENCE',\
                                                              -'PCAT':'PRECISION OF TEMPERATURE OBSERVATION',\
                                                              -'QCL':'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE',\
                                                              -'PW4EVENT':'0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              -'HOWV':'HEIGHT OF WAVES',\
                                                              -'HOWW':'HEIGHT OF WIND WAVES',\
                                                              -'CQCHT':'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP',\
                                                              -'RRTAN':'ANALYZED RAINFALL (AVERAGE RATE) VALUE',\
                                                              -'A3':'ERS INCIDENT ANGLE NUMBER 3',\
                                                              -'A2':'ERS INCIDENT ANGLE NUMBER 2',\
                                                              -'ALSE':'ALTIMETER SETTING OBSERVATION',\
                                                              -'HOCB':'HEIGHT OF BASE OF CLOUD',\
                                                              -'SSTEVENT':'SEA TEMPERATURE EVENT SEQUENCE',\
                                                              -'SQM':'WIND SPEED (SOB) (QUALITY) MARKER',\
                                                              -'Q__BACKG':'SPECIFIC HUMIDITY BACKGROUND SEQUENCE',\
                                                              -'PROCN':'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)',\
                                                              -'HBLCS':'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN',\
                                                              -'RRT_INFO':'RAIN RATE INFORMATION',\
                                                              -'PW2EVENT':'0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              -'Z__BACKG':'HEIGHT BACKGROUND SEQUENCE',\
                                                              -'PFC':'FORECAST (BACKGROUND) PRESSURE VALUE',\
                                                              -'ZCL':'CLIMATOLOGICAL HEIGHT VALUE',\
                                                              -'SHIP_SEQ':'SHIP DIRECTION/SPEED SEQUENCE',\
                                                              -'VSSO':'VERT. SIGNIFICANCE (SFC OBSERVATION)',\
                                                              -'DRFTINFO':'PROFILE LEVEL TIME/LOCATION INFORMATION',\
                                                              -'ZCS':'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE',\
                                                              -'DBSS':'DEPTH BELOW SEA SURFACE'
                                                              -}
                                                              -'''dictionary mapping prepbufr mnemonics to human readable descriptions'''
                                                              -amsu_mnemonics_dict = {
                                                              -'NC021021' :'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)',\
                                                              -'NC021022' :'MTYP 021-022 PROCESSED MSU    1B Tb DATA (NOAA-14)',\
                                                              -'NC021023' :'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)',\
                                                              -'NC021024' :'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)',\
                                                              -'NC021025' :'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)',\
                                                              -'NC021027' :'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)',\
                                                              -'NC021028' :'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)',\
                                                              -'NC021033' :'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)',\
                                                              -'NC021034' :'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)',\
                                                              -'NC021035' :'MTYP 021-035 RARS(EARS,AP,SA) HIRS   1C Tb DATA(N15-19)',\
                                                              -'NC021036' :'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA   (N18-19)',\
                                                              -'NC021041' :'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA',\
                                                              -'NC021042' :'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)',\
                                                              -'NC021043' :'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)',\
                                                              -'NC021051' :'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)',\
                                                              -'NC021052' :'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)',\
                                                              -'NC021053' :'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)',\
                                                              -'NC021054' :'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)',\
                                                              -'NC021123' :'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)',\
                                                              -'NC021201' :'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)',\
                                                              -'NC021202' :'MTYP 021-202 NPP CrIS RADIANCE DATA',\
                                                              -'NC021203' :'MTYP 021-203 NPP ATMS RADIANCE DATA',\
                                                              -'NC021241' :'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)',\
                                                              -'NC021249' :'MTYP 021-249 EVERY  FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              -'NC021250' :'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              -'NC021251' :'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA',\
                                                              -'NC021252' :'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA',\
                                                              -'NC021253' :'MTYP 021-253 AIRS PRINCIPAL COMPONENTS',\
                                                              -'NC021254' :'MTYP 021-254 AMSR-E CHANNEL DATA',\
                                                              -'NC021255' :'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              -'YYMMDD' :'DATE -- YEAR, MONTH, DAY',\
                                                              -'HHMM' :'TIME -- HOUR, MINUTE',\
                                                              -'HHMMSS' :'TIME -- HOUR, MINUTE, SECOND',\
                                                              -'LTLONH' :'HIGH ACCURACY LATITUDE/LONGITUDE POSITION',\
                                                              -'SIDGRSEQ' :'SATELLITE IDENTIFIER/GENERATING RESOLUTION',\
                                                              -'SIDENSEQ' :'SATELLITE IDENTIFICATION',\
                                                              -'LOCPLAT' :'LOCATION OF PLATFORM (SATELLITE) SEQUENCE',\
                                                              -'ALLSKYRD' :'ALL SKY RADIANCE DATA',\
                                                              -'CLOUDCOV' :'CLOUD COVERAGE',\
                                                              -'ATOVAMUA' :'ATOVS AMSU-A REPORT',\
                                                              -'ATOVAMUB' :'ATOVS AMSU-B REPORT',\
                                                              -'ATFOV' :'ATOVS FIELD OF VIEW VARIABLES',\
                                                              -'ATCHV' :'ATOVS CHANNEL VARIABLES',\
                                                              -'SSMISTEM' :'SSM/IS TEMPERATURE DATA RECORD',\
                                                              -'ALLSKYRP' :'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE',\
                                                              -'SCO1C3IN' :'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS',\
                                                              -'SPITSEQN' :'SATELLITE POSITION AND INSTRUMENT TEMPERATURES',\
                                                              -'SITPSEQN' :'SATELLITE INSTRUMENT TYPE AND POSITION',\
                                                              -'SCBTSEQN' :'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET',\
                                                              -'SVCASEQN' :'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET',\
                                                              -'SATRCPRC' :'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS',\
                                                              -'IASIL1CB' :'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE',\
                                                              -'IASIL1CS' :'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE',\
                                                              -'BCFQFSQ' :'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE',\
                                                              -'CRCHN' :'NPP CrIS CHANNEL DATA',\
                                                              -'AMSUSPOT' :'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)',\
                                                              -'AMSUCHAN' :'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              -'HSBSPOT' :'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)',\
                                                              -'HSBCHAN' :'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              -'ATMSCH' :'NPP ATMS CHANNEL DATA',\
                                                              -'INTMS' :'SATELLITE INSTRUMENT TEMPERATURES',\
                                                              -'AIRSPC' :'AIRS PRINCIPAL COMPONENT SEQUENCE',\
                                                              -'AIRSCORE' :'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE',\
                                                              -'AVCSEQ' :'AVHRR (GAC) CHANNEL SEQUENCE',\
                                                              -'BID' :'BULLETIN HEADER DATA',\
                                                              -'RCPTIM' :'REPORT RECEIPT TIME DATA',\
                                                              -'SATEPHEM' :'SSM/IS SATELLITE EPHEMERIS INFORMATION',\
                                                              -'SCLINGEO' :'SSM/IS SCAN LINE GEOMETRY',\
                                                              -'SSMISCHN' :'SSM/IS CHANNEL SEQUENCE',\
                                                              -'IASICHN' :'IASI LEVEL 1C SCALED RADIANCE SEQUENCE',\
                                                              -'AVHRCHN' :'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ',\
                                                              -'BRITCSTC' :'BRIGHTNESS TEMPERATURE SEQUENCE #2',\
                                                              -'BRIT' :'BRIGHTNESS TEMPERATURE SEQUENCE',\
                                                              -'RADS' :'RADIANCE SEQUENCE',\
                                                              -'AMSRCHAN' :'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              -'AMSRDICE' :'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)',\
                                                              -'RPSEQ7' :'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE',\
                                                              -'RPSEQ8' :'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE',\
                                                              -'RPSEQ4' :'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE',\
                                                              -'WLTMSEQN' :'WARM LOAD TEMPERATURE SEQUENCE',\
                                                              -'MUHOSEQN' :'MULTIPLEXER HOUSEKEEPING SEQUENCE',\
                                                              -'SAID' :'SATELLITE IDENTIFIER',\
                                                              -'GCLONG' :'ORIGINATING/GENERATING CENTER',\
                                                              -'GNAP' :'GENERATING APPLICATION',\
                                                              -'OGCE' :'IDENTIFICATION OF ORIGINATING/GENERATING CENTER',\
                                                              -'GSES' :'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER',\
                                                              -'SIID' :'SATELLITE INSTRUMENTS',\
                                                              -'SCLF' :'SATELLITE CLASSIFICATION',\
                                                              -'SIDU' :'SATELLITE INSTRUMENT DATA USED IN PROCESSING',\
                                                              -'IMHC' :'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD',\
                                                              -'SSNX' :'SEGMENT SIZE AT NADIR IN X DIRECTION',\
                                                              -'SSNY' :'SEGMENT SIZE AT NADIR IN Y DIRECTION',\
                                                              -'SSIN' :'SATELLITE SENSOR INDICATOR',\
                                                              -'ANPO' :'ANTENNA POLARIZATION',\
                                                              -'RAIA' :'RADAR INCIDENCE ANGLE',\
                                                              -'INCN' :'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER',\
                                                              -'RAID' :'RADIOMETER IDENTIFIER',\
                                                              -'SIDP' :'SATELLITE INSTRUMENT DATA USED IN PROCESSING',\
                                                              -'SCCF' :'SATELLITE CHANNEL CENTER FREQUENCY',\
                                                              -'SCBW' :'SATELLITE CHANNEL BAND WIDTH',\
                                                              -'RDTF' :'RADIANCE TYPE FLAGS',\
                                                              -'RDTP' :'RADIANCE TYPE',\
                                                              -'RDCM' :'RADIANCE COMPUTATIONAL METHOD',\
                                                              -'YEAR' :'YEAR',\
                                                              -'MNTH' :'MONTH',\
                                                              -'DAYS' :'DAY',\
                                                              -'HOUR' :'HOUR',\
                                                              -'MINU' :'MINUTE',\
                                                              -'SECO' :'SECOND',\
                                                              -'TPSE' :'TIME PERIOD OR DISPLACEMENT',\
                                                              -'RCYR' :'YEAR   - TIME OF RECEIPT',\
                                                              -'RCMO' :'MONTH  - TIME OF RECEIPT',\
                                                              -'RCDY' :'DAY    - TIME OF RECEIPT',\
                                                              -'RCHR' :'HOUR   - TIME OF RECEIPT',\
                                                              -'RCMI' :'MINUTE - TIME OF RECEIPT',\
                                                              -'CLATH' :'LATITUDE (HIGH ACCURACY)',\
                                                              -'CLAT' :'LATITUDE (COARSE ACCURACY)',\
                                                              -'BEARAZ' :'BEARING OR AZIMUTH',\
                                                              -'SOLAZI' :'SOLAR AZIMUTH',\
                                                              -'ORBN' :'ORBIT NUMBER',\
                                                              -'SLNM' :'SCAN LINE NUMBER',\
                                                              -'CHNM' :'CHANNEL NUMBER',\
                                                              -'FOVN' :'FIELD OF VIEW NUMBER',\
                                                              -'FORN' :'FIELD OF REGARD NUMBER',\
                                                              -'YAPCG' :'Y ANGULAR POSITION OF CENTER OF GRAVITY',\
                                                              -'ZAPCG' :'Z ANGULAR POSITION OF CENTER OF GRAVITY',\
                                                              -'CLONH' :'LONGITUDE (HIGH ACCURACY)',\
                                                              -'CLON' :'LONGITUDE (COARSE ACCURACY)',\
                                                              -'WVNM' :'WAVE NUMBER',\
                                                              -'SELV' :'HEIGHT OF STATION',\
                                                              -'HMSL' :'HEIGHT OR ALTITUDE',\
                                                              -'PRLC' :'PRESSURE',\
                                                              -'SAZA' :'SATELLITE ZENITH ANGLE',\
                                                              -'SOZA' :'SOLAR ZENITH ANGLE',\
                                                              -'VSIG' :'VERTICAL SOUNDING SIGNIFICANCE',\
                                                              -'VSAT' :'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)',\
                                                              -'DIMS' :'DIMENSIONAL SIGNIFICANCE',\
                                                              -'LSQL' :'LAND/SEA QUALIFIER',\
                                                              -'TSIG' :'TIME SIGNIFICANCE',\
                                                              -'FOST' :'FIRST ORDER STATISTICS',\
                                                              -'MDPC' :'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE',\
                                                              -'TAPQ' :'TOVS/ATOVS PRODUCT IDENTIFIER',\
                                                              -'STKO' :'ASCENDING/DESCENDING ORBIT QUALIFIER',\
                                                              -'TOBD' :'TYPE OF BAND',\
                                                              -'RCTS' :'RECEIPT TIME SIGNIFICANCE',\
                                                              -'HOLS' :'HEIGHT OF LAND SURFACE',\
                                                              -'HITE' :'GEOPOTENTIAL HEIGHT',\
                                                              -'PDNP' :"IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER",\
                                                              -'TMBRST' :'BRIGHTNESS TEMPERATURE',\
                                                              -'TMINST' :'INSTRUMENT TEMPERATURE',\
                                                              -'SDTB' :'STANDARD DEVIATION BRIGHTNESS TEMPERATURE',\
                                                              -'TMANT' :'ANTENNA TEMPERATURE',\
                                                              -'WLTM' :'WARM LOAD TEMPERATURE',\
                                                              -'SPRD' :'SPECTRAL RADIANCE',\
                                                              -'RDNE' :'RADIANCE',\
                                                              -'NEDTCO' :'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET',\
                                                              -'NEDTWA' :'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET',\
                                                              -'TMBR' :'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)',\
                                                              -'CSTC' :'COLD SPACE TEMPERATURE CORRECTION',\
                                                              -'REHU' :'RELATIVE HUMIDITY',\
                                                              -'SFLG' :'SURFACE FLAG',\
                                                              -'ALBD' :'ALBEDO',\
                                                              -'SRAD' :'CHANNEL RADIANCE',\
                                                              -'CHRAD' :'CHANNEL RADIANCE',\
                                                              -'SCRA' :'SCALED IASI RADIANCE',\
                                                              -'SMRA' :'SCALED MEAN AVHRR RADIANCE',\
                                                              -'SSDR' :'SCALED STANDARD DEVIATION OF AVHRR RADIANCE',\
                                                              -'LOGCT' :'LOG10 OF CLOUD TEST RESULTS',\
                                                              -'TOCC' :'CLOUD COVER (TOTAL)',\
                                                              -'CLTP' :'CLOUD TYPE',\
                                                              -'HOCT' :'HEIGHT OF TOP OF CLOUD',\
                                                              -'RFLAG' :'RAIN FLAG',\
                                                              -'CLDMNT' :'CLOUD AMOUNT IN SEGMENT',\
                                                              -'NCLDMNT' :'AMOUNT SEGMENT CLOUD FREE',\
                                                              -'CLAVR' :'CLOUD FROM AVHRR (CLAVR) CLOUD MASK',\
                                                              -'WTCA' :'WARM TARGET CALIBRATION',\
                                                              -'CTCA' :'COLD TARGET CALIBRATION',\
                                                              -'ALFR' :'LAND FRACTION',\
                                                              -'APCOMP' :'PRINCIPAL COMPONENT SCORE',\
                                                              -'AVHCST' :'AVHRR CHANNEL COMBINATION',\
                                                              -'APCFIT' :'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA',\
                                                              -'SSID' :'SSMIS SUBFRAME ID NUMBER',\
                                                              -'MUHO' :'MULTIPLEXOR HOUSEKEEPING',\
                                                              -'MJFC' :'MAJOR FRAME COUNT',\
                                                              -'SACV' :'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER',\
                                                              -'LOGRCW' :'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)',\
                                                              -'BWCC1' :'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS',\
                                                              -'BWCC2' :'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS',\
                                                              -'ASFI' :'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS',\
                                                              -'AEFW' :'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS',\
                                                              -'FCPH' :'FRACTION OF CLEAR PIXELS IN HIRS FOV',\
                                                              -'STCH' :'START CHANNEL',\
                                                              -'ENCH' :'END CHANNEL',\
                                                              -'CHSF' :'CHANNEL SCALE FACTOR',\
                                                              -'PD00' :"IN DIRECTION OF  0 DEG E, DISTANCE FROM EARTH'S CENTER",\
                                                              -'PD90' :"IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER",\
                                                              -'NPPR' :'NUMBER OF PIXELS PER ROW',\
                                                              -'NPPC' :'NUMBER OF PIXELS PER COLUMN',\
                                                              -'QMRKH' :'QUALITY INFORMATION',\
                                                              -'PCCF' :'PERCENT CONFIDENCE',\
                                                              -'SLSF' :'SCAN LINE STATUS FLAGS FOR ATOVS',\
                                                              -'SLQF' :'SCAN LINE QUALITY FLAGS FOR ATOVS',\
                                                              -'ACQF' :'CHANNEL QUALITY FLAGS FOR ATOVS',\
                                                              -'FOVQ' :'FIELD OF VIEW QUALITY FLAGS FOR ATOVS',\
                                                              -'QGFQ' :'INDIVIDUAL IASI-SYSTEM QUALITY FLAG',\
                                                              -'QGQI' :'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)',\
                                                              -'QGQIL' :'GEOMETRIC QUALITY INDEX INDICATOR',\
                                                              -'QGQIR' :'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)',\
                                                              -'QGQIS' :'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)',\
                                                              -'QGSSQ' :'OUTPUT OF TEC FUNCTION',\
                                                              -'NSQF' :'SCAN LEVEL QUALITY FLAGS',\
                                                              -'NCQF' :'CALIBRATION QUALITY FLAGS',\
                                                              -'NFQF' :'FIELD OF VIEW QUALITY FLAGS',\
                                                              -'NGQI' :'GEOLOCATION QUALITY',\
                                                              -'ATMSGQ' :'GRANULE LEVEL QUALITY FLAGS',\
                                                              -'ATMSSQ' :'SCAN LEVEL QUALITY FLAGS',\
                                                              -'ATMSCHQ' :'CHANNEL DATA QUALITY FLAGS',\
                                                              -'BUHD' :'BULLETIN BEING MONITORED (TTAAii)',\
                                                              -'BULTIM' :'BULLETIN BEING MONITORED (YYGGgg)',\
                                                              -'BORG' :'BULLETIN BEING MONITORED (CCCC)',\
                                                              -'BBB' :'BULLETIN BEING MONITORED (BBB)',\
                                                              -'SEQNUM' :'CHANNEL SEQUENCE NUMBER'}
                                                              -'''dictionary mapping amsu mnemonics to human readable descriptions'''
                                                              -
                                                              - -
                                                              + + + + +
                                                                1prepbufr_mnemonics_dict = {
                                                              +  2'PW2Q':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +  3'PW2P':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +  4'T__EVENT':'TEMPERATURE EVENT SEQUENCE',\
                                                              +  5'PW2R':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +  6'T__POSTP':'TEMPERATURE POSTPROCESSING SEQUENCE',\
                                                              +  7'PW2A':'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +  8'WFC__MSQ':'MODEL WIND FORECAST SEQUENCE',\
                                                              +  9'TP24':'TOTAL PRECIPITATION PAST 24 HOURS',\
                                                              + 10'YCOR':"INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'",\
                                                              + 11'PW2E':'0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              + 12'PREWXSEQ':'PRESENT WEATHER SEQUENCE',\
                                                              + 13'XCOR':"INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'",\
                                                              + 14'PW2O':'0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              + 15'PW3EVENT':'0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              + 16'UAN':'ANALYZED U-COMPONENT WIND VALUE',\
                                                              + 17'TAN':'ANALYZED TEMPERATURE VALUE',\
                                                              + 18'MSST':'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT',\
                                                              + 19'VAN':'ANALYZED V-COMPONENT WIND VALUE',\
                                                              + 20'WRC':'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE',\
                                                              + 21'SFCSHP':'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS',\
                                                              + 22'ADPUPA':'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS',\
                                                              + 23'DF_EVENT':'WIND (DIRECTION/SPEED) EVENT SEQUENCE',\
                                                              + 24'TURB3SEQ':'TURBULENCE SEQUENCE # 3',\
                                                              + 25'QQM':'SPECIFIC HUMIDITY (QUALITY) MARKER',\
                                                              + 26'E1':'ERS ERROR ESTIMATE NUMBER 1',\
                                                              + 27'SPSSMI':'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)',\
                                                              + 28'PQM':'PRESSURE (QUALITY) MARKER',\
                                                              + 29'CLOUDSEQ':'OBSERVED CLOUD SEQUENCE # 1',\
                                                              + 30'SNOW_SEQ':'SNOW DEPTH SEQUENCE',\
                                                              + 31'ZQM':'HEIGHT (QUALITY) MARKER',\
                                                              + 32'CTCN':'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)',\
                                                              + 33'ACID_SEQ':'AIRCRAFT FLIGHT NUMBER SEQUENCE',\
                                                              + 34'TFC__MSQ':'MODEL TEMPERATURE FORECAST SEQUENCE',\
                                                              + 35'QFC__MSQ':'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE',\
                                                              + 36'PCS':'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE',\
                                                              + 37'SID':'STATION IDENTIFICATION',\
                                                              + 38'TSB':'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)',\
                                                              + 39'UOB':'U-COMPONENT WIND OBSERVATION (M/S)',\
                                                              + 40'PCL':'CLIMATOLOGICAL PRESSURE VALUE',\
                                                              + 41'VADWND':'VAD (NEXRAD) WIND REPORTS',\
                                                              + 42'TOPC':'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT',\
                                                              + 43'SST_INFO':'SEA TEMPERATURE INFORMATION',\
                                                              + 44'PREVENT':'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP',\
                                                              + 45'GUST1SEQ':'MAXIMUM WIND GUST SEQUENCE # 1',\
                                                              + 46'RF10M':'10 METER WIND REDUCTION FACTOR',\
                                                              + 47'PAN':'ANALYZED PRESSURE VALUE',\
                                                              + 48'ELEV':'SATELLITE ELEVATION (ZENITH ANGLE)',\
                                                              + 49'TMXMNSEQ':'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE',\
                                                              + 50'CTPQM':'CLOUD TOP PRESSURE (QUALITY) MARKER',\
                                                              + 51'MSTQ':'MOISTURE QUALITY',\
                                                              + 52'PCLIMATO':'PRESSURE CLIMATOLOGY SEQUENCE',\
                                                              + 53'SAID':'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)',\
                                                              + 54'MWD10':'MODEL WIND DIRECTION AT 10 M',\
                                                              + 55'CQCVAD':'VAD WIND QUALITY CONTROL STEP',\
                                                              + 56'PW1F_MSQ':'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              + 57'SOEL':'SOLAR ELEVATION (ZENITH ANGLE)',\
                                                              + 58'ALTIMSEQ':'ALTIMETER SETTING SEQUENCE',\
                                                              + 59'SSTRC':'SEA TEMPERATURE EVENT REASON CODE',\
                                                              + 60'S3':'ERS BACKSCATTER NUMBER 3',\
                                                              + 61'S2':'ERS BACKSCATTER NUMBER 2',\
                                                              + 62'S1':'ERS BACKSCATTER NUMBER 1',\
                                                              + 63'IALR':'INSTANTANEOUS ALTITUDE RATE',\
                                                              + 64'RADCOR':'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP',\
                                                              + 65'ACID':'AIRCRAFT FLIGHT NUMBER',\
                                                              + 66'RRTBACKG':'RAIN RATE BACKGROUND SEQUENCE',\
                                                              + 67'ERS1DA':'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)',\
                                                              + 68'CLAM':'CLOUD AMOUNT',\
                                                              + 69'POWV':'PERIOD OF WAVES',\
                                                              + 70'POWW':'PERIOD OF WIND WAVES',\
                                                              + 71'RCT':'RECEIPT TIME',\
                                                              + 72'BTMPINFO':'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION',\
                                                              + 73'DFQ':'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER',\
                                                              + 74'DFP':'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE',\
                                                              + 75'DFR':'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE',\
                                                              + 76'HOSW':'HEIGHT OF SWELL WAVES',\
                                                              + 77'SYNDAT':'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS',\
                                                              + 78'PW4FMOD':'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)',\
                                                              + 79'DGOT':'DEGREE OF TURBULENCE',\
                                                              + 80'PW1FMOD':'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)',\
                                                              + 81'UFCMOD':'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)',\
                                                              + 82'MRWVC':'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)',\
                                                              + 83'TRBX32':'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)',\
                                                              + 84'WQM':'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER',\
                                                              + 85'PW4F_MSQ':'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              + 86'PW2F':'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE',\
                                                              + 87'GPSIPW':'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER',\
                                                              + 88'QOETU':'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR',\
                                                              + 89'CAT':'PREPBUFR DATA LEVEL CATEGORY',\
                                                              + 90'MITM':'MINIMUM TEMPERATURE',\
                                                              + 91'ACARSQC':'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP',\
                                                              + 92'TOB':'TEMPERATURE OBSERVATION (DEGREES C)',\
                                                              + 93'TOE':'TEMPERATURE OBSERVATION ERROR (DEGREES C)',\
                                                              + 94'RRTPC':'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE',\
                                                              + 95'BSCD':'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)',\
                                                              + 96'PW1O':'1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              + 97'PW1A':'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              + 98'PFCMOD':'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)',\
                                                              + 99'PW1F':'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +100'HOCT_SEQ':'HEIGHT OF TOP OF CLOUD SEQUENCE',\
                                                              +101'SOB':'WIND SPEED OBSERVATION',\
                                                              +102'XOB':'LONGITUDE (DEG E)',\
                                                              +103'PW1P':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +104'PW1Q':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +105'PW1R':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +106'PWETU':'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR',\
                                                              +107'TP12_SEQ':'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE',\
                                                              +108'PKWDDR':'PEAK WIND DIRECTION',\
                                                              +109'CHPT':'CHARACTERISTIC OF PRESSURE TENDENCY',\
                                                              +110'TFC':'FORECAST (BACKGROUND) TEMPERATURE VALUE',\
                                                              +111'TURB1SEQ':'TURBULENCE SEQUENCE # 1',\
                                                              +112'PW2_INFO':'0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +113'EXPRSRD':'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION',\
                                                              +114'VFC':'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE',\
                                                              +115'CTPOE':'CLOUD TOP PRESSURE OBSERVATION ERROR',\
                                                              +116'PW1POSTP':'1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +117'WOETU':'ANALYSIS-TUNED WIND OBSERVATION ERROR',\
                                                              +118'PRC':'PRESSURE EVENT REASON CODE',\
                                                              +119'QPC':'SPECIFIC HUMIDITY EVENT PROGRAM CODE',\
                                                              +120'P__POSTP':'PRESSURE POSTPROCESSING SEQUENCE',\
                                                              +121'ADPSFC':'SURFACE LAND (SYNOPTIC, METAR) REPORTS',\
                                                              +122'ZFC__MSQ':'MODEL HEIGHT FORECAST SEQUENCE',\
                                                              +123'CTPFC':'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE',\
                                                              +124'TPC':'TEMPERATURE EVENT PROGRAM CODE',\
                                                              +125'RFFL':'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN',\
                                                              +126'PSW2':'PAST WEATHER (2)',\
                                                              +127'PSW1':'PAST WEATHER (1)',\
                                                              +128'NRLACQC':'NRL AIRCRAFT QUALITY CONTROL STEP',\
                                                              +129'CTPEVENT':'CLOUD TOP PRESSURE EVENT SEQUENCE',\
                                                              +130'PW2POSTP':'0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +131'PW1EVENT':'1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +132'VISB2SEQ':'VISIBILITY SEQUENCE # 2',\
                                                              +133'HOVI':'HORIZONTAL VISIBILITY (M)',\
                                                              +134'POAF':'PHASE OF AIRCRAFT FLIGHT',\
                                                              +135'GUST2SEQ':'MAXIMUM WIND GUST SEQUENCE # 2',\
                                                              +136'TYP':'PREPBUFR REPORT TYPE',\
                                                              +137'PW4F':'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +138'PW4E':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +139'HEADR':'REPORT HEADER SEQUENCE',\
                                                              +140'PW4A':'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +141'PW4O':'0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              +142'CTPPC':'CLOUD TOP PRESSURE EVENT PROGRAM CODE',\
                                                              +143'PW4R':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +144'PW4Q':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +145'PW4P':'0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +146'FFO':'WIND SPEED OBSERVATION (NOT ASSIMILATED)',\
                                                              +147'ASMP':'AVG SPD OF SHIP DURING PAST 3 HOURS',\
                                                              +148'CHSQ':'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)',\
                                                              +149'QOE':'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)',\
                                                              +150'SFCBOG':'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS',\
                                                              +151'QOB':'SPECIFIC HUMIDITY OBSERVATION (MG/KG)',\
                                                              +152'PW3POSTP':'0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +153'E3':'ERS ERROR ESTIMATE NUMBER 3',\
                                                              +154'E2':'ERS ERROR ESTIMATE NUMBER 2',\
                                                              +155'PKWDSP':'PEAK WIND SPEED',\
                                                              +156'ESBAK':'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE',\
                                                              +157'SATWND':'SATELLITE-DERIVED WIND REPORTS',\
                                                              +158'PW1E':'1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +159'TOETU':'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR',\
                                                              +160'PHER':'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL',\
                                                              +161'WCLIMATO':'WIND CLIMATOLOGY SEQUENCE',\
                                                              +162'WOE':'WIND OBSERVATION ERROR (M/S)',\
                                                              +163'POSW':'PERIOD OF SWELL WAVES',\
                                                              +164'SCATINFO':'SCATTEROMETER DATA INFORMATION',\
                                                              +165'CLDE':'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.',\
                                                              +166'RRTPOSTP':'RAIN RATE POSTPROCESSING SEQUENCE',\
                                                              +167'SSI':'SSI GLOBAL ANALYSIS STEP',\
                                                              +168'ZRC':'HEIGHT EVENT REASON CODE',\
                                                              +169'PW2FMOD':'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)',\
                                                              +170'Z___INFO':'HEIGHT INFORMATION',\
                                                              +171'RASSDA':'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS',\
                                                              +172'PTE24SEQ':'24 HOUR PRESSURE TENDENCY SEQUENCE',\
                                                              +173'RRTFC':'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE',\
                                                              +174'HRDR':'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)',\
                                                              +175'ACFT_SEQ':'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE',\
                                                              +176'POETU':'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR',\
                                                              +177'P__BACKG':'PRESSURE BACKGROUND SEQUENCE',\
                                                              +178'NUL':'NULL (IGNORE)',\
                                                              +179'RRTOE':'RAINFALL (AVERAGE RATE) OBSERVATION ERROR',\
                                                              +180'TDMP':'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS',\
                                                              +181'WPC':'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE',\
                                                              +182'TOSS':'TOTAL SUNSHINE',\
                                                              +183'CDTP':'CLOUD TOP PRESSURE OBSERVATION',\
                                                              +184'W__EVENT':'WIND EVENT SEQUENCE',\
                                                              +185'CLIMO':'CLIMOTOLOGICAL PROCESSING STEP',\
                                                              +186'XS20':'20 METER EXTRAPOLATED WIND SPEED',\
                                                              +187'TOSD':'TOTAL SNOW DEPTH',\
                                                              +188'QFC':'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE',\
                                                              +189'PREPRO':'INITIAL PREPBUFR PROCESSING STEP',\
                                                              +190'SYNDATA':'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP',\
                                                              +191'PKWNDSEQ':'PEAK WIND SEQUENCE',\
                                                              +192'ITP':'INSTRUMENT TYPE',\
                                                              +193'Q__POSTP':'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE',\
                                                              +194'PWTVWTA':'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL',\
                                                              +195'TCLIMATO':'TEMPERATURE CLIMATOLOGY SEQUENCE',\
                                                              +196'PWTVWTG':'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS',\
                                                              +197'RPT':'REPORTED OBSERVATION TIME',\
                                                              +198'TP01':'TOTAL PRECIPITATION PAST 1 HOUR',\
                                                              +199'TP03':'TOTAL PRECIPITATION PAST 3 HOURS',\
                                                              +200'VTVI_SEQ':'VERTICAL VISIBILITY SEQUENCE',\
                                                              +201'TP06':'TOTAL PRECIPITATION PAST 6 HOURS',\
                                                              +202'POE':'PRESSURE OBSERVATION ERROR (MB)',\
                                                              +203'POB':'PRESSURE OBSERVATION (MB)',\
                                                              +204'PW2BACKG':'0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +205'TURB2SEQ':'TURBULENCE SEQUENCE # 2',\
                                                              +206'PW__INFO':'PRECIPITABLE WATER INFORMATION',\
                                                              +207'PWA':'ANALYZED TOTAL PRECIPITABLE WATER VALUE',\
                                                              +208'VCL':'CLIMATOLOGICAL V-COMPONENT WIND VALUE',\
                                                              +209'VCS':'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE',\
                                                              +210'SSTQM':'SEA TEMPERATURE (QUALITY) MARKER',\
                                                              +211'DHR':'OBSERVATION TIME MINUS CYCLE TIME (HOURS)',\
                                                              +212'VIRTMP':'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP',\
                                                              +213'24PC':'24 HOUR PRESSURE CHANGE',\
                                                              +214'PVWTG':'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS',\
                                                              +215'PVWTA':'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL',\
                                                              +216'ROLF':'AIRCRAFT ROLL ANGLE FLAG',\
                                                              +217'TQM':'TEMPERATURE (QUALITY) MARKER',\
                                                              +218'AIRCFT':'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS',\
                                                              +219'HBOI':'HEIGHT OF BASE OF ICING',\
                                                              +220'PRSLEVEL':'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)',\
                                                              +221'LATCORSQ':'LATITUDE CORRECTION SEQUENCE',\
                                                              +222'HBOT':'HEIGHT OF BASE OF TURBULENCE',\
                                                              +223'ZFC':'FORECAST (BACKGROUND) HEIGHT VALUE',\
                                                              +224'QAN':'ANALYZED SPECIFIC HUMIDITY VALUE',\
                                                              +225'Q___INFO':'SPECIFIC HUMIDITY INFORMATION',\
                                                              +226'QIFY':'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST',\
                                                              +227'P___INFO':'PRESSURE INFORMATION',\
                                                              +228'SSTFC':'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE',\
                                                              +229'QIFN':'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST',\
                                                              +230'TPRECSEQ':'TOTAL PRECIPITATION SEQUENCE',\
                                                              +231'Z__POSTP':'HEIGHT POSTPROCESSING SEQUENCE',\
                                                              +232'QRC':'SPECIFIC HUMIDITY EVENT REASON CODE',\
                                                              +233'PTENDSEQ':'PRESSURE TENDENCY SEQUENCE',\
                                                              +234'XWSPDSEQ':'EXTRAPOLATED WIND SPEED SEQUENCE',\
                                                              +235'ZAN':'ANALYZED HEIGHT VALUE',\
                                                              +236'RRTQM':'RAINFALL (AVERAGE RATE) (QUALITY) MARKER',\
                                                              +237'PROFLR':'WIND PROFILER REPORTS',\
                                                              +238'PWTPOSTP':'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE',\
                                                              +239'CHNM':'CHANNEL NUMBER',\
                                                              +240'CTP_INFO':'CLOUD TOP INFORMATION',\
                                                              +241'SSTAN':'ANALYZED SEA TEMPERATURE VALUE',\
                                                              +242'PW3BACKG':'0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +243'HOCT':'HEIGHT OF TOP OF CLOUD',\
                                                              +244'SUNSHSEQ':'TOTAL SUNSHINE SEQUENCE',\
                                                              +245'PRWE':'PRESENT WEATHER',\
                                                              +246'XS10':'10 METER EXTRAPOLATED WIND SPEED',\
                                                              +247'NRLQMS':'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)',\
                                                              +248'PWF__MSQ':'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE',\
                                                              +249'Q__EVENT':'SPECIFIC HUMIDITY EVENT SEQUENCE',\
                                                              +250'TCS':'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE',\
                                                              +251'TCL':'CLIMATOLOGICAL TEMPERATURE VALUE',\
                                                              +252'W__BACKG':'WIND BACKGROUND SEQUENCE',\
                                                              +253'XDR':'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)',\
                                                              +254'DOFS':'DEPTH OF FRESH SNOW',\
                                                              +255'PFC__MSQ':'MODEL PRESSURE FORECAST SEQUENCE',\
                                                              +256'SIRC':'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR',\
                                                              +257'ZOB':'HEIGHT OBSERVATION (M)',\
                                                              +258'ZOE':'HEIGHT OBSERVATION ERROR (M)',\
                                                              +259'RSRD_SEQ':'RESTRICTIONS ON REDISTRIBUTION SEQUENCE',\
                                                              +260'SATEMP':'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)',\
                                                              +261'SSTOE':'SEA TEMPERATURE OBSERVATION ERROR',\
                                                              +262'DDO':'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)',\
                                                              +263'SSTPOSTP':'SEA TEMPERATURE POSTPROCESSING SEQUENCE',\
                                                              +264'AFIC_SEQ':'AIRCRAFT ICING SEQUENCE',\
                                                              +265'PCCF_SEQ':'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE',\
                                                              +266'CTPPOSTP':'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE',\
                                                              +267'WSPD1':'SURFACE WIND SPEED',\
                                                              +268'TRBX10':'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB',\
                                                              +269'SPRR':'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)',\
                                                              +270'LKCS':'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)',\
                                                              +271'PRSLEVLG':'GOESND PRESSURE LEVEL SEQUENCE',\
                                                              +272'OZON':'OZONE',\
                                                              +273'CTPAN':'ANALYZED CLOUD TOP PRESSURE VALUE',\
                                                              +274'R3DVAR':'3DVAR REGIONAL ANALYSIS STEP',\
                                                              +275'Z__EVENT':'HEIGHT EVENT SEQUENCE',\
                                                              +276'PWFMOD':'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)',\
                                                              +277'ASCATW':'ASCAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              +278'MRLWC':'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)',\
                                                              +279'VISB1SEQ':'VISIBILITY SEQUENCE # 1',\
                                                              +280'PW4_INFO':'0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +281'TMBR':'BRIGHTNESS TEMPERATURE (KELVIN)',\
                                                              +282'MXGD':'MAXIMUM WIND GUST DIRECTION',\
                                                              +283'EEQF':'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR',\
                                                              +284'TVO':'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)',\
                                                              +285'MXGS':'MAXIMUM WIND SPEED (GUSTS, M/S)',\
                                                              +286'P__EVENT':'PRESSURE EVENT SEQUENCE',\
                                                              +287'WDSATR':'WINDSAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              +288'REQV':'RAINFALL (AVERAGE RATE) OBSERVATION',\
                                                              +289'QFCMOD':'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)',\
                                                              +290'ATRN':'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)',\
                                                              +291'WDIR1':'SURFACE WIND DIRECTION',\
                                                              +292'LONCORSQ':'LONGITUDE CORRECTION SEQUENCE',\
                                                              +293'XORG':'REPORTED (ORIGINAL) LONGITUDE',\
                                                              +294'RRTEVENT':'RATE RATE EVENT SEQUENCE',\
                                                              +295'YORG':'REPORTED (ORIGINAL) LATITUDE',\
                                                              +296'MWS10':'MODEL WIND SPEED AT 10 M',\
                                                              +297'TDO':'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)',\
                                                              +298'YDR':'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)',\
                                                              +299'UFC':'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE',\
                                                              +300'W__POSTP':'WIND POSTPROCESSING SEQUENCE',\
                                                              +301'SWINDSEQ':'SURFACE WIND SEQUENCE',\
                                                              +302'PRSS':'SURFACE PRESSURE OBSERVATION (PASCALS)',\
                                                              +303'SSTPC':'SEA TEMPERATURE EVENT PROGRAM CODE',\
                                                              +304'WSPD_SEQ':'WIND SPEED SEQUENCE',\
                                                              +305'VFCMOD':'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)',\
                                                              +306'AFIC':'AIRFRAME ICING',\
                                                              +307'WSEQC1':'WINDSAT EDR QC FLAG #1',\
                                                              +308'DOSW':'DIRECTION OF SWELL WAVES',\
                                                              +309'PPC':'PRESSURE EVENT PROGRAM CODE',\
                                                              +310'PWTBACKG':'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE',\
                                                              +311'VPRE':'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL',\
                                                              +312'PWL_INFO':'LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +313'TVWTA':'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL',\
                                                              +314'PRSLEVLA':'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE',\
                                                              +315'HTOI':'HEIGHT OF TOP OF ICING',\
                                                              +316'YOB':'LATITUDE (DEG N)',\
                                                              +317'TVWTG':'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS',\
                                                              +318'HTOT':'HEIGHT OF TOP OF TURBULENCE',\
                                                              +319'SSTBACKG':'SEA TEMPERATURE BACKGROUND SEQUENCE',\
                                                              +320'UCS':'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE',\
                                                              +321'PWR':'TOTAL PRECIPITABLE WATER EVENT REASON CODE',\
                                                              +322'PWP':'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE',\
                                                              +323'PWQ':'TOTAL PRECIPITABLE WATER (QUALITY) MARKER',\
                                                              +324'TP12':'TOTAL PRECIPITATION PAST 12 HOURS',\
                                                              +325'3HPC':'3 HOUR PRESSURE CHANGE',\
                                                              +326'PWF':'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE',\
                                                              +327'PWE':'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)',\
                                                              +328'QKSWND':'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)',\
                                                              +329'TRBX43':'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)',\
                                                              +330'PWO':'TOTAL PRECIPITABLE WATER OBSERVATION (MM)',\
                                                              +331'TRBX':'TURBULENCE INDEX',\
                                                              +332'PW3FMOD':'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)',\
                                                              +333'GSI':'GSI ANALYSIS STEP',\
                                                              +334'A1':'ERS INCIDENT ANGLE NUMBER 1',\
                                                              +335'RRTRC':'RAINFALL (AVERAGE RATE) EVENT REASON CODE',\
                                                              +336'QVWTA':'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL',\
                                                              +337'TFCMOD':'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)',\
                                                              +338'QVWTG':'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS',\
                                                              +339'SPDE':'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL',\
                                                              +340'CTPBACKG':'CLOUD TOP PRESSURE BACKGROUND SEQUENCE',\
                                                              +341'GCDTT':'GOES CLOUD TOP TEMPERATURE OBSERVATION',\
                                                              +342'PW3R':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE',\
                                                              +343'PW3P':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE',\
                                                              +344'PW3Q':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER',\
                                                              +345'PW3F':'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE',\
                                                              +346'PW3E':'0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR',\
                                                              +347'PW3A':'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE',\
                                                              +348'PW3O':'0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION',\
                                                              +349'ZPC':'HEIGHT EVENT PROGRAM CODE',\
                                                              +350'UCL':'CLIMATOLOGICAL U-COMPONENT WIND VALUE',\
                                                              +351'PW1BACKG':'1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +352'SQN':'REPORT SEQUENCE NUMBER',\
                                                              +353'B2':'ERS AZIMUTH  ANGLE NUMBER 2',\
                                                              +354'B3':'ERS AZIMUTH  ANGLE NUMBER 3',\
                                                              +355'PWT_INFO':'TOTAL PRECIPITABLE WATER INFORMATION',\
                                                              +356'PW4BACKG':'0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE',\
                                                              +357'SWELLSEQ':'SWELL WAVE SEQUENCE',\
                                                              +358'CLTP':'CLOUD TYPE',\
                                                              +359'GOESND':'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)',\
                                                              +360'WAVE_SEQ':'WAVE SEQUENCE',\
                                                              +361'PW1_INFO':'1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +362'PW3_INFO':'0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION',\
                                                              +363'WSST':'WINDSAT SURFACE TYPE',\
                                                              +364'CQCPROF':'WIND PROFILER QUALITY CONTROL STEP',\
                                                              +365'BTMPLEVL':"BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE",\
                                                              +366'W___INFO':'WIND INFORMATION',\
                                                              +367'VTVI':'VERTICAL VISIBILITY',\
                                                              +368'MXTM':'MAXIMUM TEMPERATURE',\
                                                              +369'SPRVSTG':'MESONET SUBPROVIDER ID STRING',\
                                                              +370'B1':'ERS AZIMUTH  ANGLE NUMBER 1',\
                                                              +371'TCOR':"INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED",\
                                                              +372'PSTWXSEQ':'PAST WEATHER SEQUENCE',\
                                                              +373'AIRCAR':'MDCRS ACARS AIRCRAFT REPORTS',\
                                                              +374'TRC':'TEMPERATURE EVENT REASON CODE',\
                                                              +375'TOPC_SEQ':'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE',\
                                                              +376'T__BACKG':'TEMPERATURE BACKGROUND SEQUENCE',\
                                                              +377'T29':'DATA DUMP REPORT TYPE',\
                                                              +378'T___INFO':'TEMPERATURE INFORMATION',\
                                                              +379'PW3F_MSQ':'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              +380'VOB':'V-COMPONENT WIND OBSERVATION (M/S)',\
                                                              +381'QCLIMATO':'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE',\
                                                              +382'OIQC':'OI-QUALITY MULTI-PLATFROM CONTROL STEP',\
                                                              +383'PMSL_SEQ':'MEAN SEA LEVEL PRESSURE SEQUENCE',\
                                                              +384'WVCQ':'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)',\
                                                              +385'DEFAULT':'NON-DEFINED STEP (DEFAULT)',\
                                                              +386'TOCC':'CLOUD COVER (TOTAL)',\
                                                              +387'SST1':'SEA TEMPERATURE',\
                                                              +388'ACAV':'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE',\
                                                              +389'CTPRC':'CLOUD TOP PRESSURE EVENT REASON CODE',\
                                                              +390'PRVSTG':'MESONET PROVIDER ID STRING',\
                                                              +391'TRBX21':'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)',\
                                                              +392'PMQ':'MEAN SEA-LVL PRESSURE (QUALITY) MARKER',\
                                                              +393'DBSS_SEQ':'DEPTH BELOW SEA SURFACE SEQUENCE',\
                                                              +394'MSONET':'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)',\
                                                              +395'PMO':'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)',\
                                                              +396'PWTEVENT':'TOTAL PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +397'PW4POSTP':'0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.',\
                                                              +398'TMSK':'SKIN TEMPERATURE',\
                                                              +399'CLOU2SEQ':'OBSERVED CLOUD SEQUENCE # 2',\
                                                              +400'PW2F_MSQ':'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.',\
                                                              +401'WVWTG':'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS',\
                                                              +402'ELV':'STATION ELEVATION (M)',\
                                                              +403'WVWTA':'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL',\
                                                              +404'ZFCMOD':'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)',\
                                                              +405'RSRD':'RESTRICTIONS ON REDISTRIBUTION',\
                                                              +406'PREPACQC':'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)',\
                                                              +407'SSTE':'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL',\
                                                              +408'QCS':'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE',\
                                                              +409'ZCLIMATO':'HEIGHT CLIMATOLOGY SEQUENCE',\
                                                              +410'PCAT':'PRECISION OF TEMPERATURE OBSERVATION',\
                                                              +411'QCL':'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE',\
                                                              +412'PW4EVENT':'0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +413'HOWV':'HEIGHT OF WAVES',\
                                                              +414'HOWW':'HEIGHT OF WIND WAVES',\
                                                              +415'CQCHT':'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP',\
                                                              +416'RRTAN':'ANALYZED RAINFALL (AVERAGE RATE) VALUE',\
                                                              +417'A3':'ERS INCIDENT ANGLE NUMBER 3',\
                                                              +418'A2':'ERS INCIDENT ANGLE NUMBER 2',\
                                                              +419'ALSE':'ALTIMETER SETTING OBSERVATION',\
                                                              +420'HOCB':'HEIGHT OF BASE OF CLOUD',\
                                                              +421'SSTEVENT':'SEA TEMPERATURE EVENT SEQUENCE',\
                                                              +422'SQM':'WIND SPEED (SOB) (QUALITY) MARKER',\
                                                              +423'Q__BACKG':'SPECIFIC HUMIDITY BACKGROUND SEQUENCE',\
                                                              +424'PROCN':'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)',\
                                                              +425'HBLCS':'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN',\
                                                              +426'RRT_INFO':'RAIN RATE INFORMATION',\
                                                              +427'PW2EVENT':'0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE',\
                                                              +428'Z__BACKG':'HEIGHT BACKGROUND SEQUENCE',\
                                                              +429'PFC':'FORECAST (BACKGROUND) PRESSURE VALUE',\
                                                              +430'ZCL':'CLIMATOLOGICAL HEIGHT VALUE',\
                                                              +431'SHIP_SEQ':'SHIP DIRECTION/SPEED SEQUENCE',\
                                                              +432'VSSO':'VERT. SIGNIFICANCE (SFC OBSERVATION)',\
                                                              +433'DRFTINFO':'PROFILE LEVEL TIME/LOCATION INFORMATION',\
                                                              +434'ZCS':'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE',\
                                                              +435'DBSS':'DEPTH BELOW SEA SURFACE'
                                                              +436}
                                                              +437'''dictionary mapping prepbufr mnemonics to human readable descriptions'''
                                                              +438amsu_mnemonics_dict = {
                                                              +439'NC021021' :'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)',\
                                                              +440'NC021022' :'MTYP 021-022 PROCESSED MSU    1B Tb DATA (NOAA-14)',\
                                                              +441'NC021023' :'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)',\
                                                              +442'NC021024' :'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)',\
                                                              +443'NC021025' :'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)',\
                                                              +444'NC021027' :'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)',\
                                                              +445'NC021028' :'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)',\
                                                              +446'NC021033' :'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)',\
                                                              +447'NC021034' :'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)',\
                                                              +448'NC021035' :'MTYP 021-035 RARS(EARS,AP,SA) HIRS   1C Tb DATA(N15-19)',\
                                                              +449'NC021036' :'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA   (N18-19)',\
                                                              +450'NC021041' :'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA',\
                                                              +451'NC021042' :'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)',\
                                                              +452'NC021043' :'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)',\
                                                              +453'NC021051' :'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)',\
                                                              +454'NC021052' :'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)',\
                                                              +455'NC021053' :'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)',\
                                                              +456'NC021054' :'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)',\
                                                              +457'NC021123' :'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)',\
                                                              +458'NC021201' :'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)',\
                                                              +459'NC021202' :'MTYP 021-202 NPP CrIS RADIANCE DATA',\
                                                              +460'NC021203' :'MTYP 021-203 NPP ATMS RADIANCE DATA',\
                                                              +461'NC021241' :'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)',\
                                                              +462'NC021249' :'MTYP 021-249 EVERY  FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              +463'NC021250' :'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              +464'NC021251' :'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA',\
                                                              +465'NC021252' :'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA',\
                                                              +466'NC021253' :'MTYP 021-253 AIRS PRINCIPAL COMPONENTS',\
                                                              +467'NC021254' :'MTYP 021-254 AMSR-E CHANNEL DATA',\
                                                              +468'NC021255' :'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)',\
                                                              +469'YYMMDD' :'DATE -- YEAR, MONTH, DAY',\
                                                              +470'HHMM' :'TIME -- HOUR, MINUTE',\
                                                              +471'HHMMSS' :'TIME -- HOUR, MINUTE, SECOND',\
                                                              +472'LTLONH' :'HIGH ACCURACY LATITUDE/LONGITUDE POSITION',\
                                                              +473'SIDGRSEQ' :'SATELLITE IDENTIFIER/GENERATING RESOLUTION',\
                                                              +474'SIDENSEQ' :'SATELLITE IDENTIFICATION',\
                                                              +475'LOCPLAT' :'LOCATION OF PLATFORM (SATELLITE) SEQUENCE',\
                                                              +476'ALLSKYRD' :'ALL SKY RADIANCE DATA',\
                                                              +477'CLOUDCOV' :'CLOUD COVERAGE',\
                                                              +478'ATOVAMUA' :'ATOVS AMSU-A REPORT',\
                                                              +479'ATOVAMUB' :'ATOVS AMSU-B REPORT',\
                                                              +480'ATFOV' :'ATOVS FIELD OF VIEW VARIABLES',\
                                                              +481'ATCHV' :'ATOVS CHANNEL VARIABLES',\
                                                              +482'SSMISTEM' :'SSM/IS TEMPERATURE DATA RECORD',\
                                                              +483'ALLSKYRP' :'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE',\
                                                              +484'SCO1C3IN' :'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS',\
                                                              +485'SPITSEQN' :'SATELLITE POSITION AND INSTRUMENT TEMPERATURES',\
                                                              +486'SITPSEQN' :'SATELLITE INSTRUMENT TYPE AND POSITION',\
                                                              +487'SCBTSEQN' :'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET',\
                                                              +488'SVCASEQN' :'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET',\
                                                              +489'SATRCPRC' :'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS',\
                                                              +490'IASIL1CB' :'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE',\
                                                              +491'IASIL1CS' :'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE',\
                                                              +492'BCFQFSQ' :'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE',\
                                                              +493'CRCHN' :'NPP CrIS CHANNEL DATA',\
                                                              +494'AMSUSPOT' :'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)',\
                                                              +495'AMSUCHAN' :'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              +496'HSBSPOT' :'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)',\
                                                              +497'HSBCHAN' :'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              +498'ATMSCH' :'NPP ATMS CHANNEL DATA',\
                                                              +499'INTMS' :'SATELLITE INSTRUMENT TEMPERATURES',\
                                                              +500'AIRSPC' :'AIRS PRINCIPAL COMPONENT SEQUENCE',\
                                                              +501'AIRSCORE' :'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE',\
                                                              +502'AVCSEQ' :'AVHRR (GAC) CHANNEL SEQUENCE',\
                                                              +503'BID' :'BULLETIN HEADER DATA',\
                                                              +504'RCPTIM' :'REPORT RECEIPT TIME DATA',\
                                                              +505'SATEPHEM' :'SSM/IS SATELLITE EPHEMERIS INFORMATION',\
                                                              +506'SCLINGEO' :'SSM/IS SCAN LINE GEOMETRY',\
                                                              +507'SSMISCHN' :'SSM/IS CHANNEL SEQUENCE',\
                                                              +508'IASICHN' :'IASI LEVEL 1C SCALED RADIANCE SEQUENCE',\
                                                              +509'AVHRCHN' :'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ',\
                                                              +510'BRITCSTC' :'BRIGHTNESS TEMPERATURE SEQUENCE #2',\
                                                              +511'BRIT' :'BRIGHTNESS TEMPERATURE SEQUENCE',\
                                                              +512'RADS' :'RADIANCE SEQUENCE',\
                                                              +513'AMSRCHAN' :'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)',\
                                                              +514'AMSRDICE' :'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)',\
                                                              +515'RPSEQ7' :'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE',\
                                                              +516'RPSEQ8' :'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE',\
                                                              +517'RPSEQ4' :'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE',\
                                                              +518'WLTMSEQN' :'WARM LOAD TEMPERATURE SEQUENCE',\
                                                              +519'MUHOSEQN' :'MULTIPLEXER HOUSEKEEPING SEQUENCE',\
                                                              +520'SAID' :'SATELLITE IDENTIFIER',\
                                                              +521'GCLONG' :'ORIGINATING/GENERATING CENTER',\
                                                              +522'GNAP' :'GENERATING APPLICATION',\
                                                              +523'OGCE' :'IDENTIFICATION OF ORIGINATING/GENERATING CENTER',\
                                                              +524'GSES' :'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER',\
                                                              +525'SIID' :'SATELLITE INSTRUMENTS',\
                                                              +526'SCLF' :'SATELLITE CLASSIFICATION',\
                                                              +527'SIDU' :'SATELLITE INSTRUMENT DATA USED IN PROCESSING',\
                                                              +528'IMHC' :'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD',\
                                                              +529'SSNX' :'SEGMENT SIZE AT NADIR IN X DIRECTION',\
                                                              +530'SSNY' :'SEGMENT SIZE AT NADIR IN Y DIRECTION',\
                                                              +531'SSIN' :'SATELLITE SENSOR INDICATOR',\
                                                              +532'ANPO' :'ANTENNA POLARIZATION',\
                                                              +533'RAIA' :'RADAR INCIDENCE ANGLE',\
                                                              +534'INCN' :'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER',\
                                                              +535'RAID' :'RADIOMETER IDENTIFIER',\
                                                              +536'SIDP' :'SATELLITE INSTRUMENT DATA USED IN PROCESSING',\
                                                              +537'SCCF' :'SATELLITE CHANNEL CENTER FREQUENCY',\
                                                              +538'SCBW' :'SATELLITE CHANNEL BAND WIDTH',\
                                                              +539'RDTF' :'RADIANCE TYPE FLAGS',\
                                                              +540'RDTP' :'RADIANCE TYPE',\
                                                              +541'RDCM' :'RADIANCE COMPUTATIONAL METHOD',\
                                                              +542'YEAR' :'YEAR',\
                                                              +543'MNTH' :'MONTH',\
                                                              +544'DAYS' :'DAY',\
                                                              +545'HOUR' :'HOUR',\
                                                              +546'MINU' :'MINUTE',\
                                                              +547'SECO' :'SECOND',\
                                                              +548'TPSE' :'TIME PERIOD OR DISPLACEMENT',\
                                                              +549'RCYR' :'YEAR   - TIME OF RECEIPT',\
                                                              +550'RCMO' :'MONTH  - TIME OF RECEIPT',\
                                                              +551'RCDY' :'DAY    - TIME OF RECEIPT',\
                                                              +552'RCHR' :'HOUR   - TIME OF RECEIPT',\
                                                              +553'RCMI' :'MINUTE - TIME OF RECEIPT',\
                                                              +554'CLATH' :'LATITUDE (HIGH ACCURACY)',\
                                                              +555'CLAT' :'LATITUDE (COARSE ACCURACY)',\
                                                              +556'BEARAZ' :'BEARING OR AZIMUTH',\
                                                              +557'SOLAZI' :'SOLAR AZIMUTH',\
                                                              +558'ORBN' :'ORBIT NUMBER',\
                                                              +559'SLNM' :'SCAN LINE NUMBER',\
                                                              +560'CHNM' :'CHANNEL NUMBER',\
                                                              +561'FOVN' :'FIELD OF VIEW NUMBER',\
                                                              +562'FORN' :'FIELD OF REGARD NUMBER',\
                                                              +563'YAPCG' :'Y ANGULAR POSITION OF CENTER OF GRAVITY',\
                                                              +564'ZAPCG' :'Z ANGULAR POSITION OF CENTER OF GRAVITY',\
                                                              +565'CLONH' :'LONGITUDE (HIGH ACCURACY)',\
                                                              +566'CLON' :'LONGITUDE (COARSE ACCURACY)',\
                                                              +567'WVNM' :'WAVE NUMBER',\
                                                              +568'SELV' :'HEIGHT OF STATION',\
                                                              +569'HMSL' :'HEIGHT OR ALTITUDE',\
                                                              +570'PRLC' :'PRESSURE',\
                                                              +571'SAZA' :'SATELLITE ZENITH ANGLE',\
                                                              +572'SOZA' :'SOLAR ZENITH ANGLE',\
                                                              +573'VSIG' :'VERTICAL SOUNDING SIGNIFICANCE',\
                                                              +574'VSAT' :'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)',\
                                                              +575'DIMS' :'DIMENSIONAL SIGNIFICANCE',\
                                                              +576'LSQL' :'LAND/SEA QUALIFIER',\
                                                              +577'TSIG' :'TIME SIGNIFICANCE',\
                                                              +578'FOST' :'FIRST ORDER STATISTICS',\
                                                              +579'MDPC' :'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE',\
                                                              +580'TAPQ' :'TOVS/ATOVS PRODUCT IDENTIFIER',\
                                                              +581'STKO' :'ASCENDING/DESCENDING ORBIT QUALIFIER',\
                                                              +582'TOBD' :'TYPE OF BAND',\
                                                              +583'RCTS' :'RECEIPT TIME SIGNIFICANCE',\
                                                              +584'HOLS' :'HEIGHT OF LAND SURFACE',\
                                                              +585'HITE' :'GEOPOTENTIAL HEIGHT',\
                                                              +586'PDNP' :"IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER",\
                                                              +587'TMBRST' :'BRIGHTNESS TEMPERATURE',\
                                                              +588'TMINST' :'INSTRUMENT TEMPERATURE',\
                                                              +589'SDTB' :'STANDARD DEVIATION BRIGHTNESS TEMPERATURE',\
                                                              +590'TMANT' :'ANTENNA TEMPERATURE',\
                                                              +591'WLTM' :'WARM LOAD TEMPERATURE',\
                                                              +592'SPRD' :'SPECTRAL RADIANCE',\
                                                              +593'RDNE' :'RADIANCE',\
                                                              +594'NEDTCO' :'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET',\
                                                              +595'NEDTWA' :'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET',\
                                                              +596'TMBR' :'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)',\
                                                              +597'CSTC' :'COLD SPACE TEMPERATURE CORRECTION',\
                                                              +598'REHU' :'RELATIVE HUMIDITY',\
                                                              +599'SFLG' :'SURFACE FLAG',\
                                                              +600'ALBD' :'ALBEDO',\
                                                              +601'SRAD' :'CHANNEL RADIANCE',\
                                                              +602'CHRAD' :'CHANNEL RADIANCE',\
                                                              +603'SCRA' :'SCALED IASI RADIANCE',\
                                                              +604'SMRA' :'SCALED MEAN AVHRR RADIANCE',\
                                                              +605'SSDR' :'SCALED STANDARD DEVIATION OF AVHRR RADIANCE',\
                                                              +606'LOGCT' :'LOG10 OF CLOUD TEST RESULTS',\
                                                              +607'TOCC' :'CLOUD COVER (TOTAL)',\
                                                              +608'CLTP' :'CLOUD TYPE',\
                                                              +609'HOCT' :'HEIGHT OF TOP OF CLOUD',\
                                                              +610'RFLAG' :'RAIN FLAG',\
                                                              +611'CLDMNT' :'CLOUD AMOUNT IN SEGMENT',\
                                                              +612'NCLDMNT' :'AMOUNT SEGMENT CLOUD FREE',\
                                                              +613'CLAVR' :'CLOUD FROM AVHRR (CLAVR) CLOUD MASK',\
                                                              +614'WTCA' :'WARM TARGET CALIBRATION',\
                                                              +615'CTCA' :'COLD TARGET CALIBRATION',\
                                                              +616'ALFR' :'LAND FRACTION',\
                                                              +617'APCOMP' :'PRINCIPAL COMPONENT SCORE',\
                                                              +618'AVHCST' :'AVHRR CHANNEL COMBINATION',\
                                                              +619'APCFIT' :'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA',\
                                                              +620'SSID' :'SSMIS SUBFRAME ID NUMBER',\
                                                              +621'MUHO' :'MULTIPLEXOR HOUSEKEEPING',\
                                                              +622'MJFC' :'MAJOR FRAME COUNT',\
                                                              +623'SACV' :'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER',\
                                                              +624'LOGRCW' :'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)',\
                                                              +625'BWCC1' :'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS',\
                                                              +626'BWCC2' :'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS',\
                                                              +627'ASFI' :'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS',\
                                                              +628'AEFW' :'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS',\
                                                              +629'FCPH' :'FRACTION OF CLEAR PIXELS IN HIRS FOV',\
                                                              +630'STCH' :'START CHANNEL',\
                                                              +631'ENCH' :'END CHANNEL',\
                                                              +632'CHSF' :'CHANNEL SCALE FACTOR',\
                                                              +633'PD00' :"IN DIRECTION OF  0 DEG E, DISTANCE FROM EARTH'S CENTER",\
                                                              +634'PD90' :"IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER",\
                                                              +635'NPPR' :'NUMBER OF PIXELS PER ROW',\
                                                              +636'NPPC' :'NUMBER OF PIXELS PER COLUMN',\
                                                              +637'QMRKH' :'QUALITY INFORMATION',\
                                                              +638'PCCF' :'PERCENT CONFIDENCE',\
                                                              +639'SLSF' :'SCAN LINE STATUS FLAGS FOR ATOVS',\
                                                              +640'SLQF' :'SCAN LINE QUALITY FLAGS FOR ATOVS',\
                                                              +641'ACQF' :'CHANNEL QUALITY FLAGS FOR ATOVS',\
                                                              +642'FOVQ' :'FIELD OF VIEW QUALITY FLAGS FOR ATOVS',\
                                                              +643'QGFQ' :'INDIVIDUAL IASI-SYSTEM QUALITY FLAG',\
                                                              +644'QGQI' :'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)',\
                                                              +645'QGQIL' :'GEOMETRIC QUALITY INDEX INDICATOR',\
                                                              +646'QGQIR' :'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)',\
                                                              +647'QGQIS' :'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)',\
                                                              +648'QGSSQ' :'OUTPUT OF TEC FUNCTION',\
                                                              +649'NSQF' :'SCAN LEVEL QUALITY FLAGS',\
                                                              +650'NCQF' :'CALIBRATION QUALITY FLAGS',\
                                                              +651'NFQF' :'FIELD OF VIEW QUALITY FLAGS',\
                                                              +652'NGQI' :'GEOLOCATION QUALITY',\
                                                              +653'ATMSGQ' :'GRANULE LEVEL QUALITY FLAGS',\
                                                              +654'ATMSSQ' :'SCAN LEVEL QUALITY FLAGS',\
                                                              +655'ATMSCHQ' :'CHANNEL DATA QUALITY FLAGS',\
                                                              +656'BUHD' :'BULLETIN BEING MONITORED (TTAAii)',\
                                                              +657'BULTIM' :'BULLETIN BEING MONITORED (YYGGgg)',\
                                                              +658'BORG' :'BULLETIN BEING MONITORED (CCCC)',\
                                                              +659'BBB' :'BULLETIN BEING MONITORED (BBB)',\
                                                              +660'SEQNUM' :'CHANNEL SEQUENCE NUMBER'}
                                                              +661'''dictionary mapping amsu mnemonics to human readable descriptions'''
                                                              +
                                                              +
                                                              -
                                                              #   +
                                                              + prepbufr_mnemonics_dict = + + {'PW2Q': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW2P': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'T__EVENT': 'TEMPERATURE EVENT SEQUENCE', 'PW2R': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'T__POSTP': 'TEMPERATURE POSTPROCESSING SEQUENCE', 'PW2A': 'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE', 'WFC__MSQ': 'MODEL WIND FORECAST SEQUENCE', 'TP24': 'TOTAL PRECIPITATION PAST 24 HOURS', 'YCOR': "INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'", 'PW2E': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PREWXSEQ': 'PRESENT WEATHER SEQUENCE', 'XCOR': "INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'", 'PW2O': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW3EVENT': '0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE', 'UAN': 'ANALYZED U-COMPONENT WIND VALUE', 'TAN': 'ANALYZED TEMPERATURE VALUE', 'MSST': 'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT', 'VAN': 'ANALYZED V-COMPONENT WIND VALUE', 'WRC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE', 'SFCSHP': 'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS', 'ADPUPA': 'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS', 'DF_EVENT': 'WIND (DIRECTION/SPEED) EVENT SEQUENCE', 'TURB3SEQ': 'TURBULENCE SEQUENCE # 3', 'QQM': 'SPECIFIC HUMIDITY (QUALITY) MARKER', 'E1': 'ERS ERROR ESTIMATE NUMBER 1', 'SPSSMI': 'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)', 'PQM': 'PRESSURE (QUALITY) MARKER', 'CLOUDSEQ': 'OBSERVED CLOUD SEQUENCE # 1', 'SNOW_SEQ': 'SNOW DEPTH SEQUENCE', 'ZQM': 'HEIGHT (QUALITY) MARKER', 'CTCN': 'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)', 'ACID_SEQ': 'AIRCRAFT FLIGHT NUMBER SEQUENCE', 'TFC__MSQ': 'MODEL TEMPERATURE FORECAST SEQUENCE', 'QFC__MSQ': 'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE', 'PCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE', 'SID': 'STATION IDENTIFICATION', 'TSB': 'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)', 'UOB': 'U-COMPONENT WIND OBSERVATION (M/S)', 'PCL': 'CLIMATOLOGICAL PRESSURE VALUE', 'VADWND': 'VAD (NEXRAD) WIND REPORTS', 'TOPC': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT', 'SST_INFO': 'SEA TEMPERATURE INFORMATION', 'PREVENT': 'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP', 'GUST1SEQ': 'MAXIMUM WIND GUST SEQUENCE # 1', 'RF10M': '10 METER WIND REDUCTION FACTOR', 'PAN': 'ANALYZED PRESSURE VALUE', 'ELEV': 'SATELLITE ELEVATION (ZENITH ANGLE)', 'TMXMNSEQ': 'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE', 'CTPQM': 'CLOUD TOP PRESSURE (QUALITY) MARKER', 'MSTQ': 'MOISTURE QUALITY', 'PCLIMATO': 'PRESSURE CLIMATOLOGY SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)', 'MWD10': 'MODEL WIND DIRECTION AT 10 M', 'CQCVAD': 'VAD WIND QUALITY CONTROL STEP', 'PW1F_MSQ': 'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'SOEL': 'SOLAR ELEVATION (ZENITH ANGLE)', 'ALTIMSEQ': 'ALTIMETER SETTING SEQUENCE', 'SSTRC': 'SEA TEMPERATURE EVENT REASON CODE', 'S3': 'ERS BACKSCATTER NUMBER 3', 'S2': 'ERS BACKSCATTER NUMBER 2', 'S1': 'ERS BACKSCATTER NUMBER 1', 'IALR': 'INSTANTANEOUS ALTITUDE RATE', 'RADCOR': 'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP', 'ACID': 'AIRCRAFT FLIGHT NUMBER', 'RRTBACKG': 'RAIN RATE BACKGROUND SEQUENCE', 'ERS1DA': 'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)', 'CLAM': 'CLOUD AMOUNT', 'POWV': 'PERIOD OF WAVES', 'POWW': 'PERIOD OF WIND WAVES', 'RCT': 'RECEIPT TIME', 'BTMPINFO': 'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION', 'DFQ': 'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER', 'DFP': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE', 'DFR': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE', 'HOSW': 'HEIGHT OF SWELL WAVES', 'SYNDAT': 'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS', 'PW4FMOD': 'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)', 'DGOT': 'DEGREE OF TURBULENCE', 'PW1FMOD': 'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)', 'UFCMOD': 'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)', 'MRWVC': 'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)', 'TRBX32': 'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)', 'WQM': 'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER', 'PW4F_MSQ': 'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'PW2F': 'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE', 'GPSIPW': 'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER', 'QOETU': 'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR', 'CAT': 'PREPBUFR DATA LEVEL CATEGORY', 'MITM': 'MINIMUM TEMPERATURE', 'ACARSQC': 'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP', 'TOB': 'TEMPERATURE OBSERVATION (DEGREES C)', 'TOE': 'TEMPERATURE OBSERVATION ERROR (DEGREES C)', 'RRTPC': 'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE', 'BSCD': 'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)', 'PW1O': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW1A': 'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE', 'PFCMOD': 'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)', 'PW1F': 'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE', 'HOCT_SEQ': 'HEIGHT OF TOP OF CLOUD SEQUENCE', 'SOB': 'WIND SPEED OBSERVATION', 'XOB': 'LONGITUDE (DEG E)', 'PW1P': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW1Q': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW1R': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PWETU': 'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR', 'TP12_SEQ': 'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE', 'PKWDDR': 'PEAK WIND DIRECTION', 'CHPT': 'CHARACTERISTIC OF PRESSURE TENDENCY', 'TFC': 'FORECAST (BACKGROUND) TEMPERATURE VALUE', 'TURB1SEQ': 'TURBULENCE SEQUENCE # 1', 'PW2_INFO': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'EXPRSRD': 'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION', 'VFC': 'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE', 'CTPOE': 'CLOUD TOP PRESSURE OBSERVATION ERROR', 'PW1POSTP': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'WOETU': 'ANALYSIS-TUNED WIND OBSERVATION ERROR', 'PRC': 'PRESSURE EVENT REASON CODE', 'QPC': 'SPECIFIC HUMIDITY EVENT PROGRAM CODE', 'P__POSTP': 'PRESSURE POSTPROCESSING SEQUENCE', 'ADPSFC': 'SURFACE LAND (SYNOPTIC, METAR) REPORTS', 'ZFC__MSQ': 'MODEL HEIGHT FORECAST SEQUENCE', 'CTPFC': 'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE', 'TPC': 'TEMPERATURE EVENT PROGRAM CODE', 'RFFL': 'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN', 'PSW2': 'PAST WEATHER (2)', 'PSW1': 'PAST WEATHER (1)', 'NRLACQC': 'NRL AIRCRAFT QUALITY CONTROL STEP', 'CTPEVENT': 'CLOUD TOP PRESSURE EVENT SEQUENCE', 'PW2POSTP': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'PW1EVENT': '1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE', 'VISB2SEQ': 'VISIBILITY SEQUENCE # 2', 'HOVI': 'HORIZONTAL VISIBILITY (M)', 'POAF': 'PHASE OF AIRCRAFT FLIGHT', 'GUST2SEQ': 'MAXIMUM WIND GUST SEQUENCE # 2', 'TYP': 'PREPBUFR REPORT TYPE', 'PW4F': 'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE', 'PW4E': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'HEADR': 'REPORT HEADER SEQUENCE', 'PW4A': 'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE', 'PW4O': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'CTPPC': 'CLOUD TOP PRESSURE EVENT PROGRAM CODE', 'PW4R': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW4Q': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW4P': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'FFO': 'WIND SPEED OBSERVATION (NOT ASSIMILATED)', 'ASMP': 'AVG SPD OF SHIP DURING PAST 3 HOURS', 'CHSQ': 'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)', 'QOE': 'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)', 'SFCBOG': 'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS', 'QOB': 'SPECIFIC HUMIDITY OBSERVATION (MG/KG)', 'PW3POSTP': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'E3': 'ERS ERROR ESTIMATE NUMBER 3', 'E2': 'ERS ERROR ESTIMATE NUMBER 2', 'PKWDSP': 'PEAK WIND SPEED', 'ESBAK': 'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE', 'SATWND': 'SATELLITE-DERIVED WIND REPORTS', 'PW1E': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'TOETU': 'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR', 'PHER': 'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL', 'WCLIMATO': 'WIND CLIMATOLOGY SEQUENCE', 'WOE': 'WIND OBSERVATION ERROR (M/S)', 'POSW': 'PERIOD OF SWELL WAVES', 'SCATINFO': 'SCATTEROMETER DATA INFORMATION', 'CLDE': 'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.', 'RRTPOSTP': 'RAIN RATE POSTPROCESSING SEQUENCE', 'SSI': 'SSI GLOBAL ANALYSIS STEP', 'ZRC': 'HEIGHT EVENT REASON CODE', 'PW2FMOD': 'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)', 'Z___INFO': 'HEIGHT INFORMATION', 'RASSDA': 'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS', 'PTE24SEQ': '24 HOUR PRESSURE TENDENCY SEQUENCE', 'RRTFC': 'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE', 'HRDR': 'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)', 'ACFT_SEQ': 'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE', 'POETU': 'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR', 'P__BACKG': 'PRESSURE BACKGROUND SEQUENCE', 'NUL': 'NULL (IGNORE)', 'RRTOE': 'RAINFALL (AVERAGE RATE) OBSERVATION ERROR', 'TDMP': 'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS', 'WPC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE', 'TOSS': 'TOTAL SUNSHINE', 'CDTP': 'CLOUD TOP PRESSURE OBSERVATION', 'W__EVENT': 'WIND EVENT SEQUENCE', 'CLIMO': 'CLIMOTOLOGICAL PROCESSING STEP', 'XS20': '20 METER EXTRAPOLATED WIND SPEED', 'TOSD': 'TOTAL SNOW DEPTH', 'QFC': 'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE', 'PREPRO': 'INITIAL PREPBUFR PROCESSING STEP', 'SYNDATA': 'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP', 'PKWNDSEQ': 'PEAK WIND SEQUENCE', 'ITP': 'INSTRUMENT TYPE', 'Q__POSTP': 'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE', 'PWTVWTA': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL', 'TCLIMATO': 'TEMPERATURE CLIMATOLOGY SEQUENCE', 'PWTVWTG': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS', 'RPT': 'REPORTED OBSERVATION TIME', 'TP01': 'TOTAL PRECIPITATION PAST 1 HOUR', 'TP03': 'TOTAL PRECIPITATION PAST 3 HOURS', 'VTVI_SEQ': 'VERTICAL VISIBILITY SEQUENCE', 'TP06': 'TOTAL PRECIPITATION PAST 6 HOURS', 'POE': 'PRESSURE OBSERVATION ERROR (MB)', 'POB': 'PRESSURE OBSERVATION (MB)', 'PW2BACKG': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'TURB2SEQ': 'TURBULENCE SEQUENCE # 2', 'PW__INFO': 'PRECIPITABLE WATER INFORMATION', 'PWA': 'ANALYZED TOTAL PRECIPITABLE WATER VALUE', 'VCL': 'CLIMATOLOGICAL V-COMPONENT WIND VALUE', 'VCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE', 'SSTQM': 'SEA TEMPERATURE (QUALITY) MARKER', 'DHR': 'OBSERVATION TIME MINUS CYCLE TIME (HOURS)', 'VIRTMP': 'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP', '24PC': '24 HOUR PRESSURE CHANGE', 'PVWTG': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS', 'PVWTA': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL', 'ROLF': 'AIRCRAFT ROLL ANGLE FLAG', 'TQM': 'TEMPERATURE (QUALITY) MARKER', 'AIRCFT': 'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS', 'HBOI': 'HEIGHT OF BASE OF ICING', 'PRSLEVEL': 'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)', 'LATCORSQ': 'LATITUDE CORRECTION SEQUENCE', 'HBOT': 'HEIGHT OF BASE OF TURBULENCE', 'ZFC': 'FORECAST (BACKGROUND) HEIGHT VALUE', 'QAN': 'ANALYZED SPECIFIC HUMIDITY VALUE', 'Q___INFO': 'SPECIFIC HUMIDITY INFORMATION', 'QIFY': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST', 'P___INFO': 'PRESSURE INFORMATION', 'SSTFC': 'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE', 'QIFN': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST', 'TPRECSEQ': 'TOTAL PRECIPITATION SEQUENCE', 'Z__POSTP': 'HEIGHT POSTPROCESSING SEQUENCE', 'QRC': 'SPECIFIC HUMIDITY EVENT REASON CODE', 'PTENDSEQ': 'PRESSURE TENDENCY SEQUENCE', 'XWSPDSEQ': 'EXTRAPOLATED WIND SPEED SEQUENCE', 'ZAN': 'ANALYZED HEIGHT VALUE', 'RRTQM': 'RAINFALL (AVERAGE RATE) (QUALITY) MARKER', 'PROFLR': 'WIND PROFILER REPORTS', 'PWTPOSTP': 'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE', 'CHNM': 'CHANNEL NUMBER', 'CTP_INFO': 'CLOUD TOP INFORMATION', 'SSTAN': 'ANALYZED SEA TEMPERATURE VALUE', 'PW3BACKG': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'SUNSHSEQ': 'TOTAL SUNSHINE SEQUENCE', 'PRWE': 'PRESENT WEATHER', 'XS10': '10 METER EXTRAPOLATED WIND SPEED', 'NRLQMS': 'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)', 'PWF__MSQ': 'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE', 'Q__EVENT': 'SPECIFIC HUMIDITY EVENT SEQUENCE', 'TCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE', 'TCL': 'CLIMATOLOGICAL TEMPERATURE VALUE', 'W__BACKG': 'WIND BACKGROUND SEQUENCE', 'XDR': 'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)', 'DOFS': 'DEPTH OF FRESH SNOW', 'PFC__MSQ': 'MODEL PRESSURE FORECAST SEQUENCE', 'SIRC': 'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR', 'ZOB': 'HEIGHT OBSERVATION (M)', 'ZOE': 'HEIGHT OBSERVATION ERROR (M)', 'RSRD_SEQ': 'RESTRICTIONS ON REDISTRIBUTION SEQUENCE', 'SATEMP': 'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'SSTOE': 'SEA TEMPERATURE OBSERVATION ERROR', 'DDO': 'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)', 'SSTPOSTP': 'SEA TEMPERATURE POSTPROCESSING SEQUENCE', 'AFIC_SEQ': 'AIRCRAFT ICING SEQUENCE', 'PCCF_SEQ': 'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE', 'CTPPOSTP': 'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE', 'WSPD1': 'SURFACE WIND SPEED', 'TRBX10': 'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB', 'SPRR': 'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)', 'LKCS': 'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)', 'PRSLEVLG': 'GOESND PRESSURE LEVEL SEQUENCE', 'OZON': 'OZONE', 'CTPAN': 'ANALYZED CLOUD TOP PRESSURE VALUE', 'R3DVAR': '3DVAR REGIONAL ANALYSIS STEP', 'Z__EVENT': 'HEIGHT EVENT SEQUENCE', 'PWFMOD': 'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)', 'ASCATW': 'ASCAT SCATTEROMETER DATA (REPROCESSED)', 'MRLWC': 'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)', 'VISB1SEQ': 'VISIBILITY SEQUENCE # 1', 'PW4_INFO': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'TMBR': 'BRIGHTNESS TEMPERATURE (KELVIN)', 'MXGD': 'MAXIMUM WIND GUST DIRECTION', 'EEQF': 'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR', 'TVO': 'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)', 'MXGS': 'MAXIMUM WIND SPEED (GUSTS, M/S)', 'P__EVENT': 'PRESSURE EVENT SEQUENCE', 'WDSATR': 'WINDSAT SCATTEROMETER DATA (REPROCESSED)', 'REQV': 'RAINFALL (AVERAGE RATE) OBSERVATION', 'QFCMOD': 'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)', 'ATRN': 'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)', 'WDIR1': 'SURFACE WIND DIRECTION', 'LONCORSQ': 'LONGITUDE CORRECTION SEQUENCE', 'XORG': 'REPORTED (ORIGINAL) LONGITUDE', 'RRTEVENT': 'RATE RATE EVENT SEQUENCE', 'YORG': 'REPORTED (ORIGINAL) LATITUDE', 'MWS10': 'MODEL WIND SPEED AT 10 M', 'TDO': 'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)', 'YDR': 'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)', 'UFC': 'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE', 'W__POSTP': 'WIND POSTPROCESSING SEQUENCE', 'SWINDSEQ': 'SURFACE WIND SEQUENCE', 'PRSS': 'SURFACE PRESSURE OBSERVATION (PASCALS)', 'SSTPC': 'SEA TEMPERATURE EVENT PROGRAM CODE', 'WSPD_SEQ': 'WIND SPEED SEQUENCE', 'VFCMOD': 'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)', 'AFIC': 'AIRFRAME ICING', 'WSEQC1': 'WINDSAT EDR QC FLAG #1', 'DOSW': 'DIRECTION OF SWELL WAVES', 'PPC': 'PRESSURE EVENT PROGRAM CODE', 'PWTBACKG': 'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE', 'VPRE': 'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL', 'PWL_INFO': 'LAYER PRECIPITABLE WATER INFORMATION', 'TVWTA': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL', 'PRSLEVLA': 'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE', 'HTOI': 'HEIGHT OF TOP OF ICING', 'YOB': 'LATITUDE (DEG N)', 'TVWTG': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS', 'HTOT': 'HEIGHT OF TOP OF TURBULENCE', 'SSTBACKG': 'SEA TEMPERATURE BACKGROUND SEQUENCE', 'UCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE', 'PWR': 'TOTAL PRECIPITABLE WATER EVENT REASON CODE', 'PWP': 'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE', 'PWQ': 'TOTAL PRECIPITABLE WATER (QUALITY) MARKER', 'TP12': 'TOTAL PRECIPITATION PAST 12 HOURS', '3HPC': '3 HOUR PRESSURE CHANGE', 'PWF': 'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE', 'PWE': 'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)', 'QKSWND': 'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)', 'TRBX43': 'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)', 'PWO': 'TOTAL PRECIPITABLE WATER OBSERVATION (MM)', 'TRBX': 'TURBULENCE INDEX', 'PW3FMOD': 'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)', 'GSI': 'GSI ANALYSIS STEP', 'A1': 'ERS INCIDENT ANGLE NUMBER 1', 'RRTRC': 'RAINFALL (AVERAGE RATE) EVENT REASON CODE', 'QVWTA': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL', 'TFCMOD': 'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)', 'QVWTG': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS', 'SPDE': 'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL', 'CTPBACKG': 'CLOUD TOP PRESSURE BACKGROUND SEQUENCE', 'GCDTT': 'GOES CLOUD TOP TEMPERATURE OBSERVATION', 'PW3R': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW3P': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW3Q': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW3F': 'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE', 'PW3E': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PW3A': 'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE', 'PW3O': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'ZPC': 'HEIGHT EVENT PROGRAM CODE', 'UCL': 'CLIMATOLOGICAL U-COMPONENT WIND VALUE', 'PW1BACKG': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SQN': 'REPORT SEQUENCE NUMBER', 'B2': 'ERS AZIMUTH ANGLE NUMBER 2', 'B3': 'ERS AZIMUTH ANGLE NUMBER 3', 'PWT_INFO': 'TOTAL PRECIPITABLE WATER INFORMATION', 'PW4BACKG': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SWELLSEQ': 'SWELL WAVE SEQUENCE', 'CLTP': 'CLOUD TYPE', 'GOESND': 'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'WAVE_SEQ': 'WAVE SEQUENCE', 'PW1_INFO': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'PW3_INFO': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'WSST': 'WINDSAT SURFACE TYPE', 'CQCPROF': 'WIND PROFILER QUALITY CONTROL STEP', 'BTMPLEVL': "BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE", 'W___INFO': 'WIND INFORMATION', 'VTVI': 'VERTICAL VISIBILITY', 'MXTM': 'MAXIMUM TEMPERATURE', 'SPRVSTG': 'MESONET SUBPROVIDER ID STRING', 'B1': 'ERS AZIMUTH ANGLE NUMBER 1', 'TCOR': "INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED", 'PSTWXSEQ': 'PAST WEATHER SEQUENCE', 'AIRCAR': 'MDCRS ACARS AIRCRAFT REPORTS', 'TRC': 'TEMPERATURE EVENT REASON CODE', 'TOPC_SEQ': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE', 'T__BACKG': 'TEMPERATURE BACKGROUND SEQUENCE', 'T29': 'DATA DUMP REPORT TYPE', 'T___INFO': 'TEMPERATURE INFORMATION', 'PW3F_MSQ': 'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'VOB': 'V-COMPONENT WIND OBSERVATION (M/S)', 'QCLIMATO': 'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE', 'OIQC': 'OI-QUALITY MULTI-PLATFROM CONTROL STEP', 'PMSL_SEQ': 'MEAN SEA LEVEL PRESSURE SEQUENCE', 'WVCQ': 'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)', 'DEFAULT': 'NON-DEFINED STEP (DEFAULT)', 'TOCC': 'CLOUD COVER (TOTAL)', 'SST1': 'SEA TEMPERATURE', 'ACAV': 'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE', 'CTPRC': 'CLOUD TOP PRESSURE EVENT REASON CODE', 'PRVSTG': 'MESONET PROVIDER ID STRING', 'TRBX21': 'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)', 'PMQ': 'MEAN SEA-LVL PRESSURE (QUALITY) MARKER', 'DBSS_SEQ': 'DEPTH BELOW SEA SURFACE SEQUENCE', 'MSONET': 'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)', 'PMO': 'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)', 'PWTEVENT': 'TOTAL PRECIPITABLE WATER EVENT SEQUENCE', 'PW4POSTP': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'TMSK': 'SKIN TEMPERATURE', 'CLOU2SEQ': 'OBSERVED CLOUD SEQUENCE # 2', 'PW2F_MSQ': 'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'WVWTG': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS', 'ELV': 'STATION ELEVATION (M)', 'WVWTA': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL', 'ZFCMOD': 'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)', 'RSRD': 'RESTRICTIONS ON REDISTRIBUTION', 'PREPACQC': 'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)', 'SSTE': 'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL', 'QCS': 'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'ZCLIMATO': 'HEIGHT CLIMATOLOGY SEQUENCE', 'PCAT': 'PRECISION OF TEMPERATURE OBSERVATION', 'QCL': 'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'PW4EVENT': '0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE', 'HOWV': 'HEIGHT OF WAVES', 'HOWW': 'HEIGHT OF WIND WAVES', 'CQCHT': 'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP', 'RRTAN': 'ANALYZED RAINFALL (AVERAGE RATE) VALUE', 'A3': 'ERS INCIDENT ANGLE NUMBER 3', 'A2': 'ERS INCIDENT ANGLE NUMBER 2', 'ALSE': 'ALTIMETER SETTING OBSERVATION', 'HOCB': 'HEIGHT OF BASE OF CLOUD', 'SSTEVENT': 'SEA TEMPERATURE EVENT SEQUENCE', 'SQM': 'WIND SPEED (SOB) (QUALITY) MARKER', 'Q__BACKG': 'SPECIFIC HUMIDITY BACKGROUND SEQUENCE', 'PROCN': 'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)', 'HBLCS': 'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN', 'RRT_INFO': 'RAIN RATE INFORMATION', 'PW2EVENT': '0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE', 'Z__BACKG': 'HEIGHT BACKGROUND SEQUENCE', 'PFC': 'FORECAST (BACKGROUND) PRESSURE VALUE', 'ZCL': 'CLIMATOLOGICAL HEIGHT VALUE', 'SHIP_SEQ': 'SHIP DIRECTION/SPEED SEQUENCE', 'VSSO': 'VERT. SIGNIFICANCE (SFC OBSERVATION)', 'DRFTINFO': 'PROFILE LEVEL TIME/LOCATION INFORMATION', 'ZCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE', 'DBSS': 'DEPTH BELOW SEA SURFACE'} - prepbufr_mnemonics_dict = {'PW2Q': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW2P': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'T__EVENT': 'TEMPERATURE EVENT SEQUENCE', 'PW2R': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'T__POSTP': 'TEMPERATURE POSTPROCESSING SEQUENCE', 'PW2A': 'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE', 'WFC__MSQ': 'MODEL WIND FORECAST SEQUENCE', 'TP24': 'TOTAL PRECIPITATION PAST 24 HOURS', 'YCOR': "INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'", 'PW2E': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PREWXSEQ': 'PRESENT WEATHER SEQUENCE', 'XCOR': "INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'", 'PW2O': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW3EVENT': '0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE', 'UAN': 'ANALYZED U-COMPONENT WIND VALUE', 'TAN': 'ANALYZED TEMPERATURE VALUE', 'MSST': 'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT', 'VAN': 'ANALYZED V-COMPONENT WIND VALUE', 'WRC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE', 'SFCSHP': 'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS', 'ADPUPA': 'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS', 'DF_EVENT': 'WIND (DIRECTION/SPEED) EVENT SEQUENCE', 'TURB3SEQ': 'TURBULENCE SEQUENCE # 3', 'QQM': 'SPECIFIC HUMIDITY (QUALITY) MARKER', 'E1': 'ERS ERROR ESTIMATE NUMBER 1', 'SPSSMI': 'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)', 'PQM': 'PRESSURE (QUALITY) MARKER', 'CLOUDSEQ': 'OBSERVED CLOUD SEQUENCE # 1', 'SNOW_SEQ': 'SNOW DEPTH SEQUENCE', 'ZQM': 'HEIGHT (QUALITY) MARKER', 'CTCN': 'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)', 'ACID_SEQ': 'AIRCRAFT FLIGHT NUMBER SEQUENCE', 'TFC__MSQ': 'MODEL TEMPERATURE FORECAST SEQUENCE', 'QFC__MSQ': 'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE', 'PCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE', 'SID': 'STATION IDENTIFICATION', 'TSB': 'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)', 'UOB': 'U-COMPONENT WIND OBSERVATION (M/S)', 'PCL': 'CLIMATOLOGICAL PRESSURE VALUE', 'VADWND': 'VAD (NEXRAD) WIND REPORTS', 'TOPC': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT', 'SST_INFO': 'SEA TEMPERATURE INFORMATION', 'PREVENT': 'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP', 'GUST1SEQ': 'MAXIMUM WIND GUST SEQUENCE # 1', 'RF10M': '10 METER WIND REDUCTION FACTOR', 'PAN': 'ANALYZED PRESSURE VALUE', 'ELEV': 'SATELLITE ELEVATION (ZENITH ANGLE)', 'TMXMNSEQ': 'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE', 'CTPQM': 'CLOUD TOP PRESSURE (QUALITY) MARKER', 'MSTQ': 'MOISTURE QUALITY', 'PCLIMATO': 'PRESSURE CLIMATOLOGY SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)', 'MWD10': 'MODEL WIND DIRECTION AT 10 M', 'CQCVAD': 'VAD WIND QUALITY CONTROL STEP', 'PW1F_MSQ': 'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'SOEL': 'SOLAR ELEVATION (ZENITH ANGLE)', 'ALTIMSEQ': 'ALTIMETER SETTING SEQUENCE', 'SSTRC': 'SEA TEMPERATURE EVENT REASON CODE', 'S3': 'ERS BACKSCATTER NUMBER 3', 'S2': 'ERS BACKSCATTER NUMBER 2', 'S1': 'ERS BACKSCATTER NUMBER 1', 'IALR': 'INSTANTANEOUS ALTITUDE RATE', 'RADCOR': 'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP', 'ACID': 'AIRCRAFT FLIGHT NUMBER', 'RRTBACKG': 'RAIN RATE BACKGROUND SEQUENCE', 'ERS1DA': 'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)', 'CLAM': 'CLOUD AMOUNT', 'POWV': 'PERIOD OF WAVES', 'POWW': 'PERIOD OF WIND WAVES', 'RCT': 'RECEIPT TIME', 'BTMPINFO': 'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION', 'DFQ': 'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER', 'DFP': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE', 'DFR': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE', 'HOSW': 'HEIGHT OF SWELL WAVES', 'SYNDAT': 'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS', 'PW4FMOD': 'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)', 'DGOT': 'DEGREE OF TURBULENCE', 'PW1FMOD': 'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)', 'UFCMOD': 'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)', 'MRWVC': 'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)', 'TRBX32': 'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)', 'WQM': 'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER', 'PW4F_MSQ': 'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'PW2F': 'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE', 'GPSIPW': 'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER', 'QOETU': 'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR', 'CAT': 'PREPBUFR DATA LEVEL CATEGORY', 'MITM': 'MINIMUM TEMPERATURE', 'ACARSQC': 'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP', 'TOB': 'TEMPERATURE OBSERVATION (DEGREES C)', 'TOE': 'TEMPERATURE OBSERVATION ERROR (DEGREES C)', 'RRTPC': 'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE', 'BSCD': 'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)', 'PW1O': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW1A': 'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE', 'PFCMOD': 'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)', 'PW1F': 'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE', 'HOCT_SEQ': 'HEIGHT OF TOP OF CLOUD SEQUENCE', 'SOB': 'WIND SPEED OBSERVATION', 'XOB': 'LONGITUDE (DEG E)', 'PW1P': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW1Q': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW1R': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PWETU': 'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR', 'TP12_SEQ': 'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE', 'PKWDDR': 'PEAK WIND DIRECTION', 'CHPT': 'CHARACTERISTIC OF PRESSURE TENDENCY', 'TFC': 'FORECAST (BACKGROUND) TEMPERATURE VALUE', 'TURB1SEQ': 'TURBULENCE SEQUENCE # 1', 'PW2_INFO': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'EXPRSRD': 'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION', 'VFC': 'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE', 'CTPOE': 'CLOUD TOP PRESSURE OBSERVATION ERROR', 'PW1POSTP': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'WOETU': 'ANALYSIS-TUNED WIND OBSERVATION ERROR', 'PRC': 'PRESSURE EVENT REASON CODE', 'QPC': 'SPECIFIC HUMIDITY EVENT PROGRAM CODE', 'P__POSTP': 'PRESSURE POSTPROCESSING SEQUENCE', 'ADPSFC': 'SURFACE LAND (SYNOPTIC, METAR) REPORTS', 'ZFC__MSQ': 'MODEL HEIGHT FORECAST SEQUENCE', 'CTPFC': 'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE', 'TPC': 'TEMPERATURE EVENT PROGRAM CODE', 'RFFL': 'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN', 'PSW2': 'PAST WEATHER (2)', 'PSW1': 'PAST WEATHER (1)', 'NRLACQC': 'NRL AIRCRAFT QUALITY CONTROL STEP', 'CTPEVENT': 'CLOUD TOP PRESSURE EVENT SEQUENCE', 'PW2POSTP': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'PW1EVENT': '1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE', 'VISB2SEQ': 'VISIBILITY SEQUENCE # 2', 'HOVI': 'HORIZONTAL VISIBILITY (M)', 'POAF': 'PHASE OF AIRCRAFT FLIGHT', 'GUST2SEQ': 'MAXIMUM WIND GUST SEQUENCE # 2', 'TYP': 'PREPBUFR REPORT TYPE', 'PW4F': 'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE', 'PW4E': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'HEADR': 'REPORT HEADER SEQUENCE', 'PW4A': 'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE', 'PW4O': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'CTPPC': 'CLOUD TOP PRESSURE EVENT PROGRAM CODE', 'PW4R': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW4Q': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW4P': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'FFO': 'WIND SPEED OBSERVATION (NOT ASSIMILATED)', 'ASMP': 'AVG SPD OF SHIP DURING PAST 3 HOURS', 'CHSQ': 'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)', 'QOE': 'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)', 'SFCBOG': 'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS', 'QOB': 'SPECIFIC HUMIDITY OBSERVATION (MG/KG)', 'PW3POSTP': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'E3': 'ERS ERROR ESTIMATE NUMBER 3', 'E2': 'ERS ERROR ESTIMATE NUMBER 2', 'PKWDSP': 'PEAK WIND SPEED', 'ESBAK': 'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE', 'SATWND': 'SATELLITE-DERIVED WIND REPORTS', 'PW1E': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'TOETU': 'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR', 'PHER': 'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL', 'WCLIMATO': 'WIND CLIMATOLOGY SEQUENCE', 'WOE': 'WIND OBSERVATION ERROR (M/S)', 'POSW': 'PERIOD OF SWELL WAVES', 'SCATINFO': 'SCATTEROMETER DATA INFORMATION', 'CLDE': 'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.', 'RRTPOSTP': 'RAIN RATE POSTPROCESSING SEQUENCE', 'SSI': 'SSI GLOBAL ANALYSIS STEP', 'ZRC': 'HEIGHT EVENT REASON CODE', 'PW2FMOD': 'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)', 'Z___INFO': 'HEIGHT INFORMATION', 'RASSDA': 'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS', 'PTE24SEQ': '24 HOUR PRESSURE TENDENCY SEQUENCE', 'RRTFC': 'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE', 'HRDR': 'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)', 'ACFT_SEQ': 'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE', 'POETU': 'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR', 'P__BACKG': 'PRESSURE BACKGROUND SEQUENCE', 'NUL': 'NULL (IGNORE)', 'RRTOE': 'RAINFALL (AVERAGE RATE) OBSERVATION ERROR', 'TDMP': 'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS', 'WPC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE', 'TOSS': 'TOTAL SUNSHINE', 'CDTP': 'CLOUD TOP PRESSURE OBSERVATION', 'W__EVENT': 'WIND EVENT SEQUENCE', 'CLIMO': 'CLIMOTOLOGICAL PROCESSING STEP', 'XS20': '20 METER EXTRAPOLATED WIND SPEED', 'TOSD': 'TOTAL SNOW DEPTH', 'QFC': 'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE', 'PREPRO': 'INITIAL PREPBUFR PROCESSING STEP', 'SYNDATA': 'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP', 'PKWNDSEQ': 'PEAK WIND SEQUENCE', 'ITP': 'INSTRUMENT TYPE', 'Q__POSTP': 'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE', 'PWTVWTA': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL', 'TCLIMATO': 'TEMPERATURE CLIMATOLOGY SEQUENCE', 'PWTVWTG': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS', 'RPT': 'REPORTED OBSERVATION TIME', 'TP01': 'TOTAL PRECIPITATION PAST 1 HOUR', 'TP03': 'TOTAL PRECIPITATION PAST 3 HOURS', 'VTVI_SEQ': 'VERTICAL VISIBILITY SEQUENCE', 'TP06': 'TOTAL PRECIPITATION PAST 6 HOURS', 'POE': 'PRESSURE OBSERVATION ERROR (MB)', 'POB': 'PRESSURE OBSERVATION (MB)', 'PW2BACKG': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'TURB2SEQ': 'TURBULENCE SEQUENCE # 2', 'PW__INFO': 'PRECIPITABLE WATER INFORMATION', 'PWA': 'ANALYZED TOTAL PRECIPITABLE WATER VALUE', 'VCL': 'CLIMATOLOGICAL V-COMPONENT WIND VALUE', 'VCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE', 'SSTQM': 'SEA TEMPERATURE (QUALITY) MARKER', 'DHR': 'OBSERVATION TIME MINUS CYCLE TIME (HOURS)', 'VIRTMP': 'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP', '24PC': '24 HOUR PRESSURE CHANGE', 'PVWTG': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS', 'PVWTA': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL', 'ROLF': 'AIRCRAFT ROLL ANGLE FLAG', 'TQM': 'TEMPERATURE (QUALITY) MARKER', 'AIRCFT': 'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS', 'HBOI': 'HEIGHT OF BASE OF ICING', 'PRSLEVEL': 'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)', 'LATCORSQ': 'LATITUDE CORRECTION SEQUENCE', 'HBOT': 'HEIGHT OF BASE OF TURBULENCE', 'ZFC': 'FORECAST (BACKGROUND) HEIGHT VALUE', 'QAN': 'ANALYZED SPECIFIC HUMIDITY VALUE', 'Q___INFO': 'SPECIFIC HUMIDITY INFORMATION', 'QIFY': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST', 'P___INFO': 'PRESSURE INFORMATION', 'SSTFC': 'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE', 'QIFN': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST', 'TPRECSEQ': 'TOTAL PRECIPITATION SEQUENCE', 'Z__POSTP': 'HEIGHT POSTPROCESSING SEQUENCE', 'QRC': 'SPECIFIC HUMIDITY EVENT REASON CODE', 'PTENDSEQ': 'PRESSURE TENDENCY SEQUENCE', 'XWSPDSEQ': 'EXTRAPOLATED WIND SPEED SEQUENCE', 'ZAN': 'ANALYZED HEIGHT VALUE', 'RRTQM': 'RAINFALL (AVERAGE RATE) (QUALITY) MARKER', 'PROFLR': 'WIND PROFILER REPORTS', 'PWTPOSTP': 'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE', 'CHNM': 'CHANNEL NUMBER', 'CTP_INFO': 'CLOUD TOP INFORMATION', 'SSTAN': 'ANALYZED SEA TEMPERATURE VALUE', 'PW3BACKG': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'SUNSHSEQ': 'TOTAL SUNSHINE SEQUENCE', 'PRWE': 'PRESENT WEATHER', 'XS10': '10 METER EXTRAPOLATED WIND SPEED', 'NRLQMS': 'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)', 'PWF__MSQ': 'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE', 'Q__EVENT': 'SPECIFIC HUMIDITY EVENT SEQUENCE', 'TCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE', 'TCL': 'CLIMATOLOGICAL TEMPERATURE VALUE', 'W__BACKG': 'WIND BACKGROUND SEQUENCE', 'XDR': 'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)', 'DOFS': 'DEPTH OF FRESH SNOW', 'PFC__MSQ': 'MODEL PRESSURE FORECAST SEQUENCE', 'SIRC': 'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR', 'ZOB': 'HEIGHT OBSERVATION (M)', 'ZOE': 'HEIGHT OBSERVATION ERROR (M)', 'RSRD_SEQ': 'RESTRICTIONS ON REDISTRIBUTION SEQUENCE', 'SATEMP': 'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'SSTOE': 'SEA TEMPERATURE OBSERVATION ERROR', 'DDO': 'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)', 'SSTPOSTP': 'SEA TEMPERATURE POSTPROCESSING SEQUENCE', 'AFIC_SEQ': 'AIRCRAFT ICING SEQUENCE', 'PCCF_SEQ': 'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE', 'CTPPOSTP': 'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE', 'WSPD1': 'SURFACE WIND SPEED', 'TRBX10': 'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB', 'SPRR': 'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)', 'LKCS': 'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)', 'PRSLEVLG': 'GOESND PRESSURE LEVEL SEQUENCE', 'OZON': 'OZONE', 'CTPAN': 'ANALYZED CLOUD TOP PRESSURE VALUE', 'R3DVAR': '3DVAR REGIONAL ANALYSIS STEP', 'Z__EVENT': 'HEIGHT EVENT SEQUENCE', 'PWFMOD': 'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)', 'ASCATW': 'ASCAT SCATTEROMETER DATA (REPROCESSED)', 'MRLWC': 'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)', 'VISB1SEQ': 'VISIBILITY SEQUENCE # 1', 'PW4_INFO': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'TMBR': 'BRIGHTNESS TEMPERATURE (KELVIN)', 'MXGD': 'MAXIMUM WIND GUST DIRECTION', 'EEQF': 'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR', 'TVO': 'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)', 'MXGS': 'MAXIMUM WIND SPEED (GUSTS, M/S)', 'P__EVENT': 'PRESSURE EVENT SEQUENCE', 'WDSATR': 'WINDSAT SCATTEROMETER DATA (REPROCESSED)', 'REQV': 'RAINFALL (AVERAGE RATE) OBSERVATION', 'QFCMOD': 'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)', 'ATRN': 'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)', 'WDIR1': 'SURFACE WIND DIRECTION', 'LONCORSQ': 'LONGITUDE CORRECTION SEQUENCE', 'XORG': 'REPORTED (ORIGINAL) LONGITUDE', 'RRTEVENT': 'RATE RATE EVENT SEQUENCE', 'YORG': 'REPORTED (ORIGINAL) LATITUDE', 'MWS10': 'MODEL WIND SPEED AT 10 M', 'TDO': 'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)', 'YDR': 'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)', 'UFC': 'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE', 'W__POSTP': 'WIND POSTPROCESSING SEQUENCE', 'SWINDSEQ': 'SURFACE WIND SEQUENCE', 'PRSS': 'SURFACE PRESSURE OBSERVATION (PASCALS)', 'SSTPC': 'SEA TEMPERATURE EVENT PROGRAM CODE', 'WSPD_SEQ': 'WIND SPEED SEQUENCE', 'VFCMOD': 'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)', 'AFIC': 'AIRFRAME ICING', 'WSEQC1': 'WINDSAT EDR QC FLAG #1', 'DOSW': 'DIRECTION OF SWELL WAVES', 'PPC': 'PRESSURE EVENT PROGRAM CODE', 'PWTBACKG': 'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE', 'VPRE': 'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL', 'PWL_INFO': 'LAYER PRECIPITABLE WATER INFORMATION', 'TVWTA': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL', 'PRSLEVLA': 'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE', 'HTOI': 'HEIGHT OF TOP OF ICING', 'YOB': 'LATITUDE (DEG N)', 'TVWTG': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS', 'HTOT': 'HEIGHT OF TOP OF TURBULENCE', 'SSTBACKG': 'SEA TEMPERATURE BACKGROUND SEQUENCE', 'UCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE', 'PWR': 'TOTAL PRECIPITABLE WATER EVENT REASON CODE', 'PWP': 'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE', 'PWQ': 'TOTAL PRECIPITABLE WATER (QUALITY) MARKER', 'TP12': 'TOTAL PRECIPITATION PAST 12 HOURS', '3HPC': '3 HOUR PRESSURE CHANGE', 'PWF': 'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE', 'PWE': 'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)', 'QKSWND': 'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)', 'TRBX43': 'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)', 'PWO': 'TOTAL PRECIPITABLE WATER OBSERVATION (MM)', 'TRBX': 'TURBULENCE INDEX', 'PW3FMOD': 'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)', 'GSI': 'GSI ANALYSIS STEP', 'A1': 'ERS INCIDENT ANGLE NUMBER 1', 'RRTRC': 'RAINFALL (AVERAGE RATE) EVENT REASON CODE', 'QVWTA': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL', 'TFCMOD': 'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)', 'QVWTG': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS', 'SPDE': 'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL', 'CTPBACKG': 'CLOUD TOP PRESSURE BACKGROUND SEQUENCE', 'GCDTT': 'GOES CLOUD TOP TEMPERATURE OBSERVATION', 'PW3R': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW3P': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW3Q': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW3F': 'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE', 'PW3E': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PW3A': 'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE', 'PW3O': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'ZPC': 'HEIGHT EVENT PROGRAM CODE', 'UCL': 'CLIMATOLOGICAL U-COMPONENT WIND VALUE', 'PW1BACKG': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SQN': 'REPORT SEQUENCE NUMBER', 'B2': 'ERS AZIMUTH ANGLE NUMBER 2', 'B3': 'ERS AZIMUTH ANGLE NUMBER 3', 'PWT_INFO': 'TOTAL PRECIPITABLE WATER INFORMATION', 'PW4BACKG': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SWELLSEQ': 'SWELL WAVE SEQUENCE', 'CLTP': 'CLOUD TYPE', 'GOESND': 'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'WAVE_SEQ': 'WAVE SEQUENCE', 'PW1_INFO': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'PW3_INFO': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'WSST': 'WINDSAT SURFACE TYPE', 'CQCPROF': 'WIND PROFILER QUALITY CONTROL STEP', 'BTMPLEVL': "BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE", 'W___INFO': 'WIND INFORMATION', 'VTVI': 'VERTICAL VISIBILITY', 'MXTM': 'MAXIMUM TEMPERATURE', 'SPRVSTG': 'MESONET SUBPROVIDER ID STRING', 'B1': 'ERS AZIMUTH ANGLE NUMBER 1', 'TCOR': "INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED", 'PSTWXSEQ': 'PAST WEATHER SEQUENCE', 'AIRCAR': 'MDCRS ACARS AIRCRAFT REPORTS', 'TRC': 'TEMPERATURE EVENT REASON CODE', 'TOPC_SEQ': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE', 'T__BACKG': 'TEMPERATURE BACKGROUND SEQUENCE', 'T29': 'DATA DUMP REPORT TYPE', 'T___INFO': 'TEMPERATURE INFORMATION', 'PW3F_MSQ': 'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'VOB': 'V-COMPONENT WIND OBSERVATION (M/S)', 'QCLIMATO': 'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE', 'OIQC': 'OI-QUALITY MULTI-PLATFROM CONTROL STEP', 'PMSL_SEQ': 'MEAN SEA LEVEL PRESSURE SEQUENCE', 'WVCQ': 'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)', 'DEFAULT': 'NON-DEFINED STEP (DEFAULT)', 'TOCC': 'CLOUD COVER (TOTAL)', 'SST1': 'SEA TEMPERATURE', 'ACAV': 'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE', 'CTPRC': 'CLOUD TOP PRESSURE EVENT REASON CODE', 'PRVSTG': 'MESONET PROVIDER ID STRING', 'TRBX21': 'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)', 'PMQ': 'MEAN SEA-LVL PRESSURE (QUALITY) MARKER', 'DBSS_SEQ': 'DEPTH BELOW SEA SURFACE SEQUENCE', 'MSONET': 'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)', 'PMO': 'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)', 'PWTEVENT': 'TOTAL PRECIPITABLE WATER EVENT SEQUENCE', 'PW4POSTP': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'TMSK': 'SKIN TEMPERATURE', 'CLOU2SEQ': 'OBSERVED CLOUD SEQUENCE # 2', 'PW2F_MSQ': 'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'WVWTG': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS', 'ELV': 'STATION ELEVATION (M)', 'WVWTA': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL', 'ZFCMOD': 'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)', 'RSRD': 'RESTRICTIONS ON REDISTRIBUTION', 'PREPACQC': 'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)', 'SSTE': 'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL', 'QCS': 'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'ZCLIMATO': 'HEIGHT CLIMATOLOGY SEQUENCE', 'PCAT': 'PRECISION OF TEMPERATURE OBSERVATION', 'QCL': 'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'PW4EVENT': '0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE', 'HOWV': 'HEIGHT OF WAVES', 'HOWW': 'HEIGHT OF WIND WAVES', 'CQCHT': 'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP', 'RRTAN': 'ANALYZED RAINFALL (AVERAGE RATE) VALUE', 'A3': 'ERS INCIDENT ANGLE NUMBER 3', 'A2': 'ERS INCIDENT ANGLE NUMBER 2', 'ALSE': 'ALTIMETER SETTING OBSERVATION', 'HOCB': 'HEIGHT OF BASE OF CLOUD', 'SSTEVENT': 'SEA TEMPERATURE EVENT SEQUENCE', 'SQM': 'WIND SPEED (SOB) (QUALITY) MARKER', 'Q__BACKG': 'SPECIFIC HUMIDITY BACKGROUND SEQUENCE', 'PROCN': 'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)', 'HBLCS': 'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN', 'RRT_INFO': 'RAIN RATE INFORMATION', 'PW2EVENT': '0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE', 'Z__BACKG': 'HEIGHT BACKGROUND SEQUENCE', 'PFC': 'FORECAST (BACKGROUND) PRESSURE VALUE', 'ZCL': 'CLIMATOLOGICAL HEIGHT VALUE', 'SHIP_SEQ': 'SHIP DIRECTION/SPEED SEQUENCE', 'VSSO': 'VERT. SIGNIFICANCE (SFC OBSERVATION)', 'DRFTINFO': 'PROFILE LEVEL TIME/LOCATION INFORMATION', 'ZCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE', 'DBSS': 'DEPTH BELOW SEA SURFACE'} +
                                                              - + +

                                                              dictionary mapping prepbufr mnemonics to human readable descriptions

                                                              -
                                                              #   +
                                                              + amsu_mnemonics_dict = + + {'NC021021': 'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)', 'NC021022': 'MTYP 021-022 PROCESSED MSU 1B Tb DATA (NOAA-14)', 'NC021023': 'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)', 'NC021024': 'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)', 'NC021025': 'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)', 'NC021027': 'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)', 'NC021028': 'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)', 'NC021033': 'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)', 'NC021034': 'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)', 'NC021035': 'MTYP 021-035 RARS(EARS,AP,SA) HIRS 1C Tb DATA(N15-19)', 'NC021036': 'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA (N18-19)', 'NC021041': 'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA', 'NC021042': 'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)', 'NC021043': 'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)', 'NC021051': 'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)', 'NC021052': 'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)', 'NC021053': 'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)', 'NC021054': 'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)', 'NC021123': 'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)', 'NC021201': 'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)', 'NC021202': 'MTYP 021-202 NPP CrIS RADIANCE DATA', 'NC021203': 'MTYP 021-203 NPP ATMS RADIANCE DATA', 'NC021241': 'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)', 'NC021249': 'MTYP 021-249 EVERY FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021250': 'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021251': 'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA', 'NC021252': 'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA', 'NC021253': 'MTYP 021-253 AIRS PRINCIPAL COMPONENTS', 'NC021254': 'MTYP 021-254 AMSR-E CHANNEL DATA', 'NC021255': 'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'YYMMDD': 'DATE -- YEAR, MONTH, DAY', 'HHMM': 'TIME -- HOUR, MINUTE', 'HHMMSS': 'TIME -- HOUR, MINUTE, SECOND', 'LTLONH': 'HIGH ACCURACY LATITUDE/LONGITUDE POSITION', 'SIDGRSEQ': 'SATELLITE IDENTIFIER/GENERATING RESOLUTION', 'SIDENSEQ': 'SATELLITE IDENTIFICATION', 'LOCPLAT': 'LOCATION OF PLATFORM (SATELLITE) SEQUENCE', 'ALLSKYRD': 'ALL SKY RADIANCE DATA', 'CLOUDCOV': 'CLOUD COVERAGE', 'ATOVAMUA': 'ATOVS AMSU-A REPORT', 'ATOVAMUB': 'ATOVS AMSU-B REPORT', 'ATFOV': 'ATOVS FIELD OF VIEW VARIABLES', 'ATCHV': 'ATOVS CHANNEL VARIABLES', 'SSMISTEM': 'SSM/IS TEMPERATURE DATA RECORD', 'ALLSKYRP': 'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE', 'SCO1C3IN': 'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS', 'SPITSEQN': 'SATELLITE POSITION AND INSTRUMENT TEMPERATURES', 'SITPSEQN': 'SATELLITE INSTRUMENT TYPE AND POSITION', 'SCBTSEQN': 'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET', 'SVCASEQN': 'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET', 'SATRCPRC': 'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS', 'IASIL1CB': 'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE', 'IASIL1CS': 'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE', 'BCFQFSQ': 'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE', 'CRCHN': 'NPP CrIS CHANNEL DATA', 'AMSUSPOT': 'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)', 'AMSUCHAN': 'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)', 'HSBSPOT': 'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)', 'HSBCHAN': 'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)', 'ATMSCH': 'NPP ATMS CHANNEL DATA', 'INTMS': 'SATELLITE INSTRUMENT TEMPERATURES', 'AIRSPC': 'AIRS PRINCIPAL COMPONENT SEQUENCE', 'AIRSCORE': 'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE', 'AVCSEQ': 'AVHRR (GAC) CHANNEL SEQUENCE', 'BID': 'BULLETIN HEADER DATA', 'RCPTIM': 'REPORT RECEIPT TIME DATA', 'SATEPHEM': 'SSM/IS SATELLITE EPHEMERIS INFORMATION', 'SCLINGEO': 'SSM/IS SCAN LINE GEOMETRY', 'SSMISCHN': 'SSM/IS CHANNEL SEQUENCE', 'IASICHN': 'IASI LEVEL 1C SCALED RADIANCE SEQUENCE', 'AVHRCHN': 'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ', 'BRITCSTC': 'BRIGHTNESS TEMPERATURE SEQUENCE #2', 'BRIT': 'BRIGHTNESS TEMPERATURE SEQUENCE', 'RADS': 'RADIANCE SEQUENCE', 'AMSRCHAN': 'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)', 'AMSRDICE': 'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)', 'RPSEQ7': 'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE', 'RPSEQ8': 'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE', 'RPSEQ4': 'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE', 'WLTMSEQN': 'WARM LOAD TEMPERATURE SEQUENCE', 'MUHOSEQN': 'MULTIPLEXER HOUSEKEEPING SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER', 'GCLONG': 'ORIGINATING/GENERATING CENTER', 'GNAP': 'GENERATING APPLICATION', 'OGCE': 'IDENTIFICATION OF ORIGINATING/GENERATING CENTER', 'GSES': 'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER', 'SIID': 'SATELLITE INSTRUMENTS', 'SCLF': 'SATELLITE CLASSIFICATION', 'SIDU': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'IMHC': 'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD', 'SSNX': 'SEGMENT SIZE AT NADIR IN X DIRECTION', 'SSNY': 'SEGMENT SIZE AT NADIR IN Y DIRECTION', 'SSIN': 'SATELLITE SENSOR INDICATOR', 'ANPO': 'ANTENNA POLARIZATION', 'RAIA': 'RADAR INCIDENCE ANGLE', 'INCN': 'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER', 'RAID': 'RADIOMETER IDENTIFIER', 'SIDP': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'SCCF': 'SATELLITE CHANNEL CENTER FREQUENCY', 'SCBW': 'SATELLITE CHANNEL BAND WIDTH', 'RDTF': 'RADIANCE TYPE FLAGS', 'RDTP': 'RADIANCE TYPE', 'RDCM': 'RADIANCE COMPUTATIONAL METHOD', 'YEAR': 'YEAR', 'MNTH': 'MONTH', 'DAYS': 'DAY', 'HOUR': 'HOUR', 'MINU': 'MINUTE', 'SECO': 'SECOND', 'TPSE': 'TIME PERIOD OR DISPLACEMENT', 'RCYR': 'YEAR - TIME OF RECEIPT', 'RCMO': 'MONTH - TIME OF RECEIPT', 'RCDY': 'DAY - TIME OF RECEIPT', 'RCHR': 'HOUR - TIME OF RECEIPT', 'RCMI': 'MINUTE - TIME OF RECEIPT', 'CLATH': 'LATITUDE (HIGH ACCURACY)', 'CLAT': 'LATITUDE (COARSE ACCURACY)', 'BEARAZ': 'BEARING OR AZIMUTH', 'SOLAZI': 'SOLAR AZIMUTH', 'ORBN': 'ORBIT NUMBER', 'SLNM': 'SCAN LINE NUMBER', 'CHNM': 'CHANNEL NUMBER', 'FOVN': 'FIELD OF VIEW NUMBER', 'FORN': 'FIELD OF REGARD NUMBER', 'YAPCG': 'Y ANGULAR POSITION OF CENTER OF GRAVITY', 'ZAPCG': 'Z ANGULAR POSITION OF CENTER OF GRAVITY', 'CLONH': 'LONGITUDE (HIGH ACCURACY)', 'CLON': 'LONGITUDE (COARSE ACCURACY)', 'WVNM': 'WAVE NUMBER', 'SELV': 'HEIGHT OF STATION', 'HMSL': 'HEIGHT OR ALTITUDE', 'PRLC': 'PRESSURE', 'SAZA': 'SATELLITE ZENITH ANGLE', 'SOZA': 'SOLAR ZENITH ANGLE', 'VSIG': 'VERTICAL SOUNDING SIGNIFICANCE', 'VSAT': 'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)', 'DIMS': 'DIMENSIONAL SIGNIFICANCE', 'LSQL': 'LAND/SEA QUALIFIER', 'TSIG': 'TIME SIGNIFICANCE', 'FOST': 'FIRST ORDER STATISTICS', 'MDPC': 'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE', 'TAPQ': 'TOVS/ATOVS PRODUCT IDENTIFIER', 'STKO': 'ASCENDING/DESCENDING ORBIT QUALIFIER', 'TOBD': 'TYPE OF BAND', 'RCTS': 'RECEIPT TIME SIGNIFICANCE', 'HOLS': 'HEIGHT OF LAND SURFACE', 'HITE': 'GEOPOTENTIAL HEIGHT', 'PDNP': "IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER", 'TMBRST': 'BRIGHTNESS TEMPERATURE', 'TMINST': 'INSTRUMENT TEMPERATURE', 'SDTB': 'STANDARD DEVIATION BRIGHTNESS TEMPERATURE', 'TMANT': 'ANTENNA TEMPERATURE', 'WLTM': 'WARM LOAD TEMPERATURE', 'SPRD': 'SPECTRAL RADIANCE', 'RDNE': 'RADIANCE', 'NEDTCO': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET', 'NEDTWA': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET', 'TMBR': 'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)', 'CSTC': 'COLD SPACE TEMPERATURE CORRECTION', 'REHU': 'RELATIVE HUMIDITY', 'SFLG': 'SURFACE FLAG', 'ALBD': 'ALBEDO', 'SRAD': 'CHANNEL RADIANCE', 'CHRAD': 'CHANNEL RADIANCE', 'SCRA': 'SCALED IASI RADIANCE', 'SMRA': 'SCALED MEAN AVHRR RADIANCE', 'SSDR': 'SCALED STANDARD DEVIATION OF AVHRR RADIANCE', 'LOGCT': 'LOG10 OF CLOUD TEST RESULTS', 'TOCC': 'CLOUD COVER (TOTAL)', 'CLTP': 'CLOUD TYPE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'RFLAG': 'RAIN FLAG', 'CLDMNT': 'CLOUD AMOUNT IN SEGMENT', 'NCLDMNT': 'AMOUNT SEGMENT CLOUD FREE', 'CLAVR': 'CLOUD FROM AVHRR (CLAVR) CLOUD MASK', 'WTCA': 'WARM TARGET CALIBRATION', 'CTCA': 'COLD TARGET CALIBRATION', 'ALFR': 'LAND FRACTION', 'APCOMP': 'PRINCIPAL COMPONENT SCORE', 'AVHCST': 'AVHRR CHANNEL COMBINATION', 'APCFIT': 'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA', 'SSID': 'SSMIS SUBFRAME ID NUMBER', 'MUHO': 'MULTIPLEXOR HOUSEKEEPING', 'MJFC': 'MAJOR FRAME COUNT', 'SACV': 'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER', 'LOGRCW': 'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)', 'BWCC1': 'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS', 'BWCC2': 'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS', 'ASFI': 'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS', 'AEFW': 'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS', 'FCPH': 'FRACTION OF CLEAR PIXELS IN HIRS FOV', 'STCH': 'START CHANNEL', 'ENCH': 'END CHANNEL', 'CHSF': 'CHANNEL SCALE FACTOR', 'PD00': "IN DIRECTION OF 0 DEG E, DISTANCE FROM EARTH'S CENTER", 'PD90': "IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER", 'NPPR': 'NUMBER OF PIXELS PER ROW', 'NPPC': 'NUMBER OF PIXELS PER COLUMN', 'QMRKH': 'QUALITY INFORMATION', 'PCCF': 'PERCENT CONFIDENCE', 'SLSF': 'SCAN LINE STATUS FLAGS FOR ATOVS', 'SLQF': 'SCAN LINE QUALITY FLAGS FOR ATOVS', 'ACQF': 'CHANNEL QUALITY FLAGS FOR ATOVS', 'FOVQ': 'FIELD OF VIEW QUALITY FLAGS FOR ATOVS', 'QGFQ': 'INDIVIDUAL IASI-SYSTEM QUALITY FLAG', 'QGQI': 'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)', 'QGQIL': 'GEOMETRIC QUALITY INDEX INDICATOR', 'QGQIR': 'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)', 'QGQIS': 'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)', 'QGSSQ': 'OUTPUT OF TEC FUNCTION', 'NSQF': 'SCAN LEVEL QUALITY FLAGS', 'NCQF': 'CALIBRATION QUALITY FLAGS', 'NFQF': 'FIELD OF VIEW QUALITY FLAGS', 'NGQI': 'GEOLOCATION QUALITY', 'ATMSGQ': 'GRANULE LEVEL QUALITY FLAGS', 'ATMSSQ': 'SCAN LEVEL QUALITY FLAGS', 'ATMSCHQ': 'CHANNEL DATA QUALITY FLAGS', 'BUHD': 'BULLETIN BEING MONITORED (TTAAii)', 'BULTIM': 'BULLETIN BEING MONITORED (YYGGgg)', 'BORG': 'BULLETIN BEING MONITORED (CCCC)', 'BBB': 'BULLETIN BEING MONITORED (BBB)', 'SEQNUM': 'CHANNEL SEQUENCE NUMBER'} - amsu_mnemonics_dict = {'NC021021': 'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)', 'NC021022': 'MTYP 021-022 PROCESSED MSU 1B Tb DATA (NOAA-14)', 'NC021023': 'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)', 'NC021024': 'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)', 'NC021025': 'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)', 'NC021027': 'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)', 'NC021028': 'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)', 'NC021033': 'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)', 'NC021034': 'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)', 'NC021035': 'MTYP 021-035 RARS(EARS,AP,SA) HIRS 1C Tb DATA(N15-19)', 'NC021036': 'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA (N18-19)', 'NC021041': 'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA', 'NC021042': 'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)', 'NC021043': 'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)', 'NC021051': 'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)', 'NC021052': 'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)', 'NC021053': 'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)', 'NC021054': 'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)', 'NC021123': 'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)', 'NC021201': 'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)', 'NC021202': 'MTYP 021-202 NPP CrIS RADIANCE DATA', 'NC021203': 'MTYP 021-203 NPP ATMS RADIANCE DATA', 'NC021241': 'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)', 'NC021249': 'MTYP 021-249 EVERY FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021250': 'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021251': 'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA', 'NC021252': 'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA', 'NC021253': 'MTYP 021-253 AIRS PRINCIPAL COMPONENTS', 'NC021254': 'MTYP 021-254 AMSR-E CHANNEL DATA', 'NC021255': 'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'YYMMDD': 'DATE -- YEAR, MONTH, DAY', 'HHMM': 'TIME -- HOUR, MINUTE', 'HHMMSS': 'TIME -- HOUR, MINUTE, SECOND', 'LTLONH': 'HIGH ACCURACY LATITUDE/LONGITUDE POSITION', 'SIDGRSEQ': 'SATELLITE IDENTIFIER/GENERATING RESOLUTION', 'SIDENSEQ': 'SATELLITE IDENTIFICATION', 'LOCPLAT': 'LOCATION OF PLATFORM (SATELLITE) SEQUENCE', 'ALLSKYRD': 'ALL SKY RADIANCE DATA', 'CLOUDCOV': 'CLOUD COVERAGE', 'ATOVAMUA': 'ATOVS AMSU-A REPORT', 'ATOVAMUB': 'ATOVS AMSU-B REPORT', 'ATFOV': 'ATOVS FIELD OF VIEW VARIABLES', 'ATCHV': 'ATOVS CHANNEL VARIABLES', 'SSMISTEM': 'SSM/IS TEMPERATURE DATA RECORD', 'ALLSKYRP': 'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE', 'SCO1C3IN': 'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS', 'SPITSEQN': 'SATELLITE POSITION AND INSTRUMENT TEMPERATURES', 'SITPSEQN': 'SATELLITE INSTRUMENT TYPE AND POSITION', 'SCBTSEQN': 'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET', 'SVCASEQN': 'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET', 'SATRCPRC': 'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS', 'IASIL1CB': 'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE', 'IASIL1CS': 'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE', 'BCFQFSQ': 'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE', 'CRCHN': 'NPP CrIS CHANNEL DATA', 'AMSUSPOT': 'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)', 'AMSUCHAN': 'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)', 'HSBSPOT': 'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)', 'HSBCHAN': 'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)', 'ATMSCH': 'NPP ATMS CHANNEL DATA', 'INTMS': 'SATELLITE INSTRUMENT TEMPERATURES', 'AIRSPC': 'AIRS PRINCIPAL COMPONENT SEQUENCE', 'AIRSCORE': 'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE', 'AVCSEQ': 'AVHRR (GAC) CHANNEL SEQUENCE', 'BID': 'BULLETIN HEADER DATA', 'RCPTIM': 'REPORT RECEIPT TIME DATA', 'SATEPHEM': 'SSM/IS SATELLITE EPHEMERIS INFORMATION', 'SCLINGEO': 'SSM/IS SCAN LINE GEOMETRY', 'SSMISCHN': 'SSM/IS CHANNEL SEQUENCE', 'IASICHN': 'IASI LEVEL 1C SCALED RADIANCE SEQUENCE', 'AVHRCHN': 'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ', 'BRITCSTC': 'BRIGHTNESS TEMPERATURE SEQUENCE #2', 'BRIT': 'BRIGHTNESS TEMPERATURE SEQUENCE', 'RADS': 'RADIANCE SEQUENCE', 'AMSRCHAN': 'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)', 'AMSRDICE': 'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)', 'RPSEQ7': 'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE', 'RPSEQ8': 'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE', 'RPSEQ4': 'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE', 'WLTMSEQN': 'WARM LOAD TEMPERATURE SEQUENCE', 'MUHOSEQN': 'MULTIPLEXER HOUSEKEEPING SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER', 'GCLONG': 'ORIGINATING/GENERATING CENTER', 'GNAP': 'GENERATING APPLICATION', 'OGCE': 'IDENTIFICATION OF ORIGINATING/GENERATING CENTER', 'GSES': 'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER', 'SIID': 'SATELLITE INSTRUMENTS', 'SCLF': 'SATELLITE CLASSIFICATION', 'SIDU': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'IMHC': 'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD', 'SSNX': 'SEGMENT SIZE AT NADIR IN X DIRECTION', 'SSNY': 'SEGMENT SIZE AT NADIR IN Y DIRECTION', 'SSIN': 'SATELLITE SENSOR INDICATOR', 'ANPO': 'ANTENNA POLARIZATION', 'RAIA': 'RADAR INCIDENCE ANGLE', 'INCN': 'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER', 'RAID': 'RADIOMETER IDENTIFIER', 'SIDP': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'SCCF': 'SATELLITE CHANNEL CENTER FREQUENCY', 'SCBW': 'SATELLITE CHANNEL BAND WIDTH', 'RDTF': 'RADIANCE TYPE FLAGS', 'RDTP': 'RADIANCE TYPE', 'RDCM': 'RADIANCE COMPUTATIONAL METHOD', 'YEAR': 'YEAR', 'MNTH': 'MONTH', 'DAYS': 'DAY', 'HOUR': 'HOUR', 'MINU': 'MINUTE', 'SECO': 'SECOND', 'TPSE': 'TIME PERIOD OR DISPLACEMENT', 'RCYR': 'YEAR - TIME OF RECEIPT', 'RCMO': 'MONTH - TIME OF RECEIPT', 'RCDY': 'DAY - TIME OF RECEIPT', 'RCHR': 'HOUR - TIME OF RECEIPT', 'RCMI': 'MINUTE - TIME OF RECEIPT', 'CLATH': 'LATITUDE (HIGH ACCURACY)', 'CLAT': 'LATITUDE (COARSE ACCURACY)', 'BEARAZ': 'BEARING OR AZIMUTH', 'SOLAZI': 'SOLAR AZIMUTH', 'ORBN': 'ORBIT NUMBER', 'SLNM': 'SCAN LINE NUMBER', 'CHNM': 'CHANNEL NUMBER', 'FOVN': 'FIELD OF VIEW NUMBER', 'FORN': 'FIELD OF REGARD NUMBER', 'YAPCG': 'Y ANGULAR POSITION OF CENTER OF GRAVITY', 'ZAPCG': 'Z ANGULAR POSITION OF CENTER OF GRAVITY', 'CLONH': 'LONGITUDE (HIGH ACCURACY)', 'CLON': 'LONGITUDE (COARSE ACCURACY)', 'WVNM': 'WAVE NUMBER', 'SELV': 'HEIGHT OF STATION', 'HMSL': 'HEIGHT OR ALTITUDE', 'PRLC': 'PRESSURE', 'SAZA': 'SATELLITE ZENITH ANGLE', 'SOZA': 'SOLAR ZENITH ANGLE', 'VSIG': 'VERTICAL SOUNDING SIGNIFICANCE', 'VSAT': 'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)', 'DIMS': 'DIMENSIONAL SIGNIFICANCE', 'LSQL': 'LAND/SEA QUALIFIER', 'TSIG': 'TIME SIGNIFICANCE', 'FOST': 'FIRST ORDER STATISTICS', 'MDPC': 'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE', 'TAPQ': 'TOVS/ATOVS PRODUCT IDENTIFIER', 'STKO': 'ASCENDING/DESCENDING ORBIT QUALIFIER', 'TOBD': 'TYPE OF BAND', 'RCTS': 'RECEIPT TIME SIGNIFICANCE', 'HOLS': 'HEIGHT OF LAND SURFACE', 'HITE': 'GEOPOTENTIAL HEIGHT', 'PDNP': "IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER", 'TMBRST': 'BRIGHTNESS TEMPERATURE', 'TMINST': 'INSTRUMENT TEMPERATURE', 'SDTB': 'STANDARD DEVIATION BRIGHTNESS TEMPERATURE', 'TMANT': 'ANTENNA TEMPERATURE', 'WLTM': 'WARM LOAD TEMPERATURE', 'SPRD': 'SPECTRAL RADIANCE', 'RDNE': 'RADIANCE', 'NEDTCO': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET', 'NEDTWA': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET', 'TMBR': 'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)', 'CSTC': 'COLD SPACE TEMPERATURE CORRECTION', 'REHU': 'RELATIVE HUMIDITY', 'SFLG': 'SURFACE FLAG', 'ALBD': 'ALBEDO', 'SRAD': 'CHANNEL RADIANCE', 'CHRAD': 'CHANNEL RADIANCE', 'SCRA': 'SCALED IASI RADIANCE', 'SMRA': 'SCALED MEAN AVHRR RADIANCE', 'SSDR': 'SCALED STANDARD DEVIATION OF AVHRR RADIANCE', 'LOGCT': 'LOG10 OF CLOUD TEST RESULTS', 'TOCC': 'CLOUD COVER (TOTAL)', 'CLTP': 'CLOUD TYPE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'RFLAG': 'RAIN FLAG', 'CLDMNT': 'CLOUD AMOUNT IN SEGMENT', 'NCLDMNT': 'AMOUNT SEGMENT CLOUD FREE', 'CLAVR': 'CLOUD FROM AVHRR (CLAVR) CLOUD MASK', 'WTCA': 'WARM TARGET CALIBRATION', 'CTCA': 'COLD TARGET CALIBRATION', 'ALFR': 'LAND FRACTION', 'APCOMP': 'PRINCIPAL COMPONENT SCORE', 'AVHCST': 'AVHRR CHANNEL COMBINATION', 'APCFIT': 'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA', 'SSID': 'SSMIS SUBFRAME ID NUMBER', 'MUHO': 'MULTIPLEXOR HOUSEKEEPING', 'MJFC': 'MAJOR FRAME COUNT', 'SACV': 'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER', 'LOGRCW': 'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)', 'BWCC1': 'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS', 'BWCC2': 'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS', 'ASFI': 'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS', 'AEFW': 'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS', 'FCPH': 'FRACTION OF CLEAR PIXELS IN HIRS FOV', 'STCH': 'START CHANNEL', 'ENCH': 'END CHANNEL', 'CHSF': 'CHANNEL SCALE FACTOR', 'PD00': "IN DIRECTION OF 0 DEG E, DISTANCE FROM EARTH'S CENTER", 'PD90': "IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER", 'NPPR': 'NUMBER OF PIXELS PER ROW', 'NPPC': 'NUMBER OF PIXELS PER COLUMN', 'QMRKH': 'QUALITY INFORMATION', 'PCCF': 'PERCENT CONFIDENCE', 'SLSF': 'SCAN LINE STATUS FLAGS FOR ATOVS', 'SLQF': 'SCAN LINE QUALITY FLAGS FOR ATOVS', 'ACQF': 'CHANNEL QUALITY FLAGS FOR ATOVS', 'FOVQ': 'FIELD OF VIEW QUALITY FLAGS FOR ATOVS', 'QGFQ': 'INDIVIDUAL IASI-SYSTEM QUALITY FLAG', 'QGQI': 'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)', 'QGQIL': 'GEOMETRIC QUALITY INDEX INDICATOR', 'QGQIR': 'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)', 'QGQIS': 'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)', 'QGSSQ': 'OUTPUT OF TEC FUNCTION', 'NSQF': 'SCAN LEVEL QUALITY FLAGS', 'NCQF': 'CALIBRATION QUALITY FLAGS', 'NFQF': 'FIELD OF VIEW QUALITY FLAGS', 'NGQI': 'GEOLOCATION QUALITY', 'ATMSGQ': 'GRANULE LEVEL QUALITY FLAGS', 'ATMSSQ': 'SCAN LEVEL QUALITY FLAGS', 'ATMSCHQ': 'CHANNEL DATA QUALITY FLAGS', 'BUHD': 'BULLETIN BEING MONITORED (TTAAii)', 'BULTIM': 'BULLETIN BEING MONITORED (YYGGgg)', 'BORG': 'BULLETIN BEING MONITORED (CCCC)', 'BBB': 'BULLETIN BEING MONITORED (BBB)', 'SEQNUM': 'CHANNEL SEQUENCE NUMBER'} +
                                                              - + +

                                                              dictionary mapping amsu mnemonics to human readable descriptions

                                                              - - - + } else if ( + e.key === "Enter" + ) { + focused.querySelector("a").click(); + } + } + }); + \ No newline at end of file diff --git a/python/search.js b/python/search.js new file mode 100644 index 000000000..d0f159a97 --- /dev/null +++ b/python/search.js @@ -0,0 +1,46 @@ +window.pdocSearch = (function(){ +/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o

                                                              \n"}, "ncepbufr.set_param": {"fullname": "ncepbufr.set_param", "modulename": "ncepbufr", "qualname": "set_param", "kind": "function", "doc": "

                                                              set BUFRLIB internal parameters controlling size limits.\nMust be done prior to opening a bufr file. Valid parameters are\nlisted in the docblock of the isetprm source file.

                                                              \n\n

                                                              The 'get_param' function can be used to obtain the current value of these\nparameters.

                                                              \n", "signature": "(key, value):", "funcdef": "def"}, "ncepbufr.get_param": {"fullname": "ncepbufr.get_param", "modulename": "ncepbufr", "qualname": "get_param", "kind": "function", "doc": "

                                                              get the values BUFRLIB internal parameters controlling size limits.\nsee 'set_param' docstring for allowable parameter names.

                                                              \n", "signature": "(key):", "funcdef": "def"}, "ncepbufr.set_missing_value": {"fullname": "ncepbufr.set_missing_value", "modulename": "ncepbufr", "qualname": "set_missing_value", "kind": "function", "doc": "

                                                              set bufr missing value.

                                                              \n", "signature": "(missing_value):", "funcdef": "def"}, "ncepbufr.get_missing_value": {"fullname": "ncepbufr.get_missing_value", "modulename": "ncepbufr", "qualname": "get_missing_value", "kind": "function", "doc": "

                                                              get bufr missing value.

                                                              \n", "signature": "():", "funcdef": "def"}, "ncepbufr.set_datelength": {"fullname": "ncepbufr.set_datelength", "modulename": "ncepbufr", "qualname": "set_datelength", "kind": "function", "doc": "

                                                              set number of digits for date specification (10 gives YYYYMMDDHH)

                                                              \n", "signature": "(charlen):", "funcdef": "def"}, "ncepbufr.open": {"fullname": "ncepbufr.open", "modulename": "ncepbufr", "qualname": "open", "kind": "class", "doc": "

                                                              bufr file object.

                                                              \n\n

                                                              ncepbufr.open.__init__ used to construct instance.

                                                              \n\n

                                                              ncepbufr.open.advance method can be used step through bufr messages.

                                                              \n"}, "ncepbufr.open.__init__": {"fullname": "ncepbufr.open.__init__", "modulename": "ncepbufr", "qualname": "open.__init__", "kind": "function", "doc": "

                                                              bufr object constructor

                                                              \n\n

                                                              filename: bufr file name.

                                                              \n\n

                                                              mode: 'r' for read, 'w' for write, 'a' for append (default\n'r').

                                                              \n\n

                                                              table: bufr table filename or ncepbufr.open instance.\nMust be specified for mode='w', optional for mode='r'.\nIf table is an existing ncepbufr.open instance, the table\nwill be shared. If not, it is assumed to be the filename of a bufr table.\nFor mode='r', bufr table embedded in file will be used if not specified.

                                                              \n", "signature": "(filename, mode='r', table=None)"}, "ncepbufr.open.lunit": {"fullname": "ncepbufr.open.lunit", "modulename": "ncepbufr", "qualname": "open.lunit", "kind": "variable", "doc": "

                                                              \n"}, "ncepbufr.open.filename": {"fullname": "ncepbufr.open.filename", "modulename": "ncepbufr", "qualname": "open.filename", "kind": "variable", "doc": "

                                                              bufr file opened with this fortran unit number

                                                              \n"}, "ncepbufr.open.msg_counter": {"fullname": "ncepbufr.open.msg_counter", "modulename": "ncepbufr", "qualname": "open.msg_counter", "kind": "variable", "doc": "

                                                              current bufr message number

                                                              \n"}, "ncepbufr.open.msg_type": {"fullname": "ncepbufr.open.msg_type", "modulename": "ncepbufr", "qualname": "open.msg_type", "kind": "variable", "doc": "

                                                              current bufr message type

                                                              \n"}, "ncepbufr.open.msg_date": {"fullname": "ncepbufr.open.msg_date", "modulename": "ncepbufr", "qualname": "open.msg_date", "kind": "variable", "doc": "

                                                              reference date for bufr message

                                                              \n"}, "ncepbufr.open.receipt_time": {"fullname": "ncepbufr.open.receipt_time", "modulename": "ncepbufr", "qualname": "open.receipt_time", "kind": "variable", "doc": "

                                                              tank receipt time for bufr message (YYYYMMDDHHMM), -1 if missing

                                                              \n"}, "ncepbufr.open.subsets": {"fullname": "ncepbufr.open.subsets", "modulename": "ncepbufr", "qualname": "open.subsets", "kind": "variable", "doc": "

                                                              number of subsets in the bufr message

                                                              \n"}, "ncepbufr.open.missing_value": {"fullname": "ncepbufr.open.missing_value", "modulename": "ncepbufr", "qualname": "open.missing_value", "kind": "variable", "doc": "

                                                              bufr missing value

                                                              \n"}, "ncepbufr.open.dump_table": {"fullname": "ncepbufr.open.dump_table", "modulename": "ncepbufr", "qualname": "open.dump_table", "kind": "function", "doc": "

                                                              dump embedded bufr table to a file

                                                              \n", "signature": "(self, filename):", "funcdef": "def"}, "ncepbufr.open.print_table": {"fullname": "ncepbufr.open.print_table", "modulename": "ncepbufr", "qualname": "open.print_table", "kind": "function", "doc": "

                                                              print embedded bufr table to stdout

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.close": {"fullname": "ncepbufr.open.close", "modulename": "ncepbufr", "qualname": "open.close", "kind": "function", "doc": "

                                                              close the bufr file

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.cmpmsg": {"fullname": "ncepbufr.open.cmpmsg", "modulename": "ncepbufr", "qualname": "open.cmpmsg", "kind": "function", "doc": "

                                                              compress the data in subsequent writes to the bufr file

                                                              \n", "signature": "(self, cmp):", "funcdef": "def"}, "ncepbufr.open.advance": {"fullname": "ncepbufr.open.advance", "modulename": "ncepbufr", "qualname": "open.advance", "kind": "function", "doc": "

                                                              advance to the next msg in the bufr file\nreturns 0 if advance was sucessful,\n1 if not (presumably because the end\nof the file was reached).

                                                              \n\n

                                                              The following attributes are set each time\nfile is advanced to the next message:

                                                              \n\n

                                                              msg_type: string describing type of message.

                                                              \n\n

                                                              msg_date: reference date (YYYYMMDDHH) for message.

                                                              \n\n

                                                              msg_counter: message number.

                                                              \n\n

                                                              receipt_time: bufr tank receipt time.

                                                              \n\n

                                                              subsets: number of subsets in the message.

                                                              \n\n

                                                              subset_loaded: Boolean indicating whether a subset has been\nloaded with ncepbufr.open.load_subset. Initialized to False.

                                                              \n\n

                                                              To loop through all the bufr messages in a file:

                                                              \n\n
                                                              :::python\n>>> bufr = ncepbufr.open(filename)\n>>> while bufr.advance() == 0:\n>>>     # processing code for each message here\n
                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.inventory": {"fullname": "ncepbufr.open.inventory", "modulename": "ncepbufr", "qualname": "open.inventory", "kind": "function", "doc": "

                                                              return a list containing an inventory of the bufr file.\nThe list contains a tuple for each message.\ncontaining (msg_type,msg_date,receipt_time,subsets).

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.print_subset": {"fullname": "ncepbufr.open.print_subset", "modulename": "ncepbufr", "qualname": "open.print_subset", "kind": "function", "doc": "

                                                              print a textual representation of the decoded\ndata in the currently loaded subset.

                                                              \n\n

                                                              If verbose=True, more complete but harder to read info is written.

                                                              \n\n

                                                              ncepbufr.open.load_subset must be called before\ntrying to print the decoded subset using ncepbufr.open.print_subset.

                                                              \n", "signature": "(self, verbose=False):", "funcdef": "def"}, "ncepbufr.open.copy_subset": {"fullname": "ncepbufr.open.copy_subset", "modulename": "ncepbufr", "qualname": "open.copy_subset", "kind": "function", "doc": "

                                                              copy the currently loaded subset from the specified bufr file object\nand write to the current bufr message

                                                              \n", "signature": "(self, bufrin):", "funcdef": "def"}, "ncepbufr.open.dump_subset": {"fullname": "ncepbufr.open.dump_subset", "modulename": "ncepbufr", "qualname": "open.dump_subset", "kind": "function", "doc": "

                                                              dump a textual representation of the decoded\ndata in the currently loaded subset to a file.

                                                              \n\n

                                                              If append=True, append to an existing file\n(otherwise over-write file).

                                                              \n\n

                                                              If verbose=True, more complete but harder to read info is written.

                                                              \n\n

                                                              ncepbufr.open.load_subset must be called before\ntrying to print the decoded subset using ncepbufr.open.dump_subset.

                                                              \n", "signature": "(self, filename, append=False, verbose=False):", "funcdef": "def"}, "ncepbufr.open.get_program_code": {"fullname": "ncepbufr.open.get_program_code", "modulename": "ncepbufr", "qualname": "open.get_program_code", "kind": "function", "doc": "

                                                              return prepbufr event program code\nassociated with specified mnemonic\n(see src/ufbqcd.f for more details)

                                                              \n", "signature": "(self, mnemonic):", "funcdef": "def"}, "ncepbufr.open.get_flag_table_bits": {"fullname": "ncepbufr.open.get_flag_table_bits", "modulename": "ncepbufr", "qualname": "open.get_flag_table_bits", "kind": "function", "doc": "

                                                              return bit settings associated with\na specifed value and flag table mnemonic\n(see src/upftbv.f for more details)

                                                              \n", "signature": "(self, mnemonic, val):", "funcdef": "def"}, "ncepbufr.open.checkpoint": {"fullname": "ncepbufr.open.checkpoint", "modulename": "ncepbufr", "qualname": "open.checkpoint", "kind": "function", "doc": "

                                                              mark where we are in the bufr file,\nand rewind the file.\nThe ncepbufr.open.restore method can then be\nused to go back to this state.

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.rewind": {"fullname": "ncepbufr.open.rewind", "modulename": "ncepbufr", "qualname": "open.rewind", "kind": "function", "doc": "

                                                              rewind the bufr file (same as ncepbufr.open.checkpoint).

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.restore": {"fullname": "ncepbufr.open.restore", "modulename": "ncepbufr", "qualname": "open.restore", "kind": "function", "doc": "

                                                              restore the state of the bufr\nfile that recorded by a previous call\nto ncepbufr.open.checkpoint.

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.open_message": {"fullname": "ncepbufr.open.open_message", "modulename": "ncepbufr", "qualname": "open.open_message", "kind": "function", "doc": "

                                                              open new bufr message.

                                                              \n\n

                                                              Mandatory arguments:

                                                              \n\n

                                                              msg_type: string describing type of message.

                                                              \n\n

                                                              msg_date: reference date (e.g. YYYYMMDDHH) for message. The\nnumber of digits in the reference date is controlled by\nmodule function set_datelength, and is 10 by default.

                                                              \n\n

                                                              msg_receipt_time bufr tank receipt time YYYYMMDDHHMM (optional).

                                                              \n", "signature": "(self, msg_type, msg_date, msg_receipt_time=None):", "funcdef": "def"}, "ncepbufr.open.copy_message": {"fullname": "ncepbufr.open.copy_message", "modulename": "ncepbufr", "qualname": "open.copy_message", "kind": "function", "doc": "

                                                              copy the currently loaded message from the specified bufr file object\nand write to the file

                                                              \n", "signature": "(self, bufrin):", "funcdef": "def"}, "ncepbufr.open.close_message": {"fullname": "ncepbufr.open.close_message", "modulename": "ncepbufr", "qualname": "open.close_message", "kind": "function", "doc": "

                                                              close bufr message

                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.load_subset": {"fullname": "ncepbufr.open.load_subset", "modulename": "ncepbufr", "qualname": "open.load_subset", "kind": "function", "doc": "

                                                              load subset data from the current message\n(must be called before ncepbufr.open.read_subset).\nTo loop through all messages in a file, and\nall subsets in each message:

                                                              \n\n
                                                              :::python\n>>> bufr = ncepbufr.open(filename)\n>>> while bufr.advance() == 0:\n>>>     while bufr.load_subset() == 0:\n>>>         # processing code for each subset here\n
                                                              \n", "signature": "(self):", "funcdef": "def"}, "ncepbufr.open.read_long_string": {"fullname": "ncepbufr.open.read_long_string", "modulename": "ncepbufr", "qualname": "open.read_long_string", "kind": "function", "doc": "

                                                              Decode character string from the currently loaded message subset\nusing the specified mnemonic (a 'mnemonic' is simply a\ndescriptive, alphanumeric name for a data value, like\na key in a python dictionary). The mnemonic string\nmust be a single mnemonic only. If the subset contains more \nthan one occurrence of the mnemonic, then can append '#X' to \nthe mnemonic to request the character string corresponding to \nthe Xth occurrence of the mnemonic, counting from the beginning \nof the subset. Otherwise, X is assumed to be 1.

                                                              \n\n

                                                              Returns the character string, if found, or \"MISSING\" if not.

                                                              \n\n

                                                              Example:

                                                              \n\n
                                                              :::python\n>>> bufr = ncepbufr.open(filename)\n>>> while bufr.advance() == 0:\n>>>     while bufr.load_subset() == 0:\n>>>         st_name = bufr.read_long_string(mnemonic='STSN')\n
                                                              \n", "signature": "(self, mnemonic):", "funcdef": "def"}, "ncepbufr.open.read_subset": {"fullname": "ncepbufr.open.read_subset", "modulename": "ncepbufr", "qualname": "open.read_subset", "kind": "function", "doc": "

                                                              decode the data from the currently loaded message subset\nusing the specified mnemonics (a 'mnemonic' is simply a\ndescriptive, alphanumeric name for a data value, like\na key in a python dictionary). The mnemonics string\nmay contain multiple space delimited mnemonics\n(e.g. mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3').

                                                              \n\n

                                                              By default, the mnemonics are assumed to be part of a delayed\nreplication sequence, or have no replication at all, and ufbint\nis used to read the data.

                                                              \n\n

                                                              ncepbufr.open.load_subset must be called before\ntrying to decode a subset using ncepbufr.open.read_subset.

                                                              \n\n

                                                              if rep = True, ufbrep is used to read data represented\na regular replication sequence. See the comments in src/ufbrep.f for\nmore details. Used for radiance data.

                                                              \n\n

                                                              if seq=True, ufbseq is used to read data represented by\na sequence mnemonic. Used for gps data.

                                                              \n\n

                                                              if events=True, ufbevn is used to read prepbufr\n\"events\", and a 3-d array is returned.

                                                              \n\n

                                                              Only one of seq, rep and events can be True.

                                                              \n\n

                                                              returns a numpy masked array with decoded values\n(missing values are masked).\nThe shape of the array is (nm,nlevs), where\nwhere nm is the number of elements in the specified\nmnemonics string, and nlevs is the number of levels in the report.\nIf events=True, a 3rd dimension representing the prepbufr\nevent codes is added.

                                                              \n", "signature": "(self, mnemonics, rep=False, seq=False, events=False):", "funcdef": "def"}, "ncepbufr.open.write_subset": {"fullname": "ncepbufr.open.write_subset", "modulename": "ncepbufr", "qualname": "open.write_subset", "kind": "function", "doc": "

                                                              write data to message subset using the specified mnemonics\n(a 'mnemonic' is simply a descriptive, alphanumeric name for a\ndata value, like a key in a python dictionary). The mnemonics string\nmay contain multiple space delimited mnemonics\n(e.g. mnemonics='MNEMONIC1 MNEMONIC2 MNEMONIC3').

                                                              \n\n

                                                              By default, the mnemonics are assumed to be part of a delayed\nreplication sequence, or have no replication at all, and ufbint\nis used to write the data.

                                                              \n\n

                                                              if rep = True, ufbrep is used to write data represented\na regular replication sequence. See the comments in src/ufbrep.f for\nmore details. Used for radiance data.

                                                              \n\n

                                                              if seq=True, ufbseq is used to write data represented by\na sequence mnemonic. Used for gps data.

                                                              \n\n

                                                              if events=True, ufbevn is used to write prepbufr\n\"events\" (a 3-d data array is required)

                                                              \n\n

                                                              Only one of seq, rep and events can be True.

                                                              \n\n

                                                              If end=True, the message subset is closed and written\nto the bufr file (default False).

                                                              \n", "signature": "(self, data, mnemonics, rep=False, seq=False, events=False, end=False):", "funcdef": "def"}, "ncepbufr.bufr_mnemonics": {"fullname": "ncepbufr.bufr_mnemonics", "modulename": "ncepbufr.bufr_mnemonics", "kind": "module", "doc": "

                                                              \n"}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"fullname": "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict", "modulename": "ncepbufr.bufr_mnemonics", "qualname": "prepbufr_mnemonics_dict", "kind": "variable", "doc": "

                                                              dictionary mapping prepbufr mnemonics to human readable descriptions

                                                              \n", "default_value": "{'PW2Q': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW2P': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'T__EVENT': 'TEMPERATURE EVENT SEQUENCE', 'PW2R': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'T__POSTP': 'TEMPERATURE POSTPROCESSING SEQUENCE', 'PW2A': 'ANALYZED 0.9 TO 0.7 SIGMA LAYER PRECIP. WATER VALUE', 'WFC__MSQ': 'MODEL WIND FORECAST SEQUENCE', 'TP24': 'TOTAL PRECIPITATION PAST 24 HOURS', 'YCOR': "INDICATOR WHETHER LAT IN'YOB' WAS CORRECTED FRM'YORG'", 'PW2E': '0.9 TO 0.7 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PREWXSEQ': 'PRESENT WEATHER SEQUENCE', 'XCOR': "INDICATOR WHETHER LON IN'XOB' WAS CORRECTED FRM'XORG'", 'PW2O': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW3EVENT': '0.7 TO 0.3 PRECIPITABLE WATER EVENT SEQUENCE', 'UAN': 'ANALYZED U-COMPONENT WIND VALUE', 'TAN': 'ANALYZED TEMPERATURE VALUE', 'MSST': 'METHOD OF SEA SURFACE TEMPERATURE MEASUREMENT', 'VAN': 'ANALYZED V-COMPONENT WIND VALUE', 'WRC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT REASON CODE', 'SFCSHP': 'SURFACE MARINE (SHIP, BUOY, C-MAN PLATFORM) REPORTS', 'ADPUPA': 'UPPER-AIR (RAOB, PIBAL, RECCO, DROPS) REPORTS', 'DF_EVENT': 'WIND (DIRECTION/SPEED) EVENT SEQUENCE', 'TURB3SEQ': 'TURBULENCE SEQUENCE # 3', 'QQM': 'SPECIFIC HUMIDITY (QUALITY) MARKER', 'E1': 'ERS ERROR ESTIMATE NUMBER 1', 'SPSSMI': 'SSM/I RETRIEVAL PRODUCTS (REPROCESSED WIND SPEED, TPW)', 'PQM': 'PRESSURE (QUALITY) MARKER', 'CLOUDSEQ': 'OBSERVED CLOUD SEQUENCE # 1', 'SNOW_SEQ': 'SNOW DEPTH SEQUENCE', 'ZQM': 'HEIGHT (QUALITY) MARKER', 'CTCN': 'CROSS TRACK CELL NUMBER (QUIKSCAT & ASCAT REPORTS ONLY)', 'ACID_SEQ': 'AIRCRAFT FLIGHT NUMBER SEQUENCE', 'TFC__MSQ': 'MODEL TEMPERATURE FORECAST SEQUENCE', 'QFC__MSQ': 'MODEL SPECIFIC HUMIDITY FORECAST SEQUENCE', 'PCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL PRESSURE VALUE', 'SID': 'STATION IDENTIFICATION', 'TSB': 'REPORT SUBTYPE (HAS VARIOUS MEANINGS DEPENDING ON TYPE)', 'UOB': 'U-COMPONENT WIND OBSERVATION (M/S)', 'PCL': 'CLIMATOLOGICAL PRESSURE VALUE', 'VADWND': 'VAD (NEXRAD) WIND REPORTS', 'TOPC': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT', 'SST_INFO': 'SEA TEMPERATURE INFORMATION', 'PREVENT': 'PRE-EVENTS BACKGROUND/OBSERVATION ERROR PROCESSING STEP', 'GUST1SEQ': 'MAXIMUM WIND GUST SEQUENCE # 1', 'RF10M': '10 METER WIND REDUCTION FACTOR', 'PAN': 'ANALYZED PRESSURE VALUE', 'ELEV': 'SATELLITE ELEVATION (ZENITH ANGLE)', 'TMXMNSEQ': 'MAXIMUM/MINIMUM TEMPERATURE SEQUENCE', 'CTPQM': 'CLOUD TOP PRESSURE (QUALITY) MARKER', 'MSTQ': 'MOISTURE QUALITY', 'PCLIMATO': 'PRESSURE CLIMATOLOGY SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER (SATELLITE REPORTS ONLY)', 'MWD10': 'MODEL WIND DIRECTION AT 10 M', 'CQCVAD': 'VAD WIND QUALITY CONTROL STEP', 'PW1F_MSQ': 'MODEL 1.0 TO 0.9 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'SOEL': 'SOLAR ELEVATION (ZENITH ANGLE)', 'ALTIMSEQ': 'ALTIMETER SETTING SEQUENCE', 'SSTRC': 'SEA TEMPERATURE EVENT REASON CODE', 'S3': 'ERS BACKSCATTER NUMBER 3', 'S2': 'ERS BACKSCATTER NUMBER 2', 'S1': 'ERS BACKSCATTER NUMBER 1', 'IALR': 'INSTANTANEOUS ALTITUDE RATE', 'RADCOR': 'RAWINSONDE HEIGHT/TEMP INTERSONDE(RADIATION) CORR. STEP', 'ACID': 'AIRCRAFT FLIGHT NUMBER', 'RRTBACKG': 'RAIN RATE BACKGROUND SEQUENCE', 'ERS1DA': 'ERS SCATTEROMETER DATA (REPROCESSED WIND SPEED)', 'CLAM': 'CLOUD AMOUNT', 'POWV': 'PERIOD OF WAVES', 'POWW': 'PERIOD OF WIND WAVES', 'RCT': 'RECEIPT TIME', 'BTMPINFO': 'TOVS OR GOES BRIGHTNESS TEMPERATURE INFORMATION', 'DFQ': 'WIND DIRECTION/SPEED (DDO/FFO) (QUALITY) MARKER', 'DFP': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT PROGRAM CODE', 'DFR': 'WIND DIRECTION/SPEED (DDO/FFO) EVENT REASON CODE', 'HOSW': 'HEIGHT OF SWELL WAVES', 'SYNDAT': 'SYNTHETIC TROPICAL CYCLONE BOGUS REPORTS', 'PW4FMOD': 'MODEL .3-0. SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW4F)', 'DGOT': 'DEGREE OF TURBULENCE', 'PW1FMOD': 'MODEL 1.-.9 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW1F)', 'UFCMOD': 'MODEL U-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE UFC)', 'MRWVC': 'MWR WATER VAPOR CONTENT (TOTAL WATER VAPOR)', 'TRBX32': 'TURBULENCE INDEX FOR PERIOD (TOB-3 MIN) -> (TOB-2 MIN)', 'WQM': 'U-, V-COMPONENT WIND (UOB/VOB) (QUALITY) MARKER', 'PW4F_MSQ': 'MODEL 0.3 TO 0.0 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'PW2F': 'FCST(BACKGRND) 0.9 TO 0.7 SIGMA LYR PRECIP. WATER VALUE', 'GPSIPW': 'GLOBAL POSITIONING SATELLITE-INTEGRATED PRECIP. WATER', 'QOETU': 'ANALYSIS-TUNED RELATIVE HUMIDITY OBSERVATION ERROR', 'CAT': 'PREPBUFR DATA LEVEL CATEGORY', 'MITM': 'MINIMUM TEMPERATURE', 'ACARSQC': 'MDCRS ACARS AIRCRAFT QUALITY CONTROL STEP', 'TOB': 'TEMPERATURE OBSERVATION (DEGREES C)', 'TOE': 'TEMPERATURE OBSERVATION ERROR (DEGREES C)', 'RRTPC': 'RAINFALL (AVERAGE RATE) EVENT PROGRAM CODE', 'BSCD': 'BACKSCATTER DISTANCE (ASCAT REPORTS ONLY)', 'PW1O': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'PW1A': 'ANALYZED 1.0 TO 0.9 SIGMA LAYER PRECIP. WATER VALUE', 'PFCMOD': 'MODEL PRESSURE FORECAST VALUE (GLOBAL MODEL SEE PFC)', 'PW1F': 'FCST(BACKGRND) 1.0 TO 0.9 SIGMA LYR PRECIP. WATER VALUE', 'HOCT_SEQ': 'HEIGHT OF TOP OF CLOUD SEQUENCE', 'SOB': 'WIND SPEED OBSERVATION', 'XOB': 'LONGITUDE (DEG E)', 'PW1P': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW1Q': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW1R': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PWETU': 'ANALYSIS-TUNED TOTAL PRECIPITABLE WATER OBS ERROR', 'TP12_SEQ': 'TOTAL PRECIPITATION PAST 12 HOURS SEQUENCE', 'PKWDDR': 'PEAK WIND DIRECTION', 'CHPT': 'CHARACTERISTIC OF PRESSURE TENDENCY', 'TFC': 'FORECAST (BACKGROUND) TEMPERATURE VALUE', 'TURB1SEQ': 'TURBULENCE SEQUENCE # 1', 'PW2_INFO': '0.9 TO 0.7 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'EXPRSRD': 'EXPIRATION OF RESTRICTIONS ON REDISTRIBUTION', 'VFC': 'FORECAST (BACKGROUND) V-COMPONENT WIND VALUE', 'CTPOE': 'CLOUD TOP PRESSURE OBSERVATION ERROR', 'PW1POSTP': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'WOETU': 'ANALYSIS-TUNED WIND OBSERVATION ERROR', 'PRC': 'PRESSURE EVENT REASON CODE', 'QPC': 'SPECIFIC HUMIDITY EVENT PROGRAM CODE', 'P__POSTP': 'PRESSURE POSTPROCESSING SEQUENCE', 'ADPSFC': 'SURFACE LAND (SYNOPTIC, METAR) REPORTS', 'ZFC__MSQ': 'MODEL HEIGHT FORECAST SEQUENCE', 'CTPFC': 'FORECAST (BACKGROUND) CLOUD TOP PRESSURE VALUE', 'TPC': 'TEMPERATURE EVENT PROGRAM CODE', 'RFFL': 'PERCENT CONFIDENCE BASED ON NESDIS RECURSIVE FILTER FCN', 'PSW2': 'PAST WEATHER (2)', 'PSW1': 'PAST WEATHER (1)', 'NRLACQC': 'NRL AIRCRAFT QUALITY CONTROL STEP', 'CTPEVENT': 'CLOUD TOP PRESSURE EVENT SEQUENCE', 'PW2POSTP': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'PW1EVENT': '1.0 TO 0.9 PRECIPITABLE WATER EVENT SEQUENCE', 'VISB2SEQ': 'VISIBILITY SEQUENCE # 2', 'HOVI': 'HORIZONTAL VISIBILITY (M)', 'POAF': 'PHASE OF AIRCRAFT FLIGHT', 'GUST2SEQ': 'MAXIMUM WIND GUST SEQUENCE # 2', 'TYP': 'PREPBUFR REPORT TYPE', 'PW4F': 'FCST(BACKGRND) 0.3 TO 0.0 SIGMA LYR PRECIP. WATER VALUE', 'PW4E': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'HEADR': 'REPORT HEADER SEQUENCE', 'PW4A': 'ANALYZED 0.3 TO 0.0 SIGMA LAYER PRECIP. WATER VALUE', 'PW4O': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'CTPPC': 'CLOUD TOP PRESSURE EVENT PROGRAM CODE', 'PW4R': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW4Q': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW4P': '0.3 TO 0.0 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'FFO': 'WIND SPEED OBSERVATION (NOT ASSIMILATED)', 'ASMP': 'AVG SPD OF SHIP DURING PAST 3 HOURS', 'CHSQ': 'CHI-SQUARED (OF THE WIND VECTOR RETRIEVAL)', 'QOE': 'RELATIVE HUMIDITY OBSERVATION ERROR (PERCENT DIVIDED BY 10)', 'SFCBOG': 'MEAN SEA-LEVEL PRESSURE BOGUS REPORTS', 'QOB': 'SPECIFIC HUMIDITY OBSERVATION (MG/KG)', 'PW3POSTP': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'E3': 'ERS ERROR ESTIMATE NUMBER 3', 'E2': 'ERS ERROR ESTIMATE NUMBER 2', 'PKWDSP': 'PEAK WIND SPEED', 'ESBAK': 'FORECAST(BACKGROUND) SATURATION SPECIFIC HUMIDITY VALUE', 'SATWND': 'SATELLITE-DERIVED WIND REPORTS', 'PW1E': '1.0 TO 0.9 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'TOETU': 'ANALYSIS-TUNED TEMPERATURE OBSERVATION ERROR', 'PHER': 'EST. ERROR COVARIANCE FOR WIND DIRECTION RETRIEVAL', 'WCLIMATO': 'WIND CLIMATOLOGY SEQUENCE', 'WOE': 'WIND OBSERVATION ERROR (M/S)', 'POSW': 'PERIOD OF SWELL WAVES', 'SCATINFO': 'SCATTEROMETER DATA INFORMATION', 'CLDE': 'EST. ERROR COVARIANCE FOR TOTAL CLD LIQUID WATER RETR.', 'RRTPOSTP': 'RAIN RATE POSTPROCESSING SEQUENCE', 'SSI': 'SSI GLOBAL ANALYSIS STEP', 'ZRC': 'HEIGHT EVENT REASON CODE', 'PW2FMOD': 'MODEL .9-.7 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW2F)', 'Z___INFO': 'HEIGHT INFORMATION', 'RASSDA': 'RADIO ACOUSTIC SOUNDING SYSTEM (RASS) TEMP PROFILE RPTS', 'PTE24SEQ': '24 HOUR PRESSURE TENDENCY SEQUENCE', 'RRTFC': 'FORECAST (BACKGROUND) RAINFALL (AVERAGE RATE) VALUE', 'HRDR': 'PROFILE LVL TIME-CYCLE (FOR RAOB/PIBAL, BASED ON B DFT, HOURS)', 'ACFT_SEQ': 'AIRCRAFT SUPPLEMENTARY DATA SEQUENCE', 'POETU': 'ANALYSIS-TUNED PRESSURE OBSERVATION ERROR', 'P__BACKG': 'PRESSURE BACKGROUND SEQUENCE', 'NUL': 'NULL (IGNORE)', 'RRTOE': 'RAINFALL (AVERAGE RATE) OBSERVATION ERROR', 'TDMP': 'TRUE DIRECTION OF SHIP DURING PAST 3 HOURS', 'WPC': 'U-, V-COMPONENT WIND (UOB/VOB) EVENT PROGRAM CODE', 'TOSS': 'TOTAL SUNSHINE', 'CDTP': 'CLOUD TOP PRESSURE OBSERVATION', 'W__EVENT': 'WIND EVENT SEQUENCE', 'CLIMO': 'CLIMOTOLOGICAL PROCESSING STEP', 'XS20': '20 METER EXTRAPOLATED WIND SPEED', 'TOSD': 'TOTAL SNOW DEPTH', 'QFC': 'FORECAST (BACKGROUND) SPECIFIC HUMIDITY VALUE', 'PREPRO': 'INITIAL PREPBUFR PROCESSING STEP', 'SYNDATA': 'SYNTHETIC TROPICAL CYCLONE BOGUS PROCESSING STEP', 'PKWNDSEQ': 'PEAK WIND SEQUENCE', 'ITP': 'INSTRUMENT TYPE', 'Q__POSTP': 'SPECIFIC HUMIDITY POSTPROCESSING SEQUENCE', 'PWTVWTA': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON ANAL', 'TCLIMATO': 'TEMPERATURE CLIMATOLOGY SEQUENCE', 'PWTVWTG': 'ANAL VARIAT. QC WGHT ON TOT PREC. WTR OBS BASED ON GESS', 'RPT': 'REPORTED OBSERVATION TIME', 'TP01': 'TOTAL PRECIPITATION PAST 1 HOUR', 'TP03': 'TOTAL PRECIPITATION PAST 3 HOURS', 'VTVI_SEQ': 'VERTICAL VISIBILITY SEQUENCE', 'TP06': 'TOTAL PRECIPITATION PAST 6 HOURS', 'POE': 'PRESSURE OBSERVATION ERROR (MB)', 'POB': 'PRESSURE OBSERVATION (MB)', 'PW2BACKG': '0.9 TO 0.7 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'TURB2SEQ': 'TURBULENCE SEQUENCE # 2', 'PW__INFO': 'PRECIPITABLE WATER INFORMATION', 'PWA': 'ANALYZED TOTAL PRECIPITABLE WATER VALUE', 'VCL': 'CLIMATOLOGICAL V-COMPONENT WIND VALUE', 'VCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL V-COMP WIND VALUE', 'SSTQM': 'SEA TEMPERATURE (QUALITY) MARKER', 'DHR': 'OBSERVATION TIME MINUS CYCLE TIME (HOURS)', 'VIRTMP': 'VIRTUAL TEMPERATURE/SPECIFIC HUMIDITY PROCESSING STEP', '24PC': '24 HOUR PRESSURE CHANGE', 'PVWTG': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON GUESS', 'PVWTA': 'ANAL VARIATIONAL QC WEIGHT ON PRESS. OBS BASED ON ANAL', 'ROLF': 'AIRCRAFT ROLL ANGLE FLAG', 'TQM': 'TEMPERATURE (QUALITY) MARKER', 'AIRCFT': 'AIREP, PIREP, AMDAR, TAMDAR AIRCRAFT REPORTS', 'HBOI': 'HEIGHT OF BASE OF ICING', 'PRSLEVEL': 'PRESSURE LEVEL SEQUENCE (ALL TYPES EXCEPT GOESND)', 'LATCORSQ': 'LATITUDE CORRECTION SEQUENCE', 'HBOT': 'HEIGHT OF BASE OF TURBULENCE', 'ZFC': 'FORECAST (BACKGROUND) HEIGHT VALUE', 'QAN': 'ANALYZED SPECIFIC HUMIDITY VALUE', 'Q___INFO': 'SPECIFIC HUMIDITY INFORMATION', 'QIFY': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/ FCST', 'P___INFO': 'PRESSURE INFORMATION', 'SSTFC': 'FORECAST (BACKGROUND) SEA TEMPERATURE VALUE', 'QIFN': 'PERCENT CONFIDENCE BASED ON EUMETSAT QUAL INDX W/O FCST', 'TPRECSEQ': 'TOTAL PRECIPITATION SEQUENCE', 'Z__POSTP': 'HEIGHT POSTPROCESSING SEQUENCE', 'QRC': 'SPECIFIC HUMIDITY EVENT REASON CODE', 'PTENDSEQ': 'PRESSURE TENDENCY SEQUENCE', 'XWSPDSEQ': 'EXTRAPOLATED WIND SPEED SEQUENCE', 'ZAN': 'ANALYZED HEIGHT VALUE', 'RRTQM': 'RAINFALL (AVERAGE RATE) (QUALITY) MARKER', 'PROFLR': 'WIND PROFILER REPORTS', 'PWTPOSTP': 'TOTAL PRECIPITABLE WATER POSTPROCESSING SEQUENCE', 'CHNM': 'CHANNEL NUMBER', 'CTP_INFO': 'CLOUD TOP INFORMATION', 'SSTAN': 'ANALYZED SEA TEMPERATURE VALUE', 'PW3BACKG': '0.7 TO 0.3 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'SUNSHSEQ': 'TOTAL SUNSHINE SEQUENCE', 'PRWE': 'PRESENT WEATHER', 'XS10': '10 METER EXTRAPOLATED WIND SPEED', 'NRLQMS': 'NRL AIRCRAFT QUALITY CNTRL MARK (ADDED BY PGM NRLACQC)', 'PWF__MSQ': 'MODEL TOTAL PRECIPITABLE WATER FORECAST SEQUENCE', 'Q__EVENT': 'SPECIFIC HUMIDITY EVENT SEQUENCE', 'TCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL TEMPERATURE VALUE', 'TCL': 'CLIMATOLOGICAL TEMPERATURE VALUE', 'W__BACKG': 'WIND BACKGROUND SEQUENCE', 'XDR': 'PROFILE LEVEL LON (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG E)', 'DOFS': 'DEPTH OF FRESH SNOW', 'PFC__MSQ': 'MODEL PRESSURE FORECAST SEQUENCE', 'SIRC': 'RAWINSONDE SOLAR & INFRARED RADIATION CORR. INDICATOR', 'ZOB': 'HEIGHT OBSERVATION (M)', 'ZOE': 'HEIGHT OBSERVATION ERROR (M)', 'RSRD_SEQ': 'RESTRICTIONS ON REDISTRIBUTION SEQUENCE', 'SATEMP': 'TOVS SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'SSTOE': 'SEA TEMPERATURE OBSERVATION ERROR', 'DDO': 'WIND DIRECTION OBSERVATION (NOT ASSIMILATED)', 'SSTPOSTP': 'SEA TEMPERATURE POSTPROCESSING SEQUENCE', 'AFIC_SEQ': 'AIRCRAFT ICING SEQUENCE', 'PCCF_SEQ': 'SATELLITE WIND PERCENT CONFIDENCE SEQUENCE', 'CTPPOSTP': 'CLOUD TOP PRESSURE POSTPROCESSING SEQUENCE', 'WSPD1': 'SURFACE WIND SPEED', 'TRBX10': 'TURBULENCE INDEX FOR PERIOD (TOB-1 MIN) -> TOB', 'SPRR': 'SEAWINDS PROBABILITY OF RAIN (QUIKSCAT REPORTS ONLY)', 'LKCS': 'LIKELIHOOD COMPUTED FOR SOLUTION (ASCAT REPORTS ONLY)', 'PRSLEVLG': 'GOESND PRESSURE LEVEL SEQUENCE', 'OZON': 'OZONE', 'CTPAN': 'ANALYZED CLOUD TOP PRESSURE VALUE', 'R3DVAR': '3DVAR REGIONAL ANALYSIS STEP', 'Z__EVENT': 'HEIGHT EVENT SEQUENCE', 'PWFMOD': 'MODEL TOTAL PWATER FORECAST VALUE(GLOBAL MODEL SEE PWC)', 'ASCATW': 'ASCAT SCATTEROMETER DATA (REPROCESSED)', 'MRLWC': 'MWR LIQUID WATER CONTENT (TOTAL CLOUD LIQUID WATER)', 'VISB1SEQ': 'VISIBILITY SEQUENCE # 1', 'PW4_INFO': '0.3 TO 0.0 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'TMBR': 'BRIGHTNESS TEMPERATURE (KELVIN)', 'MXGD': 'MAXIMUM WIND GUST DIRECTION', 'EEQF': 'PERCENT CONFIDENCE BASED ON NESDIS EXPECTED ERROR', 'TVO': 'NON-Q. CONTROLLED VIRTUAL TEMP OBS (NOT ASSIMILATED)', 'MXGS': 'MAXIMUM WIND SPEED (GUSTS, M/S)', 'P__EVENT': 'PRESSURE EVENT SEQUENCE', 'WDSATR': 'WINDSAT SCATTEROMETER DATA (REPROCESSED)', 'REQV': 'RAINFALL (AVERAGE RATE) OBSERVATION', 'QFCMOD': 'MODEL S. HUMIDITY FORECAST VALUE (GLOBAL MODEL SEE QFC)', 'ATRN': 'ALONG TRACK ROW NUMBER (QUIKSCAT REPORTS ONLY)', 'WDIR1': 'SURFACE WIND DIRECTION', 'LONCORSQ': 'LONGITUDE CORRECTION SEQUENCE', 'XORG': 'REPORTED (ORIGINAL) LONGITUDE', 'RRTEVENT': 'RATE RATE EVENT SEQUENCE', 'YORG': 'REPORTED (ORIGINAL) LATITUDE', 'MWS10': 'MODEL WIND SPEED AT 10 M', 'TDO': 'DEWPOINT TEMPERATURE OBSERVATION (NOT ASSIMILATED, DEGREES C)', 'YDR': 'PROFILE LEVEL LAT (FOR RAOB/PIBAL BASED ON BALLOON DFT, DEG N)', 'UFC': 'FORECAST (BACKGROUND) U-COMPONENT WIND VALUE', 'W__POSTP': 'WIND POSTPROCESSING SEQUENCE', 'SWINDSEQ': 'SURFACE WIND SEQUENCE', 'PRSS': 'SURFACE PRESSURE OBSERVATION (PASCALS)', 'SSTPC': 'SEA TEMPERATURE EVENT PROGRAM CODE', 'WSPD_SEQ': 'WIND SPEED SEQUENCE', 'VFCMOD': 'MODEL V-COMPONENT FORECAST VALUE (GLOBAL MODEL SEE VFC)', 'AFIC': 'AIRFRAME ICING', 'WSEQC1': 'WINDSAT EDR QC FLAG #1', 'DOSW': 'DIRECTION OF SWELL WAVES', 'PPC': 'PRESSURE EVENT PROGRAM CODE', 'PWTBACKG': 'TOTAL PRECIPITABLE WATER BACKGROUND SEQUENCE', 'VPRE': 'EST. ERROR COVARIANCE FOR TOTAL WATER VAPOR RETRIEVAL', 'PWL_INFO': 'LAYER PRECIPITABLE WATER INFORMATION', 'TVWTA': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON ANAL', 'PRSLEVLA': 'AIRCRAFT (AIRCFT/AIRCAR) PRESSURE LEVEL SEQUENCE', 'HTOI': 'HEIGHT OF TOP OF ICING', 'YOB': 'LATITUDE (DEG N)', 'TVWTG': 'ANAL VARIATIONAL QC WEIGHT ON TEMP. OBS BASED ON GUESS', 'HTOT': 'HEIGHT OF TOP OF TURBULENCE', 'SSTBACKG': 'SEA TEMPERATURE BACKGROUND SEQUENCE', 'UCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL U-COMP WIND VALUE', 'PWR': 'TOTAL PRECIPITABLE WATER EVENT REASON CODE', 'PWP': 'TOTAL PRECIPITABLE WATER EVENT PROGRAM CODE', 'PWQ': 'TOTAL PRECIPITABLE WATER (QUALITY) MARKER', 'TP12': 'TOTAL PRECIPITATION PAST 12 HOURS', '3HPC': '3 HOUR PRESSURE CHANGE', 'PWF': 'FORECAST (BACKGROUND) TOTAL PRECIPITABLE WATER VALUE', 'PWE': 'TOTAL PRECIPITABLE WATER OBSERVATION ERROR (MM)', 'QKSWND': 'QUIKSCAT SCATTEROMETER DATA (REPROCESSED)', 'TRBX43': 'TURBULENCE INDEX FOR PERIOD (TOB-4 MIN) -> (TOB-3 MIN)', 'PWO': 'TOTAL PRECIPITABLE WATER OBSERVATION (MM)', 'TRBX': 'TURBULENCE INDEX', 'PW3FMOD': 'MODEL .7-.3 SIG. LYR PWATER FCST(GLOBAL MODEL SEE PW3F)', 'GSI': 'GSI ANALYSIS STEP', 'A1': 'ERS INCIDENT ANGLE NUMBER 1', 'RRTRC': 'RAINFALL (AVERAGE RATE) EVENT REASON CODE', 'QVWTA': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON ANAL', 'TFCMOD': 'MODEL TEMPERATURE FORECAST VALUE (GLOBAL MODEL SEE TFC)', 'QVWTG': 'ANAL VARIATIONAL QC WEIGHT ON MOIST. OBS BASED ON GUESS', 'SPDE': 'EST. ERROR COVARIANCE FOR WIND SPEED RETRIEVAL', 'CTPBACKG': 'CLOUD TOP PRESSURE BACKGROUND SEQUENCE', 'GCDTT': 'GOES CLOUD TOP TEMPERATURE OBSERVATION', 'PW3R': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT REASON CODE', 'PW3P': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER EVENT PROGRAM CODE', 'PW3Q': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER (QUALITY) MARKER', 'PW3F': 'FCST(BACKGRND) 0.7 TO 0.3 SIGMA LYR PRECIP. WATER VALUE', 'PW3E': '0.7 TO 0.3 SIGMA LAYER PRECIP. WATER OBSERVATION ERROR', 'PW3A': 'ANALYZED 0.7 TO 0.3 SIGMA LAYER PRECIP. WATER VALUE', 'PW3O': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER OBSERVATION', 'ZPC': 'HEIGHT EVENT PROGRAM CODE', 'UCL': 'CLIMATOLOGICAL U-COMPONENT WIND VALUE', 'PW1BACKG': '1.0 TO 0.9 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SQN': 'REPORT SEQUENCE NUMBER', 'B2': 'ERS AZIMUTH ANGLE NUMBER 2', 'B3': 'ERS AZIMUTH ANGLE NUMBER 3', 'PWT_INFO': 'TOTAL PRECIPITABLE WATER INFORMATION', 'PW4BACKG': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER BACKGROUND SEQUENCE', 'SWELLSEQ': 'SWELL WAVE SEQUENCE', 'CLTP': 'CLOUD TYPE', 'GOESND': 'GOES SATELLITE DATA (SOUNDINGS, RETRIEVALS, RADIANCES)', 'WAVE_SEQ': 'WAVE SEQUENCE', 'PW1_INFO': '1.0 TO 0.9 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'PW3_INFO': '0.7 TO 0.3 SIGMA LAYER PRECIPITABLE WATER INFORMATION', 'WSST': 'WINDSAT SURFACE TYPE', 'CQCPROF': 'WIND PROFILER QUALITY CONTROL STEP', 'BTMPLEVL': "BRIGHTNESS TEMPERATURE'LEVEL' SEQUENCE", 'W___INFO': 'WIND INFORMATION', 'VTVI': 'VERTICAL VISIBILITY', 'MXTM': 'MAXIMUM TEMPERATURE', 'SPRVSTG': 'MESONET SUBPROVIDER ID STRING', 'B1': 'ERS AZIMUTH ANGLE NUMBER 1', 'TCOR': "INDICATOR WHETHER OBS. TIME IN'DHR' WAS CORRECTED", 'PSTWXSEQ': 'PAST WEATHER SEQUENCE', 'AIRCAR': 'MDCRS ACARS AIRCRAFT REPORTS', 'TRC': 'TEMPERATURE EVENT REASON CODE', 'TOPC_SEQ': 'TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT SEQUENCE', 'T__BACKG': 'TEMPERATURE BACKGROUND SEQUENCE', 'T29': 'DATA DUMP REPORT TYPE', 'T___INFO': 'TEMPERATURE INFORMATION', 'PW3F_MSQ': 'MODEL 0.7 TO 0.3 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'VOB': 'V-COMPONENT WIND OBSERVATION (M/S)', 'QCLIMATO': 'SPECIFIC HUMIDITY CLIMATOLOGY SEQUENCE', 'OIQC': 'OI-QUALITY MULTI-PLATFROM CONTROL STEP', 'PMSL_SEQ': 'MEAN SEA LEVEL PRESSURE SEQUENCE', 'WVCQ': 'WIND VECTOR CELL QUALITY (ASCAT REPORTS ONLY)', 'DEFAULT': 'NON-DEFINED STEP (DEFAULT)', 'TOCC': 'CLOUD COVER (TOTAL)', 'SST1': 'SEA TEMPERATURE', 'ACAV': 'TOTAL NUMBER WITH RESPECT TO ACCUMULATION OR AVERAGE', 'CTPRC': 'CLOUD TOP PRESSURE EVENT REASON CODE', 'PRVSTG': 'MESONET PROVIDER ID STRING', 'TRBX21': 'TURBULENCE INDEX FOR PERIOD (TOB-2 MIN) -> (TOB-1 MIN)', 'PMQ': 'MEAN SEA-LVL PRESSURE (QUALITY) MARKER', 'DBSS_SEQ': 'DEPTH BELOW SEA SURFACE SEQUENCE', 'MSONET': 'MESONET SURFACE REPORTS (COOPERATIVE NETWORKS)', 'PMO': 'MEAN SEA-LEVEL PRESSURE OBSERVATION (MB)', 'PWTEVENT': 'TOTAL PRECIPITABLE WATER EVENT SEQUENCE', 'PW4POSTP': '0.3 TO 0.0 SIGMA LAYER PRECIP WATER POSTPROCESSING SEQ.', 'TMSK': 'SKIN TEMPERATURE', 'CLOU2SEQ': 'OBSERVED CLOUD SEQUENCE # 2', 'PW2F_MSQ': 'MODEL 0.9 TO 0.7 SIGMA LAYER PRECIP WATER FORECAST SEQ.', 'WVWTG': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON GUESS', 'ELV': 'STATION ELEVATION (M)', 'WVWTA': 'ANAL VARIATIONAL QC WEIGHT ON WIND OBS BASED ON ANAL', 'ZFCMOD': 'MODEL HEIGHT FORECAST VALUE (GLOBAL MODEL SEE ZFC)', 'RSRD': 'RESTRICTIONS ON REDISTRIBUTION', 'PREPACQC': 'AIRCRAFT QUALITY CONTROL STEP (NOT INCL. MDCRS ACARS)', 'SSTE': 'EST. ERROR COVARIANCE FOR SEA SURFACE TEMP RETRIEVAL', 'QCS': 'STANDARD DEV OF CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'ZCLIMATO': 'HEIGHT CLIMATOLOGY SEQUENCE', 'PCAT': 'PRECISION OF TEMPERATURE OBSERVATION', 'QCL': 'CLIMATOLOGICAL SPECIFIC HUMIDITY VALUE', 'PW4EVENT': '0.3 TO 0.0 PRECIPITABLE WATER EVENT SEQUENCE', 'HOWV': 'HEIGHT OF WAVES', 'HOWW': 'HEIGHT OF WIND WAVES', 'CQCHT': 'RAWINSONDE HEIGHT/TEMP COMPLEX QUALITY CONTROL STEP', 'RRTAN': 'ANALYZED RAINFALL (AVERAGE RATE) VALUE', 'A3': 'ERS INCIDENT ANGLE NUMBER 3', 'A2': 'ERS INCIDENT ANGLE NUMBER 2', 'ALSE': 'ALTIMETER SETTING OBSERVATION', 'HOCB': 'HEIGHT OF BASE OF CLOUD', 'SSTEVENT': 'SEA TEMPERATURE EVENT SEQUENCE', 'SQM': 'WIND SPEED (SOB) (QUALITY) MARKER', 'Q__BACKG': 'SPECIFIC HUMIDITY BACKGROUND SEQUENCE', 'PROCN': 'PROCESS NUMBER FOR THIS MPI RUN (OBTAINED FROM SCRIPT)', 'HBLCS': 'HEIGHT ABOVE SURFACE OF BASE OF LOWEST CLOUD SEEN', 'RRT_INFO': 'RAIN RATE INFORMATION', 'PW2EVENT': '0.9 TO 0.7 PRECIPITABLE WATER EVENT SEQUENCE', 'Z__BACKG': 'HEIGHT BACKGROUND SEQUENCE', 'PFC': 'FORECAST (BACKGROUND) PRESSURE VALUE', 'ZCL': 'CLIMATOLOGICAL HEIGHT VALUE', 'SHIP_SEQ': 'SHIP DIRECTION/SPEED SEQUENCE', 'VSSO': 'VERT. SIGNIFICANCE (SFC OBSERVATION)', 'DRFTINFO': 'PROFILE LEVEL TIME/LOCATION INFORMATION', 'ZCS': 'STANDARD DEVIATION OF CLIMATOLOGICAL HEIGHT VALUE', 'DBSS': 'DEPTH BELOW SEA SURFACE'}"}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"fullname": "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict", "modulename": "ncepbufr.bufr_mnemonics", "qualname": "amsu_mnemonics_dict", "kind": "variable", "doc": "

                                                              dictionary mapping amsu mnemonics to human readable descriptions

                                                              \n", "default_value": "{'NC021021': 'MTYP 021-021 PROCESSED HIRS-2 1B Tb DATA (NOAA-14)', 'NC021022': 'MTYP 021-022 PROCESSED MSU 1B Tb DATA (NOAA-14)', 'NC021023': 'MTYP 021-023 PROC AMSU-A 1B Tb DATA(NOAA-15-19,METOP-2)', 'NC021024': 'MTYP 021-024 PROCESSED AMSU-B 1B Tb DATA (NOAA-15-17)', 'NC021025': 'MTYP 021-025 PROCESSED HIRS-3 1B Tb DATA (NOAA-15-17)', 'NC021027': 'MTYP 021-027 PROCESSED MHS Tb DATA (NOAA-18-19,METOP-2)', 'NC021028': 'MTYP 021-028 PROC HIRS-4 1B Tb DATA(NOAA-18-19,METOP-2)', 'NC021033': 'MTYP 021-033 RARS(EARS,AP,SA) AMSU-A 1C Tb DATA(N15-19)', 'NC021034': 'MTYP 021-034 RARS(EARS,AP,SA) AMSU-B 1C Tb DATA(N15-17)', 'NC021035': 'MTYP 021-035 RARS(EARS,AP,SA) HIRS 1C Tb DATA(N15-19)', 'NC021036': 'MTYP 021-036 RARS(EARS,AP,SA) MHS 1C Tb DATA (N18-19)', 'NC021041': 'MTYP 021-041 PROCESSED GOES IMAGER Tb DATA', 'NC021042': 'MTYP 021-042 PROC. MSG SEVIRI ALL SKY RADIANCES (ASR)', 'NC021043': 'MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)', 'NC021051': 'MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,M-2)', 'NC021052': 'MTYP 021-052 PROC AVHRR(GAC) 1B Tb-CLD OR LND(N-17,M-2)', 'NC021053': 'MTYP 021-053 PROC AVHRR(GAC) 1B Tb-CLR & SEA (NOAA-18)', 'NC021054': 'MTYP 021-054 PROC AVHRR(GAC) 1B Tb-CLD OR LND(NOAA-18)', 'NC021123': 'MTYP 021-123 PROC AMSU-A 1B Ta DATA(NOAA-15-18,METOP-2)', 'NC021201': 'MTYP 021-201 DMSP SSM/IS Tb DATA(UNIFIED PRE-PROCESSOR)', 'NC021202': 'MTYP 021-202 NPP CrIS RADIANCE DATA', 'NC021203': 'MTYP 021-203 NPP ATMS RADIANCE DATA', 'NC021241': 'MTYP 021-241 IASI 1C RADIANCE DATA(VARBL CHNS)(METOP-2)', 'NC021249': 'MTYP 021-249 EVERY FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021250': 'MTYP 021-250 CENTER FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'NC021251': 'MTYP 021-251 ATOVS AMSU-A RADIANCE DATA', 'NC021252': 'MTYP 021-252 ATOVS AMSU-B RADIANCE DATA', 'NC021253': 'MTYP 021-253 AIRS PRINCIPAL COMPONENTS', 'NC021254': 'MTYP 021-254 AMSR-E CHANNEL DATA', 'NC021255': 'MTYP 021-255 WARMEST FOV AIRS/AMSU-A/HSB 1B DATA (AQUA)', 'YYMMDD': 'DATE -- YEAR, MONTH, DAY', 'HHMM': 'TIME -- HOUR, MINUTE', 'HHMMSS': 'TIME -- HOUR, MINUTE, SECOND', 'LTLONH': 'HIGH ACCURACY LATITUDE/LONGITUDE POSITION', 'SIDGRSEQ': 'SATELLITE IDENTIFIER/GENERATING RESOLUTION', 'SIDENSEQ': 'SATELLITE IDENTIFICATION', 'LOCPLAT': 'LOCATION OF PLATFORM (SATELLITE) SEQUENCE', 'ALLSKYRD': 'ALL SKY RADIANCE DATA', 'CLOUDCOV': 'CLOUD COVERAGE', 'ATOVAMUA': 'ATOVS AMSU-A REPORT', 'ATOVAMUB': 'ATOVS AMSU-B REPORT', 'ATFOV': 'ATOVS FIELD OF VIEW VARIABLES', 'ATCHV': 'ATOVS CHANNEL VARIABLES', 'SSMISTEM': 'SSM/IS TEMPERATURE DATA RECORD', 'ALLSKYRP': 'ALL SKY RADIANCE PRODUCT MAIN SEQUENCE', 'SCO1C3IN': 'SATELLITE COLOCATED 1C REPORTS WITH 3 INSTRUMENTS', 'SPITSEQN': 'SATELLITE POSITION AND INSTRUMENT TEMPERATURES', 'SITPSEQN': 'SATELLITE INSTRUMENT TYPE AND POSITION', 'SCBTSEQN': 'SAT CHANNELS AND BRIGHT TEMPS WITH EXPANDED CHANNEL SET', 'SVCASEQN': 'SAT VISB CHANNELS AND ALBEDOS WITH EXPANDED CHANNEL SET', 'SATRCPRC': 'SATELLITE RADIANCE/CHANNEL PRINCIPAL COMPONENTS', 'IASIL1CB': 'IASI LEVEL 1C BAND DESCRIPTION SEQUENCE', 'IASIL1CS': 'IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE', 'BCFQFSQ': 'NPP CrIS BAND CALIBRATION & F-O-V QUALITY FLAG SEQUENCE', 'CRCHN': 'NPP CrIS CHANNEL DATA', 'AMSUSPOT': 'AMSU-A SPOT SEQUENCE (AQUA SATELLITE)', 'AMSUCHAN': 'AMSU-A CHANNEL SEQUENCE (AQUA SATELLITE)', 'HSBSPOT': 'HSB (HUMIDITY) SPOT SEQUENCE (AQUA SATELLITE)', 'HSBCHAN': 'HSB (HUMIDITY) CHANNEL SEQUENCE (AQUA SATELLITE)', 'ATMSCH': 'NPP ATMS CHANNEL DATA', 'INTMS': 'SATELLITE INSTRUMENT TEMPERATURES', 'AIRSPC': 'AIRS PRINCIPAL COMPONENT SEQUENCE', 'AIRSCORE': 'AIRS PRINCIPAL COMPONENT FITS TO DATA SEQUENCE', 'AVCSEQ': 'AVHRR (GAC) CHANNEL SEQUENCE', 'BID': 'BULLETIN HEADER DATA', 'RCPTIM': 'REPORT RECEIPT TIME DATA', 'SATEPHEM': 'SSM/IS SATELLITE EPHEMERIS INFORMATION', 'SCLINGEO': 'SSM/IS SCAN LINE GEOMETRY', 'SSMISCHN': 'SSM/IS CHANNEL SEQUENCE', 'IASICHN': 'IASI LEVEL 1C SCALED RADIANCE SEQUENCE', 'AVHRCHN': 'IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ', 'BRITCSTC': 'BRIGHTNESS TEMPERATURE SEQUENCE #2', 'BRIT': 'BRIGHTNESS TEMPERATURE SEQUENCE', 'RADS': 'RADIANCE SEQUENCE', 'AMSRCHAN': 'AMSR-E CHANNEL SEQUENCE (AQUA SATELLITE)', 'AMSRDICE': 'AMSR-E 2 CHANNEL 4 SPOT SOUNDING SEQUENCE (AQUA SAT)', 'RPSEQ7': 'CSR SEVIRI CLOUD & BRIGHTNESS TEMPERATURE DATA SEQUENCE', 'RPSEQ8': 'PERCENT CONFIDENCE W/MDPC REPLICATED DATA SEQUENCE', 'RPSEQ4': 'PERCENT CONFIDENCE REPLICATED DATA SEQUENCE', 'WLTMSEQN': 'WARM LOAD TEMPERATURE SEQUENCE', 'MUHOSEQN': 'MULTIPLEXER HOUSEKEEPING SEQUENCE', 'SAID': 'SATELLITE IDENTIFIER', 'GCLONG': 'ORIGINATING/GENERATING CENTER', 'GNAP': 'GENERATING APPLICATION', 'OGCE': 'IDENTIFICATION OF ORIGINATING/GENERATING CENTER', 'GSES': 'IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTER', 'SIID': 'SATELLITE INSTRUMENTS', 'SCLF': 'SATELLITE CLASSIFICATION', 'SIDU': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'IMHC': 'INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD', 'SSNX': 'SEGMENT SIZE AT NADIR IN X DIRECTION', 'SSNY': 'SEGMENT SIZE AT NADIR IN Y DIRECTION', 'SSIN': 'SATELLITE SENSOR INDICATOR', 'ANPO': 'ANTENNA POLARIZATION', 'RAIA': 'RADAR INCIDENCE ANGLE', 'INCN': 'TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER', 'RAID': 'RADIOMETER IDENTIFIER', 'SIDP': 'SATELLITE INSTRUMENT DATA USED IN PROCESSING', 'SCCF': 'SATELLITE CHANNEL CENTER FREQUENCY', 'SCBW': 'SATELLITE CHANNEL BAND WIDTH', 'RDTF': 'RADIANCE TYPE FLAGS', 'RDTP': 'RADIANCE TYPE', 'RDCM': 'RADIANCE COMPUTATIONAL METHOD', 'YEAR': 'YEAR', 'MNTH': 'MONTH', 'DAYS': 'DAY', 'HOUR': 'HOUR', 'MINU': 'MINUTE', 'SECO': 'SECOND', 'TPSE': 'TIME PERIOD OR DISPLACEMENT', 'RCYR': 'YEAR - TIME OF RECEIPT', 'RCMO': 'MONTH - TIME OF RECEIPT', 'RCDY': 'DAY - TIME OF RECEIPT', 'RCHR': 'HOUR - TIME OF RECEIPT', 'RCMI': 'MINUTE - TIME OF RECEIPT', 'CLATH': 'LATITUDE (HIGH ACCURACY)', 'CLAT': 'LATITUDE (COARSE ACCURACY)', 'BEARAZ': 'BEARING OR AZIMUTH', 'SOLAZI': 'SOLAR AZIMUTH', 'ORBN': 'ORBIT NUMBER', 'SLNM': 'SCAN LINE NUMBER', 'CHNM': 'CHANNEL NUMBER', 'FOVN': 'FIELD OF VIEW NUMBER', 'FORN': 'FIELD OF REGARD NUMBER', 'YAPCG': 'Y ANGULAR POSITION OF CENTER OF GRAVITY', 'ZAPCG': 'Z ANGULAR POSITION OF CENTER OF GRAVITY', 'CLONH': 'LONGITUDE (HIGH ACCURACY)', 'CLON': 'LONGITUDE (COARSE ACCURACY)', 'WVNM': 'WAVE NUMBER', 'SELV': 'HEIGHT OF STATION', 'HMSL': 'HEIGHT OR ALTITUDE', 'PRLC': 'PRESSURE', 'SAZA': 'SATELLITE ZENITH ANGLE', 'SOZA': 'SOLAR ZENITH ANGLE', 'VSIG': 'VERTICAL SOUNDING SIGNIFICANCE', 'VSAT': 'VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS)', 'DIMS': 'DIMENSIONAL SIGNIFICANCE', 'LSQL': 'LAND/SEA QUALIFIER', 'TSIG': 'TIME SIGNIFICANCE', 'FOST': 'FIRST ORDER STATISTICS', 'MDPC': 'METHOD OF DEVIATION OF PERCENTAGE CONFIDENCE', 'TAPQ': 'TOVS/ATOVS PRODUCT IDENTIFIER', 'STKO': 'ASCENDING/DESCENDING ORBIT QUALIFIER', 'TOBD': 'TYPE OF BAND', 'RCTS': 'RECEIPT TIME SIGNIFICANCE', 'HOLS': 'HEIGHT OF LAND SURFACE', 'HITE': 'GEOPOTENTIAL HEIGHT', 'PDNP': "IN DIR. OF NORTH POLE, DISTANCE FROM THE EARTH'S CENTER", 'TMBRST': 'BRIGHTNESS TEMPERATURE', 'TMINST': 'INSTRUMENT TEMPERATURE', 'SDTB': 'STANDARD DEVIATION BRIGHTNESS TEMPERATURE', 'TMANT': 'ANTENNA TEMPERATURE', 'WLTM': 'WARM LOAD TEMPERATURE', 'SPRD': 'SPECTRAL RADIANCE', 'RDNE': 'RADIANCE', 'NEDTCO': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING COLD TARGET', 'NEDTWA': 'NOISE-EQUIVALENT DELTA TEMPERATURE VIEWING WARM TARGET', 'TMBR': 'BRIGHTNESS TEMPERATURE (HIGH ACCURACY)', 'CSTC': 'COLD SPACE TEMPERATURE CORRECTION', 'REHU': 'RELATIVE HUMIDITY', 'SFLG': 'SURFACE FLAG', 'ALBD': 'ALBEDO', 'SRAD': 'CHANNEL RADIANCE', 'CHRAD': 'CHANNEL RADIANCE', 'SCRA': 'SCALED IASI RADIANCE', 'SMRA': 'SCALED MEAN AVHRR RADIANCE', 'SSDR': 'SCALED STANDARD DEVIATION OF AVHRR RADIANCE', 'LOGCT': 'LOG10 OF CLOUD TEST RESULTS', 'TOCC': 'CLOUD COVER (TOTAL)', 'CLTP': 'CLOUD TYPE', 'HOCT': 'HEIGHT OF TOP OF CLOUD', 'RFLAG': 'RAIN FLAG', 'CLDMNT': 'CLOUD AMOUNT IN SEGMENT', 'NCLDMNT': 'AMOUNT SEGMENT CLOUD FREE', 'CLAVR': 'CLOUD FROM AVHRR (CLAVR) CLOUD MASK', 'WTCA': 'WARM TARGET CALIBRATION', 'CTCA': 'COLD TARGET CALIBRATION', 'ALFR': 'LAND FRACTION', 'APCOMP': 'PRINCIPAL COMPONENT SCORE', 'AVHCST': 'AVHRR CHANNEL COMBINATION', 'APCFIT': 'LOG OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA', 'SSID': 'SSMIS SUBFRAME ID NUMBER', 'MUHO': 'MULTIPLEXOR HOUSEKEEPING', 'MJFC': 'MAJOR FRAME COUNT', 'SACV': 'SATELLITE ANTENNA CORRECTIONS VERSION NUMBER', 'LOGRCW': 'LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER)', 'BWCC1': 'BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS', 'BWCC2': 'BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS', 'ASFI': 'ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS', 'AEFW': 'ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS', 'FCPH': 'FRACTION OF CLEAR PIXELS IN HIRS FOV', 'STCH': 'START CHANNEL', 'ENCH': 'END CHANNEL', 'CHSF': 'CHANNEL SCALE FACTOR', 'PD00': "IN DIRECTION OF 0 DEG E, DISTANCE FROM EARTH'S CENTER", 'PD90': "IN DIRECTION OF 90 DEG E, DISTANCE FROM EARTH'S CENTER", 'NPPR': 'NUMBER OF PIXELS PER ROW', 'NPPC': 'NUMBER OF PIXELS PER COLUMN', 'QMRKH': 'QUALITY INFORMATION', 'PCCF': 'PERCENT CONFIDENCE', 'SLSF': 'SCAN LINE STATUS FLAGS FOR ATOVS', 'SLQF': 'SCAN LINE QUALITY FLAGS FOR ATOVS', 'ACQF': 'CHANNEL QUALITY FLAGS FOR ATOVS', 'FOVQ': 'FIELD OF VIEW QUALITY FLAGS FOR ATOVS', 'QGFQ': 'INDIVIDUAL IASI-SYSTEM QUALITY FLAG', 'QGQI': 'INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC)', 'QGQIL': 'GEOMETRIC QUALITY INDEX INDICATOR', 'QGQIR': 'INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION)', 'QGQIS': 'INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION)', 'QGSSQ': 'OUTPUT OF TEC FUNCTION', 'NSQF': 'SCAN LEVEL QUALITY FLAGS', 'NCQF': 'CALIBRATION QUALITY FLAGS', 'NFQF': 'FIELD OF VIEW QUALITY FLAGS', 'NGQI': 'GEOLOCATION QUALITY', 'ATMSGQ': 'GRANULE LEVEL QUALITY FLAGS', 'ATMSSQ': 'SCAN LEVEL QUALITY FLAGS', 'ATMSCHQ': 'CHANNEL DATA QUALITY FLAGS', 'BUHD': 'BULLETIN BEING MONITORED (TTAAii)', 'BULTIM': 'BULLETIN BEING MONITORED (YYGGgg)', 'BORG': 'BULLETIN BEING MONITORED (CCCC)', 'BBB': 'BULLETIN BEING MONITORED (BBB)', 'SEQNUM': 'CHANNEL SEQUENCE NUMBER'}"}}, "docInfo": {"ncepbufr": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ncepbufr.set_param": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 49}, "ncepbufr.get_param": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 20}, "ncepbufr.set_missing_value": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 7}, "ncepbufr.get_missing_value": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 7}, "ncepbufr.set_datelength": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "ncepbufr.open": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 35}, "ncepbufr.open.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 119}, "ncepbufr.open.lunit": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ncepbufr.open.filename": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "ncepbufr.open.msg_counter": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 6}, "ncepbufr.open.msg_type": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 6}, "ncepbufr.open.msg_date": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 7}, "ncepbufr.open.receipt_time": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "ncepbufr.open.subsets": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "ncepbufr.open.missing_value": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 5}, "ncepbufr.open.dump_table": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 9}, "ncepbufr.open.print_table": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "ncepbufr.open.close": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 6}, "ncepbufr.open.cmpmsg": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 12}, "ncepbufr.open.advance": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 171}, "ncepbufr.open.inventory": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 29}, "ncepbufr.open.print_subset": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 59}, "ncepbufr.open.copy_subset": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 20}, "ncepbufr.open.dump_subset": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 79}, "ncepbufr.open.get_program_code": {"qualname": 4, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 20}, "ncepbufr.open.get_flag_table_bits": {"qualname": 5, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 21}, "ncepbufr.open.checkpoint": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 32}, "ncepbufr.open.rewind": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 14}, "ncepbufr.open.restore": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 22}, "ncepbufr.open.open_message": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 75}, "ncepbufr.open.copy_message": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 18}, "ncepbufr.open.close_message": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 5}, "ncepbufr.open.load_subset": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 71}, "ncepbufr.open.read_long_string": {"qualname": 4, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 144}, "ncepbufr.open.read_subset": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 278}, "ncepbufr.open.write_subset": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 61, "bases": 0, "doc": 203}, "ncepbufr.bufr_mnemonics": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 5123, "signature": 0, "bases": 0, "doc": 10}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 2455, "signature": 0, "bases": 0, "doc": 10}}, "length": 40, "save": true}, "index": {"qualname": {"root": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.set_datelength": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 6, "s": {"docs": {"ncepbufr.open.subsets": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.get_param": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 4}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}}, "df": 3}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}}, "df": 3}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_date": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.set_datelength": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.lunit": {"tf": 1}, "ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 31}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.inventory": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.lunit": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.load_subset": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.filename": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.msg_counter": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_type": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 3}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.rewind": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.restore": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.write_subset": {"tf": 1}}, "df": 1}}}}}}}, "fullname": {"root": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr": {"tf": 1}, "ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.lunit": {"tf": 1}, "ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}, "ncepbufr.bufr_mnemonics": {"tf": 1}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 40}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.set_datelength": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 6, "s": {"docs": {"ncepbufr.open.subsets": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.get_param": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 4}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}}, "df": 3}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics": {"tf": 1}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}}, "df": 3}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_date": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.set_datelength": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.lunit": {"tf": 1}, "ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 31}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.inventory": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.lunit": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.load_subset": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.filename": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.msg_counter": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_type": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 3}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.rewind": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.restore": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics": {"tf": 1}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 3}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.write_subset": {"tf": 1}}, "df": 1}}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"0": {"2": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 5.5677643628300215}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "7": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "8": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "3": {"3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "6": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "4": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "5": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 10.44030650891055}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}, "1": {"0": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}, "2": {"3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}, "7": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}, "8": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}, "9": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.0990195135927845}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 1}, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 1}}, "2": {"0": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "9": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "5": {"0": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.3166247903554}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 2}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.082762530298219}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "4": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}, "6": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "7": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.0990195135927845}}, "df": 1}, "9": {"0": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.0990195135927845}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 21.095023109728988}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 14.966629547095765}}, "df": 2, "x": {"2": {"7": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 41.71330722922842}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 29.748949561287034}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "r": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"1": {"0": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"0": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "w": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1, "w": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "4": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.082762530298219}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.196152422706632}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.324555320336759}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 1}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.449489742783178}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "a": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "w": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"2": {"4": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "d": {"0": {"0": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "t": {"2": {"9": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 7}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.656854249492381}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "v": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3}}, "df": 1, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.244997998398398}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.872983346207417}}, "df": 2, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"0": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "6": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "2": {"4": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"1": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "3": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "x": {"1": {"0": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "3": {"2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "4": {"3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.449489742783178}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.449489742783178}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 2, "/": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 4.123105625617661}}, "df": 1}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "i": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1, "m": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.6332495807108}}, "df": 1}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2}}}}}}}}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.795831523312719}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 9.539392014169456}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 5}}, "df": 2}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.358898943540674}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 1, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.872983346207417}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "v": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "t": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "x": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.449489742783178}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.123105625617661}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 5}}, "df": 2}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}, "z": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}, "z": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "z": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1}, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"1": {"docs": {}, "df": 0, "c": {"3": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}}, "docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}, "v": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.4031242374328485}}, "df": 1}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "/": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "g": {"1": {"0": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}}, "df": 1}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.3166247903554}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "k": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 8.48528137423857}}, "df": 1}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 7.874007874011811}}, "df": 1, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "c": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "/": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "c": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "v": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.0990195135927845}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 2}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 2}}, "i": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 1, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.449489742783178}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.830951894845301}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "/": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}, "w": {"docs": {}, "df": 0, "d": {"1": {"0": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "s": {"1": {"0": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}, "x": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 5.477225575051661}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "j": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "e": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.928203230275509}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.291502622129181}}, "df": 1}}}, "s": {"1": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.291502622129181}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"2": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.69041575982343}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.4641016151377544}}, "df": 1}}}}, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}}}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1}}}}}}}}}}, "h": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 5}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "t": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "r": {"3": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.242640687119285}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}}, "df": 1}}, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 4.795831523312719}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1}}}}}, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}, "f": {"1": {"0": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "7": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "8": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "a": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.872983346207417}}, "df": 1, "y": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}, "p": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 1, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "f": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "q": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "c": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.7416573867739413}}, "df": 1}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}}, "df": 1}}}}}, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 1}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "/": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.928203230275509}}, "df": 1}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "b": {"1": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.7416573867739413}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.8284271247461903}}, "df": 2, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.291502622129181}}, "df": 1}}}}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "v": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.3166247903554}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 1}}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "w": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.358898943540674}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.196152422706632}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}, "g": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "r": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3}}, "df": 2, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}, "x": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.872983346207417}}, "df": 1, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.242640687119285}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 2, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2, "/": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1, "l": {"1": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.48074069840786}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 6.324555320336759}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 5.916079783099616}}, "df": 2}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 5.5677643628300215}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.6457513110645907}}, "df": 1}}}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 2, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "z": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "q": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3}}, "df": 1, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "b": {"1": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.898979485566356}}, "df": 1, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.123105625617661}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.449489742783178}}, "df": 2}}}}}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "z": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "b": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}, "i": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.8284271247461903}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2}}, "df": 2}}}}}}}, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.1622776601683795}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 6.082762530298219}}, "df": 2}, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "n": {"1": {"5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}, "8": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 4.47213595499958}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.4641016151377544}}, "df": 2}}}}, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "a": {"docs": {}, "df": 0, "a": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 3.1622776601683795}}, "df": 1}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}}}, "c": {"0": {"2": {"1": {"0": {"2": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "7": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "8": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "3": {"3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "6": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "4": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "5": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"2": {"3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"0": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "4": {"1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "9": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "5": {"0": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "1": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "2": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "3": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "4": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "5": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "z": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "q": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"1": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 3.605551275463989}}, "df": 1}}}}}, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 2}}, "df": 1}, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "w": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 2.23606797749979}}, "df": 1}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 1}}}}}}}}, "signature": {"root": {"3": {"9": {"docs": {"ncepbufr.open.__init__": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ncepbufr.set_param": {"tf": 3.7416573867739413}, "ncepbufr.get_param": {"tf": 3.1622776601683795}, "ncepbufr.set_missing_value": {"tf": 3.1622776601683795}, "ncepbufr.get_missing_value": {"tf": 2.6457513110645907}, "ncepbufr.set_datelength": {"tf": 3.1622776601683795}, "ncepbufr.open.__init__": {"tf": 5.0990195135927845}, "ncepbufr.open.dump_table": {"tf": 3.7416573867739413}, "ncepbufr.open.print_table": {"tf": 3.1622776601683795}, "ncepbufr.open.close": {"tf": 3.1622776601683795}, "ncepbufr.open.cmpmsg": {"tf": 3.7416573867739413}, "ncepbufr.open.advance": {"tf": 3.1622776601683795}, "ncepbufr.open.inventory": {"tf": 3.1622776601683795}, "ncepbufr.open.print_subset": {"tf": 4.242640687119285}, "ncepbufr.open.copy_subset": {"tf": 3.7416573867739413}, "ncepbufr.open.dump_subset": {"tf": 5.477225575051661}, "ncepbufr.open.get_program_code": {"tf": 3.7416573867739413}, "ncepbufr.open.get_flag_table_bits": {"tf": 4.242640687119285}, "ncepbufr.open.checkpoint": {"tf": 3.1622776601683795}, "ncepbufr.open.rewind": {"tf": 3.1622776601683795}, "ncepbufr.open.restore": {"tf": 3.1622776601683795}, "ncepbufr.open.open_message": {"tf": 5.0990195135927845}, "ncepbufr.open.copy_message": {"tf": 3.7416573867739413}, "ncepbufr.open.close_message": {"tf": 3.1622776601683795}, "ncepbufr.open.load_subset": {"tf": 3.1622776601683795}, "ncepbufr.open.read_long_string": {"tf": 3.7416573867739413}, "ncepbufr.open.read_subset": {"tf": 6.164414002968976}, "ncepbufr.open.write_subset": {"tf": 7.0710678118654755}}, "df": 27, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.set_missing_value": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 3, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}}}, "s": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.open_message": {"tf": 1.7320508075688772}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.set_datelength": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 3}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.write_subset": {"tf": 2}}, "df": 4}}}}}, "r": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 21}}, "q": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.dump_subset": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}, "a": {"docs": {"ncepbufr.open.write_subset": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.write_subset": {"tf": 1}}, "df": 1}}}}}, "bases": {"root": {"docs": {}, "df": 0}}, "doc": {"root": {"0": {"docs": {"ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}}, "df": 3}, "1": {"0": {"docs": {"ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}, "docs": {"ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 3}, "3": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}, "docs": {"ncepbufr": {"tf": 1.7320508075688772}, "ncepbufr.set_param": {"tf": 2.449489742783178}, "ncepbufr.get_param": {"tf": 1.7320508075688772}, "ncepbufr.set_missing_value": {"tf": 1.7320508075688772}, "ncepbufr.get_missing_value": {"tf": 1.7320508075688772}, "ncepbufr.set_datelength": {"tf": 2.23606797749979}, "ncepbufr.open": {"tf": 3.7416573867739413}, "ncepbufr.open.__init__": {"tf": 6.48074069840786}, "ncepbufr.open.lunit": {"tf": 1.7320508075688772}, "ncepbufr.open.filename": {"tf": 1.4142135623730951}, "ncepbufr.open.msg_counter": {"tf": 1.4142135623730951}, "ncepbufr.open.msg_type": {"tf": 1.4142135623730951}, "ncepbufr.open.msg_date": {"tf": 1.4142135623730951}, "ncepbufr.open.receipt_time": {"tf": 2}, "ncepbufr.open.subsets": {"tf": 1.4142135623730951}, "ncepbufr.open.missing_value": {"tf": 1.4142135623730951}, "ncepbufr.open.dump_table": {"tf": 1.4142135623730951}, "ncepbufr.open.print_table": {"tf": 1.4142135623730951}, "ncepbufr.open.close": {"tf": 1.4142135623730951}, "ncepbufr.open.cmpmsg": {"tf": 1.4142135623730951}, "ncepbufr.open.advance": {"tf": 6.855654600401044}, "ncepbufr.open.inventory": {"tf": 1.7320508075688772}, "ncepbufr.open.print_subset": {"tf": 3.872983346207417}, "ncepbufr.open.copy_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.dump_subset": {"tf": 4.47213595499958}, "ncepbufr.open.get_program_code": {"tf": 2.23606797749979}, "ncepbufr.open.get_flag_table_bits": {"tf": 1.7320508075688772}, "ncepbufr.open.checkpoint": {"tf": 2.23606797749979}, "ncepbufr.open.rewind": {"tf": 2.23606797749979}, "ncepbufr.open.restore": {"tf": 2.23606797749979}, "ncepbufr.open.open_message": {"tf": 4.898979485566356}, "ncepbufr.open.copy_message": {"tf": 1.4142135623730951}, "ncepbufr.open.close_message": {"tf": 1.4142135623730951}, "ncepbufr.open.load_subset": {"tf": 3.1622776601683795}, "ncepbufr.open.read_long_string": {"tf": 3.605551275463989}, "ncepbufr.open.read_subset": {"tf": 7.54983443527075}, "ncepbufr.open.write_subset": {"tf": 6.6332495807108}, "ncepbufr.bufr_mnemonics": {"tf": 1.7320508075688772}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1.4142135623730951}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1.4142135623730951}}, "df": 40, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 6, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"ncepbufr.get_param": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 5}, "q": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 2, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.write_subset": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.set_datelength": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.print_table": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 2.23606797749979}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 5}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.advance": {"tf": 1.7320508075688772}, "ncepbufr.open.print_subset": {"tf": 2}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 2}, "ncepbufr.open.load_subset": {"tf": 2}, "ncepbufr.open.read_long_string": {"tf": 2}, "ncepbufr.open.read_subset": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 8, "s": {"docs": {"ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 4}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "v": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.rewind": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open": {"tf": 1.4142135623730951}, "ncepbufr.open.__init__": {"tf": 2.23606797749979}, "ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 2.23606797749979}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.read_long_string": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 28, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}, "e": {"docs": {"ncepbufr.set_param": {"tf": 1.4142135623730951}, "ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 2}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 10, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 4}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 4}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.7320508075688772}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 13, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.inventory": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}, "s": {"docs": {"ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 3.1622776601683795}, "ncepbufr.open.write_subset": {"tf": 2.6457513110645907}}, "df": 8, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {"ncepbufr.open.__init__": {"tf": 1.7320508075688772}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1.7320508075688772}, "ncepbufr.open.read_subset": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 2}}, "df": 8}, "t": {"docs": {"ncepbufr.open.__init__": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.get_param": {"tf": 1}}, "df": 1, "s": {"docs": {"ncepbufr.set_param": {"tf": 1.7320508075688772}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}}, "df": 4}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.restore": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 2}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 5}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.inventory": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.__init__": {"tf": null}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 3, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 6}, "l": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.restore": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 4}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 5, "l": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 6}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}}, "df": 2, "d": {"docs": {"ncepbufr.open.write_subset": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}}, "df": 2}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.inventory": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 7}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 6}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.advance": {"tf": 2.449489742783178}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.7320508075688772}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.close_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 15, "s": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 3}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 2}}, "df": 1}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 7}}}, "s": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.advance": {"tf": 2}, "ncepbufr.open.inventory": {"tf": 1.4142135623730951}, "ncepbufr.open.open_message": {"tf": 1.7320508075688772}}, "df": 3}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"1": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}, "2": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}, "3": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}, "docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 2.8284271247461903}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 2.449489742783178}, "ncepbufr.open.write_subset": {"tf": 2.23606797749979}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 4}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.get_param": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 5}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.7320508075688772}}, "df": 5, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 2.6457513110645907}, "ncepbufr.open.write_subset": {"tf": 2.8284271247461903}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 2, "d": {"docs": {"ncepbufr.open.print_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 4}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"ncepbufr.set_param": {"tf": 1.4142135623730951}, "ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 2}, "ncepbufr.open.print_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 2}, "ncepbufr.open.checkpoint": {"tf": 1.4142135623730951}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 2}, "ncepbufr.open.read_subset": {"tf": 2.449489742783178}, "ncepbufr.open.write_subset": {"tf": 2.6457513110645907}, "ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 19}, "h": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 2}, "ncepbufr.get_param": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1.4142135623730951}, "ncepbufr.open.advance": {"tf": 2.8284271247461903}, "ncepbufr.open.inventory": {"tf": 1.4142135623730951}, "ncepbufr.open.print_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.copy_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.dump_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.checkpoint": {"tf": 1.7320508075688772}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1.4142135623730951}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.copy_message": {"tf": 1.7320508075688772}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 3.4641016151377544}, "ncepbufr.open.read_subset": {"tf": 3.7416573867739413}, "ncepbufr.open.write_subset": {"tf": 2.6457513110645907}}, "df": 20, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}, "n": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.restore": {"tf": 1}}, "df": 1}, "n": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 2.449489742783178}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 4}}}, "n": {"docs": {}, "df": 0, "k": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 3}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_type": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}}, "df": 4}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.7320508075688772}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}}, "df": 4}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.inventory": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 2.23606797749979}, "ncepbufr.open.write_subset": {"tf": 2.23606797749979}}, "df": 4}}, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 3}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open": {"tf": 1.4142135623730951}, "ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.print_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 12, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.filename": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}}}}}}}, "f": {"docs": {"ncepbufr.set_param": {"tf": 1.4142135623730951}, "ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.7320508075688772}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1.7320508075688772}, "ncepbufr.open.read_subset": {"tf": 2.23606797749979}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 13}, "b": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 4}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 2}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.dump_subset": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "a": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1.4142135623730951}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 2.449489742783178}, "ncepbufr.open.read_subset": {"tf": 3.4641016151377544}, "ncepbufr.open.write_subset": {"tf": 3}}, "df": 13, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 5}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 4, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.get_param": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.7320508075688772}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 4, "d": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 3}}}}}, "n": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 3, "d": {"docs": {"ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 1.7320508075688772}}, "df": 8}}, "s": {"docs": {"ncepbufr.open.rewind": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 4}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 2}}}}}}}}}, "t": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {"ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1.4142135623730951}, "ncepbufr.open": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.close": {"tf": 1}, "ncepbufr.open.cmpmsg": {"tf": 1}, "ncepbufr.open.advance": {"tf": 2}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.checkpoint": {"tf": 1.4142135623730951}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1.4142135623730951}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 17, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1.7320508075688772}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 4}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.get_param": {"tf": 1}, "ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.__init__": {"tf": 2.449489742783178}, "ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 2}}, "df": 14, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.filename": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 5}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.set_param": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.set_missing_value": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}, "ncepbufr.open.missing_value": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 8, "s": {"docs": {"ncepbufr.get_param": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}}}}, "g": {"docs": {"ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.get_param": {"tf": 1}, "ncepbufr.get_missing_value": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.set_datelength": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"ncepbufr.open.advance": {"tf": 3}, "ncepbufr.open.load_subset": {"tf": 3.4641016151377544}, "ncepbufr.open.read_long_string": {"tf": 3.4641016151377544}}, "df": 3}, "o": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.set_param": {"tf": 1}, "ncepbufr.open": {"tf": 1.4142135623730951}, "ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 2.449489742783178}, "ncepbufr.open.write_subset": {"tf": 2.449489742783178}}, "df": 6}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 5}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.filename": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 4, "s": {"docs": {"ncepbufr.get_param": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.msg_counter": {"tf": 1}, "ncepbufr.open.subsets": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 7}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open": {"tf": 1.4142135623730951}, "ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.print_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.dump_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 11}}}}}}}, "o": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2, "t": {"docs": {"ncepbufr.open.__init__": {"tf": 1.4142135623730951}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.advance": {"tf": 1.4142135623730951}}, "df": 1}}, "w": {"docs": {"ncepbufr.open.open_message": {"tf": 1}}, "df": 1}}, "m": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 1}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.set_datelength": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "m": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "r": {"docs": {"ncepbufr.open.__init__": {"tf": 2}}, "df": 1, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 2.23606797749979}}, "df": 6, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.msg_date": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.receipt_time": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.open_message": {"tf": 1.4142135623730951}}, "df": 4}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.restore": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}}, "df": 3, "s": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 3}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.write_subset": {"tf": 1.4142135623730951}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.read_subset": {"tf": 1.7320508075688772}, "ncepbufr.open.write_subset": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.rewind": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.restore": {"tf": 1}}, "df": 2}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.write_subset": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}}}}}}, "w": {"docs": {"ncepbufr.open.__init__": {"tf": 1.4142135623730951}}, "df": 1, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.copy_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.copy_message": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 2.23606797749979}}, "df": 5, "s": {"docs": {"ncepbufr.open.cmpmsg": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"ncepbufr.open.__init__": {"tf": 1.4142135623730951}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.open.filename": {"tf": 1}, "ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.get_flag_table_bits": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 5}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.advance": {"tf": 1.4142135623730951}}, "df": 1}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1.4142135623730951}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}, "ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}}, "df": 3}}}}, "e": {"docs": {"ncepbufr.open.checkpoint": {"tf": 1}}, "df": 1}}, "e": {"docs": {"ncepbufr.open.open_message": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.__init__": {"tf": 1}, "ncepbufr.open.dump_table": {"tf": 1}, "ncepbufr.open.print_table": {"tf": 1}}, "df": 3}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.open.advance": {"tf": 1.4142135623730951}, "ncepbufr.open.inventory": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1.4142135623730951}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ncepbufr.open.get_program_code": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}}, "df": 2, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 2}, "ncepbufr.open.write_subset": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}}, "df": 1}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"ncepbufr.open.advance": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ncepbufr.open.print_subset": {"tf": 1}, "ncepbufr.open.dump_subset": {"tf": 1}}, "df": 2}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ncepbufr.open.advance": {"tf": 1}, "ncepbufr.open.load_subset": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ncepbufr.bufr_mnemonics.prepbufr_mnemonics_dict": {"tf": 1}, "ncepbufr.bufr_mnemonics.amsu_mnemonics_dict": {"tf": 1}}, "df": 2}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}, "ncepbufr.open.read_subset": {"tf": 1}, "ncepbufr.open.write_subset": {"tf": 1}}, "df": 3}}}, "x": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {}, "df": 0, "h": {"docs": {"ncepbufr.open.read_long_string": {"tf": 1}}, "df": 1}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.pipeline.remove(elasticlunr.stemmer); + this.pipeline.remove(elasticlunr.stopWordFilter); + this.addField("qualname"); + this.addField("fullname"); + this.addField("annotation"); + this.addField("default_value"); + this.addField("signature"); + this.addField("bases"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + annotation: {boost: 2}, + default_value: {boost: 2}, + signature: {boost: 2}, + bases: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/readbp_8F90.html b/readbp_8F90.html index 9b7bc68e8..d5679f2e7 100644 --- a/readbp_8F90.html +++ b/readbp_8F90.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -162,7 +162,7 @@

                                                              Definition at line 18 of file readbp.F90.

                                                              -

                                                              References datelen(), ireadmg(), ireadsb(), openbf(), printx(), ufbcnt(), ufbint(), and ufdump().

                                                              +

                                                              References datelen(), ireadmg(), ireadsb(), openbf(), printx(), ufbcnt(), ufbint(), and ufdump().

                                                              diff --git a/readbp_8F90_source.html b/readbp_8F90_source.html index 9d5d591f1..2c0a2abe5 100644 --- a/readbp_8F90_source.html +++ b/readbp_8F90_source.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -132,7 +132,7 @@
                                                              55 
                                                              56 ! check for filename argument
                                                              57 
                                                              -
                                                              58  narg=iargc()
                                                              +
                                                              58  narg=command_argument_count()
                                                              59 1 if(narg<1) THEN
                                                              60  call printx(' ')
                                                              61  call printx('Usage: readbp <-s> <-w> <m> <-k> <-r> <-d> <-n> <-h> prep bufrfile ')
                                                              @@ -159,23 +159,23 @@
                                                              82 
                                                              83  iarg=1
                                                              84  do while(iarg<=narg)
                                                              -
                                                              85  call getarg(iarg,file)
                                                              +
                                                              85  call get_command_argument(iarg,file)
                                                              86  if(file(1:1)=='-') then
                                                              87  if(file(2:2)=='s') then
                                                              -
                                                              88  iarg=iarg+1; call getarg(iarg,sta); nsta=len(trim(sta))
                                                              -
                                                              89  elseif(file(2:2)=='w') then
                                                              -
                                                              90  iarg=iarg+1; call getarg(iarg,val); read(val,*)x1
                                                              -
                                                              91  iarg=iarg+1; call getarg(iarg,val); read(val,*)x2
                                                              -
                                                              92  iarg=iarg+1; call getarg(iarg,val); read(val,*)y1
                                                              -
                                                              93  iarg=iarg+1; call getarg(iarg,val); read(val,*)y2
                                                              +
                                                              88  iarg=iarg+1; call get_command_argument(iarg,sta); nsta=len(trim(sta))
                                                              +
                                                              89  elseif(file(2:2)=='w') then
                                                              +
                                                              90  iarg=iarg+1; call get_command_argument(iarg,val); read(val,*)x1
                                                              +
                                                              91  iarg=iarg+1; call get_command_argument(iarg,val); read(val,*)x2
                                                              +
                                                              92  iarg=iarg+1; call get_command_argument(iarg,val); read(val,*)y1
                                                              +
                                                              93  iarg=iarg+1; call get_command_argument(iarg,val); read(val,*)y2
                                                              94  window=.true.
                                                              95  elseif(file(2:2)=='k') then
                                                              -
                                                              96  iarg=iarg+1; call getarg(iarg,val); read(val,*)ikx
                                                              +
                                                              96  iarg=iarg+1; call get_command_argument(iarg,val); read(val,*)ikx
                                                              97  elseif(file(2:2)=='r') then
                                                              -
                                                              98  iarg=iarg+1; call getarg(iarg,val); read(val,*)irt
                                                              +
                                                              98  iarg=iarg+1; call get_command_argument(iarg,val); read(val,*)irt
                                                              99  elseif(file(2:2)=='m') then
                                                              -
                                                              100  iarg=iarg+1; call getarg(iarg,val); msg=val(1:8)
                                                              -
                                                              101  elseif(file(2:2)=='d') then
                                                              +
                                                              100  iarg=iarg+1; call get_command_argument(iarg,val); msg=val(1:8)
                                                              +
                                                              101  elseif(file(2:2)=='d') then
                                                              102  iarg=iarg+1; dump=.true.
                                                              103  elseif(file(2:2)=='h') then
                                                              104  iarg=iarg+1; hedr=.true.
                                                              @@ -205,49 +205,49 @@
                                                              128 ! ------------------------
                                                              129 
                                                              130  open(lubfr,file=file,form='unformatted')
                                                              -
                                                              131  call openbf(lubfr,'IN',lubfr)
                                                              -
                                                              132  call datelen(10)
                                                              +
                                                              131  call openbf(lubfr,'IN',lubfr)
                                                              +
                                                              132  call datelen(10)
                                                              133 
                                                              134 ! READ A SUBSET - READ ANOTHER MESSAGE WHEN NO MORE SUBSETS
                                                              135 ! ---------------------------------------------------------
                                                              136 
                                                              -
                                                              137  do while(ireadmg(lubfr,subset,idate)==0)
                                                              -
                                                              138  do while(ireadsb(lubfr)==0)
                                                              -
                                                              139  call ufbcnt(lubfr,irec,isub)
                                                              +
                                                              137  do while(ireadmg(lubfr,subset,idate)==0)
                                                              +
                                                              138  do while(ireadsb(lubfr)==0)
                                                              +
                                                              139  call ufbcnt(lubfr,irec,isub)
                                                              140 
                                                              -
                                                              141  IF(msg.ne.' ' .and. msg.ne.subset) exit
                                                              +
                                                              141  IF(msg/=' ' .and. msg/=subset) exit
                                                              142 
                                                              143  if(dump) then
                                                              -
                                                              144  call ufdump(lubfr,6)
                                                              +
                                                              144  call ufdump(lubfr,6)
                                                              145  goto 99
                                                              146  endif
                                                              147 
                                                              148 ! MOVE SUBSET CONTENTS INTO THIS PROGRAM
                                                              149 ! --------------------------------------
                                                              150 
                                                              -
                                                              151  CALL ufbint(lubfr,hdr,10, 1,iret,hstr)
                                                              +
                                                              151  CALL ufbint(lubfr,hdr,10, 1,iret,hstr)
                                                              152  xob = hdr(2)
                                                              153  yob = hdr(3)
                                                              154  jrt = nint(hdr(6))
                                                              155  jtp = nint(hdr(7))
                                                              156  jkx = nint(hdr(8))
                                                              -
                                                              157  IF(sta.NE.' ' .AND. sta.NE.sid(1:nsta)) cycle
                                                              -
                                                              158  IF(irt.ne.0 .and. irt.ne.jrt) cycle
                                                              -
                                                              159  IF(itp.ne.0 .and. itp.ne.jtp) cycle
                                                              -
                                                              160  IF(ikx.ne.0 .and. ikx.ne.jkx) cycle
                                                              +
                                                              157  IF(sta/=' ' .AND. sta/=sid(1:nsta)) cycle
                                                              +
                                                              158  IF(irt/=0 .and. irt/=jrt) cycle
                                                              +
                                                              159  IF(itp/=0 .and. itp/=jtp) cycle
                                                              +
                                                              160  IF(ikx/=0 .and. ikx/=jkx) cycle
                                                              161  if(window) then
                                                              -
                                                              162  if(.not.(xob.ge.x1 .and. xob.le.x2))cycle
                                                              -
                                                              163  if(.not.(yob.ge.y1 .and. yob.le.y2))cycle
                                                              +
                                                              162  if(.not.(xob>=x1 .and. xob<=x2))cycle
                                                              +
                                                              163  if(.not.(yob>=y1 .and. yob<=y2))cycle
                                                              164  endif
                                                              165 
                                                              -
                                                              166  CALL ufbint(lubfr,obs,10,255,nlev,ostr)
                                                              -
                                                              167  CALL ufbint(lubfr,qms,10,255,nleq,qstr)
                                                              -
                                                              168  IF(nlev.NE.nleq) stop 'NLEV<>NLEQ'
                                                              +
                                                              166  CALL ufbint(lubfr,obs,10,255,nlev,ostr)
                                                              +
                                                              167  CALL ufbint(lubfr,qms,10,255,nleq,qstr)
                                                              +
                                                              168  IF(nlev/=nleq) stop 'NLEV<>NLEQ'
                                                              169 
                                                              170 ! MOVE CAT 8 DATA TO PRINT RANGE
                                                              171 ! ------------------------------
                                                              172  DO l=1,nlev
                                                              -
                                                              173  IF(obs(1,l).EQ.8) THEN
                                                              +
                                                              173  IF(obs(1,l)==8) THEN
                                                              174  obs(2,l) = obs(9,l)
                                                              175  obs(3,l) = obs(10,l)
                                                              176  ENDIF
                                                              @@ -311,7 +311,7 @@
                                                              234  elseif(optarg(1:1)=='m') then
                                                              235  read(optarg(2:50),*) msg
                                                              236  elseif(optarg(1:1)=='d') then
                                                              -
                                                              237  call ufdump(lubfr,6)
                                                              +
                                                              237  call ufdump(lubfr,6)
                                                              238  elseif(optarg(1:1)=='h') then
                                                              239  hedr=.true.
                                                              240  endif
                                                              @@ -334,15 +334,15 @@
                                                              262  write(*,'(a1)')str(lens:lens)
                                                              263  end subroutine
                                                              264 
                                                              -
                                                              recursive subroutine datelen(LEN)
                                                              This subroutine is used to specify the format of Section 1 date-time values that will be output by fu...
                                                              Definition: datelen.f:28
                                                              -
                                                              recursive function ireadmg(LUNIT, SUBSET, IDATE)
                                                              Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
                                                              Definition: ireadmg.f:27
                                                              -
                                                              recursive function ireadsb(LUNIT)
                                                              Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
                                                              Definition: ireadsb.f:20
                                                              -
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              recursive subroutine ufdump(lunit, luprt)
                                                              Print a verbose listing of the contents of a data subset, including all data values and replicated se...
                                                              Definition: dumpdata.F90:228
                                                              +
                                                              recursive subroutine openbf(lunit, io, lundx)
                                                              Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                                              +
                                                              recursive subroutine ufbcnt(lunit, kmsg, ksub)
                                                              Get the current location of the file pointer within a BUFR file, in terms of a message number countin...
                                                              subroutine printx(str)
                                                              Print long lines to stdout using advance=no format clause.
                                                              Definition: readbp.F90:257
                                                              program readbp
                                                              Read PREPBUFR file containing embedded DX BUFR tables, and print each report one at a time.
                                                              Definition: readbp.F90:18
                                                              -
                                                              recursive subroutine ufbcnt(LUNIT, KMSG, KSUB)
                                                              Get the current message number and data subset number within a BUFR file.
                                                              Definition: ufbcnt.f:41
                                                              -
                                                              recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
                                                              Read/write one or more data values from/to a data subset.
                                                              Definition: ufbint.f:121
                                                              -
                                                              recursive subroutine ufdump(LUNIT, LUPRT)
                                                              This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
                                                              Definition: ufdump.f:44
                                                              +
                                                              recursive integer function ireadmg(lunit, subset, idate)
                                                              Call subroutine readmg() and pass back its return code as the function value.
                                                              +
                                                              recursive integer function ireadsb(lunit)
                                                              Call subroutine readsb() and pass back its return code as the function value.
                                                              +
                                                              recursive subroutine ufbint(lunin, usr, i1, i2, iret, str)
                                                              Read or write one or more data values from or to a data subset.
                                                              +
                                                              recursive subroutine datelen(len)
                                                              Specify the format of Section 1 date-time values that will be output by future calls to any of the NC...
                                                              Definition: s013vals.F90:889
                                                              diff --git a/readmp_8F90.html b/readmp_8F90.html index d632feb44..37b167614 100644 --- a/readmp_8F90.html +++ b/readmp_8F90.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -126,7 +126,7 @@

                                                              Definition at line 13 of file readmp.F90.

                                                              -

                                                              References i4dy(), ireadmg(), ireadsb(), openbf(), and ufdump().

                                                              +

                                                              References i4dy(), ireadmg(), ireadsb(), openbf(), and ufdump().

                                                              diff --git a/readmp_8F90_source.html b/readmp_8F90_source.html index 141b74abc..09e323904 100644 --- a/readmp_8F90_source.html +++ b/readmp_8F90_source.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -96,12 +96,12 @@
                                                              18  character(8) :: subset
                                                              19  character(1) :: go
                                                              20  integer, parameter :: lunit = 20
                                                              -
                                                              21  integer :: idate,ireadmg,ireadsb,i4dy
                                                              +
                                                              21  integer :: idate,ireadmg,ireadsb,i4dy
                                                              22  logical :: exist
                                                              23 
                                                              24 ! get the filename to open and read
                                                              25 
                                                              -
                                                              26  call getarg(1,file); file=trim(adjustl(file))
                                                              +
                                                              26  call get_command_argument(1,file); file=trim(adjustl(file))
                                                              27  if (file == '') then
                                                              28  print *, 'Usage: readmp <bufrfile> will print reports one at a time'
                                                              29  call exit(2)
                                                              @@ -111,28 +111,28 @@
                                                              33  print *,trim(file)//' does not exist'
                                                              34  call exit(3)
                                                              35  endif
                                                              -
                                                              36  call getarg(2,go); go=trim(adjustl(go)) ! this for testing !
                                                              +
                                                              36  call get_command_argument(2,go); go=trim(adjustl(go)) ! this for testing
                                                              37  open(lunit,file=file,form='unformatted')
                                                              38 
                                                              39 ! open the file to bufr and dump the subsets to standard outout one at a time
                                                              40 
                                                              -
                                                              41  call openbf(lunit,'IN',lunit)
                                                              -
                                                              42  do while(ireadmg(lunit,subset,idate).eq.0)
                                                              -
                                                              43  do while(ireadsb(lunit).eq.0)
                                                              -
                                                              44  print*,'message date=',i4dy(idate)
                                                              -
                                                              45  call ufdump(lunit,6)
                                                              -
                                                              46  if(go.ne.'q') read(5,'(a)') go
                                                              -
                                                              47  if(go.eq.'q') stop
                                                              +
                                                              41  call openbf(lunit,'IN',lunit)
                                                              +
                                                              42  do while(ireadmg(lunit,subset,idate)==0)
                                                              +
                                                              43  do while(ireadsb(lunit)==0)
                                                              +
                                                              44  print*,'message date=',i4dy(idate)
                                                              +
                                                              45  call ufdump(lunit,6)
                                                              +
                                                              46  if(go/='q') read(5,'(a)') go
                                                              +
                                                              47  if(go=='q') stop
                                                              48  enddo
                                                              49  enddo
                                                              50 
                                                              51  end program readmp
                                                              -
                                                              recursive function i4dy(IDATE)
                                                              This function converts a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year ...
                                                              Definition: i4dy.f:24
                                                              -
                                                              recursive function ireadmg(LUNIT, SUBSET, IDATE)
                                                              Calls NCEPLIBS-bufr subroutine readmg() and passes back its return code as the function value.
                                                              Definition: ireadmg.f:27
                                                              -
                                                              recursive function ireadsb(LUNIT)
                                                              Calls NCEPLIBS-bufr subroutine readsb() and passes back its return code as the function value.
                                                              Definition: ireadsb.f:20
                                                              -
                                                              recursive subroutine openbf(LUNIT, IO, LUNDX)
                                                              Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
                                                              Definition: openbf.f:124
                                                              +
                                                              recursive subroutine ufdump(lunit, luprt)
                                                              Print a verbose listing of the contents of a data subset, including all data values and replicated se...
                                                              Definition: dumpdata.F90:228
                                                              +
                                                              recursive subroutine openbf(lunit, io, lundx)
                                                              Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                                              program readmp
                                                              Read BUFR file containing embedded DX BUFR tables, and print each report one at a time.
                                                              Definition: readmp.F90:13
                                                              -
                                                              recursive subroutine ufdump(LUNIT, LUPRT)
                                                              This subroutine prints a verbose listing of the contents of a data subset, including all data values ...
                                                              Definition: ufdump.f:44
                                                              +
                                                              recursive integer function ireadmg(lunit, subset, idate)
                                                              Call subroutine readmg() and pass back its return code as the function value.
                                                              +
                                                              recursive integer function ireadsb(lunit)
                                                              Call subroutine readsb() and pass back its return code as the function value.
                                                              +
                                                              recursive integer function i4dy(idate)
                                                              Convert a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year (YYYYMMDDHH) us...
                                                              Definition: s013vals.F90:1070
                                                              diff --git a/readwritemg_8F90.html b/readwritemg_8F90.html new file mode 100644 index 000000000..a6eefa503 --- /dev/null +++ b/readwritemg_8F90.html @@ -0,0 +1,1152 @@ + + + + + + + +NCEPLIBS-bufr: readwritemg.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              readwritemg.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Read or write a BUFR message. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions/Subroutines

                                                              recursive subroutine closmg (lunin)
                                                               Close the BUFR message that is currently open for writing within internal arrays associated with logical unit abs(lunin), then write the message to that logical unit. More...
                                                               
                                                              recursive subroutine cnved4 (msgin, lmsgot, msgot)
                                                               Convert a BUFR edition 3 message to BUFR edition 4. More...
                                                               
                                                              recursive subroutine getlens (mbay, ll, len0, len1, len2, len3, len4, len5)
                                                               Read the section lengths of a BUFR message, up to a specified point in the message. More...
                                                               
                                                              recursive integer function ifbget (lunit)
                                                               Check whether there are any more data subsets available to be read from a BUFR message. More...
                                                               
                                                              integer function igetmxby ()
                                                               Get the maximum length of a BUFR message that can be written to an output file by the NCEPLIBS-bufr software. More...
                                                               
                                                              recursive integer function ireadmg (lunit, subset, idate)
                                                               Call subroutine readmg() and pass back its return code as the function value. More...
                                                               
                                                              integer function lmsg (sec0)
                                                               Given a character string containing Section 0 from a BUFR message, determine the array size (in integers) needed to store the entire BUFR message. More...
                                                               
                                                              recursive subroutine maxout (maxo)
                                                               Specify the maximum length of a BUFR message that can be written to any output file by the NCEPLIBS-bufr software. More...
                                                               
                                                              logical function msgfull (msiz, itoadd, mxsiz)
                                                               Check whether the current data subset in the internal arrays will fit within the current BUFR message in the internal arrays, based on the prescribed maximum size of a BUFR message and the allowance of some extra "wiggle room" that may be needed later when writing out the message. More...
                                                               
                                                              subroutine msgini (lun)
                                                               Initialize, within the internal arrays, a new uncompressed BUFR message for output. More...
                                                               
                                                              subroutine msgwrt (lunit, mesg, mgbyt)
                                                               Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical unit. More...
                                                               
                                                              recursive integer function nmsub (lunit)
                                                               Get the total number of data subsets available within the BUFR message that was most recently opened for reading via a call to one of the message-reading subroutines for a specified Fortran logical unit. More...
                                                               
                                                              integer function nmwrd (mbay)
                                                               Given an integer array containing Section 0 from a BUFR message, determine the array size (in integers) needed to store the entire BUFR message. More...
                                                               
                                                              recursive subroutine openmb (lunit, subset, jdate)
                                                               Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lunit. More...
                                                               
                                                              recursive subroutine openmg (lunit, subset, jdate)
                                                               Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lunit. More...
                                                               
                                                              subroutine padmsg (mesg, lmesg, npbyt)
                                                               Pad a BUFR message with zeroed-out bytes from the end of the message up to the next 8-byte boundary. More...
                                                               
                                                              subroutine rdmsgw (lunit, mesg, iret)
                                                               Read the next BUFR message from logical unit lunit as an array of integer words. More...
                                                               
                                                              recursive subroutine readerme (mesg, lunit, subset, jdate, iret)
                                                               Read a BUFR message from a memory array. More...
                                                               
                                                              recursive subroutine readmg (lunxx, subset, jdate, iret)
                                                               Read the next BUFR message from logical unit abs(lunxx) into internal arrays. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Read or write a BUFR message.

                                                              +
                                                              Authors
                                                              J. Woollen, J. Ator
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition in file readwritemg.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ closmg()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive subroutine closmg (integer, intent(in) lunin)
                                                              +
                                                              + +

                                                              Close the BUFR message that is currently open for writing within internal arrays associated with logical unit abs(lunin), then write the message to that logical unit.

                                                              +

                                                              Logical unit abs(lunin) should have already been opened for output operations via a previous call to subroutine openbf().

                                                              +

                                                              If lunin < 0, then any message containing zero data subsets will not be written to logical unit abs(lunin) for the remainder of the life of the application program. This includes suppressing the writing of any "dummy" messages containing dump center and initiation times that normally appear in the first 2 messages of NCEP dump files.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunin- Absolute value is Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen, D. Keyser
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 532 of file readwritemg.F90.

                                                              + +

                                                              References bort(), moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_msglim::msglim, msgwrt(), moda_msgcwd::nmsg, moda_msgcwd::nsub, status(), wrcmps(), wtstat(), and x84().

                                                              + +

                                                              Referenced by closbf(), makestab(), openmb(), openmg(), and writsa().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ cnved4()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine cnved4 (integer, dimension(*), intent(in) msgin,
                                                              integer, intent(in) lmsgot,
                                                              integer, dimension(*), intent(out) msgot 
                                                              )
                                                              +
                                                              + +

                                                              Convert a BUFR edition 3 message to BUFR edition 4.

                                                              +

                                                              This subroutine reads an input BUFR message encoded using BUFR edition 3, then outputs an equivalent BUFR message encoded using BUFR edition 4.

                                                              +

                                                              This subroutine performs the same function as subroutine pkvs01() when the latter is called with s01mnem = 'BEN' and ival = 4, except that the latter subroutine operates on BUFR messages internally within the software, whereas this subroutine operates on a single BUFR message passed in via a memory array.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              msgin- BUFR message
                                                              lmsgot- Dimensioned size (in integers) of msgot; used by the subroutine to ensure that it doesn't overflow the msgot array
                                                              msgot- Copy of msgin encoded using BUFR edition 4
                                                              +
                                                              +
                                                              +
                                                              Remarks
                                                                +
                                                              • msgin and msgot must be separate arrays.
                                                              • +
                                                              • BUFR edition 4 messages are usually longer in length than their BUFR edition 3 counterparts, so it's usually a good idea to allow for extra space when allocating msgot within the application program.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 1292 of file readwritemg.F90.

                                                              + +

                                                              References bort(), getlens(), iupbs01(), mvb(), nmwrd(), pkb(), and x84().

                                                              + +

                                                              Referenced by msgwrt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ getlens()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine getlens (integer, dimension(*), intent(in) mbay,
                                                              integer, intent(in) ll,
                                                              integer, intent(out) len0,
                                                              integer, intent(out) len1,
                                                              integer, intent(out) len2,
                                                              integer, intent(out) len3,
                                                              integer, intent(out) len4,
                                                              integer, intent(out) len5 
                                                              )
                                                              +
                                                              + +

                                                              Read the section lengths of a BUFR message, up to a specified point in the message.

                                                              +

                                                              This subroutine will work on any BUFR message encoded using BUFR edition 2, 3, or 4.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + +
                                                              mbay- BUFR message
                                                              ll- Number of last section for which the length is to be read. In other words, setting ll = N means to read and return the lengths of Sections 0 through N (i.e. len0, len1,...,lenN). Any section lengths that are not specified to be read are returned with a default placeholder value of -1.
                                                              len0- Length (in bytes) of Section 0
                                                              len1- Length (in bytes) of Section 1
                                                              len2- Length (in bytes) of Section 2
                                                              len3- Length (in bytes) of Section 3
                                                              len4- Length (in bytes) of Section 4
                                                              len5- Length (in bytes) of Section 5
                                                              +
                                                              +
                                                              +
                                                              Remarks
                                                                +
                                                              • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of mbay.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 1212 of file readwritemg.F90.

                                                              + +

                                                              References iupb(), iupbs01(), x48(), and x84().

                                                              + +

                                                              Referenced by atrcpt(), cktaba(), cnved4(), copysb(), iupbs3(), msgwrt(), stbfdx(), stndrd(), upds3(), wrdxtb(), and writlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ifbget()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive integer function ifbget (integer, intent(in) lunit)
                                                              +
                                                              + +

                                                              Check whether there are any more data subsets available to be read from a BUFR message.

                                                              +

                                                              The message that will checked is the one that's currently open for reading via the most recent call to any of the message-reading subroutines for the specified Fortran logical unit.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ifbget - Return code:
                                                                +
                                                              • 0 = there's at least one more data subset to be read from the message
                                                              • +
                                                              • -1 = there are no more data subsets to be read from the message
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1401 of file readwritemg.F90.

                                                              + +

                                                              References bort(), moda_msgcwd::msub, moda_msgcwd::nsub, status(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ igetmxby()

                                                              + +
                                                              +
                                                              + + + + +
                                                              integer function igetmxby
                                                              +
                                                              + +

                                                              Get the maximum length of a BUFR message that can be written to an output file by the NCEPLIBS-bufr software.

                                                              +
                                                              Returns
                                                              igetmxby - Maximum length of a BUFR message that can be written to an output file by the NCEPLIBS-bufr software
                                                              +

                                                              This maximum length value can be changed at any time via a separate call to subroutine maxout().

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2016-06-27
                                                              + +

                                                              Definition at line 1034 of file readwritemg.F90.

                                                              + +

                                                              References moda_bitbuf::maxbyt.

                                                              + +

                                                              Referenced by bufr_c2f_interface::igetmxby_c().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive integer function ireadmg (integer, intent(in) lunit,
                                                              character*8, intent(out) subset,
                                                              integer, intent(out) idate 
                                                              )
                                                              +
                                                              + +

                                                              Call subroutine readmg() and pass back its return code as the function value.

                                                              +

                                                              The use of this function allows the return code from readmg() to be used as the target variable within an iterative program loop.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of BUFR message that was read (see DX BUFR Tables for further information about Table A mnemonics)
                                                              idate- Date-time stored within Section 1 of BUFR message that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ireadmg - Return code:
                                                                +
                                                              • 0 = new BUFR message was successfully read into internal arrays
                                                              • +
                                                              • -1 = there are no more BUFR messages in the file connected to logical unit lunit
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 143 of file readwritemg.F90.

                                                              + +

                                                              References readmg(), x48(), and x84().

                                                              + +

                                                              Referenced by binv(), bufr_c2f_interface::ireadmg_c(), readbp(), readmp(), split_by_subset(), and ufbtab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ lmsg()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer function lmsg (character*8, intent(in) sec0)
                                                              +
                                                              + +

                                                              Given a character string containing Section 0 from a BUFR message, determine the array size (in integers) needed to store the entire BUFR message.

                                                              +

                                                              This function is similar to function nmwrd(), except that it takes a character string as input rather than an integer array.

                                                              +
                                                              Parameters
                                                              + + +
                                                              sec0- Section 0 from a BUFR message
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              lmsg - Array size (in integers) needed to store entire BUFR message
                                                              +
                                                              Remarks
                                                                +
                                                              • In some cases, the value returned may be slightly larger than the minimum number of integers needed to store the entire BUFR message.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1176 of file readwritemg.F90.

                                                              + +

                                                              References nmwrd().

                                                              + +

                                                              Referenced by readerme().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ maxout()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive subroutine maxout (integer, intent(in) maxo)
                                                              +
                                                              + +

                                                              Specify the maximum length of a BUFR message that can be written to any output file by the NCEPLIBS-bufr software.

                                                              +

                                                              This subroutine can be called from within an application program at any time after the initial call to subroutine openbf(), and the specified value maxo will then be used for all future BUFR messages written by the software to all output files for the remainder of the program, unless another call is made to this same subroutine to reset the value of maxo again. Otherwise, if this subroutine is never called, a default maximum message length is used for all output files, as set via an initial internal call to subroutine bfrini().

                                                              +
                                                              Parameters
                                                              + + +
                                                              maxo- New maximum length (in bytes) for all BUFR messages written to all output files
                                                                +
                                                              • 0 = Set maxo to the maximum value allowed by the NCEPLIBS-bufr software
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Authors
                                                              J. Woollen, J. Ator
                                                              +
                                                              Date
                                                              2002-05-14
                                                              + +

                                                              Definition at line 974 of file readwritemg.F90.

                                                              + +

                                                              References errwrt(), moda_bitbuf::maxbyt, and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::maxout_c(), and split_by_subset().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgfull()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              logical function msgfull (integer, intent(in) msiz,
                                                              integer, intent(in) itoadd,
                                                              integer, intent(in) mxsiz 
                                                              )
                                                              +
                                                              + +

                                                              Check whether the current data subset in the internal arrays will fit within the current BUFR message in the internal arrays, based on the prescribed maximum size of a BUFR message and the allowance of some extra "wiggle room" that may be needed later when writing out the message.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              msiz- Size (in bytes) of current BUFR message
                                                              itoadd- Size (in bytes) of current data subset
                                                              mxsiz- Maximum size of a BUFR message
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              msgfull - Flag indicating whether the current data subset will fit within the current BUFR message
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-03-23
                                                              + +

                                                              Definition at line 917 of file readwritemg.F90.

                                                              + +

                                                              References moda_msgstd::csmf, and moda_tnkrcp::ctrt.

                                                              + +

                                                              Referenced by wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgini()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine msgini (integer, intent(in) lun)
                                                              +
                                                              + +

                                                              Initialize, within the internal arrays, a new uncompressed BUFR message for output.

                                                              +

                                                              Arrays are filled in common block msgptr and modules moda_msgcwd and moda_bitbuf.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lun- file ID
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 777 of file readwritemg.F90.

                                                              + +

                                                              References bort(), moda_msgcwd::idate, moda_msgcwd::inode, moda_ufbcpl::luncpy, moda_bitbuf::mbay, moda_bitbuf::mbyt, nemtab(), nemtba(), moda_msgcwd::nmsg, moda_msgcwd::nsub, pkb(), pkc(), and moda_tables::tag.

                                                              + +

                                                              Referenced by cpyupd(), msgupd(), openmb(), and openmg().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgwrt()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine msgwrt (integer, intent(in) lunit,
                                                              integer, dimension(*), intent(in) mesg,
                                                              integer, intent(in) mgbyt 
                                                              )
                                                              +
                                                              + +

                                                              Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical unit.

                                                              +

                                                              These final checks and updates include:

                                                                +
                                                              • Standardizing the BUFR message, if requested via a previous call subroutine stdmsg()
                                                              • +
                                                              • Converting the BUFR message from edition 3 to edition 4, if requested via a previous call to subroutine pkvs01()
                                                              • +
                                                              • Storing any customized values into Section 0 or Section 1 of the BUFR message, if requested via one or more previous calls to subroutine pkvs01()
                                                              • +
                                                              • Storing a tank receipt time into Section 1 of the BUFR message, if requested via a previous call to subroutine strcpt()
                                                              • +
                                                              • For edition 3 BUFR messages, ensuring each section of the message contains an even number of bytes
                                                              • +
                                                              • Storing '7777' into the last four bytes of the BUFR message, and storing the final message length in Section 0
                                                              • +
                                                              • Appending zeroed-out bytes after the end of the BUFR message, up to the next machine word boundary
                                                              • +
                                                              • Encapsulating the BUFR message with IEEE Fortran control words, if requested via a previous call to subroutine setblock()
                                                              • +
                                                              • Storing a copy of the final message into internal arrays for possible later retrival via subroutine writsa()
                                                              • +
                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              mesg- BUFR message
                                                              mgbyt- Size (in bytes) of BUFR message
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 597 of file readwritemg.F90.

                                                              + +

                                                              References atrcpt(), blocks(), bort(), moda_s01cm::cmnem, cnved4(), moda_msgstd::csmf, moda_tnkrcp::ctrt, errwrt(), getlens(), moda_s01cm::ivmnem, moda_mgwa::mgwa, moda_mgwb::mgwb, moda_bufrmg::msglen, moda_bufrmg::msgtxt, moda_s01cm::ns01v, moda_nulbfr::null, padmsg(), pkb(), pkbs1(), pkc(), status(), and stndrd().

                                                              + +

                                                              Referenced by closmg(), copybf(), copymg(), cpymem(), cpyupd(), msgupd(), wrcmps(), and wrdxtb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmsub()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive integer function nmsub (integer, intent(in) lunit)
                                                              +
                                                              + +

                                                              Get the total number of data subsets available within the BUFR message that was most recently opened for reading via a call to one of the message-reading subroutines for a specified Fortran logical unit.

                                                              +

                                                              The data subsets themselves do not need to have already been read via previous calls to any of the subset-reading subroutines.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              nmsub - Number of data subsets
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1094 of file readwritemg.F90.

                                                              + +

                                                              References bort(), moda_msgcwd::msub, status(), and x84().

                                                              + +

                                                              Referenced by binv(), split_by_subset(), ufbmns(), ufbtab(), and ufbtam().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nmwrd()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              integer function nmwrd (integer, dimension(*), intent(in) mbay)
                                                              +
                                                              + +

                                                              Given an integer array containing Section 0 from a BUFR message, determine the array size (in integers) needed to store the entire BUFR message.

                                                              +

                                                              This function is similar to function lmsg(), except that it takes an integer array as input rather than a character string.

                                                              +
                                                              Parameters
                                                              + + +
                                                              mbay- Section 0 from a BUFR message
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              nmwrd - Array size (in integers) needed to store entire BUFR message
                                                              +
                                                              Remarks
                                                                +
                                                              • In some cases, the value returned may be slightly larger than the minimum number of integers needed to store the entire BUFR message.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 1144 of file readwritemg.F90.

                                                              + +

                                                              References iupbs01().

                                                              + +

                                                              Referenced by cnved4(), lmsg(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openmb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine openmb (integer, intent(in) lunit,
                                                              character*(*), intent(in) subset,
                                                              integer, intent(in) jdate 
                                                              )
                                                              +
                                                              + +

                                                              Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lunit.

                                                              +

                                                              Logical unit lunit should have already been opened for output operations via a previous call to subroutine openbf().

                                                              +

                                                              This subroutine is similar to subroutine openmg(), except that it will only open a new message if either subset or jdate has changed since the previous call to this subroutine. Otherwise, it will leave the existing internal message unchanged so that the next data subset can be written into the same internal message, thereby improving overall storage efficiency by allowing the maximum number of data subsets to be stored within each output BUFR message. For this reason, openmb() is much more widely used than openmg().

                                                              +

                                                              If this subroutine does need to open and initialize a new BUFR message for output (e.g. if the value of subset or jdate has changed since the previous call to this subroutine), then any existing message within the internal arrays will be automatically flushed and written to logical unit lunit via an internal call to subroutine closmg(). In this case, the behavior of this subroutine then becomes exactly like that of subroutine openmg().

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of BUFR BUFR message to be opened (see DX BUFR Tables for further information about Table A mnemonics)
                                                              jdate- Date-time to be stored within Section 1 of BUFR message being opened, in format of either YYMMDDHH or YYYYMMDDHH
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 396 of file readwritemg.F90.

                                                              + +

                                                              References bort(), closmg(), i4dy(), moda_msgcwd::idate, moda_msgcwd::inode, msgini(), nemtba(), status(), usrtpl(), wtstat(), and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::openmb_c().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ openmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine openmg (integer, intent(in) lunit,
                                                              character*(*), intent(in) subset,
                                                              integer, intent(in) jdate 
                                                              )
                                                              +
                                                              + +

                                                              Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lunit.

                                                              +

                                                              Logical unit lunit should have already been opened for output operations via a previous call to subroutine openbf().

                                                              +

                                                              This subroutine is similar to subroutine openmb(), except that it will always open a new message for output, regardless of the values of subset and jdate. Any existing message within the internal arrays will be automatically flushed and written to logical unit lunit via an internal call to subroutine closmg().

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of BUFR message to be opened (see DX BUFR Tables for further information about Table A mnemonics)
                                                              jdate- Date-time to be stored within Section 1 of BUFR message being opened, in format of either YYMMDDHH or YYYYMMDDHH
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 468 of file readwritemg.F90.

                                                              + +

                                                              References bort(), closmg(), i4dy(), moda_msgcwd::idate, moda_msgcwd::inode, msgini(), nemtba(), status(), usrtpl(), wtstat(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ padmsg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine padmsg (integer, dimension(*), intent(inout) mesg,
                                                              integer, intent(in) lmesg,
                                                              integer, intent(out) npbyt 
                                                              )
                                                              +
                                                              + +

                                                              Pad a BUFR message with zeroed-out bytes from the end of the message up to the next 8-byte boundary.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              mesg- BUFR message:
                                                                +
                                                              • on input, contains BUFR message to be padded
                                                              • +
                                                              • on output, contains BUFR message with npbyt zeroed-out bytes appended to the end
                                                              • +
                                                              +
                                                              lmesg- Dimensioned size (in integer words) of mesg; used by the subroutine to ensure that it does not overflow the mesg array
                                                              npbyt- Number of zeroed-out bytes appended to mesg
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 1055 of file readwritemg.F90.

                                                              + +

                                                              References bort(), and pkb().

                                                              + +

                                                              Referenced by msgwrt().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ rdmsgw()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine rdmsgw (integer, intent(in) lunit,
                                                              integer, dimension(*), intent(out) mesg,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next BUFR message from logical unit lunit as an array of integer words.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file.
                                                              mesg- BUFR message.
                                                              iret- return code:
                                                                +
                                                              • 0 normal return.
                                                              • +
                                                              • -1 end-of-file encountered while reading from lunit.
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2005-11-29
                                                              + +

                                                              Definition at line 344 of file readwritemg.F90.

                                                              + +

                                                              References errwrt(), and status().

                                                              + +

                                                              Referenced by copybf(), cpdxmm(), datebf(), dumpbf(), mesgbc(), mesgbf(), posapx(), rdbfdx(), readmg(), ufbmem(), and ufbmex().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readerme()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine readerme (integer, dimension(*), intent(in) mesg,
                                                              integer, intent(in) lunit,
                                                              character*8, intent(out) subset,
                                                              integer, intent(out) jdate,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read a BUFR message from a memory array.

                                                              +

                                                              This subroutine is similar to subroutine readmg(), except that it reads a BUFR message from an array passed as input, whereas readmg() reads a BUFR message from a file on the local system.

                                                              +

                                                              This subroutine can be used in any context in which readmg() might otherwise be used, and from that point on, the application program can proceed with a call to one of the subset-reading subroutines (and then, subsequently, to any of the values-reading subroutines).

                                                              +

                                                              When using this subroutine, it's necessary for the application program to have previously called subroutine openbf() in order to associate a DX BUFR tables file with the message that is being input via mesg; it's also necessary to pass in the relevant lunit value as a call argument, even though in this case the subroutine will not actually try to read from the associated Fortran logical unit.

                                                              +

                                                              If mesg contains a DX BUFR table message, the subroutine will store the contents internally and use them to process any future BUFR messages associated with lunit. In this case, the subroutine will return with iret = 11, and any number of DX BUFR table messages passed in via consecutive calls to this subroutine will accumulate internally and be treated as a single DX BUFR table, up until a call is made where mesg no longer contains a DX BUFR table message.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              mesg- BUFR message
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of BUFR message that was read (see DX BUFR Tables or further information about Table A mnemonics)
                                                              jdate- Date-time stored within Section 1 of BUFR message that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                                              iret- return code:
                                                                +
                                                              • 0 mesg was successfully read
                                                              • +
                                                              • 11 mesg contained a DX BUFR table message
                                                              • +
                                                              • -1 mesg contained an unrecognized Table A message type
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Authors
                                                              J. Woollen J. Ator
                                                              +
                                                              Date
                                                              1995-06-28
                                                              + +

                                                              Definition at line 216 of file readwritemg.F90.

                                                              + +

                                                              References bort(), cktaba(), dxinit(), errwrt(), moda_idrdm::idrdm, idxmsg(), moda_sc3bfr::isc3, iupbs3(), lmsg(), makestab(), moda_bitbuf::mbay, reads3(), status(), stbfdx(), wtstat(), x48(), and x84().

                                                              + +

                                                              Referenced by fdebufr_c().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readmg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine readmg (integer, intent(in) lunxx,
                                                              character*8, intent(out) subset,
                                                              integer, intent(out) jdate,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next BUFR message from logical unit abs(lunxx) into internal arrays.

                                                              +

                                                              Logical unit abs(lunxx) should have already been opened for input operations via a previous call to subroutine openbf().

                                                              +

                                                              Whenever this subroutine returns with iret = 0, this indicates that a new BUFR message of type subset and date-time jdate was successfully read into internal arrays within the NCEPLIBS-bufr software, and from where it can then be easily manipulated or further parsed via a call to one of the subset-reading subroutines. Otherwise, if the subroutine returns with iret = -1, then this indicates that there are no more BUFR messages (i.e. end-of-file) within the file connected to logical unit abs(lunxx).

                                                              +
                                                              Remarks
                                                                +
                                                              • Any DX BUFR table messages encountered within abs(lunxx) will be automatically processed and stored internally, so a successful return from this subroutine will always result in a BUFR message containing actual data values within the internal arrays.
                                                              • +
                                                              • In prior versions of the NCEPLIBS-bufr software, an input value of lunxx < 0 was an indicator to the subroutine to treat any read error from abs(lunxx) the same as an end-of-file condition. This option is no longer supported, but the capability to call this subroutine with lunxx < 0 is itself still supported for backwards-compatibility with certain legacy application programs.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunxx- Absolute value is Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of BUFR message that was read (see DX BUFR Tables for further information about Table A mnemonics)
                                                              jdate- Date-time stored within Section 1 of BUFR message that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                                              iret- return code
                                                                +
                                                              • 0 = new BUFR message was successfully read into internal arrays
                                                              • +
                                                              • -1 = there are no more BUFR messages in the file connected to logical unit abs(lunxx)
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Authors
                                                              J. Woollen, J. Ator
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 43 of file readwritemg.F90.

                                                              + +

                                                              References bort(), cktaba(), errwrt(), moda_msgcwd::idate, idxmsg(), moda_msgcwd::inode, moda_sc3bfr::isc3, moda_bitbuf::mbay, rdbfdx(), rdmsgw(), reads3(), status(), wtstat(), x48(), and x84().

                                                              + +

                                                              Referenced by cmpbqm(), ireadmg(), rdmgsb(), readns(), rewnbf(), sinv(), ufbinx(), and ufbpos().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/readwritemg_8F90.js b/readwritemg_8F90.js new file mode 100644 index 000000000..ae87bc459 --- /dev/null +++ b/readwritemg_8F90.js @@ -0,0 +1,22 @@ +var readwritemg_8F90 = +[ + [ "closmg", "readwritemg_8F90.html#a63b37b74d9833df9d99e3937a2fa293a", null ], + [ "cnved4", "readwritemg_8F90.html#adc65969dd9c1cedbab0425827e241963", null ], + [ "getlens", "readwritemg_8F90.html#ab6c6c3d1925977e2c4013b3da342dc37", null ], + [ "ifbget", "readwritemg_8F90.html#abb1acb6092b6e1f49737498c1f76f0d0", null ], + [ "igetmxby", "readwritemg_8F90.html#a87f1117bcbbc713c95bdca6f1bb1214c", null ], + [ "ireadmg", "readwritemg_8F90.html#ae023a7cc381f488ac7669dc3e3ee8236", null ], + [ "lmsg", "readwritemg_8F90.html#a44d876e69afb2688f364d8bdd0ca2400", null ], + [ "maxout", "readwritemg_8F90.html#a1c8cdc47f69010cd4eaa20710e28f53d", null ], + [ "msgfull", "readwritemg_8F90.html#a47d4a63b5e7276a90eee0ce83237cb60", null ], + [ "msgini", "readwritemg_8F90.html#ae5477034329440d4127a5243305b81e4", null ], + [ "msgwrt", "readwritemg_8F90.html#af49a08bdf36b69217da7571dcfc90624", null ], + [ "nmsub", "readwritemg_8F90.html#a7430cdcec381d86f72a4b60a6a7db982", null ], + [ "nmwrd", "readwritemg_8F90.html#a7c7234f006ddb78fb82844c95b608002", null ], + [ "openmb", "readwritemg_8F90.html#a5edbefade4e7194e4dd3ee42f394034b", null ], + [ "openmg", "readwritemg_8F90.html#a493ce59c1a2976e9714c2d9b283bdb11", null ], + [ "padmsg", "readwritemg_8F90.html#a127f4e4664445595654494dea28d7d8f", null ], + [ "rdmsgw", "readwritemg_8F90.html#ac23041847910e299fa2c89962597a312", null ], + [ "readerme", "readwritemg_8F90.html#aa2a7bf49cad422b474a24edd3a1cb232", null ], + [ "readmg", "readwritemg_8F90.html#aad947e23951efbcba54930d6f309e0a8", null ] +]; \ No newline at end of file diff --git a/readwritemg_8F90_source.html b/readwritemg_8F90_source.html new file mode 100644 index 000000000..f8f6aa1e3 --- /dev/null +++ b/readwritemg_8F90_source.html @@ -0,0 +1,1292 @@ + + + + + + + +NCEPLIBS-bufr: readwritemg.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              readwritemg.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              43 recursive subroutine readmg(lunxx,subset,jdate,iret)
                                                              +
                                                              44 
                                                              +
                                                              45  use bufrlib
                                                              +
                                                              46 
                                                              +
                                                              47  use modv_vars, only: im8b
                                                              +
                                                              48 
                                                              +
                                                              49  use moda_msgcwd
                                                              +
                                                              50  use moda_sc3bfr
                                                              +
                                                              51  use moda_bitbuf
                                                              +
                                                              52 
                                                              +
                                                              53  implicit none
                                                              +
                                                              54 
                                                              +
                                                              55  integer, intent(in) :: lunxx
                                                              +
                                                              56  integer, intent(out) :: jdate, iret
                                                              +
                                                              57  integer iprt, my_lunxx, lunit, lun, il, im, ier, idxmsg
                                                              +
                                                              58 
                                                              +
                                                              59  character*8, intent(out) :: subset
                                                              +
                                                              60  character*128 errstr
                                                              +
                                                              61 
                                                              +
                                                              62  common /quiet/ iprt
                                                              +
                                                              63 
                                                              +
                                                              64  ! Check for I8 integers
                                                              +
                                                              65 
                                                              +
                                                              66  if(im8b) then
                                                              +
                                                              67  im8b=.false.
                                                              +
                                                              68 
                                                              +
                                                              69  call x84(lunxx,my_lunxx,1)
                                                              +
                                                              70  call readmg(my_lunxx,subset,jdate,iret)
                                                              +
                                                              71  call x48(jdate,jdate,1)
                                                              +
                                                              72  call x48(iret,iret,1)
                                                              +
                                                              73 
                                                              +
                                                              74  im8b=.true.
                                                              +
                                                              75  return
                                                              +
                                                              76  endif
                                                              +
                                                              77 
                                                              +
                                                              78  iret = 0
                                                              +
                                                              79  lunit = abs(lunxx)
                                                              +
                                                              80 
                                                              +
                                                              81  ! Check the file status
                                                              +
                                                              82 
                                                              +
                                                              83  call status(lunit,lun,il,im)
                                                              +
                                                              84  if(il==0) call bort('BUFRLIB: READMG - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              85  if(il>0) call bort('BUFRLIB: READMG - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              86  call wtstat(lunit,lun,il,1)
                                                              +
                                                              87 
                                                              +
                                                              88  ! Read a message into the internal message buffer
                                                              +
                                                              89 
                                                              +
                                                              90  do while (.true.)
                                                              +
                                                              91  call rdmsgw(lunit,mbay(1,lun),ier)
                                                              +
                                                              92  if(ier==-1) then
                                                              +
                                                              93  ! EOF on attempted read
                                                              +
                                                              94  call wtstat(lunit,lun,il,0)
                                                              +
                                                              95  inode(lun) = 0
                                                              +
                                                              96  idate(lun) = 0
                                                              +
                                                              97  subset = ' '
                                                              +
                                                              98  jdate = 0
                                                              +
                                                              99  iret = -1
                                                              +
                                                              100  return
                                                              +
                                                              101  endif
                                                              +
                                                              102 
                                                              +
                                                              103  ! Parse the message section contents
                                                              +
                                                              104  if(isc3(lun)/=0) call reads3(lun)
                                                              +
                                                              105  call cktaba(lun,subset,jdate,iret)
                                                              +
                                                              106 
                                                              +
                                                              107  ! Check for a dictionary message
                                                              +
                                                              108  if(idxmsg(mbay(1,lun))/=1) return
                                                              +
                                                              109 
                                                              +
                                                              110  ! This is an internal dictionary message that was generated by the NCEPLIBS-bufr software.
                                                              +
                                                              111  if(isc3(lun)/=0) return
                                                              +
                                                              112 
                                                              +
                                                              113  ! Section 3 decoding isn't being used, so backspace the file pointer and then use subroutine rdbfdx() to read in
                                                              +
                                                              114  ! all such dictionary messages (they should be stored consecutively!) and reset the internal tables.
                                                              +
                                                              115  call backbufr_c(lun)
                                                              +
                                                              116  call rdbfdx(lunit,lun)
                                                              +
                                                              117  if(iprt>=1) then
                                                              +
                                                              118  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              119  errstr = 'BUFRLIB: READMG - INTERNAL DICTIONARY MESSAGE READ; ACCOUNT FOR IT THEN READ IN NEXT MESSAGE WITHOUT RETURNING'
                                                              +
                                                              120  call errwrt(errstr)
                                                              +
                                                              121  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              122  call errwrt(' ')
                                                              +
                                                              123  endif
                                                              +
                                                              124  enddo
                                                              +
                                                              125 
                                                              +
                                                              126 end subroutine readmg
                                                              +
                                                              127 
                                                              +
                                                              143 recursive integer function ireadmg(lunit,subset,idate) result(iret)
                                                              +
                                                              144 
                                                              +
                                                              145  use modv_vars, only: im8b
                                                              +
                                                              146 
                                                              +
                                                              147  implicit none
                                                              +
                                                              148 
                                                              +
                                                              149  integer, intent(in) :: lunit
                                                              +
                                                              150  integer, intent(out) :: idate
                                                              +
                                                              151  integer my_lunit
                                                              +
                                                              152 
                                                              +
                                                              153  character*8, intent(out) :: subset
                                                              +
                                                              154 
                                                              +
                                                              155  ! Check for I8 integers
                                                              +
                                                              156 
                                                              +
                                                              157  if(im8b) then
                                                              +
                                                              158  im8b=.false.
                                                              +
                                                              159 
                                                              +
                                                              160  call x84(lunit,my_lunit,1)
                                                              +
                                                              161  iret=ireadmg(my_lunit,subset,idate)
                                                              +
                                                              162  call x48(idate,idate,1)
                                                              +
                                                              163 
                                                              +
                                                              164  im8b=.true.
                                                              +
                                                              165  return
                                                              +
                                                              166  endif
                                                              +
                                                              167 
                                                              +
                                                              168  call readmg(lunit,subset,idate,iret)
                                                              +
                                                              169 
                                                              +
                                                              170  return
                                                              +
                                                              171 end function ireadmg
                                                              +
                                                              172 
                                                              +
                                                              216 recursive subroutine readerme(mesg,lunit,subset,jdate,iret)
                                                              +
                                                              217 
                                                              +
                                                              218  use modv_vars, only: mxmsgl, im8b, nbytw
                                                              +
                                                              219 
                                                              +
                                                              220  use moda_sc3bfr
                                                              +
                                                              221  use moda_idrdm
                                                              +
                                                              222  use moda_bitbuf
                                                              +
                                                              223 
                                                              +
                                                              224  implicit none
                                                              +
                                                              225 
                                                              +
                                                              226  integer, intent(in) :: lunit, mesg(*)
                                                              +
                                                              227  integer, intent(out) :: jdate, iret
                                                              +
                                                              228  integer iprt, my_lunit, iec0(2), lun, il, im, ii, lnmsg, lmsg, idxmsg, iupbs3
                                                              +
                                                              229 
                                                              +
                                                              230  character*8, intent(out) :: subset
                                                              +
                                                              231  character*8 sec0
                                                              +
                                                              232  character*128 errstr, bort_str
                                                              +
                                                              233 
                                                              +
                                                              234  logical endtbl
                                                              +
                                                              235 
                                                              +
                                                              236  equivalence(sec0,iec0)
                                                              +
                                                              237 
                                                              +
                                                              238  common /quiet/ iprt
                                                              +
                                                              239 
                                                              +
                                                              240  ! Check for I8 integers
                                                              +
                                                              241 
                                                              +
                                                              242  if(im8b) then
                                                              +
                                                              243  im8b=.false.
                                                              +
                                                              244 
                                                              +
                                                              245  call x84(lunit,my_lunit,1)
                                                              +
                                                              246  call readerme(mesg,my_lunit,subset,jdate,iret)
                                                              +
                                                              247  call x48(jdate,jdate,1)
                                                              +
                                                              248  call x48(iret,iret,1)
                                                              +
                                                              249 
                                                              +
                                                              250  im8b=.true.
                                                              +
                                                              251  return
                                                              +
                                                              252  endif
                                                              +
                                                              253 
                                                              +
                                                              254  iret = 0
                                                              +
                                                              255 
                                                              +
                                                              256  ! Check the file status
                                                              +
                                                              257 
                                                              +
                                                              258  call status(lunit,lun,il,im)
                                                              +
                                                              259  if(il==0) call bort('BUFRLIB: READERME - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              260  if(il>0) call bort('BUFRLIB: READERME - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              261  call wtstat(lunit,lun,il, 1)
                                                              +
                                                              262 
                                                              +
                                                              263  ! Copy the input message into the internal message buffer
                                                              +
                                                              264 
                                                              +
                                                              265  iec0(1) = mesg(1)
                                                              +
                                                              266  iec0(2) = mesg(2)
                                                              +
                                                              267  lnmsg = lmsg(sec0)
                                                              +
                                                              268  if(lnmsg*nbytw>mxmsgl) then
                                                              +
                                                              269  write(bort_str,'("BUFRLIB: READERME - INPUT BUFR MESSAGE LENGTH",1X,I6," BYTES) IS LARGER THAN '// &
                                                              +
                                                              270  'LIMIT OF ",I6," BYTES")') lnmsg*nbytw, mxmsgl
                                                              +
                                                              271  call bort(bort_str)
                                                              +
                                                              272  endif
                                                              +
                                                              273  do ii=1,lnmsg
                                                              +
                                                              274  mbay(ii,lun) = mesg(ii)
                                                              +
                                                              275  enddo
                                                              +
                                                              276 
                                                              +
                                                              277  ! Confirm that the first 4 bytes of SEC0 contain 'BUFR'.
                                                              +
                                                              278 
                                                              +
                                                              279  if(sec0(1:4)/='BUFR') &
                                                              +
                                                              280  call bort('BUFRLIB: READERME - FIRST 4 BYTES READ FROM RECORD NOT "BUFR", DOES NOT CONTAIN BUFR DATA')
                                                              +
                                                              281 
                                                              +
                                                              282  ! Parse the message section contents
                                                              +
                                                              283 
                                                              +
                                                              284  if(isc3(lun)/=0) call reads3(lun)
                                                              +
                                                              285  call cktaba(lun,subset,jdate,iret)
                                                              +
                                                              286  if(isc3(lun)/=0) return
                                                              +
                                                              287 
                                                              +
                                                              288  ! Check for a DX dictionary message
                                                              +
                                                              289 
                                                              +
                                                              290  ! A new DX dictionary table can be passed in as a consecutive set of DX dictionary messages. Each message should be passed
                                                              +
                                                              291  ! in one at a time, via input argument mesg during consecutive calls to this subroutine, and all such messages will be
                                                              +
                                                              292  ! treated as a single dictionary table up until the next message is passed in which either contains no data subsets or
                                                              +
                                                              293  ! else is a non-DX dictionary message.
                                                              +
                                                              294 
                                                              +
                                                              295  endtbl = .false.
                                                              +
                                                              296  if(idxmsg(mbay(1,lun))==1) then
                                                              +
                                                              297  ! This is a DX dictionary message that was generated by the NCEPLIBS-bufr software.
                                                              +
                                                              298  if(iupbs3(mbay(1,lun),'NSUB')==0) then
                                                              +
                                                              299  ! But it doesn't contain any actual dictionary information, so assume we've reached the end of the dictionary table.
                                                              +
                                                              300  if(idrdm(lun)>0) then
                                                              +
                                                              301  endtbl = .true.
                                                              +
                                                              302  endif
                                                              +
                                                              303  else
                                                              +
                                                              304  if(idrdm(lun)==0) then
                                                              +
                                                              305  ! This is the first DX dictionary message that is part of a new dictionary table.
                                                              +
                                                              306  call dxinit(lun,0)
                                                              +
                                                              307  endif
                                                              +
                                                              308  idrdm(lun) = idrdm(lun) + 1
                                                              +
                                                              309  call stbfdx(lun,mbay(1,lun))
                                                              +
                                                              310  endif
                                                              +
                                                              311  else if(idrdm(lun)>0) then
                                                              +
                                                              312  ! This is the first non-DX dictionary message received following a string of DX dictionary messages, so assume we've
                                                              +
                                                              313  ! reached the end of the dictionary table.
                                                              +
                                                              314  endtbl = .true.
                                                              +
                                                              315  endif
                                                              +
                                                              316 
                                                              +
                                                              317  if(endtbl) then
                                                              +
                                                              318  if ( iprt >= 2 ) then
                                                              +
                                                              319  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                                              +
                                                              320  write ( unit=errstr, fmt='(A,I3,A)' ) &
                                                              +
                                                              321  'BUFRLIB: READERME - STORED NEW DX TABLE CONSISTING OF (', idrdm(lun), ') MESSAGES;'
                                                              +
                                                              322  call errwrt(errstr)
                                                              +
                                                              323  errstr = 'WILL APPLY THIS TABLE TO ALL SUBSEQUENT DATA MESSAGES UNTIL NEXT DX TABLE IS PASSED IN'
                                                              +
                                                              324  call errwrt(errstr)
                                                              +
                                                              325  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                                              +
                                                              326  call errwrt(' ')
                                                              +
                                                              327  endif
                                                              +
                                                              328  idrdm(lun) = 0
                                                              +
                                                              329  call makestab
                                                              +
                                                              330  endif
                                                              +
                                                              331 
                                                              +
                                                              332  return
                                                              +
                                                              333 end subroutine readerme
                                                              +
                                                              334 
                                                              +
                                                              344 subroutine rdmsgw(lunit,mesg,iret)
                                                              +
                                                              345 
                                                              +
                                                              346  use bufrlib
                                                              +
                                                              347 
                                                              +
                                                              348  use modv_vars, only: mxmsgld4
                                                              +
                                                              349 
                                                              +
                                                              350  implicit none
                                                              +
                                                              351 
                                                              +
                                                              352  integer, intent(in) :: lunit
                                                              +
                                                              353  integer, intent(out) :: mesg(*), iret
                                                              +
                                                              354  integer lun, il, im
                                                              +
                                                              355 
                                                              +
                                                              356  call status(lunit,lun,il,im)
                                                              +
                                                              357  iret = -2
                                                              +
                                                              358  do while (iret<=-2)
                                                              +
                                                              359  iret = crdbufr_c(lun,mesg,mxmsgld4)
                                                              +
                                                              360  if(iret==-3) call errwrt('BUFRLIB: RDMSGW - SKIPPING OVERLARGE MESSAGE')
                                                              +
                                                              361  if(iret==-2) call errwrt('BUFRLIB: RDMSGW - SKIPPING CORRUPTED MESSAGE')
                                                              +
                                                              362  end do
                                                              +
                                                              363 
                                                              +
                                                              364  return
                                                              +
                                                              365 end subroutine rdmsgw
                                                              +
                                                              366 
                                                              +
                                                              396 recursive subroutine openmb(lunit,subset,jdate)
                                                              +
                                                              397 
                                                              +
                                                              398  use modv_vars, only: im8b
                                                              +
                                                              399 
                                                              +
                                                              400  use moda_msgcwd
                                                              +
                                                              401 
                                                              +
                                                              402  implicit none
                                                              +
                                                              403 
                                                              +
                                                              404  integer, intent(in) :: lunit, jdate
                                                              +
                                                              405  integer my_lunit, my_jdate, lun, il, im, mtyp, mstb, inod, i4dy
                                                              +
                                                              406 
                                                              +
                                                              407  character*(*), intent(in) :: subset
                                                              +
                                                              408 
                                                              +
                                                              409  logical open
                                                              +
                                                              410 
                                                              +
                                                              411  ! Check for I8 integers
                                                              +
                                                              412 
                                                              +
                                                              413  if(im8b) then
                                                              +
                                                              414  im8b=.false.
                                                              +
                                                              415 
                                                              +
                                                              416  call x84(lunit,my_lunit,1)
                                                              +
                                                              417  call x84(jdate,my_jdate,1)
                                                              +
                                                              418  call openmb(my_lunit,subset,my_jdate)
                                                              +
                                                              419 
                                                              +
                                                              420  im8b=.true.
                                                              +
                                                              421  return
                                                              +
                                                              422  endif
                                                              +
                                                              423 
                                                              +
                                                              424  ! Check the file status
                                                              +
                                                              425 
                                                              +
                                                              426  call status(lunit,lun,il,im)
                                                              +
                                                              427  if(il==0) call bort('BUFRLIB: OPENMB - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              428  if(il<0) call bort('BUFRLIB: OPENMB - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              429 
                                                              +
                                                              430  ! Get some subset particulars
                                                              +
                                                              431 
                                                              +
                                                              432  call nemtba(lun,subset,mtyp,mstb,inod)
                                                              +
                                                              433  open = im==0 .or. inod/=inode(lun) .or. i4dy(jdate)/=idate(lun)
                                                              +
                                                              434 
                                                              +
                                                              435  ! Maybe(?) open a new or different type of message
                                                              +
                                                              436 
                                                              +
                                                              437  if(open) then
                                                              +
                                                              438  call closmg(lunit)
                                                              +
                                                              439  call wtstat(lunit,lun,il, 1)
                                                              +
                                                              440  inode(lun) = inod
                                                              +
                                                              441  idate(lun) = i4dy(jdate)
                                                              +
                                                              442  ! Initialize the open message
                                                              +
                                                              443  call msgini(lun)
                                                              +
                                                              444  call usrtpl(lun,1,1)
                                                              +
                                                              445  endif
                                                              +
                                                              446 
                                                              +
                                                              447  return
                                                              +
                                                              448 end subroutine openmb
                                                              +
                                                              449 
                                                              +
                                                              468 recursive subroutine openmg(lunit,subset,jdate)
                                                              +
                                                              469 
                                                              +
                                                              470  use modv_vars, only: im8b
                                                              +
                                                              471 
                                                              +
                                                              472  use moda_msgcwd
                                                              +
                                                              473 
                                                              +
                                                              474  implicit none
                                                              +
                                                              475 
                                                              +
                                                              476  integer, intent(in) :: lunit, jdate
                                                              +
                                                              477  integer my_lunit, my_jdate, lun, il, im, mtyp, mstb, inod, i4dy
                                                              +
                                                              478 
                                                              +
                                                              479  character*(*), intent(in) :: subset
                                                              +
                                                              480 
                                                              +
                                                              481  ! Check for I8 integers
                                                              +
                                                              482 
                                                              +
                                                              483  if(im8b) then
                                                              +
                                                              484  im8b=.false.
                                                              +
                                                              485 
                                                              +
                                                              486  call x84(lunit,my_lunit,1)
                                                              +
                                                              487  call x84(jdate,my_jdate,1)
                                                              +
                                                              488  call openmg(my_lunit,subset,my_jdate)
                                                              +
                                                              489 
                                                              +
                                                              490  im8b=.true.
                                                              +
                                                              491  return
                                                              +
                                                              492  endif
                                                              +
                                                              493 
                                                              +
                                                              494  ! Check the file status
                                                              +
                                                              495 
                                                              +
                                                              496  call status(lunit,lun,il,im)
                                                              +
                                                              497  if(il==0) call bort('BUFRLIB: OPENMG - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              498  if(il<0) call bort('BUFRLIB: OPENMG - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              499  if(im/=0) call closmg(lunit)
                                                              +
                                                              500  call wtstat(lunit,lun,il, 1)
                                                              +
                                                              501 
                                                              +
                                                              502  ! Get some subset particulars
                                                              +
                                                              503 
                                                              +
                                                              504  call nemtba(lun,subset,mtyp,mstb,inod)
                                                              +
                                                              505  inode(lun) = inod
                                                              +
                                                              506  idate(lun) = i4dy(jdate)
                                                              +
                                                              507 
                                                              +
                                                              508  ! Initialize the open message
                                                              +
                                                              509 
                                                              +
                                                              510  call msgini(lun)
                                                              +
                                                              511  call usrtpl(lun,1,1)
                                                              +
                                                              512 
                                                              +
                                                              513  return
                                                              +
                                                              514 end subroutine openmg
                                                              +
                                                              515 
                                                              +
                                                              532 recursive subroutine closmg(lunin)
                                                              +
                                                              533 
                                                              +
                                                              534  use modv_vars, only: im8b
                                                              +
                                                              535 
                                                              +
                                                              536  use moda_msgcwd
                                                              +
                                                              537  use moda_msglim
                                                              +
                                                              538  use moda_bitbuf
                                                              +
                                                              539 
                                                              +
                                                              540  implicit none
                                                              +
                                                              541 
                                                              +
                                                              542  integer, intent(in) :: lunin
                                                              +
                                                              543  integer my_lunin, lunit, lun, il, im
                                                              +
                                                              544 
                                                              +
                                                              545  ! Check for I8 integers
                                                              +
                                                              546 
                                                              +
                                                              547  if(im8b) then
                                                              +
                                                              548  im8b=.false.
                                                              +
                                                              549 
                                                              +
                                                              550  call x84(lunin,my_lunin,1)
                                                              +
                                                              551  call closmg(my_lunin)
                                                              +
                                                              552 
                                                              +
                                                              553  im8b=.true.
                                                              +
                                                              554  return
                                                              +
                                                              555  endif
                                                              +
                                                              556 
                                                              +
                                                              557  ! Check the file status
                                                              +
                                                              558 
                                                              +
                                                              559  lunit = abs(lunin)
                                                              +
                                                              560  call status(lunit,lun,il,im)
                                                              +
                                                              561  if(lunit/=lunin) msglim(lun) = 0
                                                              +
                                                              562  if(il==0) call bort('BUFRLIB: CLOSMG - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              563  if(il<0) call bort('BUFRLIB: CLOSMG - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              564  if(im/=0) then
                                                              +
                                                              565  if(nsub(lun)>0) then
                                                              +
                                                              566  call msgwrt(lunit,mbay(1,lun),mbyt(lun))
                                                              +
                                                              567  else if(nsub(lun)==0.and.nmsg(lun)<msglim(lun)) then
                                                              +
                                                              568  call msgwrt(lunit,mbay(1,lun),mbyt(lun))
                                                              +
                                                              569  else if(nsub(lun)<0) then
                                                              +
                                                              570  call wrcmps(-lunit)
                                                              +
                                                              571  endif
                                                              +
                                                              572  endif
                                                              +
                                                              573  call wtstat(lunit,lun,il,0)
                                                              +
                                                              574 
                                                              +
                                                              575  return
                                                              +
                                                              576 end subroutine closmg
                                                              +
                                                              577 
                                                              +
                                                              597 subroutine msgwrt(lunit,mesg,mgbyt)
                                                              +
                                                              598 
                                                              +
                                                              599  use bufrlib
                                                              +
                                                              600 
                                                              +
                                                              601  use modv_vars, only: mxmsgld4
                                                              +
                                                              602 
                                                              +
                                                              603  use moda_nulbfr
                                                              +
                                                              604  use moda_bufrmg
                                                              +
                                                              605  use moda_mgwa
                                                              +
                                                              606  use moda_mgwb
                                                              +
                                                              607  use moda_s01cm
                                                              +
                                                              608  use moda_tnkrcp
                                                              +
                                                              609  use moda_msgstd
                                                              +
                                                              610 
                                                              +
                                                              611  implicit none
                                                              +
                                                              612 
                                                              +
                                                              613  integer, intent(in) :: lunit, mgbyt, mesg(*)
                                                              +
                                                              614  integer iprt, iec0(2), mbyt, ibit, kbit, ii, jj, len0, len1, len2, len3, len4, l5, iad4, iad5, lun, il, im, npbyt, mwrd, &
                                                              +
                                                              615  nmwrd, iupbs01, idxmsg
                                                              +
                                                              616 
                                                              +
                                                              617  character*128 errstr
                                                              +
                                                              618  character*4 bufr, sevn
                                                              +
                                                              619 
                                                              +
                                                              620  common /quiet/ iprt
                                                              +
                                                              621 
                                                              +
                                                              622  data bufr /'BUFR'/
                                                              +
                                                              623  data sevn /'7777'/
                                                              +
                                                              624 
                                                              +
                                                              625  ! Make a local copy of the input message for use within this subroutine, since internal calls to any or all of the
                                                              +
                                                              626  ! subroutines stndrd(), cnved4(), pkbs1(), atrcpt(), etc. may end up modifying the message before it finally gets
                                                              +
                                                              627  ! written out to lunit.
                                                              +
                                                              628 
                                                              +
                                                              629  mbyt = mgbyt
                                                              +
                                                              630 
                                                              +
                                                              631  iec0(1) = mesg(1)
                                                              +
                                                              632  iec0(2) = mesg(2)
                                                              +
                                                              633  ibit = 32
                                                              +
                                                              634  call pkb(mbyt,24,iec0,ibit)
                                                              +
                                                              635 
                                                              +
                                                              636  do ii = 1, nmwrd(iec0)
                                                              +
                                                              637  mgwa(ii) = mesg(ii)
                                                              +
                                                              638  enddo
                                                              +
                                                              639 
                                                              +
                                                              640  ! Overwrite any values within Section 0 or Section 1 that were requested via previous calls to pkvs01(). If a request
                                                              +
                                                              641  ! was made to change the BUFR edition number to 4, then actually convert the message as well.
                                                              +
                                                              642 
                                                              +
                                                              643  if(ns01v>0) then
                                                              +
                                                              644  do jj=1,ns01v
                                                              +
                                                              645  if(cmnem(jj)=='BEN') then
                                                              +
                                                              646  if(ivmnem(jj)==4) then
                                                              +
                                                              647  ! Install Section 0 byte count for use by cnved4()
                                                              +
                                                              648  ibit = 32
                                                              +
                                                              649  call pkb(mbyt,24,mgwa,ibit)
                                                              +
                                                              650  call cnved4(mgwa,mxmsgld4,mgwb)
                                                              +
                                                              651  ! Compute mbyt for the new edition 4 message
                                                              +
                                                              652  mbyt = iupbs01(mgwb,'LENM')
                                                              +
                                                              653  ! Copy the mgwb array back into mgwa
                                                              +
                                                              654  do ii = 1, nmwrd(mgwb)
                                                              +
                                                              655  mgwa(ii) = mgwb(ii)
                                                              +
                                                              656  enddo
                                                              +
                                                              657  endif
                                                              +
                                                              658  else
                                                              +
                                                              659  ! Overwrite the requested value
                                                              +
                                                              660  call pkbs1(ivmnem(jj),mgwa,cmnem(jj))
                                                              +
                                                              661  endif
                                                              +
                                                              662  enddo
                                                              +
                                                              663  endif
                                                              +
                                                              664 
                                                              +
                                                              665  ! Standardize the message if requested via module @ref moda_msgstd. However, we don't want to do this if the message
                                                              +
                                                              666  ! contains DX BUFR table information, because in that case it's already standard.
                                                              +
                                                              667 
                                                              +
                                                              668  if ( ( csmf=='Y' ) .and. ( idxmsg(mgwa)/=1 ) ) then
                                                              +
                                                              669  ! Install Section 0 byte count and Section 5 '7777' into the original message. This is necessary because
                                                              +
                                                              670  ! subroutine stndrd() requires a complete and well-formed BUFR message as its input.
                                                              +
                                                              671  ibit = 32
                                                              +
                                                              672  call pkb(mbyt,24,mgwa,ibit)
                                                              +
                                                              673  ibit = (mbyt-4)*8
                                                              +
                                                              674  call pkc(sevn,4,mgwa,ibit)
                                                              +
                                                              675  call stndrd(lunit,mgwa,mxmsgld4,mgwb)
                                                              +
                                                              676  ! Compute mbyt for the new standardized message
                                                              +
                                                              677  mbyt = iupbs01(mgwb,'LENM')
                                                              +
                                                              678  ! Copy the mgwb array back into mgwa
                                                              +
                                                              679  do ii = 1, nmwrd(mgwb)
                                                              +
                                                              680  mgwa(ii) = mgwb(ii)
                                                              +
                                                              681  enddo
                                                              +
                                                              682  endif
                                                              +
                                                              683 
                                                              +
                                                              684  ! Append the tank receipt time to Section 1 if requested via module @ref moda_tnkrcp, unless the message contains
                                                              +
                                                              685  ! DX BUFR table information.
                                                              +
                                                              686 
                                                              +
                                                              687  if ( ( ctrt=='Y' ) .and. ( idxmsg(mgwa)/=1 ) ) then
                                                              +
                                                              688  ! Install Section 0 byte count for use by subroutine atrcpt()
                                                              +
                                                              689  ibit = 32
                                                              +
                                                              690  call pkb(mbyt,24,mgwa,ibit)
                                                              +
                                                              691  call atrcpt(mgwa,mxmsgld4,mgwb)
                                                              +
                                                              692  ! Compute mbyt for the revised message
                                                              +
                                                              693  mbyt = iupbs01(mgwb,'LENM')
                                                              +
                                                              694  ! Copy the mgwb array back into mgwa
                                                              +
                                                              695  do ii = 1, nmwrd(mgwb)
                                                              +
                                                              696  mgwa(ii) = mgwb(ii)
                                                              +
                                                              697  enddo
                                                              +
                                                              698  endif
                                                              +
                                                              699 
                                                              +
                                                              700  ! Get the section lengths.
                                                              +
                                                              701 
                                                              +
                                                              702  call getlens(mgwa,4,len0,len1,len2,len3,len4,l5)
                                                              +
                                                              703 
                                                              +
                                                              704  ! Depending on the edition number of the message, we need to ensure that each section within the message has an even
                                                              +
                                                              705  ! number of bytes.
                                                              +
                                                              706 
                                                              +
                                                              707  if(iupbs01(mgwa,'BEN')<4) then
                                                              +
                                                              708  if(mod(len1,2)/=0) call bort ('BUFRLIB: MSGWRT - LENGTH OF SECTION 1 IS NOT A MULTIPLE OF 2')
                                                              +
                                                              709  if(mod(len2,2)/=0) call bort ('BUFRLIB: MSGWRT - LENGTH OF SECTION 2 IS NOT A MULTIPLE OF 2')
                                                              +
                                                              710  if(mod(len3,2)/=0) call bort ('BUFRLIB: MSGWRT - LENGTH OF SECTION 3 IS NOT A MULTIPLE OF 2')
                                                              +
                                                              711  if(mod(len4,2)/=0) then
                                                              +
                                                              712  ! Pad Section 4 with an additional byte that is zeroed out
                                                              +
                                                              713  iad4 = len0+len1+len2+len3
                                                              +
                                                              714  iad5 = iad4+len4
                                                              +
                                                              715  ibit = iad4*8
                                                              +
                                                              716  len4 = len4+1
                                                              +
                                                              717  call pkb(len4,24,mgwa,ibit)
                                                              +
                                                              718  ibit = iad5*8
                                                              +
                                                              719  call pkb(0,8,mgwa,ibit)
                                                              +
                                                              720  mbyt = mbyt+1
                                                              +
                                                              721  endif
                                                              +
                                                              722  endif
                                                              +
                                                              723 
                                                              +
                                                              724  ! Write Section 0 byte count and Section 5
                                                              +
                                                              725 
                                                              +
                                                              726  ibit = 0
                                                              +
                                                              727  call pkc(bufr, 4,mgwa,ibit)
                                                              +
                                                              728  call pkb(mbyt,24,mgwa,ibit)
                                                              +
                                                              729 
                                                              +
                                                              730  kbit = (mbyt-4)*8
                                                              +
                                                              731  call pkc(sevn, 4,mgwa,kbit)
                                                              +
                                                              732 
                                                              +
                                                              733  ! Zero out the extra bytes which will be written. Note that the BUFR message is stored within the integer array mgwa(*),
                                                              +
                                                              734  ! (rather than within a character array), so we need to make sure that the "7777" Is followed by zeroed-out bytes up to
                                                              +
                                                              735  ! the boundary of the last machine word that will be written out.
                                                              +
                                                              736 
                                                              +
                                                              737  call padmsg(mgwa,mxmsgld4,npbyt)
                                                              +
                                                              738 
                                                              +
                                                              739  ! Write the message plus padding to a word boundary if null(lun) = 0
                                                              +
                                                              740 
                                                              +
                                                              741  mwrd = nmwrd(mgwa)
                                                              +
                                                              742  call status(lunit,lun,il,im)
                                                              +
                                                              743  if(null(lun)==0) then
                                                              +
                                                              744  call blocks(mgwa,mwrd)
                                                              +
                                                              745  call cwrbufr_c(lun,mgwa,mwrd)
                                                              +
                                                              746  endif
                                                              +
                                                              747 
                                                              +
                                                              748  if(iprt>=2) then
                                                              +
                                                              749  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              750  write ( unit=errstr, fmt='(A,I4,A,I7)') 'BUFRLIB: MSGWRT: LUNIT =', lunit, ', BYTES =', mbyt+npbyt
                                                              +
                                                              751  call errwrt(errstr)
                                                              +
                                                              752  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              753  call errwrt(' ')
                                                              +
                                                              754  endif
                                                              +
                                                              755 
                                                              +
                                                              756  ! Save a memory copy of this message, unless it's a DX message.
                                                              +
                                                              757 
                                                              +
                                                              758  if(idxmsg(mgwa)/=1) then
                                                              +
                                                              759  ! Store a copy of this message within module @ref moda_bufrmg, for possible later retrieval during a future call to
                                                              +
                                                              760  ! subroutine writsa()
                                                              +
                                                              761  msglen(lun) = mwrd
                                                              +
                                                              762  do ii=1,msglen(lun)
                                                              +
                                                              763  msgtxt(ii,lun) = mgwa(ii)
                                                              +
                                                              764  enddo
                                                              +
                                                              765  endif
                                                              +
                                                              766 
                                                              +
                                                              767  return
                                                              +
                                                              768 end subroutine msgwrt
                                                              +
                                                              769 
                                                              +
                                                              777 subroutine msgini(lun)
                                                              +
                                                              778 
                                                              +
                                                              779  use moda_msgcwd
                                                              +
                                                              780  use moda_ufbcpl
                                                              +
                                                              781  use moda_bitbuf
                                                              +
                                                              782  use moda_tables
                                                              +
                                                              783 
                                                              +
                                                              784  implicit none
                                                              +
                                                              785 
                                                              +
                                                              786  integer, intent(in) :: lun
                                                              +
                                                              787  integer ibct, ipd1, ipd2, ipd3, ipd4, nby0, nby1, nby2, nby3, nby4, nby5, nbyt, mtyp, msbt, inod, isub, iret, &
                                                              +
                                                              788  mcen, mear, mmon, mday, mour, mmin, mbit
                                                              +
                                                              789 
                                                              +
                                                              790  character*128 bort_str
                                                              +
                                                              791  character*8 subtag
                                                              +
                                                              792  character*4 bufr, sevn
                                                              +
                                                              793  character tab
                                                              +
                                                              794 
                                                              +
                                                              795  data bufr /'BUFR'/
                                                              +
                                                              796  data sevn /'7777'/
                                                              +
                                                              797 
                                                              +
                                                              798  common /padesc/ ibct,ipd1,ipd2,ipd3,ipd4
                                                              +
                                                              799  common /msgptr/ nby0,nby1,nby2,nby3,nby4,nby5
                                                              +
                                                              800 
                                                              +
                                                              801  ! Get the message tag and type, and break up the date
                                                              +
                                                              802 
                                                              +
                                                              803  subtag = tag(inode(lun))(1:8)
                                                              +
                                                              804  call nemtba(lun,subtag,mtyp,msbt,inod)
                                                              +
                                                              805  if(inode(lun)/=inod) then
                                                              +
                                                              806  write(bort_str,'("BUFRLIB: MSGINI - MISMATCH BETWEEN INODE (=",I7,") & POSITIONAL INDEX, INOD (",I7,") '// &
                                                              +
                                                              807  'OF SUBTAG (",A,") IN DICTIONARY")') inode(lun), inod, subtag
                                                              +
                                                              808  call bort(bort_str)
                                                              +
                                                              809  endif
                                                              +
                                                              810  call nemtab(lun,subtag,isub,tab,iret)
                                                              +
                                                              811  if(iret==0) then
                                                              +
                                                              812  write(bort_str,'("BUFRLIB: MSGINI - TABLE A MESSAGE TYPE MNEMONIC ",A," NOT FOUND IN INTERNAL TABLE D ARRAYS")') subtag
                                                              +
                                                              813  call bort(bort_str)
                                                              +
                                                              814  endif
                                                              +
                                                              815 
                                                              +
                                                              816  ! Date can be YYMMDDHH or YYYYMMDDHH
                                                              +
                                                              817 
                                                              +
                                                              818  mcen = mod(idate(lun)/10**8,100)+1
                                                              +
                                                              819  mear = mod(idate(lun)/10**6,100)
                                                              +
                                                              820  mmon = mod(idate(lun)/10**4,100)
                                                              +
                                                              821  mday = mod(idate(lun)/10**2,100)
                                                              +
                                                              822  mour = mod(idate(lun) ,100)
                                                              +
                                                              823  mmin = 0
                                                              +
                                                              824 
                                                              +
                                                              825  if(mcen==1) call bort ('BUFRLIB: MSGINI - BUFR MESSAGE DATE (IDATE) is 0000000000')
                                                              +
                                                              826 
                                                              +
                                                              827  if(mear==0) mcen = mcen-1
                                                              +
                                                              828  if(mear==0) mear = 100
                                                              +
                                                              829 
                                                              +
                                                              830  ! Initialize the message
                                                              +
                                                              831 
                                                              +
                                                              832  mbit = 0
                                                              +
                                                              833  nby0 = 8
                                                              +
                                                              834  nby1 = 18
                                                              +
                                                              835  nby2 = 0
                                                              +
                                                              836  nby3 = 20
                                                              +
                                                              837  nby4 = 4
                                                              +
                                                              838  nby5 = 4
                                                              +
                                                              839  nbyt = nby0+nby1+nby2+nby3+nby4+nby5
                                                              +
                                                              840 
                                                              +
                                                              841  ! Section 0
                                                              +
                                                              842 
                                                              +
                                                              843  call pkc(bufr , 4 , mbay(1,lun),mbit)
                                                              +
                                                              844  call pkb(nbyt , 24 , mbay(1,lun),mbit)
                                                              +
                                                              845  call pkb( 3 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              846 
                                                              +
                                                              847  ! Section 1
                                                              +
                                                              848 
                                                              +
                                                              849  call pkb(nby1 , 24 , mbay(1,lun),mbit)
                                                              +
                                                              850  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              851  call pkb( 3 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              852  call pkb( 7 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              853  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              854  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              855  call pkb(mtyp , 8 , mbay(1,lun),mbit)
                                                              +
                                                              856  call pkb(msbt , 8 , mbay(1,lun),mbit)
                                                              +
                                                              857  call pkb( 36 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              858  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              859  call pkb(mear , 8 , mbay(1,lun),mbit)
                                                              +
                                                              860  call pkb(mmon , 8 , mbay(1,lun),mbit)
                                                              +
                                                              861  call pkb(mday , 8 , mbay(1,lun),mbit)
                                                              +
                                                              862  call pkb(mour , 8 , mbay(1,lun),mbit)
                                                              +
                                                              863  call pkb(mmin , 8 , mbay(1,lun),mbit)
                                                              +
                                                              864  call pkb(mcen , 8 , mbay(1,lun),mbit)
                                                              +
                                                              865 
                                                              +
                                                              866  ! Section 3
                                                              +
                                                              867 
                                                              +
                                                              868  call pkb(nby3 , 24 , mbay(1,lun),mbit)
                                                              +
                                                              869  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              870  call pkb( 0 , 16 , mbay(1,lun),mbit)
                                                              +
                                                              871  call pkb(2**7 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              872  call pkb(ibct , 16 , mbay(1,lun),mbit)
                                                              +
                                                              873  call pkb(isub , 16 , mbay(1,lun),mbit)
                                                              +
                                                              874  call pkb(ipd1 , 16 , mbay(1,lun),mbit)
                                                              +
                                                              875  call pkb(ipd2 , 16 , mbay(1,lun),mbit)
                                                              +
                                                              876  call pkb(ipd3 , 16 , mbay(1,lun),mbit)
                                                              +
                                                              877  call pkb(ipd4 , 16 , mbay(1,lun),mbit)
                                                              +
                                                              878  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              879 
                                                              +
                                                              880  ! Section 4
                                                              +
                                                              881 
                                                              +
                                                              882  call pkb(nby4 , 24 , mbay(1,lun),mbit)
                                                              +
                                                              883  call pkb( 0 , 8 , mbay(1,lun),mbit)
                                                              +
                                                              884 
                                                              +
                                                              885  ! Section 5
                                                              +
                                                              886 
                                                              +
                                                              887  call pkc(sevn , 4 , mbay(1,lun),mbit)
                                                              +
                                                              888 
                                                              +
                                                              889  ! Double check initial message length
                                                              +
                                                              890 
                                                              +
                                                              891  if(mod(mbit,8)/=0) call bort('BUFRLIB: MSGINI - INITIALIZED MESSAGE DOES NOT END ON A BYTE BOUNDARY')
                                                              +
                                                              892  if(mbit/8/=nbyt) then
                                                              +
                                                              893  write(bort_str,'("BUFRLIB: MSGINI - NUMBER OF BYTES STORED FOR INITIALIZED MESSAGE (",I6,") IS NOT THE SAME AS FIRST '// &
                                                              +
                                                              894  'CALCULATED, NBYT (",I6)') mbit/8, nbyt
                                                              +
                                                              895  call bort(bort_str)
                                                              +
                                                              896  endif
                                                              +
                                                              897 
                                                              +
                                                              898  nmsg(lun) = nmsg(lun)+1
                                                              +
                                                              899  nsub(lun) = 0
                                                              +
                                                              900  mbyt(lun) = nbyt
                                                              +
                                                              901 
                                                              +
                                                              902  luncpy(lun)=0
                                                              +
                                                              903 
                                                              +
                                                              904  return
                                                              +
                                                              905 end subroutine msgini
                                                              +
                                                              906 
                                                              +
                                                              917 logical function msgfull(msiz,itoadd,mxsiz) result(bool)
                                                              +
                                                              918 
                                                              +
                                                              919  use modv_vars, only: maxnc
                                                              +
                                                              920 
                                                              +
                                                              921  use moda_tnkrcp
                                                              +
                                                              922  use moda_msgstd
                                                              +
                                                              923 
                                                              +
                                                              924  implicit none
                                                              +
                                                              925 
                                                              +
                                                              926  integer, intent(in) :: msiz, itoadd, mxsiz
                                                              +
                                                              927  integer iwgbyt
                                                              +
                                                              928 
                                                              +
                                                              929  ! Allow for at least 11 additional bytes of "wiggle room" in the message, because subroutine msgwrt() may do any or all
                                                              +
                                                              930  ! of the following:
                                                              +
                                                              931  ! 3 bytes may be added by a call to subroutine cnved4()
                                                              +
                                                              932  ! + 1 byte (at most) of padding may be added to Section 4
                                                              +
                                                              933  ! + 7 bytes (at most) of padding may be added up to the next word boundary after Section 5
                                                              +
                                                              934  ! ----
                                                              +
                                                              935  ! 11
                                                              +
                                                              936  iwgbyt = 11
                                                              +
                                                              937 
                                                              +
                                                              938  ! But subroutine msgwrt() may also do any of all of the following:
                                                              +
                                                              939 
                                                              +
                                                              940  ! 6 bytes may be added by a call to subroutine atrcpt()
                                                              +
                                                              941  if(ctrt=='Y') iwgbyt = iwgbyt + 6
                                                              +
                                                              942 
                                                              +
                                                              943  ! (maxnc*2) bytes (at most) may be added by a call to subroutine stndrd()
                                                              +
                                                              944  if(csmf=='Y') iwgbyt = iwgbyt + (maxnc*2)
                                                              +
                                                              945 
                                                              +
                                                              946  ! Determine whether the subset will fit.
                                                              +
                                                              947 
                                                              +
                                                              948  if ( ( msiz + itoadd + iwgbyt ) > mxsiz ) then
                                                              +
                                                              949  bool = .true.
                                                              +
                                                              950  else
                                                              +
                                                              951  bool = .false.
                                                              +
                                                              952  endif
                                                              +
                                                              953 
                                                              +
                                                              954  return
                                                              +
                                                              955 end function msgfull
                                                              +
                                                              956 
                                                              +
                                                              974 recursive subroutine maxout(maxo)
                                                              +
                                                              975 
                                                              +
                                                              976  use modv_vars, only: mxmsgl, im8b
                                                              +
                                                              977 
                                                              +
                                                              978  use moda_bitbuf
                                                              +
                                                              979 
                                                              +
                                                              980  implicit none
                                                              +
                                                              981 
                                                              +
                                                              982  integer, intent(in) :: maxo
                                                              +
                                                              983  integer my_maxo, iprt, newsiz, maxdx, idxv, nxstr, ldxa, ldxb, ldxd, ld30
                                                              +
                                                              984 
                                                              +
                                                              985  character*128 errstr
                                                              +
                                                              986  character*56 dxstr
                                                              +
                                                              987 
                                                              +
                                                              988  common /dxtab/ maxdx,idxv,nxstr(10),ldxa(10),ldxb(10),ldxd(10),ld30(10),dxstr(10)
                                                              +
                                                              989  common /quiet/ iprt
                                                              +
                                                              990 
                                                              +
                                                              991  ! Check for I8 integers
                                                              +
                                                              992 
                                                              +
                                                              993  if(im8b) then
                                                              +
                                                              994  im8b=.false.
                                                              +
                                                              995 
                                                              +
                                                              996  call x84(maxo,my_maxo,1)
                                                              +
                                                              997  call maxout(my_maxo)
                                                              +
                                                              998 
                                                              +
                                                              999  im8b=.true.
                                                              +
                                                              1000  return
                                                              +
                                                              1001  endif
                                                              +
                                                              1002 
                                                              +
                                                              1003  if((maxo==0).or.(maxo>mxmsgl)) then
                                                              +
                                                              1004  newsiz = mxmsgl
                                                              +
                                                              1005  else
                                                              +
                                                              1006  newsiz = maxo
                                                              +
                                                              1007  endif
                                                              +
                                                              1008 
                                                              +
                                                              1009  if(iprt>=0) then
                                                              +
                                                              1010  if(maxbyt/=newsiz) then
                                                              +
                                                              1011  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1012  write ( unit=errstr, fmt='(A,A,I7,A,I7)' ) 'BUFRLIB: MAXOUT - THE RECORD LENGTH OF ALL BUFR MESSAGES ',&
                                                              +
                                                              1013  'CREATED FROM THIS POINT ON IS BEING CHANGED FROM ', maxbyt, ' TO ', newsiz
                                                              +
                                                              1014  call errwrt(errstr)
                                                              +
                                                              1015  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1016  call errwrt(' ')
                                                              +
                                                              1017  endif
                                                              +
                                                              1018  endif
                                                              +
                                                              1019 
                                                              +
                                                              1020  maxbyt = newsiz
                                                              +
                                                              1021  maxdx = newsiz
                                                              +
                                                              1022 
                                                              +
                                                              1023  return
                                                              +
                                                              1024 end subroutine maxout
                                                              +
                                                              1025 
                                                              +
                                                              1034 integer function igetmxby() result(iret)
                                                              +
                                                              1035 
                                                              +
                                                              1036  use moda_bitbuf
                                                              +
                                                              1037 
                                                              +
                                                              1038  implicit none
                                                              +
                                                              1039 
                                                              +
                                                              1040  iret = maxbyt
                                                              +
                                                              1041 
                                                              +
                                                              1042  return
                                                              +
                                                              1043 end function igetmxby
                                                              +
                                                              1044 
                                                              +
                                                              1055 subroutine padmsg(mesg,lmesg,npbyt)
                                                              +
                                                              1056 
                                                              +
                                                              1057  use modv_vars, only: nbytw
                                                              +
                                                              1058 
                                                              +
                                                              1059  implicit none
                                                              +
                                                              1060 
                                                              +
                                                              1061  integer, intent(in) :: lmesg
                                                              +
                                                              1062  integer, intent(inout) :: mesg(*)
                                                              +
                                                              1063  integer, intent(out) :: npbyt
                                                              +
                                                              1064  integer nmw, nmb, ibit, i, nmwrd, iupbs01
                                                              +
                                                              1065 
                                                              +
                                                              1066  ! Make sure that the array is big enough to hold the additional byte padding that will be appended to the
                                                              +
                                                              1067  ! end of the message.
                                                              +
                                                              1068 
                                                              +
                                                              1069  nmw = nmwrd(mesg)
                                                              +
                                                              1070  if(nmw>lmesg) call bort('BUFRLIB: PADMSG - CANNOT ADD PADDING TO MESSAGE ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY')
                                                              +
                                                              1071 
                                                              +
                                                              1072  ! Pad from the end of the message up to the next 8-byte boundary.
                                                              +
                                                              1073 
                                                              +
                                                              1074  nmb = iupbs01(mesg,'LENM')
                                                              +
                                                              1075  ibit = nmb*8
                                                              +
                                                              1076  npbyt = ( nmw * nbytw ) - nmb
                                                              +
                                                              1077  do i = 1, npbyt
                                                              +
                                                              1078  call pkb(0,8,mesg,ibit)
                                                              +
                                                              1079  enddo
                                                              +
                                                              1080 
                                                              +
                                                              1081  return
                                                              +
                                                              1082 end subroutine padmsg
                                                              +
                                                              1083 
                                                              +
                                                              1094 recursive integer function nmsub(lunit) result(iret)
                                                              +
                                                              1095 
                                                              +
                                                              1096  use modv_vars, only: im8b
                                                              +
                                                              1097 
                                                              +
                                                              1098  use moda_msgcwd
                                                              +
                                                              1099 
                                                              +
                                                              1100  implicit none
                                                              +
                                                              1101 
                                                              +
                                                              1102  integer, intent(in) :: lunit
                                                              +
                                                              1103  integer my_lunit, lun, il, im
                                                              +
                                                              1104 
                                                              +
                                                              1105  ! Check for I8 integers
                                                              +
                                                              1106 
                                                              +
                                                              1107  if(im8b) then
                                                              +
                                                              1108  im8b=.false.
                                                              +
                                                              1109 
                                                              +
                                                              1110  call x84(lunit,my_lunit,1)
                                                              +
                                                              1111  iret=nmsub(my_lunit)
                                                              +
                                                              1112 
                                                              +
                                                              1113  im8b=.true.
                                                              +
                                                              1114  return
                                                              +
                                                              1115  endif
                                                              +
                                                              1116 
                                                              +
                                                              1117  iret = 0
                                                              +
                                                              1118 
                                                              +
                                                              1119  ! Check the file status
                                                              +
                                                              1120 
                                                              +
                                                              1121  call status(lunit,lun,il,im)
                                                              +
                                                              1122  if(il==0) call bort('BUFRLIB: NMSUB - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              1123  if(il>0) call bort('BUFRLIB: NMSUB - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              1124  if(im==0) call bort('BUFRLIB: NMSUB - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                                              +
                                                              1125 
                                                              +
                                                              1126  iret = msub(lun)
                                                              +
                                                              1127 
                                                              +
                                                              1128  return
                                                              +
                                                              1129 end function nmsub
                                                              +
                                                              1130 
                                                              +
                                                              1144 integer function nmwrd(mbay) result(iret)
                                                              +
                                                              1145 
                                                              +
                                                              1146  use modv_vars, only: nbytw
                                                              +
                                                              1147 
                                                              +
                                                              1148  implicit none
                                                              +
                                                              1149 
                                                              +
                                                              1150  integer, intent(in) :: mbay(*)
                                                              +
                                                              1151  integer lenm, iupbs01
                                                              +
                                                              1152 
                                                              +
                                                              1153  lenm = iupbs01(mbay,'LENM')
                                                              +
                                                              1154  if(lenm==0) then
                                                              +
                                                              1155  iret = 0
                                                              +
                                                              1156  else
                                                              +
                                                              1157  iret = ((lenm/8)+1)*(8/nbytw)
                                                              +
                                                              1158  endif
                                                              +
                                                              1159 
                                                              +
                                                              1160  return
                                                              +
                                                              1161 end function nmwrd
                                                              +
                                                              1162 
                                                              +
                                                              1176 integer function lmsg(sec0) result(iret)
                                                              +
                                                              1177 
                                                              +
                                                              1178  implicit none
                                                              +
                                                              1179 
                                                              +
                                                              1180  integer msec0(2), nmwrd
                                                              +
                                                              1181 
                                                              +
                                                              1182  character*8, intent(in) :: sec0
                                                              +
                                                              1183  character*8 csec0
                                                              +
                                                              1184 
                                                              +
                                                              1185  equivalence(msec0,csec0)
                                                              +
                                                              1186 
                                                              +
                                                              1187  csec0 = sec0
                                                              +
                                                              1188  iret = nmwrd(msec0)
                                                              +
                                                              1189 
                                                              +
                                                              1190  return
                                                              +
                                                              1191 end function lmsg
                                                              +
                                                              1192 
                                                              +
                                                              1212 recursive subroutine getlens (mbay,ll,len0,len1,len2,len3,len4,len5)
                                                              +
                                                              1213 
                                                              +
                                                              1214  use modv_vars, only: im8b
                                                              +
                                                              1215 
                                                              +
                                                              1216  implicit none
                                                              +
                                                              1217 
                                                              +
                                                              1218  integer, intent(in) :: mbay(*), ll
                                                              +
                                                              1219  integer, intent(out) :: len0, len1, len2, len3, len4, len5
                                                              +
                                                              1220  integer my_ll, iad2, iad3, iad4, iupbs01, iupb
                                                              +
                                                              1221 
                                                              +
                                                              1222  ! Check for I8 integers.
                                                              +
                                                              1223  if(im8b) then
                                                              +
                                                              1224  im8b=.false.
                                                              +
                                                              1225  call x84(ll,my_ll,1)
                                                              +
                                                              1226  call getlens(mbay,my_ll,len0,len1,len2,len3,len4,len5)
                                                              +
                                                              1227  call x48(len0,len0,1)
                                                              +
                                                              1228  call x48(len1,len1,1)
                                                              +
                                                              1229  call x48(len2,len2,1)
                                                              +
                                                              1230  call x48(len3,len3,1)
                                                              +
                                                              1231  call x48(len4,len4,1)
                                                              +
                                                              1232  call x48(len5,len5,1)
                                                              +
                                                              1233  im8b=.true.
                                                              +
                                                              1234  return
                                                              +
                                                              1235  endif
                                                              +
                                                              1236 
                                                              +
                                                              1237  len0 = -1
                                                              +
                                                              1238  len1 = -1
                                                              +
                                                              1239  len2 = -1
                                                              +
                                                              1240  len3 = -1
                                                              +
                                                              1241  len4 = -1
                                                              +
                                                              1242  len5 = -1
                                                              +
                                                              1243 
                                                              +
                                                              1244  if(ll<0) return
                                                              +
                                                              1245  len0 = iupbs01(mbay,'LEN0')
                                                              +
                                                              1246 
                                                              +
                                                              1247  if(ll<1) return
                                                              +
                                                              1248  len1 = iupbs01(mbay,'LEN1')
                                                              +
                                                              1249 
                                                              +
                                                              1250  if(ll<2) return
                                                              +
                                                              1251  iad2 = len0 + len1
                                                              +
                                                              1252  len2 = iupb(mbay,iad2+1,24) * iupbs01(mbay,'ISC2')
                                                              +
                                                              1253 
                                                              +
                                                              1254  if(ll<3) return
                                                              +
                                                              1255  iad3 = iad2 + len2
                                                              +
                                                              1256  len3 = iupb(mbay,iad3+1,24)
                                                              +
                                                              1257 
                                                              +
                                                              1258  if(ll<4) return
                                                              +
                                                              1259  iad4 = iad3 + len3
                                                              +
                                                              1260  len4 = iupb(mbay,iad4+1,24)
                                                              +
                                                              1261 
                                                              +
                                                              1262  if(ll<5) return
                                                              +
                                                              1263  len5 = 4
                                                              +
                                                              1264 
                                                              +
                                                              1265  return
                                                              +
                                                              1266 end subroutine getlens
                                                              +
                                                              1267 
                                                              +
                                                              1292 recursive subroutine cnved4(msgin,lmsgot,msgot)
                                                              +
                                                              1293 
                                                              +
                                                              1294  use modv_vars, only: im8b, nbytw
                                                              +
                                                              1295 
                                                              +
                                                              1296  implicit none
                                                              +
                                                              1297 
                                                              +
                                                              1298  integer, intent(in) :: msgin(*), lmsgot
                                                              +
                                                              1299  integer, intent(out) :: msgot(*)
                                                              +
                                                              1300  integer my_lmsgot, i, nmw, len0, len1, len2, len3, l4, l5, iad2, iad4, lenm, lenmot, len1ot, len3ot, ibit, iupbs01, nmwrd
                                                              +
                                                              1301 
                                                              +
                                                              1302  ! Check for I8 integers.
                                                              +
                                                              1303 
                                                              +
                                                              1304  if(im8b) then
                                                              +
                                                              1305  im8b=.false.
                                                              +
                                                              1306  call x84 ( lmsgot, my_lmsgot, 1 )
                                                              +
                                                              1307  call cnved4 ( msgin, my_lmsgot*2, msgot )
                                                              +
                                                              1308  im8b=.true.
                                                              +
                                                              1309  return
                                                              +
                                                              1310  endif
                                                              +
                                                              1311 
                                                              +
                                                              1312  if(iupbs01(msgin,'BEN')==4) then
                                                              +
                                                              1313 
                                                              +
                                                              1314  ! The input message is already encoded using edition 4, so just copy it from msgin to msgot and then return.
                                                              +
                                                              1315 
                                                              +
                                                              1316  nmw = nmwrd(msgin)
                                                              +
                                                              1317  if(nmw>lmsgot) &
                                                              +
                                                              1318  call bort('BUFRLIB: CNVED4 - OVERFLOW OF OUTPUT (EDITION 4) MESSAGE ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY')
                                                              +
                                                              1319  do i = 1, nmw
                                                              +
                                                              1320  msgot(i) = msgin(i)
                                                              +
                                                              1321  enddo
                                                              +
                                                              1322  return
                                                              +
                                                              1323  endif
                                                              +
                                                              1324 
                                                              +
                                                              1325  ! Get some section lengths and addresses from the input message.
                                                              +
                                                              1326 
                                                              +
                                                              1327  call getlens(msgin,3,len0,len1,len2,len3,l4,l5)
                                                              +
                                                              1328 
                                                              +
                                                              1329  iad2 = len0 + len1
                                                              +
                                                              1330  iad4 = iad2 + len2 + len3
                                                              +
                                                              1331 
                                                              +
                                                              1332  lenm = iupbs01(msgin,'LENM')
                                                              +
                                                              1333 
                                                              +
                                                              1334  ! Check for overflow of the output array. Note that the new edition 4 message will be a total of 3 bytes longer than the
                                                              +
                                                              1335  ! input message (i.e. 4 more bytes in Section 1, but 1 fewer byte in Section 3).
                                                              +
                                                              1336 
                                                              +
                                                              1337  lenmot = lenm + 3
                                                              +
                                                              1338  if(lenmot>(lmsgot*nbytw)) &
                                                              +
                                                              1339  call bort('BUFRLIB: CNVED4 - OVERFLOW OF OUTPUT (EDITION 4) MESSAGE ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY')
                                                              +
                                                              1340 
                                                              +
                                                              1341  len1ot = len1 + 4
                                                              +
                                                              1342  len3ot = len3 - 1
                                                              +
                                                              1343 
                                                              +
                                                              1344  ! Write Section 0 of the new message into the output array.
                                                              +
                                                              1345 
                                                              +
                                                              1346  call mvb ( msgin, 1, msgot, 1, 4 )
                                                              +
                                                              1347  ibit = 32
                                                              +
                                                              1348  call pkb ( lenmot, 24, msgot, ibit )
                                                              +
                                                              1349  call pkb ( 4, 8, msgot, ibit )
                                                              +
                                                              1350 
                                                              +
                                                              1351  ! Write Section 1 of the new message into the output array.
                                                              +
                                                              1352 
                                                              +
                                                              1353  call pkb ( len1ot, 24, msgot, ibit )
                                                              +
                                                              1354  call pkb ( iupbs01(msgin,'BMT'), 8, msgot, ibit )
                                                              +
                                                              1355  call pkb ( iupbs01(msgin,'OGCE'), 16, msgot, ibit )
                                                              +
                                                              1356  call pkb ( iupbs01(msgin,'GSES'), 16, msgot, ibit )
                                                              +
                                                              1357  call pkb ( iupbs01(msgin,'USN'), 8, msgot, ibit )
                                                              +
                                                              1358  call pkb ( iupbs01(msgin,'ISC2')*128, 8, msgot, ibit )
                                                              +
                                                              1359  call pkb ( iupbs01(msgin,'MTYP'), 8, msgot, ibit )
                                                              +
                                                              1360  ! Set a default of 255 for the international subcategory.
                                                              +
                                                              1361  call pkb ( 255, 8, msgot, ibit )
                                                              +
                                                              1362  call pkb ( iupbs01(msgin,'MSBT'), 8, msgot, ibit )
                                                              +
                                                              1363  call pkb ( iupbs01(msgin,'MTV'), 8, msgot, ibit )
                                                              +
                                                              1364  call pkb ( iupbs01(msgin,'MTVL'), 8, msgot, ibit )
                                                              +
                                                              1365  call pkb ( iupbs01(msgin,'YEAR'), 16, msgot, ibit )
                                                              +
                                                              1366  call pkb ( iupbs01(msgin,'MNTH'), 8, msgot, ibit )
                                                              +
                                                              1367  call pkb ( iupbs01(msgin,'DAYS'), 8, msgot, ibit )
                                                              +
                                                              1368  call pkb ( iupbs01(msgin,'HOUR'), 8, msgot, ibit )
                                                              +
                                                              1369  call pkb ( iupbs01(msgin,'MINU'), 8, msgot, ibit )
                                                              +
                                                              1370  ! Set a default of 0 for the second.
                                                              +
                                                              1371  call pkb ( 0, 8, msgot, ibit )
                                                              +
                                                              1372 
                                                              +
                                                              1373  ! Copy Section 2 (if it exists) through the next-to-last byte of Section 3 from the input array to the output array.
                                                              +
                                                              1374 
                                                              +
                                                              1375  call mvb ( msgin, iad2+1, msgot, (ibit/8)+1, len2+len3-1 )
                                                              +
                                                              1376 
                                                              +
                                                              1377  ! Store the length of the new Section 3.
                                                              +
                                                              1378 
                                                              +
                                                              1379  ibit = ( len0 + len1ot + len2 ) * 8
                                                              +
                                                              1380  call pkb ( len3ot, 24, msgot, ibit )
                                                              +
                                                              1381 
                                                              +
                                                              1382  ! Copy Section 4 and Section 5 from the input array to the output array.
                                                              +
                                                              1383 
                                                              +
                                                              1384  ibit = ibit + ( len3ot * 8 ) - 24
                                                              +
                                                              1385  call mvb ( msgin, iad4+1, msgot, (ibit/8)+1, lenm-iad4 )
                                                              +
                                                              1386 
                                                              +
                                                              1387  return
                                                              +
                                                              1388 end subroutine cnved4
                                                              +
                                                              1389 
                                                              +
                                                              1401 recursive integer function ifbget(lunit) result(iret)
                                                              +
                                                              1402 
                                                              +
                                                              1403  use modv_vars, only: im8b
                                                              +
                                                              1404 
                                                              +
                                                              1405  use moda_msgcwd
                                                              +
                                                              1406 
                                                              +
                                                              1407  implicit none
                                                              +
                                                              1408 
                                                              +
                                                              1409  integer, intent(in) :: lunit
                                                              +
                                                              1410  integer my_lunit, lun, il, im
                                                              +
                                                              1411 
                                                              +
                                                              1412  ! Check for I8 integers
                                                              +
                                                              1413 
                                                              +
                                                              1414  if(im8b) then
                                                              +
                                                              1415  im8b=.false.
                                                              +
                                                              1416  call x84(lunit,my_lunit,1)
                                                              +
                                                              1417  iret=ifbget(my_lunit)
                                                              +
                                                              1418  im8b=.true.
                                                              +
                                                              1419  return
                                                              +
                                                              1420  endif
                                                              +
                                                              1421 
                                                              +
                                                              1422  iret = -1
                                                              +
                                                              1423 
                                                              +
                                                              1424  ! Make sure a file/message is open for input
                                                              +
                                                              1425 
                                                              +
                                                              1426  call status(lunit,lun,il,im)
                                                              +
                                                              1427  if(il==0) call bort('BUFRLIB: IFBGET - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              1428  if(il>0) call bort('BUFRLIB: IFBGET - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              1429  if(im==0) call bort('BUFRLIB: IFBGET - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                                              +
                                                              1430 
                                                              +
                                                              1431  ! Check if there's another subset in the message
                                                              +
                                                              1432 
                                                              +
                                                              1433  if(nsub(lun)<msub(lun)) iret = 0
                                                              +
                                                              1434 
                                                              +
                                                              1435  return
                                                              +
                                                              1436 end function ifbget
                                                              +
                                                              subroutine blocks(mbay, mwrd)
                                                              Encapsulate a BUFR message with IEEE Fortran control words as specified via the most recent call to s...
                                                              Definition: blocks.F90:37
                                                              +
                                                              subroutine bort(str)
                                                              Log an error message, then abort the application program.
                                                              Definition: borts.F90:15
                                                              +
                                                              recursive integer function iupb(mbay, nbyt, nbit)
                                                              Decode an integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:226
                                                              +
                                                              subroutine pkc(chr, nchr, ibay, ibit)
                                                              Encode a character string within a specified number of bytes of an integer array, starting at the bit...
                                                              Definition: ciencode.F90:25
                                                              +
                                                              subroutine pkb(nval, nbits, ibay, ibit)
                                                              Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
                                                              Definition: ciencode.F90:140
                                                              +
                                                              subroutine wrcmps(lunix)
                                                              Write a compressed BUFR data subset.
                                                              Definition: compress.F90:387
                                                              +
                                                              subroutine mvb(ib1, nb1, ib2, nb2, nbm)
                                                              Copy a specified number of bytes from one packed binary array to another.
                                                              Definition: copydata.F90:731
                                                              +
                                                              subroutine nemtba(lun, nemo, mtyp, msbt, inod)
                                                              Get information about a Table A descriptor from the internal DX BUFR tables.
                                                              Definition: dxtable.F90:1247
                                                              +
                                                              subroutine stbfdx(lun, mesg)
                                                              Copy a DX BUFR tables message into the internal memory arrays in module moda_tababd.
                                                              Definition: dxtable.F90:990
                                                              +
                                                              subroutine dxinit(lun, ioi)
                                                              Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally init...
                                                              Definition: dxtable.F90:606
                                                              +
                                                              integer function idxmsg(mesg)
                                                              Check whether a BUFR message contains DX BUFR tables information that was generated by the NCEPLIBS-b...
                                                              Definition: dxtable.F90:1123
                                                              +
                                                              subroutine rdbfdx(lunit, lun)
                                                              Beginning at the current file pointer location within lunit, read a complete DX BUFR table into inter...
                                                              Definition: dxtable.F90:121
                                                              +
                                                              subroutine errwrt(str)
                                                              Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                                              Definition: errwrt.F90:32
                                                              +
                                                              subroutine nemtab(lun, nemo, idn, tab, iret)
                                                              Get information about a descriptor, based on a mnemonic.
                                                              Definition: fxy.F90:432
                                                              + + + + +
                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                                              Definition: bufrlib.F90:11
                                                              +
                                                              Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                                              +
                                                              integer, dimension(:,:), allocatable mbay
                                                              Current BUFR message for each file ID.
                                                              +
                                                              integer, dimension(:), allocatable mbyt
                                                              Length (in bytes) of current BUFR message for each file ID.
                                                              +
                                                              integer maxbyt
                                                              Maximum length of an output BUFR message.
                                                              +
                                                              Declare arrays used to store, for each output file ID, a copy of the BUFR message that was most recen...
                                                              +
                                                              integer, dimension(:), allocatable msglen
                                                              Length (in integers) of BUFR message most recently written to each output file ID.
                                                              +
                                                              integer, dimension(:,:), allocatable msgtxt
                                                              BUFR message most recently written to each output file ID.
                                                              +
                                                              Declare an array used by subroutine readerme() to read in a new DX dictionary table as a consecutive ...
                                                              +
                                                              integer, dimension(:), allocatable idrdm
                                                              DX BUFR tables message count for each file ID.
                                                              +
                                                              Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                                              +
                                                              integer, dimension(:), allocatable mgwa
                                                              Temporary working copy of BUFR message.
                                                              +
                                                              Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                                              +
                                                              integer, dimension(:), allocatable mgwb
                                                              Temporary working copy of BUFR message.
                                                              +
                                                              Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                                              +
                                                              integer, dimension(:), allocatable inode
                                                              Table A mnemonic for type of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable idate
                                                              Section 1 date-time of message.
                                                              +
                                                              integer, dimension(:), allocatable nmsg
                                                              Current message pointer within logical unit.
                                                              +
                                                              integer, dimension(:), allocatable msub
                                                              Total number of data subsets in message.
                                                              +
                                                              integer, dimension(:), allocatable nsub
                                                              Current subset pointer within message.
                                                              +
                                                              Declare an array used to keep track of which logical units should not have any empty (zero data subse...
                                                              +
                                                              integer, dimension(:), allocatable msglim
                                                              Tracking index for each file ID.
                                                              +
                                                              Declare a variable used to indicate whether output BUFR messages should be standardized.
                                                              +
                                                              character csmf
                                                              Flag indicating whether BUFR output messages are to be standardized; this variable is initialized to ...
                                                              +
                                                              Declare an array used to store a switch for each file ID, indicating whether any BUFR messages should...
                                                              +
                                                              integer, dimension(:), allocatable null
                                                              Output switch for each file ID:
                                                              +
                                                              Declare arrays and variables used to store custom values for certain mnemonics within Sections 0 and ...
                                                              +
                                                              integer, dimension(:), allocatable ivmnem
                                                              Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
                                                              +
                                                              integer ns01v
                                                              Number of custom values stored.
                                                              +
                                                              character *8, dimension(:), allocatable cmnem
                                                              Section 0 and 1 mnemonics corresponding to ivmnem.
                                                              +
                                                              Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from ...
                                                              +
                                                              integer, dimension(:), allocatable isc3
                                                              Section 3 switch for each file ID:
                                                              +
                                                              Declare arrays and variables used to store the internal jump/link table.
                                                              +
                                                              character *10, dimension(:), allocatable tag
                                                              Mnemonics in the jump/link table.
                                                              +
                                                              Declare variables used to store tank receipt time information within Section 1 of BUFR messages.
                                                              +
                                                              character *1 ctrt
                                                              Flag indicating whether tank receipt times are to be included within output BUFR messages; this varia...
                                                              +
                                                              Declare an array used to store, for each file ID, the logical unit number corresponding to a separate...
                                                              +
                                                              integer, dimension(:), allocatable luncpy
                                                              Logical unit numbers used to copy long character strings between BUFR data subsets.
                                                              +
                                                              recursive subroutine status(lunit, lun, il, im)
                                                              Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                                              +
                                                              subroutine wtstat(lunit, lun, il, im)
                                                              Update file status in library internals.
                                                              +
                                                              subroutine padmsg(mesg, lmesg, npbyt)
                                                              Pad a BUFR message with zeroed-out bytes from the end of the message up to the next 8-byte boundary.
                                                              +
                                                              recursive subroutine maxout(maxo)
                                                              Specify the maximum length of a BUFR message that can be written to any output file by the NCEPLIBS-b...
                                                              +
                                                              integer function lmsg(sec0)
                                                              Given a character string containing Section 0 from a BUFR message, determine the array size (in integ...
                                                              +
                                                              logical function msgfull(msiz, itoadd, mxsiz)
                                                              Check whether the current data subset in the internal arrays will fit within the current BUFR message...
                                                              +
                                                              recursive subroutine openmg(lunit, subset, jdate)
                                                              Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lu...
                                                              +
                                                              recursive subroutine openmb(lunit, subset, jdate)
                                                              Open and initialize a new BUFR message within internal arrays, for eventual output to logical unit lu...
                                                              +
                                                              recursive subroutine closmg(lunin)
                                                              Close the BUFR message that is currently open for writing within internal arrays associated with logi...
                                                              +
                                                              recursive integer function nmsub(lunit)
                                                              Get the total number of data subsets available within the BUFR message that was most recently opened ...
                                                              +
                                                              integer function nmwrd(mbay)
                                                              Given an integer array containing Section 0 from a BUFR message, determine the array size (in integer...
                                                              +
                                                              integer function igetmxby()
                                                              Get the maximum length of a BUFR message that can be written to an output file by the NCEPLIBS-bufr s...
                                                              +
                                                              recursive subroutine readerme(mesg, lunit, subset, jdate, iret)
                                                              Read a BUFR message from a memory array.
                                                              +
                                                              recursive subroutine readmg(lunxx, subset, jdate, iret)
                                                              Read the next BUFR message from logical unit abs(lunxx) into internal arrays.
                                                              Definition: readwritemg.F90:44
                                                              +
                                                              recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
                                                              Read the section lengths of a BUFR message, up to a specified point in the message.
                                                              +
                                                              recursive integer function ifbget(lunit)
                                                              Check whether there are any more data subsets available to be read from a BUFR message.
                                                              +
                                                              subroutine rdmsgw(lunit, mesg, iret)
                                                              Read the next BUFR message from logical unit lunit as an array of integer words.
                                                              +
                                                              recursive subroutine cnved4(msgin, lmsgot, msgot)
                                                              Convert a BUFR edition 3 message to BUFR edition 4.
                                                              +
                                                              recursive integer function ireadmg(lunit, subset, idate)
                                                              Call subroutine readmg() and pass back its return code as the function value.
                                                              +
                                                              subroutine msgini(lun)
                                                              Initialize, within the internal arrays, a new uncompressed BUFR message for output.
                                                              +
                                                              subroutine msgwrt(lunit, mesg, mgbyt)
                                                              Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical u...
                                                              +
                                                              subroutine usrtpl(lun, invn, nbmp)
                                                              Expand a subset template within internal arrays.
                                                              +
                                                              subroutine cktaba(lun, subset, jdate, iret)
                                                              Get the Table A mnemonic from Sections 1 and 3 of a BUFR message.
                                                              Definition: s013vals.F90:1272
                                                              +
                                                              recursive integer function iupbs01(mbay, s01mnem)
                                                              Read a specified value from within Section 0 or Section 1 of a BUFR message.
                                                              Definition: s013vals.F90:247
                                                              +
                                                              recursive subroutine pkbs1(ival, mbay, s1mnem)
                                                              Write a specified value into a specified location within Section 1 of a BUFR message,...
                                                              Definition: s013vals.F90:521
                                                              +
                                                              recursive integer function iupbs3(mbay, s3mnem)
                                                              Read a specified value from within Section 3 of a BUFR message.
                                                              Definition: s013vals.F90:349
                                                              +
                                                              subroutine reads3(lun)
                                                              Read the Section 3 descriptors from the BUFR message in mbay(1,lun), then use the BUFR master tables ...
                                                              Definition: s013vals.F90:686
                                                              +
                                                              recursive integer function i4dy(idate)
                                                              Convert a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year (YYYYMMDDHH) us...
                                                              Definition: s013vals.F90:1070
                                                              +
                                                              recursive subroutine stndrd(lunit, msgin, lmsgot, msgot)
                                                              Standardize a BUFR message.
                                                              Definition: standard.F90:73
                                                              +
                                                              recursive subroutine atrcpt(msgin, lmsgot, msgot)
                                                              Read an input message and output an equivalent BUFR message with a tank receipt time added to Section...
                                                              Definition: tankrcpt.F90:24
                                                              +
                                                              subroutine x48(iin4, iout8, nval)
                                                              Encode one or more 4-byte integer values as 8-byte integer values.
                                                              Definition: x4884.F90:18
                                                              +
                                                              subroutine x84(iin8, iout4, nval)
                                                              Encode one or more 8-byte integer values as 4-byte integer values.
                                                              Definition: x4884.F90:65
                                                              +
                                                              +
                                                              + + + + diff --git a/readwritesb_8F90.html b/readwritesb_8F90.html new file mode 100644 index 000000000..abb4ea1af --- /dev/null +++ b/readwritesb_8F90.html @@ -0,0 +1,1065 @@ + + + + + + + +NCEPLIBS-bufr: readwritesb.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              readwritesb.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Read or write a BUFR data subset. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions/Subroutines

                                                              recursive subroutine invmrg (lubfi, lubfj)
                                                               Merge parts of data subsets which have duplicate space and time coordinates but different or unique observational data. More...
                                                               
                                                              recursive integer function ireadns (lunit, subset, idate)
                                                               Call subroutine readns() and pass back its return code as the function value. More...
                                                               
                                                              recursive integer function ireadsb (lunit)
                                                               Call subroutine readsb() and pass back its return code as the function value. More...
                                                               
                                                              recursive integer function lcmgdf (lunit, subset)
                                                               Check whether the subset definition for a given message type contains any long character strings (greater than 8 bytes). More...
                                                               
                                                              subroutine msgupd (lunit, lun)
                                                               Write an uncompressed BUFR data subset. More...
                                                               
                                                              integer function nwords (n, lun)
                                                               Compute the length of a specified delayed replication sequence within a data subset. More...
                                                               
                                                              subroutine pad (ibay, ibit, ibyt, ipadb)
                                                               Pad a BUFR data subset with zeroed-out bits up to the next byte boundary. More...
                                                               
                                                              subroutine rcstpl (lun, iret)
                                                               Initialize a subset template within internal arrays. More...
                                                               
                                                              recursive subroutine rdmgsb (lunit, imsg, isub)
                                                               Read a specified data subset from a BUFR file. More...
                                                               
                                                              subroutine rdtree (lun, iret)
                                                               Read the next uncompressed BUFR data subset into internal arrays. More...
                                                               
                                                              recursive subroutine readns (lunit, subset, jdate, iret)
                                                               Read the next data subset from a BUFR file. More...
                                                               
                                                              recursive subroutine readsb (lunit, iret)
                                                               Read the next data subset from a BUFR message. More...
                                                               
                                                              recursive subroutine ufbpos (lunit, irec, isub, subset, jdate)
                                                               Jump forwards or backwards to a specified data subset within a BUFR file. More...
                                                               
                                                              subroutine usrtpl (lun, invn, nbmp)
                                                               Expand a subset template within internal arrays. More...
                                                               
                                                              recursive subroutine writsa (lunxx, lmsgt, msgt, msgl)
                                                               Write a complete data subset into a BUFR message, and return each completed message within a memory array. More...
                                                               
                                                              recursive subroutine writsb (lunit)
                                                               Write a complete data subset into a BUFR message, for eventual output to logical unit lunit. More...
                                                               
                                                              subroutine wrtree (lun)
                                                               Pack a BUFR data subset. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Read or write a BUFR data subset.

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition in file readwritesb.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ invmrg()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine invmrg (integer, intent(in) lubfi,
                                                              integer, intent(in) lubfj 
                                                              )
                                                              +
                                                              + +

                                                              Merge parts of data subsets which have duplicate space and time coordinates but different or unique observational data.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lubfi- Fortran logical unit number for input BUFR file
                                                              lubfj- Fortran logical unit number for output BUFR file
                                                              +
                                                              +
                                                              +

                                                              Logical unit lubfi should have already been opened for input operations via a previous call to subroutine openbf().

                                                              +

                                                              Logical unit lubfj should have already been opened for output operations via a previous call to subroutine openbf().

                                                              +
                                                              Remarks
                                                                +
                                                              • This subroutine cannot merge parts of data subsets which are contained within replication sequences.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1996-10-09
                                                              + +

                                                              Definition at line 1497 of file readwritesb.F90.

                                                              + +

                                                              References bort(), ibfms(), moda_usrint::inv, moda_tables::itp, moda_usrint::nval, nwords(), status(), moda_tables::typ, moda_usrint::val, and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadns()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive integer function ireadns (integer, intent(in) lunit,
                                                              character*8, intent(out) subset,
                                                              integer, intent(out) idate 
                                                              )
                                                              +
                                                              + +

                                                              Call subroutine readns() and pass back its return code as the function value.

                                                              +

                                                              The use of this function allows the return code from readns() to be used as the target variable within an iterative program loop.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of data subset that was read (see DX BUFR Tables for further information about Table A mnemonics)
                                                              idate- Date-time stored within Section 1 of BUFR message containing data subset that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ireadns - return code:
                                                                +
                                                              • 0 = new BUFR data subset was successfully read into internal arrays
                                                              • +
                                                              • -1 = there are no more BUFR data subsets in the file connected to logical unit lunit
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 238 of file readwritesb.F90.

                                                              + +

                                                              References readns(), x48(), and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::ireadns_c().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ireadsb()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive integer function ireadsb (integer, intent(in) lunit)
                                                              +
                                                              + +

                                                              Call subroutine readsb() and pass back its return code as the function value.

                                                              +

                                                              The use of this function allows the return code from readsb() to be used as the target variable within an iterative program loop.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              ireadsb - return code:
                                                                +
                                                              • 0 = new BUFR data subset was successfully read into internal arrays
                                                              • +
                                                              • -1 = there are no more BUFR data subsets in the BUFR message
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 116 of file readwritesb.F90.

                                                              + +

                                                              References readsb(), and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::ireadsb_c(), readbp(), readmp(), and ufbtab().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ lcmgdf()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              recursive integer function lcmgdf (integer, intent(in) lunit,
                                                              character*8, intent(in) subset 
                                                              )
                                                              +
                                                              + +

                                                              Check whether the subset definition for a given message type contains any long character strings (greater than 8 bytes).

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic of message type to be checked
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              lcmgdf - Return code:
                                                                +
                                                              • 0 = subset does not contain any long character strings
                                                              • +
                                                              • 1 = subset contains at least one long character string
                                                              • +
                                                              +
                                                              +
                                                              Remarks
                                                                +
                                                              • lunit may be open for either input or output operations via a previous call to subroutine openbf(). However, in either case, subset must already be defined within the BUFR tables that are associated with lunit, typically as DX BUFR tables information supplied via argument lundx when openbf() was called, or, if openbf() was called with IO = 'SEC3', then as master BUFR table information during a previous call to one of the message-reading subroutines.
                                                              • +
                                                              • Note that this function does not return mnemonic(s) associated with any long character string(s) found within subset; rather, it only checks whether at least one such mnemonic exists. If any are found, the application program can process them via a separate call to subroutine readlc() (when reading BUFR data subsets) or subroutine writlc() (when writing BUFR data subsets).
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2009-07-09
                                                              + +

                                                              Definition at line 803 of file readwritesb.F90.

                                                              + +

                                                              References bort(), moda_tables::ibt, moda_tables::isc, nemtba(), status(), moda_tables::typ, and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ msgupd()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine msgupd (integer, intent(in) lunit,
                                                              integer, intent(in) lun 
                                                              )
                                                              +
                                                              + +

                                                              Write an uncompressed BUFR data subset.

                                                              +

                                                              Pack up the current subset within memory (array ibay in module moda_bitbuf), then try to add it to the uncompressed BUFR message that is currently open within memory for LUNIT (array mbay in module moda_bitbuf). If the subset will not fit into the currently open message, or if the subset byte count exceeds 65530 (sufficiently close to the 16-bit byte counter upper limit of 65535), then that message is flushed to lunit and a new one is created in order to hold the current subset. Any subset with byte count > 65530 will be written into its own one-subset message. if the current subset is larger than the maximum message length, then the subset is discarded and a diagnostic is printed.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lunit- Fortran logical unit number for BUFR file.
                                                              lun- File ID associated with lunit
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 612 of file readwritesb.F90.

                                                              + +

                                                              References moda_h4wlc::chh4wlc, errwrt(), moda_bitbuf::ibay, moda_bitbuf::ibit, moda_h4wlc::luh4wlc, moda_bitbuf::maxbyt, moda_bitbuf::mbay, moda_bitbuf::mbyt, msgini(), msgwrt(), mvb(), moda_h4wlc::nh4wlc, moda_msgcwd::nsub, pad(), pkb(), moda_h4wlc::sth4wlc, usrtpl(), and writlc().

                                                              + +

                                                              Referenced by writsa(), and writsb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nwords()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              integer function nwords (integer, intent(in) n,
                                                              integer, intent(in) lun 
                                                              )
                                                              +
                                                              + +

                                                              Compute the length of a specified delayed replication sequence within a data subset.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              n- Starting index of delayed replication sequence
                                                              lun- File ID
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              Complete length of delayed replication sequence within data subset
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1996-10-09
                                                              + +

                                                              Definition at line 1605 of file readwritesb.F90.

                                                              + +

                                                              References moda_usrint::val.

                                                              + +

                                                              Referenced by invmrg().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ pad()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine pad (integer, dimension(*), intent(inout) ibay,
                                                              integer, intent(inout) ibit,
                                                              integer, intent(out) ibyt,
                                                              integer, intent(in) ipadb 
                                                              )
                                                              +
                                                              + +

                                                              Pad a BUFR data subset with zeroed-out bits up to the next byte boundary.

                                                              +

                                                              Pack the value for the number of bits being "padded", starting with bit ibit+1 and using eight bits in the packed array ibay (which represents a subset packed into ibit bits). Then, starting with ibit+9, pack zeroes (i.e., "pads") to the specified bit boundary (ipadb).

                                                              +

                                                              Note that it's the number of bits padded here that was packed in bits ibit+1 through ibit+8 - this is actually a delayed replication factor! ipadb must be a multiple of eight and represents the bit boundary on which the packed subset in ibay should end after padding. For example, if ipadb is "8", then the number of bits in ibay actually consumed by packed data (including the padding) will be a multiple of eight. If ipadb is "16", it will be a multiple of sixteen. in either (or any) case, this ensures that the packed subset will always end on a full byte boundary.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              ibay- BUFR data subset:
                                                                +
                                                              • on input, contains BUFR data subset to be padded
                                                              • +
                                                              • on output, contains BUFR data subset padded with zeroed-out bits up to ipadb
                                                              • +
                                                              +
                                                              ibit- Bit pointer:
                                                                +
                                                              • on input, contains bit pointer within ibay after which to begin padding
                                                              • +
                                                              • on output, contains bit pointer within ibay to last bit that was padded
                                                              • +
                                                              +
                                                              ibyt- Number of bytes within ibay containing packed data, including padding
                                                              ipadb- Bit boundary to pad to (must be a multiple of 8)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 749 of file readwritesb.F90.

                                                              + +

                                                              References bort(), and pkb().

                                                              + +

                                                              Referenced by msgupd().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ rcstpl()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine rcstpl (integer, intent(in) lun,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Initialize a subset template within internal arrays.

                                                              +

                                                              Initialize space in internal subset arrays in modules moda_usrint and moda_usrbit, according to the subset definition from subroutine makestab(). This is in preparation for the actual unpacking of the subset in subroutine rdtree().

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID
                                                              iret- Return code:
                                                                +
                                                              • 0 = Normal return
                                                              • +
                                                              • -1 = An error occurred, possibly due to a corrupt subset in the input message
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1155 of file readwritesb.F90.

                                                              + +

                                                              References bort(), errwrt(), moda_tables::ibt, moda_msgcwd::inode, moda_usrint::inv, moda_tables::iseq, moda_tables::itp, moda_usrtmp::iutmp, moda_tables::jseq, moda_bitbuf::mbay, moda_usrbit::mbit, moda_usrbit::nbit, moda_usrint::nrfelm, moda_usrint::nval, strbtm(), moda_tables::tag, upbb(), moda_usrint::val, moda_tables::vali, and moda_usrtmp::vutmp.

                                                              + +

                                                              Referenced by rdtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ rdmgsb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine rdmgsb (integer, intent(in) lunit,
                                                              integer, intent(in) imsg,
                                                              integer, intent(in) isub 
                                                              )
                                                              +
                                                              + +

                                                              Read a specified data subset from a BUFR file.

                                                              +

                                                              This subroutine combines the functionality of openbf(), readmg(), and readsb().

                                                              +

                                                              Logical unit lunit should not have already been opened via a previous call to subroutine openbf(). This subroutine will open the file for input.

                                                              +

                                                              Whenever this subroutine returns successfully, this indicates that a new data subset was successfully read into internal arrays within the NCEPLIBS-bufr software, and that subsequent calls can immediately be made to any of the various values-reading subroutines.

                                                              +

                                                              Note that the value specified for imsg should not include any DX BUFR table messages which may be present in the file. In other words, a value of 12 for imsg means to read the 12th message which contains actual report data.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              imsg- Number of BUFR message to be read from the BUFR file, counting from the beginning of the file, but not counting any DX BUFR table messages which may be present in the file
                                                              isub- Number of data subset to be read from the (imsg)th BUFR message, counting from the beginning of the message
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 535 of file readwritesb.F90.

                                                              + +

                                                              References bort(), openbf(), readmg(), readsb(), status(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ rdtree()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              subroutine rdtree (integer, intent(in) lun,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next uncompressed BUFR data subset into internal arrays.

                                                              +

                                                              Unpack the next uncompressed subset from the internal array mbay in module moda_bitbuf, and store the resulting values within the internal array val(*,lun) in module moda_usrint.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lun- File ID
                                                              iret- Return code:
                                                                +
                                                              • 0 normal return
                                                              • +
                                                              • -1 An error occurred, possibly due to a corrupt subset in the input message
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 974 of file readwritesb.F90.

                                                              + +

                                                              References moda_bitbuf::ibit, moda_tables::ibt, moda_usrint::inv, moda_tables::itp, moda_ival::ival, moda_bitbuf::mbay, moda_usrbit::mbit, moda_usrbit::nbit, moda_usrint::nval, rcstpl(), upb8(), upc(), ups(), and moda_usrint::val.

                                                              + +

                                                              Referenced by readsb().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readns()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine readns (integer, intent(in) lunit,
                                                              character*8, intent(out) subset,
                                                              integer, intent(out) jdate,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next data subset from a BUFR file.

                                                              +

                                                              This subroutine provides a handy way to combine the functionality of subroutines readmg() and readsb() within a single subroutine call.

                                                              +

                                                              Logical unit lunit should have already been opened for input operations via a previous call to subroutine openbf(). But once that is done, the application program can immediately call this subroutine to read each new data subset from the associated BUFR file, and the subroutine will automatically open and close each new BUFR message internally as needed, so that subsequent calls can immediately be made to any of the various values-reading subroutines.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              subset- Table A mnemonic for type of data subset that was read (see DX BUFR Tables for further information about Table A mnemonics)
                                                              jdate- Date-time stored within Section 1 of BUFR message containing data subset that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                                              iret- return code
                                                                +
                                                              • 0 = new BUFR data subset was successfully read into internal arrays
                                                              • +
                                                              • -1 = there are no more BUFR data subsets in the file connected to logical unit lunit
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 167 of file readwritesb.F90.

                                                              + +

                                                              References bort(), moda_msgcwd::idate, moda_msgcwd::inode, readmg(), readsb(), status(), moda_tables::tag, x48(), and x84().

                                                              + +

                                                              Referenced by ireadns().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readsb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine readsb (integer, intent(in) lunit,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Read the next data subset from a BUFR message.

                                                              +

                                                              Logical unit lunit should have already been opened for input operations via a previous call to subroutine openbf(), and a BUFR message should have already been read into internal arrays via a previous call to one of the message-reading subroutines.

                                                              +

                                                              Whenever this subroutine returns with iret = 0, this indicates that a new BUFR data subset (i.e. report) was successfully read into internal arrays within the NCEPLIBS-bufr software, and from where it can be manipulated or further parsed via calls to any of the values-reading subroutines".

                                                              +

                                                              If the subroutine returns with iret = -1 there are no more data subsets available within the current message; a new call needs to be made to one of the message-reading subroutines in order to read in the next message from logical unit lunit.

                                                              +
                                                              Parameters
                                                              + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              iret- return code:
                                                                +
                                                              • 0 new BUFR data subset was successfully read into internal arrays
                                                              • +
                                                              • -1 there are no more BUFR data subsets in the BUFR message
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 31 of file readwritesb.F90.

                                                              + +

                                                              References bort(), moda_bitbuf::ibit, moda_stcode::iscodes, moda_bitmaps::linbtm, moda_bitmaps::lstnod, moda_bitmaps::lstnodct, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_unptyp::msgunp, moda_msgcwd::msub, moda_bitmaps::nbtm, moda_msgcwd::nsub, rdcmps(), rdtree(), status(), upb(), x48(), and x84().

                                                              + +

                                                              Referenced by cmpbqm(), copysb(), ireadsb(), rdmems(), rdmgsb(), readns(), rewnbf(), ufbinx(), and ufbpos().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbpos()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbpos (integer, intent(in) lunit,
                                                              integer, intent(in) irec,
                                                              integer, intent(in) isub,
                                                              character*8, intent(out) subset,
                                                              integer, intent(out) jdate 
                                                              )
                                                              +
                                                              + +

                                                              Jump forwards or backwards to a specified data subset within a BUFR file.

                                                              +

                                                              Reposition the file pointer to the beginning of a specified data subset within a specified message of a BUFR file, then read that data subset into internal arrays so that it can be further processed via subsequent calls to any of the values-reading subroutines.

                                                              +

                                                              The specified data subset may be before or after the current location of the file pointer within the BUFR file.

                                                              +
                                                              Remarks
                                                                +
                                                              • Logical unit lunit should have already been opened for input operations via a previous call to subroutine openbf().
                                                              • +
                                                              • The value specified for irec should not include any messages which contain DX BUFR tables information.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              irec- Ordinal number of message to be read, counting from the beginning of the BUFR file, but not counting any messages which contain DX BUFR tables information
                                                              isub- Ordinal number of data subset to be read from (irec)th message, counting from the beginning of the message
                                                              subset- Table A mnemonic for type of BUFR message that was read (see DX BUFR Tables for further information about Table A mnemonics)
                                                              jdate- Date-time stored within Section 1 of BUFR message that was read, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1995-11-22
                                                              + +

                                                              Definition at line 879 of file readwritesb.F90.

                                                              + +

                                                              References bort(), moda_msgcwd::nmsg, moda_msgcwd::nsub, readmg(), readsb(), status(), ufbcnt(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ usrtpl()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine usrtpl (integer, intent(in) lun,
                                                              integer, intent(in) invn,
                                                              integer, intent(in) nbmp 
                                                              )
                                                              +
                                                              + +

                                                              Expand a subset template within internal arrays.

                                                              +

                                                              Update a subset template within the internal subset arrays in module moda_usrint for cases of node expansion, such as when the node is either a Table A mnemonic or a delayed replication factor.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lun- File ID
                                                              invn- Starting jump/link table index of the node to be expanded within the subset template
                                                              nbmp- Number of times by which invn is to be expanded (i.e. number of replications of node)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1306 of file readwritesb.F90.

                                                              + +

                                                              References bort(), errwrt(), moda_tables::ibt, moda_msgcwd::inode, moda_usrint::inv, moda_stcode::iscodes, moda_tables::iseq, moda_ivttmp::itmp, moda_tables::itp, moda_tables::jmpb, moda_tables::jseq, moda_usrint::nval, moda_tables::tag, moda_tables::typ, moda_usrint::val, moda_tables::vali, and moda_ivttmp::vtmp.

                                                              + +

                                                              Referenced by drfini(), drstpl(), msgupd(), openmb(), openmg(), rdcmps(), trybump(), ufbget(), ufbtab(), ufbtam(), wrcmps(), and writlc().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ writsa()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine writsa (integer, intent(in) lunxx,
                                                              integer, intent(in) lmsgt,
                                                              integer, dimension(*), intent(out) msgt,
                                                              integer, intent(out) msgl 
                                                              )
                                                              +
                                                              + +

                                                              Write a complete data subset into a BUFR message, and return each completed message within a memory array.

                                                              +

                                                              This subroutine is similar to subroutine writsb(), except that in addition to writing each completed message to a specified Fortran logical unit, it also returns a copy of each completed message to the application program within a memory array.

                                                              +

                                                              This subroutine is called to indicate that all necessary values for a data subset (i.e. report) have been written, and the subset is ready to be encoded and packed into the current message for the BUFR file associated with logical unit abs(lunxx). Logical unit abs(lunxx) should have already been opened for output operations via a previous call to subroutine openbf(), and a BUFR message should already be open for output within internal arrays via a previous call to one of the NCEPLIBS-bufr message-writing subroutines. All of the values for the data subset should have already been written into internal arrays via calls to any of the NCEPLIBS-bufr values-writing subroutines

                                                              +

                                                              This subroutine returns a copy of each completed BUFR message to the application program within a memory array. When using this subroutine, it is important to note that the NCEPLIBS-bufr software is designed to pack as many data subsets as possible into each message for output, and therefore not every call to this subroutine will result in a message being returned in msgt. In such cases, msgl will contain the value 0, indicating that no message was returned.

                                                              +

                                                              Only when msgl contains a value greater than 0 is there an actual BUFR message within msgt; otherwise, the message into which the data subset was packed remains internally within NCEPLIBS-bufr so that future data subsets can be packed into it as well, and the message will eventually be returned during some other future call to this subroutine. For this reason, there is a way to force the subroutine to return any message contained within the internal NCEPLIBS-bufr arrays, such as when there are no more data subsets to be encoded and we're ready to exit the application program. In this case, the application program should make one final call to this subroutine, but with lunxx set to a negative value; specifically, to the additive inverse of the Fortran logical unit number of the BUFR file. This signals to the subroutine that there are no more data subsets to be packed into the current message for logical unit abs(lunxx), and that the existing message should instead be immediately flushed to output and returned in msgt.

                                                              +
                                                              Remarks
                                                                +
                                                              • There is a maximum size for any BUFR message that can be written by the NCEPLIBS-bufr software. This maximum message size is initially set to an internal default value within subroutine bfrini(), but it can be changed to a different value via a separate prior call to subroutine maxout().
                                                              • +
                                                              • As is the case for subroutine writsb(), this subroutine will also check to ensure that the data subset, when encoded and packed, will fit into the current BUFR message that is open within the internal arrays associated with logical unit abs(lunxx). If adding the data subset to the current message would cause the maximum message size to be exceeded, then the subroutine will automatically flush the current message to logical unit abs(lunxx) and to array msgt, then open and initialize a new internal message using the same subset and jdate values that were specified in the most recent call to one of the message-writing subroutines for abs(lunxx), then encode and pack the data subset into that new message.
                                                              • +
                                                              • If the user would prefer that output messages only be returned to the calling program via the msgt memory array and not also written to Fortran logical unit abs(lunxx), then this can be accomplished by setting io = 'NUL' when calling subroutine openbf() for abs(lunxx). In such cases, the logical unit number abs(lunxx) does not even need to be associated with an actual file on the local system.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunxx- Absolute value is Fortran logical unit number for BUFR file
                                                              lmsgt- Dimensioned size (in integers) of msgt; used by the subroutine to ensure that it doesn't overflow the msgt array
                                                              msgt- BUFR message
                                                              msgl- Size (in integers) of BUFR message in msgt (0 for no message)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              +J. Ator
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 422 of file readwritesb.F90.

                                                              + +

                                                              References bort(), moda_msgcmp::ccmf, closmg(), moda_bufrmg::msglen, moda_bufrmg::msgtxt, msgupd(), status(), wrcmps(), wrtree(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ writsb()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              recursive subroutine writsb (integer, intent(in) lunit)
                                                              +
                                                              + +

                                                              Write a complete data subset into a BUFR message, for eventual output to logical unit lunit.

                                                              +

                                                              This subroutine is called when all necessary values for a data subset (i.e. report) have been written, and the subset is ready to be encoded and packed into the current message for the BUFR file associated with logical unit lunit. Logical unit lunit should have already been opened for output operations via a previous call to subroutine openbf(), and a BUFR message should already be open for output within internal arrays via a previous call to one of the NCEPLIBS-bufr message-writing subroutines. All of the values for the data subset should have already been written into internal arrays via calls to any of the NCEPLIBS-bufr values-writing subroutines.

                                                              +

                                                              There is a maximum size for any BUFR message that can be written by the NCEPLIBS-bufr software. This maximum message size is initially set to an internal default value within subroutine bfrini(), but it can be changed to a different value via a separate prior call to subroutine maxout().

                                                              +

                                                              This subroutine will always check to ensure that the data subset, when encoded and packed, will fit into the current BUFR message that is already open within the internal arrays associated with logical unit lunit. If adding the data subset to the current message would cause the maximum message size to be exceeded, then the subroutine will automatically flush the current message to logical unit lunit, then open and initialize a new internal message using the same subset and jdate values that were specified in the most recent call to one of the message-writing subroutines for lunit, then encode and pack the data subset into that new message.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 302 of file readwritesb.F90.

                                                              + +

                                                              References bort(), moda_msgcmp::ccmf, msgupd(), status(), wrcmps(), wrtree(), and x84().

                                                              + +

                                                              Referenced by copysb(), and writcp().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ wrtree()

                                                              + +
                                                              +
                                                              + + + + + + + + +
                                                              subroutine wrtree (integer, intent(in) lun)
                                                              +
                                                              + +

                                                              Pack a BUFR data subset.

                                                              +

                                                              Convert values from the internal array val(*,lun) (in module moda_usrint) into scaled integers, and then pack those scaled integers into the internal array ibay in module moda_bitbuf.

                                                              +
                                                              Parameters
                                                              + + +
                                                              lun- File ID
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1063 of file readwritesb.F90.

                                                              + +

                                                              References moda_bitbuf::ibay, moda_bitbuf::ibit, moda_tables::ibt, moda_usrint::inv, ipkm(), moda_tables::itp, moda_ival::ival, moda_ufbcpl::luncpy, moda_usrint::nval, pkb8(), pkc(), readlc(), moda_tables::tag, moda_tables::typ, and moda_usrint::val.

                                                              + +

                                                              Referenced by writsa(), and writsb().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/readwritesb_8F90.js b/readwritesb_8F90.js new file mode 100644 index 000000000..377da70a7 --- /dev/null +++ b/readwritesb_8F90.js @@ -0,0 +1,20 @@ +var readwritesb_8F90 = +[ + [ "invmrg", "readwritesb_8F90.html#aa926be9632b9da3990e2591f0386ee94", null ], + [ "ireadns", "readwritesb_8F90.html#a8a621b1996440ed233c796e49c8971f3", null ], + [ "ireadsb", "readwritesb_8F90.html#aae33d6dd74331ba0a2a34ba22e8e56ab", null ], + [ "lcmgdf", "readwritesb_8F90.html#acd820000e0fca0bc8d4ca0abac7b81fd", null ], + [ "msgupd", "readwritesb_8F90.html#a237f33069932c5fae473ac718c2eae9a", null ], + [ "nwords", "readwritesb_8F90.html#a90ab4c66c5564da3a326c66cc42d067f", null ], + [ "pad", "readwritesb_8F90.html#a1ca33013e4c11f3c9d1fe614f9f1d585", null ], + [ "rcstpl", "readwritesb_8F90.html#abb101b31fac13895d22320a918215372", null ], + [ "rdmgsb", "readwritesb_8F90.html#ad3f468fd2fbb1a36ebfff82d32674953", null ], + [ "rdtree", "readwritesb_8F90.html#a1dab1c658cb8511cfd1cc6a360221da8", null ], + [ "readns", "readwritesb_8F90.html#aeb1fdb4af8ca100d3d80c52a221f1de8", null ], + [ "readsb", "readwritesb_8F90.html#ab4b6c52feffa76d2a4d8fab6e3547f3c", null ], + [ "ufbpos", "readwritesb_8F90.html#a178ebc9cfe70d3119632799fc3db25de", null ], + [ "usrtpl", "readwritesb_8F90.html#a470af56bdf10d0b31292b0edac067597", null ], + [ "writsa", "readwritesb_8F90.html#a4b62a40d2c2860279670bf59a68e8204", null ], + [ "writsb", "readwritesb_8F90.html#aa2218d1cd25f8d558448bdc3061b3a04", null ], + [ "wrtree", "readwritesb_8F90.html#a2324e7f253ba3ad6209d7ab0fce5bc0e", null ] +]; \ No newline at end of file diff --git a/readwritesb_8F90_source.html b/readwritesb_8F90_source.html new file mode 100644 index 000000000..8b01d21fd --- /dev/null +++ b/readwritesb_8F90_source.html @@ -0,0 +1,1448 @@ + + + + + + + +NCEPLIBS-bufr: readwritesb.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              readwritesb.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              31 recursive subroutine readsb(lunit,iret)
                                                              +
                                                              32 
                                                              +
                                                              33  use modv_vars, only: im8b
                                                              +
                                                              34 
                                                              +
                                                              35  use moda_msgcwd
                                                              +
                                                              36  use moda_unptyp
                                                              +
                                                              37  use moda_bitbuf
                                                              +
                                                              38  use moda_bitmaps
                                                              +
                                                              39  use moda_stcode
                                                              +
                                                              40 
                                                              +
                                                              41  implicit none
                                                              +
                                                              42 
                                                              +
                                                              43  integer, intent(in) :: lunit
                                                              +
                                                              44  integer, intent(out) :: iret
                                                              +
                                                              45  integer my_lunit, lun, il, im, ier, nbyt
                                                              +
                                                              46 
                                                              +
                                                              47  ! Check for I8 integers
                                                              +
                                                              48 
                                                              +
                                                              49  if(im8b) then
                                                              +
                                                              50  im8b=.false.
                                                              +
                                                              51 
                                                              +
                                                              52  call x84(lunit,my_lunit,1)
                                                              +
                                                              53  call readsb(my_lunit,iret)
                                                              +
                                                              54  call x48(iret,iret,1)
                                                              +
                                                              55 
                                                              +
                                                              56  im8b=.true.
                                                              +
                                                              57  return
                                                              +
                                                              58  endif
                                                              +
                                                              59 
                                                              +
                                                              60  iret = -1
                                                              +
                                                              61 
                                                              +
                                                              62  ! Check the file status
                                                              +
                                                              63 
                                                              +
                                                              64  call status(lunit,lun,il,im)
                                                              +
                                                              65  if(il==0) call bort('BUFRLIB: READSB - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              66  if(il>0) call bort('BUFRLIB: READSB - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              67  if(im==0) return
                                                              +
                                                              68 
                                                              +
                                                              69  ! See if there is another subset in the message
                                                              +
                                                              70 
                                                              +
                                                              71  if(nsub(lun)==msub(lun)) return
                                                              +
                                                              72  nsub(lun) = nsub(lun) + 1
                                                              +
                                                              73 
                                                              +
                                                              74  ! Read the next subset and reset the pointers
                                                              +
                                                              75 
                                                              +
                                                              76  nbtm = 0
                                                              +
                                                              77  lstnod = 0
                                                              +
                                                              78  lstnodct = 0
                                                              +
                                                              79  iscodes(lun) = 0
                                                              +
                                                              80  linbtm = .false.
                                                              +
                                                              81 
                                                              +
                                                              82  if(msgunp(lun)==0) then
                                                              +
                                                              83  ibit = mbyt(lun)*8
                                                              +
                                                              84  call upb(nbyt,16,mbay(1,lun),ibit)
                                                              +
                                                              85  call rdtree(lun,ier)
                                                              +
                                                              86  if(ier/=0) return
                                                              +
                                                              87  mbyt(lun) = mbyt(lun) + nbyt
                                                              +
                                                              88  elseif(msgunp(lun)==1) then
                                                              +
                                                              89  ! message with "standard" Section 3
                                                              +
                                                              90  ibit = mbyt(lun)
                                                              +
                                                              91  call rdtree(lun,ier)
                                                              +
                                                              92  if(ier/=0) return
                                                              +
                                                              93  mbyt(lun) = ibit
                                                              +
                                                              94  else
                                                              +
                                                              95  ! compressed message
                                                              +
                                                              96  call rdcmps(lun)
                                                              +
                                                              97  if (iscodes(lun) /= 0) return
                                                              +
                                                              98  endif
                                                              +
                                                              99 
                                                              +
                                                              100  iret = 0
                                                              +
                                                              101 
                                                              +
                                                              102  return
                                                              +
                                                              103 end subroutine readsb
                                                              +
                                                              104 
                                                              +
                                                              116 recursive integer function ireadsb(lunit) result(iret)
                                                              +
                                                              117 
                                                              +
                                                              118  use modv_vars, only: im8b
                                                              +
                                                              119 
                                                              +
                                                              120  implicit none
                                                              +
                                                              121 
                                                              +
                                                              122  integer, intent(in) :: lunit
                                                              +
                                                              123  integer my_lunit
                                                              +
                                                              124 
                                                              +
                                                              125  ! Check for I8 integers.
                                                              +
                                                              126 
                                                              +
                                                              127  if(im8b) then
                                                              +
                                                              128  im8b=.false.
                                                              +
                                                              129 
                                                              +
                                                              130  call x84(lunit,my_lunit,1)
                                                              +
                                                              131  iret=ireadsb(my_lunit)
                                                              +
                                                              132 
                                                              +
                                                              133  im8b=.true.
                                                              +
                                                              134  return
                                                              +
                                                              135  endif
                                                              +
                                                              136 
                                                              +
                                                              137  call readsb(lunit,iret)
                                                              +
                                                              138 
                                                              +
                                                              139  return
                                                              +
                                                              140 end function ireadsb
                                                              +
                                                              141 
                                                              +
                                                              167 recursive subroutine readns(lunit,subset,jdate,iret)
                                                              +
                                                              168 
                                                              +
                                                              169  use modv_vars, only: im8b
                                                              +
                                                              170 
                                                              +
                                                              171  use moda_msgcwd
                                                              +
                                                              172  use moda_tables
                                                              +
                                                              173 
                                                              +
                                                              174  implicit none
                                                              +
                                                              175 
                                                              +
                                                              176  integer, intent(in) :: lunit
                                                              +
                                                              177  integer, intent(out) :: jdate, iret
                                                              +
                                                              178  integer my_lunit, lun, il, im
                                                              +
                                                              179 
                                                              +
                                                              180  character*8, intent(out) :: subset
                                                              +
                                                              181 
                                                              +
                                                              182  ! Check for I8 integers
                                                              +
                                                              183 
                                                              +
                                                              184  if(im8b) then
                                                              +
                                                              185  im8b=.false.
                                                              +
                                                              186 
                                                              +
                                                              187  call x84(lunit,my_lunit,1)
                                                              +
                                                              188  call readns(my_lunit,subset,jdate,iret)
                                                              +
                                                              189  call x48(jdate,jdate,1)
                                                              +
                                                              190  call x48(iret,iret,1)
                                                              +
                                                              191 
                                                              +
                                                              192  im8b=.true.
                                                              +
                                                              193  return
                                                              +
                                                              194  endif
                                                              +
                                                              195 
                                                              +
                                                              196  ! Refresh the subset and jdate parameters
                                                              +
                                                              197 
                                                              +
                                                              198  call status(lunit,lun,il,im)
                                                              +
                                                              199  if(il==0) call bort('BUFRLIB: READNS - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              200  if(il>0) call bort('BUFRLIB: READNS - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              201  if(inode(lun)==0) then
                                                              +
                                                              202  subset = ' '
                                                              +
                                                              203  else
                                                              +
                                                              204  subset = tag(inode(lun))(1:8)
                                                              +
                                                              205  endif
                                                              +
                                                              206  jdate = idate(lun)
                                                              +
                                                              207 
                                                              +
                                                              208  ! Read the next subset in the BUFR file
                                                              +
                                                              209 
                                                              +
                                                              210  do while (.true.)
                                                              +
                                                              211  call readsb(lunit,iret)
                                                              +
                                                              212  if (iret==0) exit
                                                              +
                                                              213  call readmg(lunit,subset,jdate,iret)
                                                              +
                                                              214  if (iret/=0) exit
                                                              +
                                                              215  enddo
                                                              +
                                                              216 
                                                              +
                                                              217  return
                                                              +
                                                              218 end subroutine readns
                                                              +
                                                              219 
                                                              +
                                                              238 recursive integer function ireadns(lunit,subset,idate) result(iret)
                                                              +
                                                              239 
                                                              +
                                                              240  use modv_vars, only: im8b
                                                              +
                                                              241 
                                                              +
                                                              242  implicit none
                                                              +
                                                              243 
                                                              +
                                                              244  integer, intent(in) :: lunit
                                                              +
                                                              245  integer, intent(out) :: idate
                                                              +
                                                              246  integer my_lunit
                                                              +
                                                              247 
                                                              +
                                                              248  character*8, intent(out) :: subset
                                                              +
                                                              249 
                                                              +
                                                              250  ! Check for I8 integers.
                                                              +
                                                              251 
                                                              +
                                                              252  if(im8b) then
                                                              +
                                                              253  im8b=.false.
                                                              +
                                                              254 
                                                              +
                                                              255  call x84(lunit,my_lunit,1)
                                                              +
                                                              256  iret=ireadns(my_lunit,subset,idate)
                                                              +
                                                              257  call x48(idate,idate,1)
                                                              +
                                                              258 
                                                              +
                                                              259  im8b=.true.
                                                              +
                                                              260  return
                                                              +
                                                              261  endif
                                                              +
                                                              262 
                                                              +
                                                              263  call readns(lunit,subset,idate,iret)
                                                              +
                                                              264 
                                                              +
                                                              265  return
                                                              +
                                                              266 end function ireadns
                                                              +
                                                              267 
                                                              +
                                                              302 recursive subroutine writsb(lunit)
                                                              +
                                                              303 
                                                              +
                                                              304  use modv_vars, only: im8b
                                                              +
                                                              305 
                                                              +
                                                              306  use moda_msgcmp
                                                              +
                                                              307 
                                                              +
                                                              308  implicit none
                                                              +
                                                              309 
                                                              +
                                                              310  integer, intent(in) :: lunit
                                                              +
                                                              311  integer my_lunit, lun, il, im
                                                              +
                                                              312 
                                                              +
                                                              313  ! Check for I8 integers
                                                              +
                                                              314 
                                                              +
                                                              315  if(im8b) then
                                                              +
                                                              316  im8b=.false.
                                                              +
                                                              317 
                                                              +
                                                              318  call x84 ( lunit, my_lunit, 1 )
                                                              +
                                                              319  call writsb ( my_lunit )
                                                              +
                                                              320 
                                                              +
                                                              321  im8b=.true.
                                                              +
                                                              322  return
                                                              +
                                                              323  endif
                                                              +
                                                              324 
                                                              +
                                                              325  ! Check the file status
                                                              +
                                                              326 
                                                              +
                                                              327  call status(lunit,lun,il,im)
                                                              +
                                                              328  if(il==0) call bort('BUFRLIB: WRITSB - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              329  if(il<0) call bort('BUFRLIB: WRITSB - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              330  if(im==0) call bort('BUFRLIB: WRITSB - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
                                                              +
                                                              331 
                                                              +
                                                              332  ! Pack up the subset and put it into the message
                                                              +
                                                              333 
                                                              +
                                                              334  call wrtree(lun)
                                                              +
                                                              335  if( ccmf=='Y' ) then
                                                              +
                                                              336  call wrcmps(lunit)
                                                              +
                                                              337  else
                                                              +
                                                              338  call msgupd(lunit,lun)
                                                              +
                                                              339  endif
                                                              +
                                                              340 
                                                              +
                                                              341  return
                                                              +
                                                              342 end subroutine writsb
                                                              +
                                                              343 
                                                              +
                                                              422 recursive subroutine writsa(lunxx,lmsgt,msgt,msgl)
                                                              +
                                                              423 
                                                              +
                                                              424  use modv_vars, only: im8b
                                                              +
                                                              425 
                                                              +
                                                              426  use moda_bufrmg
                                                              +
                                                              427  use moda_msgcmp
                                                              +
                                                              428 
                                                              +
                                                              429  implicit none
                                                              +
                                                              430 
                                                              +
                                                              431  integer, intent(in) :: lunxx, lmsgt
                                                              +
                                                              432  integer, intent(out) :: msgt(*), msgl
                                                              +
                                                              433  integer my_lunxx, my_lmsgt, lunit, lun, il, im, n
                                                              +
                                                              434 
                                                              +
                                                              435  ! Check for I8 integers
                                                              +
                                                              436 
                                                              +
                                                              437  if(im8b) then
                                                              +
                                                              438  im8b=.false.
                                                              +
                                                              439 
                                                              +
                                                              440  call x84 ( lunxx, my_lunxx, 1 )
                                                              +
                                                              441  call x84 ( lmsgt, my_lmsgt, 1 )
                                                              +
                                                              442  call writsa ( my_lunxx, my_lmsgt*2, msgt, msgl )
                                                              +
                                                              443  msgl = msgl/2
                                                              +
                                                              444  call x48 ( msgl, msgl, 1 )
                                                              +
                                                              445 
                                                              +
                                                              446  im8b=.true.
                                                              +
                                                              447  return
                                                              +
                                                              448  endif
                                                              +
                                                              449 
                                                              +
                                                              450  lunit = abs(lunxx)
                                                              +
                                                              451 
                                                              +
                                                              452  ! Check the file status
                                                              +
                                                              453 
                                                              +
                                                              454  call status(lunit,lun,il,im)
                                                              +
                                                              455  if(il==0) call bort('BUFRLIB: WRITSA - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              456  if(il<0) call bort('BUFRLIB: WRITSA - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              457  if(im==0) call bort('BUFRLIB: WRITSA - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
                                                              +
                                                              458 
                                                              +
                                                              459  ! If lunxx < 0, force memory msg to be written (w/o any current subset)
                                                              +
                                                              460 
                                                              +
                                                              461  if(lunxx<0) call closmg(lunit)
                                                              +
                                                              462 
                                                              +
                                                              463  ! Is there a completed BUFR message to be returned?
                                                              +
                                                              464 
                                                              +
                                                              465  if(msglen(lun)>0) then
                                                              +
                                                              466  if(msglen(lun)>lmsgt) call bort('BUFRLIB: WRITSA - OVERFLOW OF OUTPUT BUFR MESSAGE ARRAY; TRY A LARGER '// &
                                                              +
                                                              467  'DIMENSION FOR THIS ARRAY')
                                                              +
                                                              468  msgl = msglen(lun)
                                                              +
                                                              469  do n=1,msgl
                                                              +
                                                              470  msgt(n) = msgtxt(n,lun)
                                                              +
                                                              471  enddo
                                                              +
                                                              472  msglen(lun) = 0
                                                              +
                                                              473  else
                                                              +
                                                              474  msgl = 0
                                                              +
                                                              475  endif
                                                              +
                                                              476 
                                                              +
                                                              477  if(lunxx<0) return
                                                              +
                                                              478 
                                                              +
                                                              479  ! Pack up the subset and put it into the message
                                                              +
                                                              480 
                                                              +
                                                              481  call wrtree(lun)
                                                              +
                                                              482  if( ccmf=='Y' ) then
                                                              +
                                                              483  call wrcmps(lunit)
                                                              +
                                                              484  else
                                                              +
                                                              485  call msgupd(lunit,lun)
                                                              +
                                                              486  endif
                                                              +
                                                              487 
                                                              +
                                                              488  ! If the just-completed call to wrcmps() or msgupd() for this subset caused a message to be flushed to abs(lunxx), then
                                                              +
                                                              489  ! attempt to retrieve and return that message now. Otherwise, we run the risk that the next call to openmb() or openmg()
                                                              +
                                                              490  ! might cause another message to be flushed, and thus overwrite the current message within array msgtxt before we
                                                              +
                                                              491  ! had the chance to retrieve it during the next call to writsa().
                                                              +
                                                              492 
                                                              +
                                                              493  ! Also note that, in rare instances (e.g. if the byte count of the most recent subset is > 65530), we could end up with
                                                              +
                                                              494  ! two BUFR messages available to be returned from this one call to writsa(). If sufficient space is available in the
                                                              +
                                                              495  ! msgt array, then go ahead and return both messages now.
                                                              +
                                                              496 
                                                              +
                                                              497  if( (msglen(lun)>0) .and. (msgl+msglen(lun)<=lmsgt) ) then
                                                              +
                                                              498  do n = 1,msglen(lun)
                                                              +
                                                              499  msgt(msgl+n) = msgtxt(n,lun)
                                                              +
                                                              500  enddo
                                                              +
                                                              501  msgl = msgl+msglen(lun)
                                                              +
                                                              502  msglen(lun) = 0
                                                              +
                                                              503  endif
                                                              +
                                                              504 
                                                              +
                                                              505  return
                                                              +
                                                              506 end subroutine writsa
                                                              +
                                                              507 
                                                              +
                                                              535 recursive subroutine rdmgsb(lunit,imsg,isub)
                                                              +
                                                              536 
                                                              +
                                                              537  use modv_vars, only: im8b
                                                              +
                                                              538 
                                                              +
                                                              539  use moda_msgcwd
                                                              +
                                                              540  use moda_bitbuf
                                                              +
                                                              541 
                                                              +
                                                              542  implicit none
                                                              +
                                                              543 
                                                              +
                                                              544  integer, intent(in) :: lunit, imsg, isub
                                                              +
                                                              545  integer my_lunit, my_imsg, my_isub, lun, il, im, i, jdate, iret
                                                              +
                                                              546 
                                                              +
                                                              547  character*128 bort_str
                                                              +
                                                              548  character*8 subset
                                                              +
                                                              549 
                                                              +
                                                              550  ! Check for I8 integers
                                                              +
                                                              551 
                                                              +
                                                              552  if(im8b) then
                                                              +
                                                              553  im8b=.false.
                                                              +
                                                              554 
                                                              +
                                                              555  call x84(lunit,my_lunit,1)
                                                              +
                                                              556  call x84(imsg,my_imsg,1)
                                                              +
                                                              557  call x84(isub,my_isub,1)
                                                              +
                                                              558  call rdmgsb(my_lunit,my_imsg,my_isub)
                                                              +
                                                              559 
                                                              +
                                                              560  im8b=.true.
                                                              +
                                                              561  return
                                                              +
                                                              562  endif
                                                              +
                                                              563 
                                                              +
                                                              564  ! Open the file and skip to message #imsg
                                                              +
                                                              565 
                                                              +
                                                              566  call openbf(lunit,'IN',lunit)
                                                              +
                                                              567  call status(lunit,lun,il,im)
                                                              +
                                                              568 
                                                              +
                                                              569  ! Note that we need to use subroutine readmg() to actually read in all of the messages (including the
                                                              +
                                                              570  ! first (imsg-1) messages!), just in case there are any embedded dictionary messages in the file.
                                                              +
                                                              571 
                                                              +
                                                              572  do i=1,imsg
                                                              +
                                                              573  call readmg(lunit,subset,jdate,iret)
                                                              +
                                                              574  if(iret<0) then
                                                              +
                                                              575  write(bort_str,'("BUFRLIB: RDMGSB - HIT END OF FILE BEFORE READING REQUESTED MESSAGE NO.",I5," IN '//&
                                                              +
                                                              576  'BUFR FILE CONNECTED TO UNIT",I4)') imsg,lunit
                                                              +
                                                              577  call bort(bort_str)
                                                              +
                                                              578  endif
                                                              +
                                                              579  enddo
                                                              +
                                                              580 
                                                              +
                                                              581  ! Position at subset #isub
                                                              +
                                                              582 
                                                              +
                                                              583  do i=1,isub
                                                              +
                                                              584  call readsb(lunit,iret)
                                                              +
                                                              585  if(iret<0) then
                                                              +
                                                              586  write(bort_str,'("BUFRLIB: RDMGSB - ALL SUBSETS READ BEFORE READING REQ. SUBSET NO.",I3," IN '// &
                                                              +
                                                              587  'REQ. MSG NO.",I5," IN BUFR FILE CONNECTED TO UNIT",I4)') isub,imsg,lunit
                                                              +
                                                              588  call bort(bort_str)
                                                              +
                                                              589  endif
                                                              +
                                                              590  enddo
                                                              +
                                                              591 
                                                              +
                                                              592  return
                                                              +
                                                              593 end subroutine rdmgsb
                                                              +
                                                              594 
                                                              +
                                                              612 subroutine msgupd(lunit,lun)
                                                              +
                                                              613 
                                                              +
                                                              614  use moda_msgcwd
                                                              +
                                                              615  use moda_bitbuf
                                                              +
                                                              616  use moda_h4wlc
                                                              +
                                                              617 
                                                              +
                                                              618  implicit none
                                                              +
                                                              619 
                                                              +
                                                              620  integer, intent(in) :: lunit, lun
                                                              +
                                                              621  integer nby0, nby1, nby2, nby3, nby4, nby5, iprt, ibyt, lbyt, lbit, nbyt, ii, iupb
                                                              +
                                                              622 
                                                              +
                                                              623  logical msgfull
                                                              +
                                                              624 
                                                              +
                                                              625  character*128 errstr
                                                              +
                                                              626 
                                                              +
                                                              627  common /msgptr/ nby0, nby1, nby2, nby3, nby4, nby5
                                                              +
                                                              628  common /quiet/ iprt
                                                              +
                                                              629 
                                                              +
                                                              630  ! Pad the subset buffer
                                                              +
                                                              631 
                                                              +
                                                              632  call pad(ibay,ibit,ibyt,8)
                                                              +
                                                              633 
                                                              +
                                                              634  ! Check whether the new subset should be written into the currently open message
                                                              +
                                                              635 
                                                              +
                                                              636  if(msgfull(mbyt(lun),ibyt,maxbyt) .or. ((ibyt>65530).and.(nsub(lun)>0))) then
                                                              +
                                                              637  ! No it should not, either because it doesn't fit
                                                              +
                                                              638  ! OR
                                                              +
                                                              639  ! It has byte count > 65530 (sufficiently close to the upper limit for the 16 bit byte counter placed at the beginning
                                                              +
                                                              640  ! of each subset), and the current message has at least one subset in it
                                                              +
                                                              641  !
                                                              +
                                                              642  ! In either of these cases, we need to write out the current message and then create a new one to hold the current subset
                                                              +
                                                              643  call msgwrt(lunit,mbay(1,lun),mbyt(lun))
                                                              +
                                                              644  call msgini(lun)
                                                              +
                                                              645  endif
                                                              +
                                                              646 
                                                              +
                                                              647  if(msgfull(mbyt(lun),ibyt,maxbyt)) then
                                                              +
                                                              648  ! This is an overlarge subset that won't fit in any message given the current value of maxbyt, so discard the subset
                                                              +
                                                              649  ! and exit gracefully.
                                                              +
                                                              650  if(iprt>=0) then
                                                              +
                                                              651  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              652  write ( unit=errstr, fmt='(A,A,I7,A)') 'BUFRLIB: MSGUPD - SUBSET LONGER THAN ANY POSSIBLE MESSAGE ', &
                                                              +
                                                              653  '{MAXIMUM MESSAGE LENGTH = ', maxbyt, '}'
                                                              +
                                                              654  call errwrt(errstr)
                                                              +
                                                              655  call errwrt('>>>>>>>OVERLARGE SUBSET DISCARDED FROM FILE<<<<<<<<')
                                                              +
                                                              656  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              657  call errwrt(' ')
                                                              +
                                                              658  endif
                                                              +
                                                              659  call usrtpl(lun,1,1)
                                                              +
                                                              660  return
                                                              +
                                                              661  endif
                                                              +
                                                              662 
                                                              +
                                                              663  ! Set a byte count and transfer the subset buffer into the message
                                                              +
                                                              664 
                                                              +
                                                              665  lbit = 0
                                                              +
                                                              666  call pkb(ibyt,16,ibay,lbit)
                                                              +
                                                              667 
                                                              +
                                                              668  ! Note that we want to append the data for this subset to the end of Section 4, but the value in mbyt(lun) already includes
                                                              +
                                                              669  ! the length of Section 5 (i.e. 4 bytes). Therefore, we need to begin writing at the point 3 bytes prior to the byte
                                                              +
                                                              670  ! currently pointed to by mbyt(lun).
                                                              +
                                                              671 
                                                              +
                                                              672  call mvb(ibay,1,mbay(1,lun),mbyt(lun)-3,ibyt)
                                                              +
                                                              673 
                                                              +
                                                              674  ! Update the subset and byte counters
                                                              +
                                                              675 
                                                              +
                                                              676  mbyt(lun) = mbyt(lun) + ibyt
                                                              +
                                                              677  nsub(lun) = nsub(lun) + 1
                                                              +
                                                              678 
                                                              +
                                                              679  lbit = (nby0+nby1+nby2+4)*8
                                                              +
                                                              680  call pkb(nsub(lun),16,mbay(1,lun),lbit)
                                                              +
                                                              681 
                                                              +
                                                              682  lbyt = nby0+nby1+nby2+nby3
                                                              +
                                                              683  nbyt = iupb(mbay(1,lun),lbyt+1,24)
                                                              +
                                                              684  lbit = lbyt*8
                                                              +
                                                              685  call pkb(nbyt+ibyt,24,mbay(1,lun),lbit)
                                                              +
                                                              686 
                                                              +
                                                              687  ! If any long character strings are being held internally for storage into this subset, store them now
                                                              +
                                                              688 
                                                              +
                                                              689  if(nh4wlc>0) then
                                                              +
                                                              690  do ii = 1, nh4wlc
                                                              +
                                                              691  call writlc(luh4wlc(ii),chh4wlc(ii),sth4wlc(ii))
                                                              +
                                                              692  enddo
                                                              +
                                                              693  nh4wlc = 0
                                                              +
                                                              694  endif
                                                              +
                                                              695 
                                                              +
                                                              696  ! If the subset byte count is > 65530, then give it its own one-subset message (cannot have any other subsets in this
                                                              +
                                                              697  ! message because their beginning would be beyond the upper limit of 65535 in the 16-bit byte counter, meaning they
                                                              +
                                                              698  ! could not be located!)
                                                              +
                                                              699 
                                                              +
                                                              700  if(ibyt>65530) then
                                                              +
                                                              701  if(iprt>=1) then
                                                              +
                                                              702  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              703  write ( unit=errstr, fmt='(A,I7,A,A)') 'BUFRLIB: MSGUPD - SUBSET HAS BYTE COUNT = ',ibyt,' > UPPER LIMIT OF 65535'
                                                              +
                                                              704  call errwrt(errstr)
                                                              +
                                                              705  call errwrt('>>>>>>>WILL BE WRITTEN INTO ITS OWN MESSAGE<<<<<<<<')
                                                              +
                                                              706  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              707  call errwrt(' ')
                                                              +
                                                              708  endif
                                                              +
                                                              709  call msgwrt(lunit,mbay(1,lun),mbyt(lun))
                                                              +
                                                              710  call msgini(lun)
                                                              +
                                                              711  endif
                                                              +
                                                              712 
                                                              +
                                                              713  ! Reset the user arrays
                                                              +
                                                              714 
                                                              +
                                                              715  call usrtpl(lun,1,1)
                                                              +
                                                              716 
                                                              +
                                                              717  return
                                                              +
                                                              718 end subroutine msgupd
                                                              +
                                                              719 
                                                              +
                                                              749 subroutine pad(ibay,ibit,ibyt,ipadb)
                                                              +
                                                              750 
                                                              +
                                                              751  implicit none
                                                              +
                                                              752 
                                                              +
                                                              753  integer, intent(inout) :: ibay(*), ibit
                                                              +
                                                              754  integer, intent(in) :: ipadb
                                                              +
                                                              755  integer, intent(out) :: ibyt
                                                              +
                                                              756  integer ipad
                                                              +
                                                              757 
                                                              +
                                                              758  character*128 bort_str
                                                              +
                                                              759 
                                                              +
                                                              760  ! Pad the subset to an ipadb bit boundary
                                                              +
                                                              761 
                                                              +
                                                              762  ipad = ipadb - mod(ibit+8,ipadb)
                                                              +
                                                              763  ! First pack the # of bits being padded (this is a delayed replication factor)
                                                              +
                                                              764  call pkb(ipad,8,ibay,ibit)
                                                              +
                                                              765  ! Now pad with zeroes to the byte boundary
                                                              +
                                                              766  call pkb(0,ipad,ibay,ibit)
                                                              +
                                                              767  ibyt = ibit/8
                                                              +
                                                              768 
                                                              +
                                                              769  if(mod(ibit,8)/=0) then
                                                              +
                                                              770  write(bort_str,'("BUFRLIB: PAD - THE NUMBER OF BITS IN A PACKED'// &
                                                              +
                                                              771  ' SUBSET AFTER PADDING (",I8,") IS NOT A MULTIPLE OF 8")') ibit
                                                              +
                                                              772  call bort(bort_str)
                                                              +
                                                              773  endif
                                                              +
                                                              774 
                                                              +
                                                              775  return
                                                              +
                                                              776 end subroutine pad
                                                              +
                                                              777 
                                                              +
                                                              803 recursive integer function lcmgdf(lunit,subset) result(iret)
                                                              +
                                                              804 
                                                              +
                                                              805  use modv_vars, only: im8b
                                                              +
                                                              806 
                                                              +
                                                              807  use moda_tables
                                                              +
                                                              808 
                                                              +
                                                              809  implicit none
                                                              +
                                                              810 
                                                              +
                                                              811  integer, intent(in) :: lunit
                                                              +
                                                              812  integer my_lunit, lun, il, im, mtyp, msbt, inod, nte, i
                                                              +
                                                              813 
                                                              +
                                                              814  character*8, intent(in) :: subset
                                                              +
                                                              815 
                                                              +
                                                              816  ! Check for I8 integers.
                                                              +
                                                              817 
                                                              +
                                                              818  if(im8b) then
                                                              +
                                                              819  im8b=.false.
                                                              +
                                                              820 
                                                              +
                                                              821  call x84(lunit,my_lunit,1)
                                                              +
                                                              822  iret=lcmgdf(my_lunit,subset)
                                                              +
                                                              823 
                                                              +
                                                              824  im8b=.true.
                                                              +
                                                              825  return
                                                              +
                                                              826  endif
                                                              +
                                                              827 
                                                              +
                                                              828  iret = 0
                                                              +
                                                              829 
                                                              +
                                                              830  ! Get lun from lunit.
                                                              +
                                                              831 
                                                              +
                                                              832  call status(lunit,lun,il,im)
                                                              +
                                                              833  if (il==0) call bort('BUFRLIB: LCMGDF - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                                              +
                                                              834 
                                                              +
                                                              835  ! Confirm that subset is defined for this logical unit.
                                                              +
                                                              836 
                                                              +
                                                              837  call nemtba(lun,subset,mtyp,msbt,inod)
                                                              +
                                                              838 
                                                              +
                                                              839  ! Check if there's a long character string in the definition.
                                                              +
                                                              840 
                                                              +
                                                              841  nte = isc(inod)-inod
                                                              +
                                                              842 
                                                              +
                                                              843  do i = 1, nte
                                                              +
                                                              844  if ( (typ(inod+i)=='CHR') .and. (ibt(inod+i)>64) ) then
                                                              +
                                                              845  iret = 1
                                                              +
                                                              846  return
                                                              +
                                                              847  endif
                                                              +
                                                              848  enddo
                                                              +
                                                              849 
                                                              +
                                                              850  iret = 0
                                                              +
                                                              851 
                                                              +
                                                              852  return
                                                              +
                                                              853 end function lcmgdf
                                                              +
                                                              854 
                                                              +
                                                              879 recursive subroutine ufbpos(lunit,irec,isub,subset,jdate)
                                                              +
                                                              880 
                                                              +
                                                              881  use bufrlib
                                                              +
                                                              882 
                                                              +
                                                              883  use modv_vars, only: im8b
                                                              +
                                                              884 
                                                              +
                                                              885  use moda_msgcwd
                                                              +
                                                              886  use moda_bitbuf
                                                              +
                                                              887 
                                                              +
                                                              888  implicit none
                                                              +
                                                              889 
                                                              +
                                                              890  integer, intent(in) :: lunit, irec, isub
                                                              +
                                                              891  integer, intent(out) :: jdate
                                                              +
                                                              892  integer my_lunit, my_irec, my_isub, lun, il, im, jrec, jsub, iret
                                                              +
                                                              893 
                                                              +
                                                              894  character*128 bort_str
                                                              +
                                                              895  character*8, intent(out) :: subset
                                                              +
                                                              896 
                                                              +
                                                              897  ! Check for I8 integers
                                                              +
                                                              898 
                                                              +
                                                              899  if(im8b) then
                                                              +
                                                              900  im8b=.false.
                                                              +
                                                              901  call x84(lunit,my_lunit,1)
                                                              +
                                                              902  call x84(irec,my_irec,1)
                                                              +
                                                              903  call x84(isub,my_isub,1)
                                                              +
                                                              904  call ufbpos(my_lunit,my_irec,my_isub,subset,jdate)
                                                              +
                                                              905  call x48(jdate,jdate,1)
                                                              +
                                                              906  im8b=.true.
                                                              +
                                                              907  return
                                                              +
                                                              908  endif
                                                              +
                                                              909 
                                                              +
                                                              910  ! Make sure a file is open for input
                                                              +
                                                              911 
                                                              +
                                                              912  call status(lunit,lun,il,im)
                                                              +
                                                              913  if(il==0) call bort('BUFRLIB: UFBPOS - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              914  if(il>0) call bort('BUFRLIB: UFBPOS - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              915 
                                                              +
                                                              916  if(irec<=0) then
                                                              +
                                                              917  write(bort_str,'("BUFRLIB: UFBPOS - REQUESTED MESSAGE NUMBER TO READ IN (",I5,") IS NOT VALID")') irec
                                                              +
                                                              918  call bort(bort_str)
                                                              +
                                                              919  endif
                                                              +
                                                              920  if(isub<=0) then
                                                              +
                                                              921  write(bort_str,'("BUFRLIB: UFBPOS - REQUESTED SUBSET NUMBER TO READ IN (",I5,") IS NOT VALID")') isub
                                                              +
                                                              922  call bort(bort_str)
                                                              +
                                                              923  endif
                                                              +
                                                              924 
                                                              +
                                                              925  ! See where pointers are currently located
                                                              +
                                                              926 
                                                              +
                                                              927  call ufbcnt(lunit,jrec,jsub)
                                                              +
                                                              928 
                                                              +
                                                              929  ! Rewind file if requested pointers are behind current pointers
                                                              +
                                                              930 
                                                              +
                                                              931  if(irec<jrec .or. (irec==jrec.and.isub<jsub)) then
                                                              +
                                                              932  call cewind_c(lun)
                                                              +
                                                              933  nmsg(lun) = 0
                                                              +
                                                              934  nsub(lun) = 0
                                                              +
                                                              935  call ufbcnt(lunit,jrec,jsub)
                                                              +
                                                              936  endif
                                                              +
                                                              937 
                                                              +
                                                              938  ! Read subset #isub from message #irec from file
                                                              +
                                                              939 
                                                              +
                                                              940  do while (irec>jrec)
                                                              +
                                                              941  call readmg(lunit,subset,jdate,iret)
                                                              +
                                                              942  if(iret<0) then
                                                              +
                                                              943  write(bort_str,'("BUFRLIB: UFBPOS - REQUESTED MESSAGE NUMBER '// &
                                                              +
                                                              944  'TO READ IN (",I5,") EXCEEDS THE NUMBER OF MESSAGES IN THE FILE (",I5,")")') irec, jrec
                                                              +
                                                              945  call bort(bort_str)
                                                              +
                                                              946  endif
                                                              +
                                                              947  call ufbcnt(lunit,jrec,jsub)
                                                              +
                                                              948  enddo
                                                              +
                                                              949 
                                                              +
                                                              950  do while (isub>jsub)
                                                              +
                                                              951  call readsb(lunit,iret)
                                                              +
                                                              952  if(iret/=0) then
                                                              +
                                                              953  write(bort_str,'("BUFRLIB: UFBPOS - REQ. SUBSET NUMBER TO READ'// &
                                                              +
                                                              954  ' IN (",I5,") EXCEEDS THE NUMBER OF SUBSETS (",I5,") IN THE REQ. MESSAGE (",I5,")")') isub, jsub, irec
                                                              +
                                                              955  call bort(bort_str)
                                                              +
                                                              956  endif
                                                              +
                                                              957  call ufbcnt(lunit,jrec,jsub)
                                                              +
                                                              958  enddo
                                                              +
                                                              959 
                                                              +
                                                              960  return
                                                              +
                                                              961 end subroutine ufbpos
                                                              +
                                                              962 
                                                              +
                                                              974 subroutine rdtree(lun,iret)
                                                              +
                                                              975 
                                                              +
                                                              976  use modv_vars, only: bmiss
                                                              +
                                                              977 
                                                              +
                                                              978  use moda_usrint
                                                              +
                                                              979  use moda_usrbit
                                                              +
                                                              980  use moda_ival
                                                              +
                                                              981  use moda_bitbuf
                                                              +
                                                              982  use moda_tables
                                                              +
                                                              983 
                                                              +
                                                              984  implicit none
                                                              +
                                                              985 
                                                              +
                                                              986  integer, intent(in) :: lun
                                                              +
                                                              987  integer, intent(out) :: iret
                                                              +
                                                              988  integer ier, n, node, kbit, nbt, icbfms
                                                              +
                                                              989 
                                                              +
                                                              990  character*8 cval
                                                              +
                                                              991 
                                                              +
                                                              992  real*8 rval, ups
                                                              +
                                                              993 
                                                              +
                                                              994  equivalence(cval,rval)
                                                              +
                                                              995 
                                                              +
                                                              996  iret = 0
                                                              +
                                                              997 
                                                              +
                                                              998  ! Cycle through a subset setting up the template
                                                              +
                                                              999 
                                                              +
                                                              1000  mbit(1) = ibit
                                                              +
                                                              1001  nbit(1) = 0
                                                              +
                                                              1002  call rcstpl(lun,ier)
                                                              +
                                                              1003  if(ier/=0) then
                                                              +
                                                              1004  iret = -1
                                                              +
                                                              1005  return
                                                              +
                                                              1006  endif
                                                              +
                                                              1007 
                                                              +
                                                              1008  ! Unpack a subset into the user array ival
                                                              +
                                                              1009 
                                                              +
                                                              1010  do n=1,nval(lun)
                                                              +
                                                              1011  call upb8(ival(n),nbit(n),mbit(n),mbay(1,lun))
                                                              +
                                                              1012  enddo
                                                              +
                                                              1013 
                                                              +
                                                              1014  ! Loop through each element of the subset, converting the unpacked values to the proper types
                                                              +
                                                              1015 
                                                              +
                                                              1016  do n=1,nval(lun)
                                                              +
                                                              1017  node = inv(n,lun)
                                                              +
                                                              1018  if(itp(node)==1) then
                                                              +
                                                              1019 
                                                              +
                                                              1020  ! The unpacked value is a delayed descriptor replication factor.
                                                              +
                                                              1021 
                                                              +
                                                              1022  val(n,lun) = ival(n)
                                                              +
                                                              1023  elseif(itp(node)==2) then
                                                              +
                                                              1024 
                                                              +
                                                              1025  ! The unpacked value is a real.
                                                              +
                                                              1026 
                                                              +
                                                              1027  if (ival(n)<2_8**ibt(node)-1) then
                                                              +
                                                              1028  val(n,lun) = ups(ival(n),node)
                                                              +
                                                              1029  else
                                                              +
                                                              1030  val(n,lun) = bmiss
                                                              +
                                                              1031  endif
                                                              +
                                                              1032  elseif(itp(node)==3) then
                                                              +
                                                              1033 
                                                              +
                                                              1034  ! The value is a character string, so unpack it using an equivalenced real*8 value. Note that a maximum of 8 characters
                                                              +
                                                              1035  ! will be unpacked here, so a separate subsequent call to subroutine readlc() will be needed to fully unpack any string
                                                              +
                                                              1036  ! longer than 8 characters.
                                                              +
                                                              1037 
                                                              +
                                                              1038  cval = ' '
                                                              +
                                                              1039  kbit = mbit(n)
                                                              +
                                                              1040  nbt = min(8,nbit(n)/8)
                                                              +
                                                              1041  call upc(cval,nbt,mbay(1,lun),kbit,.true.)
                                                              +
                                                              1042  if (nbit(n)<=64 .and. icbfms(cval,nbt)/=0) then
                                                              +
                                                              1043  val(n,lun) = bmiss
                                                              +
                                                              1044  else
                                                              +
                                                              1045  val(n,lun) = rval
                                                              +
                                                              1046  endif
                                                              +
                                                              1047  endif
                                                              +
                                                              1048  enddo
                                                              +
                                                              1049 
                                                              +
                                                              1050  ibit = nbit(nval(lun))+mbit(nval(lun))
                                                              +
                                                              1051 
                                                              +
                                                              1052  return
                                                              +
                                                              1053 end subroutine rdtree
                                                              +
                                                              1054 
                                                              +
                                                              1063 subroutine wrtree(lun)
                                                              +
                                                              1064 
                                                              +
                                                              1065  use moda_usrint
                                                              +
                                                              1066  use moda_ival
                                                              +
                                                              1067  use moda_ufbcpl
                                                              +
                                                              1068  use moda_bitbuf
                                                              +
                                                              1069  use moda_tables
                                                              +
                                                              1070 
                                                              +
                                                              1071  implicit none
                                                              +
                                                              1072 
                                                              +
                                                              1073  integer, intent(in) :: lun
                                                              +
                                                              1074  integer*8 ipks
                                                              +
                                                              1075  integer n, node, ncr, numchr, jj, ibfms
                                                              +
                                                              1076 
                                                              +
                                                              1077  character*120 lstr
                                                              +
                                                              1078  character*8 cval
                                                              +
                                                              1079 
                                                              +
                                                              1080  real*8 rval
                                                              +
                                                              1081 
                                                              +
                                                              1082  equivalence(cval,rval)
                                                              +
                                                              1083 
                                                              +
                                                              1084  ! Convert user numbers into scaled integers
                                                              +
                                                              1085 
                                                              +
                                                              1086  do n=1,nval(lun)
                                                              +
                                                              1087  node = inv(n,lun)
                                                              +
                                                              1088  if(itp(node)==1) then
                                                              +
                                                              1089  ival(n) = nint(val(n,lun))
                                                              +
                                                              1090  elseif(typ(node)=='NUM') then
                                                              +
                                                              1091  if( (ibfms(val(n,lun))==1) .or. (val(n,lun)/=val(n,lun)) ) then
                                                              +
                                                              1092  ! The user number is either "missing" or NaN.
                                                              +
                                                              1093  ival(n) = -1
                                                              +
                                                              1094  else
                                                              +
                                                              1095  ival(n) = ipks(val(n,lun),node)
                                                              +
                                                              1096  endif
                                                              +
                                                              1097  endif
                                                              +
                                                              1098  enddo
                                                              +
                                                              1099 
                                                              +
                                                              1100  ! Pack the user array into the subset buffer
                                                              +
                                                              1101 
                                                              +
                                                              1102  ibit = 16
                                                              +
                                                              1103 
                                                              +
                                                              1104  do n=1,nval(lun)
                                                              +
                                                              1105  node = inv(n,lun)
                                                              +
                                                              1106  if(itp(node)<3) then
                                                              +
                                                              1107  ! The value to be packed is numeric.
                                                              +
                                                              1108  call pkb8(ival(n),ibt(node),ibay,ibit)
                                                              +
                                                              1109  else
                                                              +
                                                              1110  ! The value to be packed is a character string.
                                                              +
                                                              1111  ncr=ibt(node)/8
                                                              +
                                                              1112  if ( ncr>8 .and. luncpy(lun)/=0 ) then
                                                              +
                                                              1113  ! The string is longer than 8 characters and there was a preceeding call to ufbcpy() involving this output unit,
                                                              +
                                                              1114  ! so read the long string with readlc() and then write it into the output buffer using pkc().
                                                              +
                                                              1115  call readlc(luncpy(lun),lstr,tag(node))
                                                              +
                                                              1116  call pkc(lstr,ncr,ibay,ibit)
                                                              +
                                                              1117  else
                                                              +
                                                              1118  rval = val(n,lun)
                                                              +
                                                              1119  if(ibfms(rval)/=0) then
                                                              +
                                                              1120  ! The value is "missing", so set all bits to 1 before packing the field as a character string.
                                                              +
                                                              1121  numchr = min(ncr,len(lstr))
                                                              +
                                                              1122  do jj = 1, numchr
                                                              +
                                                              1123  call ipkm(lstr(jj:jj),1,255)
                                                              +
                                                              1124  enddo
                                                              +
                                                              1125  call pkc(lstr,numchr,ibay,ibit)
                                                              +
                                                              1126  else
                                                              +
                                                              1127  ! The value is not "missing", so pack the equivalenced character string. Note that a maximum of 8 characters
                                                              +
                                                              1128  ! will be packed here, so a separate subsequent call to subroutine writlc() will be needed to fully encode any
                                                              +
                                                              1129  ! string longer than 8 characters.
                                                              +
                                                              1130  call pkc(cval,ncr,ibay,ibit)
                                                              +
                                                              1131  endif
                                                              +
                                                              1132  endif
                                                              +
                                                              1133  endif
                                                              +
                                                              1134  enddo
                                                              +
                                                              1135 
                                                              +
                                                              1136  ! Reset ufbcpy() file pointer
                                                              +
                                                              1137 
                                                              +
                                                              1138  luncpy(lun)=0
                                                              +
                                                              1139 
                                                              +
                                                              1140  return
                                                              +
                                                              1141 end subroutine wrtree
                                                              +
                                                              1142 
                                                              +
                                                              1155 subroutine rcstpl(lun,iret)
                                                              +
                                                              1156 
                                                              +
                                                              1157  use modv_vars, only: bmiss, maxjl, maxss, maxrcr
                                                              +
                                                              1158 
                                                              +
                                                              1159  use moda_usrint
                                                              +
                                                              1160  use moda_usrbit
                                                              +
                                                              1161  use moda_msgcwd
                                                              +
                                                              1162  use moda_bitbuf
                                                              +
                                                              1163  use moda_tables
                                                              +
                                                              1164  use moda_usrtmp
                                                              +
                                                              1165 
                                                              +
                                                              1166  implicit none
                                                              +
                                                              1167 
                                                              +
                                                              1168  character*128 bort_str
                                                              +
                                                              1169 
                                                              +
                                                              1170  integer, intent(in) :: lun
                                                              +
                                                              1171  integer, intent(out) :: iret
                                                              +
                                                              1172  integer nbmp(2,maxrcr), newn(2,maxrcr), knx(maxrcr), iprt, nodi, node, mbmp, knvn, nr, i, j, n, nn, n1, n2, new, &
                                                              +
                                                              1173  idpri, igetrfel
                                                              +
                                                              1174 
                                                              +
                                                              1175  common /quiet/ iprt
                                                              +
                                                              1176 
                                                              +
                                                              1177  iret = 0
                                                              +
                                                              1178 
                                                              +
                                                              1179  ! Set the initial values for the template
                                                              +
                                                              1180 
                                                              +
                                                              1181  inv(1,lun) = inode(lun)
                                                              +
                                                              1182  val(1,lun) = 0
                                                              +
                                                              1183  nbmp(1,1) = 1
                                                              +
                                                              1184  nbmp(2,1) = 1
                                                              +
                                                              1185  nodi = inode(lun)
                                                              +
                                                              1186  node = inode(lun)
                                                              +
                                                              1187  mbmp = 1
                                                              +
                                                              1188  knvn = 1
                                                              +
                                                              1189  nr = 0
                                                              +
                                                              1190 
                                                              +
                                                              1191  do i=1,maxrcr
                                                              +
                                                              1192  knx(i) = 0
                                                              +
                                                              1193  enddo
                                                              +
                                                              1194 
                                                              +
                                                              1195  outer: do while (.true.)
                                                              +
                                                              1196 
                                                              +
                                                              1197  ! Set up the parameters for a level of recursion
                                                              +
                                                              1198 
                                                              +
                                                              1199  nr = nr+1
                                                              +
                                                              1200  if(nr>maxrcr) then
                                                              +
                                                              1201  write(bort_str,'("BUFRLIB: RCSTPL - THE NUMBER OF RECURSION LEVELS EXCEEDS THE LIMIT (",I3,")")') maxrcr
                                                              +
                                                              1202  call bort(bort_str)
                                                              +
                                                              1203  endif
                                                              +
                                                              1204  nbmp(1,nr) = 1
                                                              +
                                                              1205  nbmp(2,nr) = mbmp
                                                              +
                                                              1206 
                                                              +
                                                              1207  n1 = iseq(node,1)
                                                              +
                                                              1208  n2 = iseq(node,2)
                                                              +
                                                              1209  if(n1==0) then
                                                              +
                                                              1210  write(bort_str,'("BUFRLIB: RCSTPL - UNSET EXPANSION SEGMENT ",A)') tag(nodi)
                                                              +
                                                              1211  call bort(bort_str)
                                                              +
                                                              1212  endif
                                                              +
                                                              1213  if(n2-n1+1>maxjl) then
                                                              +
                                                              1214  if(iprt>=0) then
                                                              +
                                                              1215  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1216  call errwrt('BUFRLIB: RCSTPL - MAXJL OVERFLOW; SUBSET SKIPPED')
                                                              +
                                                              1217  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1218  endif
                                                              +
                                                              1219  iret = -1
                                                              +
                                                              1220  return
                                                              +
                                                              1221  endif
                                                              +
                                                              1222  newn(1,nr) = 1
                                                              +
                                                              1223  newn(2,nr) = n2-n1+1
                                                              +
                                                              1224 
                                                              +
                                                              1225  do n=1,newn(2,nr)
                                                              +
                                                              1226  nn = jseq(n+n1-1)
                                                              +
                                                              1227  iutmp(n,nr) = nn
                                                              +
                                                              1228  vutmp(n,nr) = vali(nn)
                                                              +
                                                              1229  enddo
                                                              +
                                                              1230 
                                                              +
                                                              1231  do while (.true.)
                                                              +
                                                              1232 
                                                              +
                                                              1233  ! Store nodes at some recursion level
                                                              +
                                                              1234 
                                                              +
                                                              1235  do i=nbmp(1,nr),nbmp(2,nr)
                                                              +
                                                              1236  if(knx(nr)==0) knx(nr) = knvn
                                                              +
                                                              1237  if(i>nbmp(1,nr)) newn(1,nr) = 1
                                                              +
                                                              1238  do j=newn(1,nr),newn(2,nr)
                                                              +
                                                              1239  if(knvn+1>maxss) then
                                                              +
                                                              1240  if(iprt>=0) then
                                                              +
                                                              1241  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1242  call errwrt('BUFRLIB: RCSTPL - MAXSS OVERFLOW; SUBSET SKIPPED')
                                                              +
                                                              1243  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1244  endif
                                                              +
                                                              1245  iret = -1
                                                              +
                                                              1246  return
                                                              +
                                                              1247  endif
                                                              +
                                                              1248  knvn = knvn+1
                                                              +
                                                              1249  node = iutmp(j,nr)
                                                              +
                                                              1250  ! inv is positional index in internal jump/link table for packed subset element knvn in mbay
                                                              +
                                                              1251  inv(knvn,lun) = node
                                                              +
                                                              1252  ! mbit is the bit in mbay pointing to where the packed subset element knvn begins
                                                              +
                                                              1253  mbit(knvn) = mbit(knvn-1)+nbit(knvn-1)
                                                              +
                                                              1254  ! nbit is the number of bits in mbay occupied by packed subset element knvn
                                                              +
                                                              1255  nrfelm(knvn,lun) = igetrfel(knvn,lun)
                                                              +
                                                              1256  nbit(knvn) = ibt(node)
                                                              +
                                                              1257  if(tag(node)(1:5)=='DPRI ') then
                                                              +
                                                              1258  ! This is a bitmap entry, so get and store the corresponding value
                                                              +
                                                              1259  call upbb(idpri,nbit(knvn),mbit(knvn),mbay(1,lun))
                                                              +
                                                              1260  if(idpri==0) then
                                                              +
                                                              1261  val(knvn,lun) = 0.0
                                                              +
                                                              1262  else
                                                              +
                                                              1263  val(knvn,lun) = bmiss
                                                              +
                                                              1264  endif
                                                              +
                                                              1265  call strbtm(knvn,lun)
                                                              +
                                                              1266  endif
                                                              +
                                                              1267  ! Actual unpacked subset values are initialized here
                                                              +
                                                              1268  val(knvn,lun) = vutmp(j,nr)
                                                              +
                                                              1269  if(itp(node)==1) then
                                                              +
                                                              1270  call upbb(mbmp,nbit(knvn),mbit(knvn),mbay(1,lun))
                                                              +
                                                              1271  newn(1,nr) = j+1
                                                              +
                                                              1272  nbmp(1,nr) = i
                                                              +
                                                              1273  cycle outer
                                                              +
                                                              1274  endif
                                                              +
                                                              1275  enddo
                                                              +
                                                              1276  new = knvn-knx(nr)
                                                              +
                                                              1277  val(knx(nr)+1,lun) = val(knx(nr)+1,lun) + new
                                                              +
                                                              1278  knx(nr) = 0
                                                              +
                                                              1279  enddo
                                                              +
                                                              1280 
                                                              +
                                                              1281  ! Check if we need to continue one recursion level back
                                                              +
                                                              1282 
                                                              +
                                                              1283  if(nr-1 == 0) exit outer
                                                              +
                                                              1284  nr = nr-1
                                                              +
                                                              1285  enddo
                                                              +
                                                              1286 
                                                              +
                                                              1287  enddo outer
                                                              +
                                                              1288 
                                                              +
                                                              1289  ! Finally store the length of (i.e. the number of elements in) the subset template
                                                              +
                                                              1290 
                                                              +
                                                              1291  nval(lun) = knvn
                                                              +
                                                              1292 
                                                              +
                                                              1293  return
                                                              +
                                                              1294 end subroutine rcstpl
                                                              +
                                                              1295 
                                                              +
                                                              1306 subroutine usrtpl(lun,invn,nbmp)
                                                              +
                                                              1307 
                                                              +
                                                              1308  use modv_vars, only: maxjl, maxss
                                                              +
                                                              1309 
                                                              +
                                                              1310  use moda_usrint
                                                              +
                                                              1311  use moda_msgcwd
                                                              +
                                                              1312  use moda_tables
                                                              +
                                                              1313  use moda_ivttmp
                                                              +
                                                              1314  use moda_stcode
                                                              +
                                                              1315 
                                                              +
                                                              1316  implicit none
                                                              +
                                                              1317 
                                                              +
                                                              1318  integer, intent(in) :: lun, invn, nbmp
                                                              +
                                                              1319  integer iprt, i, j, ival, jval, n, n1, n2, nodi, node, newn, invr, knvn
                                                              +
                                                              1320 
                                                              +
                                                              1321  character*128 bort_str, errstr
                                                              +
                                                              1322 
                                                              +
                                                              1323  logical drp, drs, drb, drx
                                                              +
                                                              1324 
                                                              +
                                                              1325  common /quiet/ iprt
                                                              +
                                                              1326 
                                                              +
                                                              1327  if(iprt>=2) then
                                                              +
                                                              1328  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1329  write ( unit=errstr, fmt='(A,I3,A,I7,A,I5,A,A10)' ) &
                                                              +
                                                              1330  'BUFRLIB: USRTPL - LUN:INVN:NBMP:TAG(INODE(LUN)) = ', lun, ':', invn, ':', nbmp, ':', tag(inode(lun))
                                                              +
                                                              1331  call errwrt(errstr)
                                                              +
                                                              1332  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1333  call errwrt(' ')
                                                              +
                                                              1334  endif
                                                              +
                                                              1335 
                                                              +
                                                              1336  if(nbmp<=0) then
                                                              +
                                                              1337  if(iprt>=1) then
                                                              +
                                                              1338  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1339  call errwrt(.LE.'BUFRLIB: USRTPL - NBMP 0 - IMMEDIATE RETURN')
                                                              +
                                                              1340  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1341  call errwrt(' ')
                                                              +
                                                              1342  endif
                                                              +
                                                              1343  return
                                                              +
                                                              1344  endif
                                                              +
                                                              1345 
                                                              +
                                                              1346  drp = .false.
                                                              +
                                                              1347  drs = .false.
                                                              +
                                                              1348  drx = .false.
                                                              +
                                                              1349 
                                                              +
                                                              1350  ! Set up a node expansion
                                                              +
                                                              1351 
                                                              +
                                                              1352  if(invn==1) then
                                                              +
                                                              1353  ! The node is a Table A mnemonic
                                                              +
                                                              1354  nodi = inode(lun)
                                                              +
                                                              1355  inv(1,lun) = nodi
                                                              +
                                                              1356  nval(lun) = 1
                                                              +
                                                              1357  if(nbmp/=1) then
                                                              +
                                                              1358  write(bort_str,'("BUFRLIB: USRTPL - THIRD ARGUMENT (INPUT) = ",'// &
                                                              +
                                                              1359  'I4,", MUST BE 1 WHEN SECOND ARGUMENT (INPUT) IS 1 (SUBSET NODE) (",A,")")') nbmp, tag(nodi)
                                                              +
                                                              1360  call bort(bort_str)
                                                              +
                                                              1361  endif
                                                              +
                                                              1362  elseif(invn>0 .and. invn<=nval(lun)) then
                                                              +
                                                              1363  ! The node is (hopefully) a delayed replication factor
                                                              +
                                                              1364  nodi = inv(invn,lun)
                                                              +
                                                              1365  drp = typ(nodi) == 'DRP'
                                                              +
                                                              1366  drs = typ(nodi) == 'DRS'
                                                              +
                                                              1367  drb = typ(nodi) == 'DRB'
                                                              +
                                                              1368  drx = drp .or. drs .or. drb
                                                              +
                                                              1369  ival = nint(val(invn,lun))
                                                              +
                                                              1370  jval = 2**ibt(nodi)-1
                                                              +
                                                              1371  val(invn,lun) = ival+nbmp
                                                              +
                                                              1372  if(drb.and.nbmp/=1) then
                                                              +
                                                              1373  write(bort_str,'("BUFRLIB: USRTPL - THIRD ARGUMENT (INPUT) = ",'// &
                                                              +
                                                              1374  'I4,", MUST BE 1 WHEN NODE IS DRB (1-BIT DELAYED REPL. FACTOR) (",A,")")') nbmp, tag(nodi)
                                                              +
                                                              1375  call bort(bort_str)
                                                              +
                                                              1376  endif
                                                              +
                                                              1377  if(.not.drx) then
                                                              +
                                                              1378  write(bort_str,'("BUFRLIB: USRTPL - NODE IS OF TYPE ",A," - IT '// &
                                                              +
                                                              1379  'MUST BE EITHER A SUBSET OR DELAYED REPL. FACTOR (",A,")")') typ(nodi), tag(nodi)
                                                              +
                                                              1380  call bort(bort_str)
                                                              +
                                                              1381  endif
                                                              +
                                                              1382  if(ival<0) then
                                                              +
                                                              1383  write(bort_str,'("BUFRLIB: USRTPL - REPLICATION FACTOR IS NEGATIVE (=",I5,") (",A,")")') ival, tag(nodi)
                                                              +
                                                              1384  call bort(bort_str)
                                                              +
                                                              1385  endif
                                                              +
                                                              1386  if(ival+nbmp>jval) then
                                                              +
                                                              1387  write(bort_str,'("BUFRLIB: USRTPL - REPLICATION FACTOR OVERFLOW (EXCEEDS MAXIMUM OF",I6," (",A,")")') jval, tag(nodi)
                                                              +
                                                              1388  call errwrt(bort_str)
                                                              +
                                                              1389  iscodes(lun) = 1
                                                              +
                                                              1390  return
                                                              +
                                                              1391  endif
                                                              +
                                                              1392  else
                                                              +
                                                              1393  write(bort_str,'("BUFRLIB: USRTPL - INVENTORY INDEX {FIRST '// &
                                                              +
                                                              1394  'ARGUMENT (INPUT)} OUT OF BOUNDS (=",I5,", RANGE IS 1 TO",I6,") ")') invn, nval(lun)
                                                              +
                                                              1395  call bort(bort_str)
                                                              +
                                                              1396  endif
                                                              +
                                                              1397 
                                                              +
                                                              1398  ! Recall a pre-fab node expansion segment
                                                              +
                                                              1399 
                                                              +
                                                              1400  newn = 0
                                                              +
                                                              1401  n1 = iseq(nodi,1)
                                                              +
                                                              1402  n2 = iseq(nodi,2)
                                                              +
                                                              1403 
                                                              +
                                                              1404  if(n1==0) then
                                                              +
                                                              1405  write(bort_str,'("BUFRLIB: USRTPL - UNSET EXPANSION SEGMENT (",A,")")') tag(nodi)
                                                              +
                                                              1406  call bort(bort_str)
                                                              +
                                                              1407  endif
                                                              +
                                                              1408  if(n2-n1+1>maxjl) then
                                                              +
                                                              1409  write(bort_str,'("BUFRLIB: USRTPL - TEMPLATE ARRAY OVERFLOW, EXCEEDS THE LIMIT (",I6,") (",A,")")') maxjl, tag(nodi)
                                                              +
                                                              1410  call bort(bort_str)
                                                              +
                                                              1411  endif
                                                              +
                                                              1412 
                                                              +
                                                              1413  do n=n1,n2
                                                              +
                                                              1414  newn = newn+1
                                                              +
                                                              1415  itmp(newn) = jseq(n)
                                                              +
                                                              1416  vtmp(newn) = vali(jseq(n))
                                                              +
                                                              1417  enddo
                                                              +
                                                              1418 
                                                              +
                                                              1419  ! Move old nodes and store new ones
                                                              +
                                                              1420 
                                                              +
                                                              1421  if(nval(lun)+newn*nbmp>maxss) then
                                                              +
                                                              1422  write(bort_str,'("BUFRLIB: USRTPL - INVENTORY OVERFLOW (",I6,"), EXCEEDS THE LIMIT (",I6,") (",A,")")') &
                                                              +
                                                              1423  nval(lun)+newn*nbmp, maxss, tag(nodi)
                                                              +
                                                              1424  call bort(bort_str)
                                                              +
                                                              1425  endif
                                                              +
                                                              1426 
                                                              +
                                                              1427  do j=nval(lun),invn+1,-1
                                                              +
                                                              1428  inv(j+newn*nbmp,lun) = inv(j,lun)
                                                              +
                                                              1429  val(j+newn*nbmp,lun) = val(j,lun)
                                                              +
                                                              1430  enddo
                                                              +
                                                              1431 
                                                              +
                                                              1432  if(drp.or.drs) vtmp(1) = newn
                                                              +
                                                              1433  knvn = invn
                                                              +
                                                              1434 
                                                              +
                                                              1435  do i=1,nbmp
                                                              +
                                                              1436  do j=1,newn
                                                              +
                                                              1437  knvn = knvn+1
                                                              +
                                                              1438  inv(knvn,lun) = itmp(j)
                                                              +
                                                              1439  val(knvn,lun) = vtmp(j)
                                                              +
                                                              1440  enddo
                                                              +
                                                              1441  enddo
                                                              +
                                                              1442 
                                                              +
                                                              1443  ! Reset pointers and counters
                                                              +
                                                              1444 
                                                              +
                                                              1445  nval(lun) = nval(lun) + newn*nbmp
                                                              +
                                                              1446 
                                                              +
                                                              1447  if(iprt>=2) then
                                                              +
                                                              1448  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1449  write ( unit=errstr, fmt='(A,A,A10,2(A,I5),A,I7)' ) 'BUFRLIB: USRTPL - TAG(INV(INVN,LUN)):NEWN:NBMP:', &
                                                              +
                                                              1450  'NVAL(LUN) = ', tag(inv(invn,lun)), ':', newn, ':', nbmp, ':', nval(lun)
                                                              +
                                                              1451  call errwrt(errstr)
                                                              +
                                                              1452  do i=1,newn
                                                              +
                                                              1453  write ( unit=errstr, fmt='(2(A,I5),A,A10)' ) 'For I = ', i, ', ITMP(I) = ', itmp(i), ', TAG(ITMP(I)) = ', tag(itmp(i))
                                                              +
                                                              1454  call errwrt(errstr)
                                                              +
                                                              1455  enddo
                                                              +
                                                              1456  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1457  call errwrt(' ')
                                                              +
                                                              1458  endif
                                                              +
                                                              1459 
                                                              +
                                                              1460  if(drx) then
                                                              +
                                                              1461  node = nodi
                                                              +
                                                              1462  invr = invn
                                                              +
                                                              1463  outer: do while (.true.)
                                                              +
                                                              1464  node = jmpb(node)
                                                              +
                                                              1465  if(node<=0) exit
                                                              +
                                                              1466  if(itp(node)==0) then
                                                              +
                                                              1467  do invr=invr-1,1,-1
                                                              +
                                                              1468  if(inv(invr,lun)==node) then
                                                              +
                                                              1469  val(invr,lun) = val(invr,lun)+newn*nbmp
                                                              +
                                                              1470  cycle outer
                                                              +
                                                              1471  endif
                                                              +
                                                              1472  enddo
                                                              +
                                                              1473  write(bort_str,'("BUFRLIB: USRTPL - BAD BACKUP STRATEGY (",A,")")') tag(nodi)
                                                              +
                                                              1474  call bort(bort_str)
                                                              +
                                                              1475  else
                                                              +
                                                              1476  cycle
                                                              +
                                                              1477  endif
                                                              +
                                                              1478  enddo outer
                                                              +
                                                              1479  endif
                                                              +
                                                              1480 
                                                              +
                                                              1481  return
                                                              +
                                                              1482 end subroutine usrtpl
                                                              +
                                                              1483 
                                                              +
                                                              1497 recursive subroutine invmrg(lubfi,lubfj)
                                                              +
                                                              1498 
                                                              +
                                                              1499  use modv_vars, only: im8b
                                                              +
                                                              1500 
                                                              +
                                                              1501  use moda_usrint
                                                              +
                                                              1502  use moda_tables
                                                              +
                                                              1503 
                                                              +
                                                              1504  implicit none
                                                              +
                                                              1505 
                                                              +
                                                              1506  integer, intent(in) :: lubfi, lubfj
                                                              +
                                                              1507  integer nrpl, nmrg, namb, ntot, my_lubfi, my_lubfj, luni, il, im, lunj, jl, jm, is, js, node, nodj, ityp, iwrds, jwrds, &
                                                              +
                                                              1508  n, ioff, nwords, ibfms
                                                              +
                                                              1509 
                                                              +
                                                              1510  character*128 bort_str
                                                              +
                                                              1511 
                                                              +
                                                              1512  logical herei, herej, missi, missj, samei
                                                              +
                                                              1513 
                                                              +
                                                              1514  common /mrgcom/ nrpl, nmrg, namb, ntot
                                                              +
                                                              1515 
                                                              +
                                                              1516  ! Check for I8 integers
                                                              +
                                                              1517 
                                                              +
                                                              1518  if(im8b) then
                                                              +
                                                              1519  im8b=.false.
                                                              +
                                                              1520  call x84(lubfi,my_lubfi,1)
                                                              +
                                                              1521  call x84(lubfj,my_lubfj,1)
                                                              +
                                                              1522  call invmrg(my_lubfi,my_lubfj)
                                                              +
                                                              1523  im8b=.true.
                                                              +
                                                              1524  return
                                                              +
                                                              1525  endif
                                                              +
                                                              1526 
                                                              +
                                                              1527  is = 1
                                                              +
                                                              1528  js = 1
                                                              +
                                                              1529 
                                                              +
                                                              1530  ! Get the unit pointers
                                                              +
                                                              1531 
                                                              +
                                                              1532  call status(lubfi,luni,il,im)
                                                              +
                                                              1533  call status(lubfj,lunj,jl,jm)
                                                              +
                                                              1534 
                                                              +
                                                              1535  ! Step through the buffers comparing the inventory and merging data
                                                              +
                                                              1536 
                                                              +
                                                              1537  do while(is<=nval(luni))
                                                              +
                                                              1538  ! Confirm we're at the same node in each buffer
                                                              +
                                                              1539  node = inv(is,luni)
                                                              +
                                                              1540  nodj = inv(js,lunj)
                                                              +
                                                              1541  if(node/=nodj) then
                                                              +
                                                              1542  write(bort_str,'("BUFRLIB: INVMRG - NODE FROM INPUT BUFR FILE '// &
                                                              +
                                                              1543  '(",I7,") DOES NOT EQUAL NODE FROM OUTPUT BUFR FILE (",I7,"), TABULAR MISMATCH")') node, nodj
                                                              +
                                                              1544  call bort(bort_str)
                                                              +
                                                              1545  endif
                                                              +
                                                              1546 
                                                              +
                                                              1547  ityp = itp(node)
                                                              +
                                                              1548  if(ityp==1) then
                                                              +
                                                              1549  ! Do an entire sequence replacement
                                                              +
                                                              1550  if(typ(node)=='DRB') then
                                                              +
                                                              1551  ioff = 0
                                                              +
                                                              1552  else
                                                              +
                                                              1553  ioff = 1
                                                              +
                                                              1554  endif
                                                              +
                                                              1555  iwrds = nwords(is,luni)+ioff
                                                              +
                                                              1556  jwrds = nwords(js,lunj)+ioff
                                                              +
                                                              1557  if(iwrds>ioff .and. jwrds==ioff) then
                                                              +
                                                              1558  do n=nval(lunj),js+1,-1
                                                              +
                                                              1559  inv(n+iwrds-jwrds,lunj) = inv(n,lunj)
                                                              +
                                                              1560  val(n+iwrds-jwrds,lunj) = val(n,lunj)
                                                              +
                                                              1561  enddo
                                                              +
                                                              1562  do n=0,iwrds
                                                              +
                                                              1563  inv(js+n,lunj) = inv(is+n,luni)
                                                              +
                                                              1564  val(js+n,lunj) = val(is+n,luni)
                                                              +
                                                              1565  enddo
                                                              +
                                                              1566  nval(lunj) = nval(lunj)+iwrds-jwrds
                                                              +
                                                              1567  jwrds = iwrds
                                                              +
                                                              1568  nrpl = nrpl+1
                                                              +
                                                              1569  endif
                                                              +
                                                              1570  is = is+iwrds
                                                              +
                                                              1571  js = js+jwrds
                                                              +
                                                              1572  elseif((ityp==2).or.(ityp==3)) then
                                                              +
                                                              1573  ! Fill missing values
                                                              +
                                                              1574  herei = ibfms(val(is,luni))==0
                                                              +
                                                              1575  herej = ibfms(val(js,lunj))==0
                                                              +
                                                              1576  missi = .not.(herei)
                                                              +
                                                              1577  missj = .not.(herej)
                                                              +
                                                              1578  samei = val(is,luni)==val(js,lunj)
                                                              +
                                                              1579  if(herei.and.missj) then
                                                              +
                                                              1580  val(js,lunj) = val(is,luni)
                                                              +
                                                              1581  nmrg = nmrg+1
                                                              +
                                                              1582  elseif(herei.and.herej.and..not.samei) then
                                                              +
                                                              1583  namb = namb+1
                                                              +
                                                              1584  endif
                                                              +
                                                              1585  endif
                                                              +
                                                              1586 
                                                              +
                                                              1587  ! Bump the counters and go check the next pair
                                                              +
                                                              1588  is = is + 1
                                                              +
                                                              1589  js = js + 1
                                                              +
                                                              1590  enddo
                                                              +
                                                              1591 
                                                              +
                                                              1592  ntot = ntot+1
                                                              +
                                                              1593 
                                                              +
                                                              1594  return
                                                              +
                                                              1595 end subroutine invmrg
                                                              +
                                                              1596 
                                                              +
                                                              1605 integer function nwords(n,lun) result(iret)
                                                              +
                                                              1606 
                                                              +
                                                              1607  use moda_usrint
                                                              +
                                                              1608 
                                                              +
                                                              1609  implicit none
                                                              +
                                                              1610 
                                                              +
                                                              1611  integer, intent(in) :: n, lun
                                                              +
                                                              1612  integer k
                                                              +
                                                              1613 
                                                              +
                                                              1614  iret = 0
                                                              +
                                                              1615 
                                                              +
                                                              1616  do k=1,nint(val(n,lun))
                                                              +
                                                              1617  iret = iret + nint(val(iret+n+1,lun))
                                                              +
                                                              1618  enddo
                                                              +
                                                              1619 
                                                              +
                                                              1620  return
                                                              +
                                                              1621 end function nwords
                                                              +
                                                              subroutine strbtm(n, lun)
                                                              Store internal information in module moda_bitmaps if the input element is part of a bitmap.
                                                              Definition: bitmaps.F90:13
                                                              +
                                                              subroutine bort(str)
                                                              Log an error message, then abort the application program.
                                                              Definition: borts.F90:15
                                                              +
                                                              subroutine upb(nval, nbits, ibay, ibit)
                                                              Decode an integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:202
                                                              +
                                                              subroutine upbb(nval, nbits, ibit, ibay)
                                                              Decode an integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:154
                                                              +
                                                              subroutine upb8(nval, nbits, ibit, ibay)
                                                              Decode an 8-byte integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:80
                                                              +
                                                              real *8 function ups(ival, node)
                                                              Unpack a real*8 value from an integer by applying the proper scale and reference values.
                                                              Definition: cidecode.F90:319
                                                              +
                                                              subroutine upc(chr, nchr, ibay, ibit, cnvnull)
                                                              Decode a character string from within a specified number of bytes of an integer array,...
                                                              Definition: cidecode.F90:26
                                                              +
                                                              subroutine pkc(chr, nchr, ibay, ibit)
                                                              Encode a character string within a specified number of bytes of an integer array, starting at the bit...
                                                              Definition: ciencode.F90:25
                                                              +
                                                              recursive subroutine ipkm(cbay, nbyt, n)
                                                              Encode an integer value within a specified number of bytes of a character string, up to a maximum of ...
                                                              Definition: ciencode.F90:194
                                                              +
                                                              subroutine pkb(nval, nbits, ibay, ibit)
                                                              Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
                                                              Definition: ciencode.F90:140
                                                              +
                                                              subroutine pkb8(nval, nbits, ibay, ibit)
                                                              Encode an 8-byte integer value within a specified number of bits of an integer array,...
                                                              Definition: ciencode.F90:97
                                                              +
                                                              subroutine rdcmps(lun)
                                                              Read the next compressed BUFR data subset into internal arrays.
                                                              Definition: compress.F90:110
                                                              +
                                                              subroutine wrcmps(lunix)
                                                              Write a compressed BUFR data subset.
                                                              Definition: compress.F90:387
                                                              +
                                                              subroutine mvb(ib1, nb1, ib2, nb2, nbm)
                                                              Copy a specified number of bytes from one packed binary array to another.
                                                              Definition: copydata.F90:731
                                                              +
                                                              subroutine nemtba(lun, nemo, mtyp, msbt, inod)
                                                              Get information about a Table A descriptor from the internal DX BUFR tables.
                                                              Definition: dxtable.F90:1247
                                                              +
                                                              subroutine errwrt(str)
                                                              Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                                              Definition: errwrt.F90:32
                                                              + +
                                                              integer function ibfms(r8val)
                                                              Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-re...
                                                              Definition: missing.F90:25
                                                              +
                                                              Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                                              Definition: bufrlib.F90:11
                                                              +
                                                              Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                                              +
                                                              integer, dimension(:), allocatable ibay
                                                              Current data subset.
                                                              +
                                                              integer ibit
                                                              Bit pointer within ibay.
                                                              +
                                                              integer, dimension(:,:), allocatable mbay
                                                              Current BUFR message for each file ID.
                                                              +
                                                              integer, dimension(:), allocatable mbyt
                                                              Length (in bytes) of current BUFR message for each file ID.
                                                              +
                                                              integer maxbyt
                                                              Maximum length of an output BUFR message.
                                                              +
                                                              Declare arrays and variables used to store bitmaps internally within a data subset definition.
                                                              +
                                                              integer lstnod
                                                              Most recent jump/link table entry that was processed by function igetrfel() and whose corresponding v...
                                                              +
                                                              integer nbtm
                                                              Number of stored bitmaps for the current data subset (up to a maximum of mxbtm).
                                                              +
                                                              integer lstnodct
                                                              Current count of consecutive occurrences of lstnod.
                                                              +
                                                              logical linbtm
                                                              true if a bitmap is in the process of being read for the current data subset; false otherwise.
                                                              +
                                                              Declare arrays used to store, for each output file ID, a copy of the BUFR message that was most recen...
                                                              +
                                                              integer, dimension(:), allocatable msglen
                                                              Length (in integers) of BUFR message most recently written to each output file ID.
                                                              +
                                                              integer, dimension(:,:), allocatable msgtxt
                                                              BUFR message most recently written to each output file ID.
                                                              +
                                                              Declare arrays and variables needed to store long character strings (greater than 8 bytes) via subrou...
                                                              +
                                                              integer nh4wlc
                                                              Number of long character strings being stored.
                                                              +
                                                              character *14, dimension(:), allocatable sth4wlc
                                                              Table B mnemonics associated with long character strings.
                                                              +
                                                              integer, dimension(:), allocatable luh4wlc
                                                              File ID for associated output file.
                                                              +
                                                              character *120, dimension(:), allocatable chh4wlc
                                                              Long character strings.
                                                              +
                                                              Declare an array used to pack or unpack all of the values of a BUFR data subset.
                                                              +
                                                              integer *8, dimension(:), allocatable ival
                                                              BUFR data subset values.
                                                              +
                                                              Declare arrays which provide working space in several subprograms (usrtpl() and ufbcup()) which manip...
                                                              +
                                                              real *8, dimension(:), allocatable vtmp
                                                              val array elements for new sections of a growing subset buffer.
                                                              +
                                                              integer, dimension(:), allocatable itmp
                                                              inv array elements for new sections of a growing subset buffer.
                                                              +
                                                              Declare a variable used to indicate whether output BUFR messages should be compressed.
                                                              +
                                                              character ccmf
                                                              Flag indicating whether BUFR output messages are to be compressed; this variable is initialized to a ...
                                                              +
                                                              Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                                              +
                                                              integer, dimension(:), allocatable inode
                                                              Table A mnemonic for type of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable idate
                                                              Section 1 date-time of message.
                                                              +
                                                              integer, dimension(:), allocatable nmsg
                                                              Current message pointer within logical unit.
                                                              +
                                                              integer, dimension(:), allocatable msub
                                                              Total number of data subsets in message.
                                                              +
                                                              integer, dimension(:), allocatable nsub
                                                              Current subset pointer within message.
                                                              +
                                                              Declare an array used to store a status code for each file ID if an error or other abnormal result oc...
                                                              +
                                                              integer, dimension(:), allocatable iscodes
                                                              Abnormal status codes.
                                                              +
                                                              Declare arrays and variables used to store the internal jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable jseq
                                                              Temporary storage used in expanding sequences.
                                                              +
                                                              integer, dimension(:,:), allocatable iseq
                                                              Temporary storage used in expanding sequences.
                                                              +
                                                              integer, dimension(:), allocatable isc
                                                              Scale factors corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable ibt
                                                              Bit widths corresponding to tag and typ:
                                                              +
                                                              real *8, dimension(:), allocatable vali
                                                              Initialized data values corresponding to typ:
                                                              +
                                                              character *3, dimension(:), allocatable typ
                                                              Type indicators corresponding to tag:
                                                              +
                                                              integer, dimension(:), allocatable jmpb
                                                              Jump backward indices corresponding to tag and typ:
                                                              +
                                                              character *10, dimension(:), allocatable tag
                                                              Mnemonics in the jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable itp
                                                              Integer type values corresponding to typ:
                                                              +
                                                              Declare an array used to store, for each file ID, the logical unit number corresponding to a separate...
                                                              +
                                                              integer, dimension(:), allocatable luncpy
                                                              Logical unit numbers used to copy long character strings between BUFR data subsets.
                                                              +
                                                              Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
                                                              +
                                                              integer, dimension(:), allocatable msgunp
                                                              Flag indicating how to unpack data subsets from BUFR message:
                                                              +
                                                              Declare arrays for internal storage of pointers to BUFR data subset values.
                                                              +
                                                              integer, dimension(:), allocatable nbit
                                                              Length (in bits) of each packed data value in data subset.
                                                              +
                                                              integer, dimension(:), allocatable mbit
                                                              Pointer in data subset to first bit of each packed data value.
                                                              +
                                                              Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                                              +
                                                              integer, dimension(:), allocatable nval
                                                              Number of data values in BUFR data subset.
                                                              +
                                                              real *8, dimension(:,:), allocatable, target val
                                                              Data values.
                                                              +
                                                              integer, dimension(:,:), allocatable, target inv
                                                              Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                                              +
                                                              integer, dimension(:,:), allocatable nrfelm
                                                              Referenced data value, for data values which refer to a previous data value in the BUFR data subset v...
                                                              +
                                                              Declare arrays used in subroutine rcstpl() to store subset segments that are being copied from a subs...
                                                              +
                                                              integer, dimension(:,:), allocatable iutmp
                                                              inv array elements for new sections of a growing subset buffer.
                                                              +
                                                              real *8, dimension(:,:), allocatable vutmp
                                                              val array elements for new sections of a growing subset buffer.
                                                              +
                                                              recursive subroutine openbf(lunit, io, lundx)
                                                              Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                                              +
                                                              recursive subroutine ufbcnt(lunit, kmsg, ksub)
                                                              Get the current location of the file pointer within a BUFR file, in terms of a message number countin...
                                                              +
                                                              recursive subroutine status(lunit, lun, il, im)
                                                              Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                                              +
                                                              recursive subroutine closmg(lunin)
                                                              Close the BUFR message that is currently open for writing within internal arrays associated with logi...
                                                              +
                                                              recursive subroutine readmg(lunxx, subset, jdate, iret)
                                                              Read the next BUFR message from logical unit abs(lunxx) into internal arrays.
                                                              Definition: readwritemg.F90:44
                                                              +
                                                              subroutine msgini(lun)
                                                              Initialize, within the internal arrays, a new uncompressed BUFR message for output.
                                                              +
                                                              subroutine msgwrt(lunit, mesg, mgbyt)
                                                              Perform final checks and updates on a BUFR message before writing it to a specified Fortran logical u...
                                                              +
                                                              recursive subroutine ufbpos(lunit, irec, isub, subset, jdate)
                                                              Jump forwards or backwards to a specified data subset within a BUFR file.
                                                              +
                                                              subroutine pad(ibay, ibit, ibyt, ipadb)
                                                              Pad a BUFR data subset with zeroed-out bits up to the next byte boundary.
                                                              +
                                                              subroutine rdtree(lun, iret)
                                                              Read the next uncompressed BUFR data subset into internal arrays.
                                                              +
                                                              subroutine wrtree(lun)
                                                              Pack a BUFR data subset.
                                                              +
                                                              subroutine msgupd(lunit, lun)
                                                              Write an uncompressed BUFR data subset.
                                                              +
                                                              subroutine usrtpl(lun, invn, nbmp)
                                                              Expand a subset template within internal arrays.
                                                              +
                                                              recursive subroutine writsa(lunxx, lmsgt, msgt, msgl)
                                                              Write a complete data subset into a BUFR message, and return each completed message within a memory a...
                                                              +
                                                              recursive integer function ireadns(lunit, subset, idate)
                                                              Call subroutine readns() and pass back its return code as the function value.
                                                              +
                                                              integer function nwords(n, lun)
                                                              Compute the length of a specified delayed replication sequence within a data subset.
                                                              +
                                                              recursive subroutine writsb(lunit)
                                                              Write a complete data subset into a BUFR message, for eventual output to logical unit lunit.
                                                              +
                                                              recursive subroutine invmrg(lubfi, lubfj)
                                                              Merge parts of data subsets which have duplicate space and time coordinates but different or unique o...
                                                              +
                                                              recursive integer function ireadsb(lunit)
                                                              Call subroutine readsb() and pass back its return code as the function value.
                                                              +
                                                              recursive subroutine readsb(lunit, iret)
                                                              Read the next data subset from a BUFR message.
                                                              Definition: readwritesb.F90:32
                                                              +
                                                              subroutine rcstpl(lun, iret)
                                                              Initialize a subset template within internal arrays.
                                                              +
                                                              recursive integer function lcmgdf(lunit, subset)
                                                              Check whether the subset definition for a given message type contains any long character strings (gre...
                                                              +
                                                              recursive subroutine rdmgsb(lunit, imsg, isub)
                                                              Read a specified data subset from a BUFR file.
                                                              +
                                                              recursive subroutine readns(lunit, subset, jdate, iret)
                                                              Read the next data subset from a BUFR file.
                                                              +
                                                              recursive subroutine readlc(lunit, chr, str)
                                                              Read a long character string (greater than 8 bytes) from a data subset.
                                                              +
                                                              recursive subroutine writlc(lunit, chr, str)
                                                              Write a long character string (greater than 8 bytes) to a data subset.
                                                              +
                                                              subroutine x48(iin4, iout8, nval)
                                                              Encode one or more 4-byte integer values as 8-byte integer values.
                                                              Definition: x4884.F90:18
                                                              +
                                                              subroutine x84(iin8, iout4, nval)
                                                              Encode one or more 8-byte integer values as 4-byte integer values.
                                                              Definition: x4884.F90:65
                                                              +
                                                              +
                                                              + + + + diff --git a/readwriteval_8F90.html b/readwriteval_8F90.html new file mode 100644 index 000000000..1fc4b5004 --- /dev/null +++ b/readwriteval_8F90.html @@ -0,0 +1,1753 @@ + + + + + + + +NCEPLIBS-bufr: readwriteval.F90 File Reference + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              + +
                                                              +
                                                              readwriteval.F90 File Reference
                                                              +
                                                              +
                                                              + +

                                                              Read or write data values within a BUFR data subset. +More...

                                                              + +

                                                              Go to the source code of this file.

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              +Functions/Subroutines

                                                              recursive subroutine drfini (lunit, mdrf, ndrf, drftag)
                                                               Explicitly initialize delayed replication factors and allocate a corresponding amount of space within internal arrays, thereby allowing the subsequent use of subroutine ufbseq() to write data into delayed replication sequences. More...
                                                               
                                                              recursive real *8 function getvalnb (lunit, tagpv, ntagpv, tagnb, ntagnb)
                                                               Read a data value corresponding to a specific occurrence of a mnemonic within a data subset, based on its position relative to a different mnemonic within the subset. More...
                                                               
                                                              recursive subroutine hold4wlc (lunit, chr, str)
                                                               Write a long character string (greater than 8 bytes) to a data subset. More...
                                                               
                                                              integer function nevn (node, lun, inv1, inv2, i1, i2, i3, usr)
                                                               Read one or more data values from a stacked data event within a specified portion of the current data subset. More...
                                                               
                                                              recursive subroutine readlc (lunit, chr, str)
                                                               Read a long character string (greater than 8 bytes) from a data subset. More...
                                                               
                                                              recursive subroutine setvalnb (lunit, tagpv, ntagpv, tagnb, ntagnb, r8val, iret)
                                                               Write a data value corresponding to a specific occurrence of a mnemonic within a data subset, based on its position relative to a different mnemonic within the subset. More...
                                                               
                                                              subroutine trybump (lun, usr, i1, i2, io, iret)
                                                               Try to expand a delayed replication sequence. More...
                                                               
                                                              recursive subroutine ufbevn (lunit, usr, i1, i2, i3, iret, str)
                                                               Read one or more data values from an NCEP prepbufr file. More...
                                                               
                                                              recursive subroutine ufbget (lunit, tab, i1, iret, str)
                                                               Read one or more data values from a data subset without advancing the subset pointer. More...
                                                               
                                                              recursive subroutine ufbin3 (lunit, usr, i1, i2, i3, iret, jret, str)
                                                               Read one or more data values from an NCEP prepfits file. More...
                                                               
                                                              recursive subroutine ufbint (lunin, usr, i1, i2, iret, str)
                                                               Read or write one or more data values from or to a data subset. More...
                                                               
                                                              recursive subroutine ufbinx (lunit, imsg, isub, usr, i1, i2, iret, str)
                                                               Read one or more data values from a specified data subset. More...
                                                               
                                                              recursive subroutine ufbovr (lunit, usr, i1, i2, iret, str)
                                                               Overwrite one or more data values within a data subset. More...
                                                               
                                                              recursive subroutine ufbrep (lunin, usr, i1, i2, iret, str)
                                                               Read or write one or more data values from or to a data subset. More...
                                                               
                                                              subroutine ufbrp (lun, usr, i1, i2, io, iret)
                                                               Write or read specified data values to or from the current BUFR data subset within internal arrays, with the direction of the data transfer determined by the context of io. More...
                                                               
                                                              subroutine ufbrw (lun, usr, i1, i2, io, iret)
                                                               Write or read specified values to or from the current BUFR data subset within internal arrays, with the direction of the data transfer determined by the context of io. More...
                                                               
                                                              recursive subroutine ufbseq (lunin, usr, i1, i2, iret, str)
                                                               Read or write an entire sequence of data values from or to a data subset. More...
                                                               
                                                              subroutine ufbsp (lun, usr, i1, i2, io, iret)
                                                               Write or read specified values to or from the current BUFR data subset within internal arrays, with the direction of the data transfer determined by the context of io. More...
                                                               
                                                              recursive subroutine ufbstp (lunin, usr, i1, i2, iret, str)
                                                               Read or write one or more data values from or to a data subset. More...
                                                               
                                                              recursive subroutine writlc (lunit, chr, str)
                                                               Write a long character string (greater than 8 bytes) to a data subset. More...
                                                               
                                                              +

                                                              Detailed Description

                                                              +

                                                              Read or write data values within a BUFR data subset.

                                                              +
                                                              Authors
                                                              J. Woollen, J. Ator
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition in file readwriteval.F90.

                                                              +

                                                              Function/Subroutine Documentation

                                                              + +

                                                              ◆ drfini()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine drfini (integer, intent(in) lunit,
                                                              integer, dimension(*), intent(in) mdrf,
                                                              integer, intent(in) ndrf,
                                                              character*(*), intent(in) drftag 
                                                              )
                                                              +
                                                              + +

                                                              Explicitly initialize delayed replication factors and allocate a corresponding amount of space within internal arrays, thereby allowing the subsequent use of subroutine ufbseq() to write data into delayed replication sequences.

                                                              +
                                                              Parameters
                                                              + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              mdrf- Array of delayed replication factors, in one-to-one correspondence with the number of occurrences of drftag within the overall subset definition, and explicitly defining how much space (i.e. how many replications) to allocate within each successive occurrence
                                                              ndrf- Number of delayed replication factors within mdrf
                                                              drftag- Table D sequence mnemonic, bracketed by appropriate delayed replication notation (e.g. {}, () OR <>)
                                                              +
                                                              +
                                                              +

                                                              Logical unit lunit should have already been opened for output operations (i.e. writing/encoding BUFR) via a previous call to subroutine openbf(), and a message for output should have already been opened via a previous call to one of the [message-writing subroutines].

                                                              +

                                                              The use of this subroutine is only required when writing data into delayed replication sequences using ufbseq(), or for cases where ufbint() or ufbrep() are being used to write data into delayed replication sequences which occur more than once within an overall subset definition. In such cases, the use of this subroutine allows the application code to explicitly specify how many replications of the sequence are to be allocated to each occurrence of the delayed replication sequence within the overall subset definition, prior to storing all of the actual data values themselves via a single subsequent call to ufbint() or ufbrep(). In contrast, the use of this subroutine is not required when ufbint() or ufbrep() are to be called to store data values for a delayed replication sequence which only occurs one time within an overall subset definition, because in that case the same type of initialization and space allocation functionality will be automatically handled internally within subroutine ufbint() or ufbrep().

                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2002-05-14
                                                              + +

                                                              Definition at line 1587 of file readwriteval.F90.

                                                              + +

                                                              References moda_usrint::inv, moda_tables::itp, moda_usrint::nval, status(), moda_tables::tag, usrtpl(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ getvalnb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive real*8 function getvalnb (integer, intent(in) lunit,
                                                              character*(*), intent(in) tagpv,
                                                              integer, intent(in) ntagpv,
                                                              character*(*), intent(in) tagnb,
                                                              integer, intent(in) ntagnb 
                                                              )
                                                              +
                                                              + +

                                                              Read a data value corresponding to a specific occurrence of a mnemonic within a data subset, based on its position relative to a different mnemonic within the subset.

                                                              +

                                                              The function first searches for a specific occurrence of a pivot mnemonic, counting from the beginning of the subset. From there, it then searches in either a forward or backward direction for a specific occurrence of a nearby mnemonic, and if found returns the data value from the corresponding location within the subset.

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              tagpv- Pivot mnemonic; the subroutine will first search for the (ntagpv)th occurrence of this mnemonic, counting from the beginning of the overall subset definition
                                                              ntagpv- Ordinal occurrence of tagpv to search for, counting from the beginning of the overall subset definition
                                                              tagnb- Nearby mnemonic; assuming tagpv is successfully found, the subroutine will then search nearby for the (ntagnb)th occurrence of tagnb and return the corresponding value
                                                              ntagnb- Ordinal occurrence of tagnb to search for, counting from the location of tagpv within the overall subset definition
                                                                +
                                                              • If ntagnb is positive, the subroutine will search in a forward direction from the location of tagpv
                                                              • +
                                                              • If ntagnb is negative, the subroutine will search in a backwards direction from the location of tagpv
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              getvalnb - Value corresponding to (ntagnb)th occurrence of tagnb
                                                                +
                                                              • If for any reason this value cannot be located, then the current placeholder value for "missing" data will be returned instead
                                                              • +
                                                              +
                                                              +

                                                              The current placeholder value for "missing" data can be determined via a separate call to function getbmiss().

                                                              +

                                                              Before calling this function, a BUFR data subset should already be open for reading via a previous call to one of the NCEPLIBS-bufr subset-reading subroutines.

                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2012-09-12
                                                              + +

                                                              Definition at line 121 of file readwriteval.F90.

                                                              + +

                                                              References fstag(), moda_msgcwd::inode, moda_usrint::inv, status(), moda_usrint::val, and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ hold4wlc()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine hold4wlc (integer, intent(in) lunit,
                                                              character*(*), intent(in) chr,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Write a long character string (greater than 8 bytes) to a data subset.

                                                              +

                                                              Normally, subroutine writlc() is used to write a long character string to a data subset. However, subroutine writlc() can only be called after a call to one of the subset-writing subroutines, so it will not work for cases when one of those subroutines flushes the message containing the data subset in question to logical unit lunit during the same call to that subroutine, such as when the data subset contains more than 65530 bytes. When this happens, there is no longer any way for a subsequent writlc() call to write a long character string into that data subset, because the data subset has already been flushed from internal memory. This subroutine solves that problem, by allowing a long character string to be specified before calling one of the subset-writing subroutines, and the string value will be held and stored automatically (via an internal call to subroutine writlc()) at the proper time during the subsequent call to the subset-writing subroutines.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              chr- Value corresponding to str
                                                              str- Table B mnemonic of long character string to be written, possibly supplemented with an ordinal occurrence notation
                                                              +
                                                              +
                                                              +

                                                              If there is more than one occurrence of str within the data subset definition, then each occurrence can be written via a separate call to this subroutine, and by appending the ordinal number of the occurrence to str in each case. For example, if there are 5 occurrences of mnemonic LSTID within a given data subset definition, then 5 separate calls should be made to this subroutine, once each with str set to 'LSTID#1', 'LSTID#2', 'LSTID#3', 'LSTID#4' and 'LSTID#5'. However, the first notation is superfluous, because omitting the ordinal number always defaults to the first occurrence of a particular string, so a user could just specify 'LSTID' instead of 'LSTID#1'.

                                                              +
                                                              Remarks
                                                                +
                                                              • Character strings which are 8 bytes or less in length can be written by converting the string into a real*8 value within the application program, and then using the real*8 usr array within a call to one of the NCEPLIBS-bufr values-writing subroutines prior to calling one of the subset-writing subroutines for the data subset.
                                                              • +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2014-02-05
                                                              + +

                                                              Definition at line 1977 of file readwriteval.F90.

                                                              + +

                                                              References moda_h4wlc::chh4wlc, errwrt(), moda_h4wlc::luh4wlc, moda_h4wlc::nh4wlc, moda_h4wlc::sth4wlc, strsuc(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ nevn()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              integer function nevn (integer, intent(in) node,
                                                              integer, intent(in) lun,
                                                              integer, intent(in) inv1,
                                                              integer, intent(in) inv2,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) i3,
                                                              real*8, dimension(i1,i2,i3), intent(out) usr 
                                                              )
                                                              +
                                                              + +

                                                              Read one or more data values from a stacked data event within a specified portion of the current data subset.

                                                              +

                                                              Search for all stacked data events within the portion of the current subset buffer bounded by the indices inv1 and inv2. All such events are accumulated and returned to the calling program within array usr. The value of the function itself is the total number of events found.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + +
                                                              node- Jump/link table index of node for which to return stacked values
                                                              lun- File ID
                                                              inv1- Starting index of the portion of the subset buffer in which to look for stack values
                                                              inv2- Ending index of the portion of the subset buffer in which to look for stack values
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr as allocated within the calling program
                                                              i3- Third dimension of usr as allocated within the calling program
                                                              usr- Starting address of data values read from data subset; events are returned in the third dimension for a particular data value and level in the first and second dimensions
                                                              +
                                                              +
                                                              +
                                                              Returns
                                                              - Number of events in stack (must be less than or equal to i3)
                                                              +
                                                              Note
                                                              : This routine should only be called by routine ufbin3(), which itself is called only by verification application program gridtobs, where it was previously an in-line subroutine. In general, nevn() does not work properly in other application programs at this time.
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 2888 of file readwriteval.F90.

                                                              + +

                                                              References bort(), moda_usrint::inv, invwin(), lstjpb(), and moda_usrint::val.

                                                              + +

                                                              Referenced by ufbin3().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ readlc()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine readlc (integer, intent(in) lunit,
                                                              character*(*), intent(out) chr,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read a long character string (greater than 8 bytes) from a data subset.

                                                              +

                                                              The data subset should have already been read into internal arrays via a previous call to one of the subset-reading subroutines.

                                                              +

                                                              If there is more than one occurrence of str within the data subset definition, then each occurrence can be retrieved via a separate call to this subroutine, and by appending the ordinal number of the occurrence to str in each case.

                                                              +

                                                              For example, if there are 5 occurrences of mnemonic LSTID within a given data subset definition, then 5 separate calls should be made to this subroutine, once each with str set to 'LSTID#1', 'LSTID#2', 'LSTID#3', 'LSTID#4' and 'LSTID#5'.

                                                              +

                                                              Omitting the ordinal number always defaults to the first occurrence of a particular string, so a user could just specify 'LSTID' instead of 'LSTID#1'.

                                                              +
                                                              Remarks
                                                                +
                                                              • Character strings which are 8 bytes or less in length can be read using the real*8 usr array within a call to one of the NCEPLIBS-bufr values-reading subroutines and then converting the corresponding real*8 value to character format within the application program.
                                                              • +
                                                              • If str is not found within the data subset definition, then chr is returned with all bits set to 1, which is the standard WMO BUFR value for "missing" data. Any chr value returned by this subroutine can be checked for equivalence to this "missing" value via a call to function icbfms().
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              chr- Value corresponding to STR
                                                              str- Table B mnemonic of long character string to be retrieved, possibly supplemented with an ordinal occurrence notation
                                                              +
                                                              +
                                                              +
                                                              Authors
                                                              J. Woollen J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 406 of file readwriteval.F90.

                                                              + +

                                                              References bort(), moda_rlccmn::crtag, errwrt(), moda_usrint::inv, ipkm(), moda_rlccmn::irbit, moda_rlccmn::irnch, moda_tables::itp, moda_bitbuf::mbay, moda_usrbit::mbit, moda_unptyp::msgunp, moda_usrbit::nbit, moda_rlccmn::nrst, moda_usrint::nval, parstr(), parutg(), status(), moda_tables::tag, upc(), and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::readlc_c(), ufbdmp(), ufdump(), and wrtree().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ setvalnb()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine setvalnb (integer, intent(in) lunit,
                                                              character*(*), intent(in) tagpv,
                                                              integer, intent(in) ntagpv,
                                                              character*(*), intent(in) tagnb,
                                                              integer, intent(in) ntagnb,
                                                              real*8, intent(in) r8val,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Write a data value corresponding to a specific occurrence of a mnemonic within a data subset, based on its position relative to a different mnemonic within the subset.

                                                              +

                                                              The subroutine first searches for a specific occurrence of a pivot mnemonic, counting from the beginning of the subset. From there, it then searches in either a forward or backward direction for a specific occurrence of a nearby mnemonic, and if found stores the specified data value in the corresponding location within the subset.

                                                              +

                                                              Before calling this subroutine, a BUFR message should already be opened and initialized for output via a previous call to one of the NCEPLIBS-bufr message-writing subroutines.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              tagpv- Pivot mnemonic; the subroutine will first search for the (ntagpv)th occurrence of this mnemonic, counting from the beginning of the overall subset definition
                                                              ntagpv- Ordinal occurrence of tagpv to search for, counting from the beginning of the overall subset definition
                                                              tagnb- Nearby mnemonic; assuming tagpv is successfully found, the subroutine will then search nearby for the (ntagnb)th occurrence of tagnb and store r8val as the corresponding value
                                                              ntagnb- Ordinal occurrence of tagnb to search for, counting from the location of tagpv within the overall subset definition
                                                                +
                                                              • If ntagnb is positive, the subroutine will search in a forward direction from the location of tagpv
                                                              • +
                                                              • If ntagnb is negative, the subroutine will search in a backwards direction from the location of tagpv
                                                              • +
                                                              +
                                                              r8val- Value to be stored corresponding to (ntagnb)th occurrence of tagnb within the subset
                                                              iret- return code:
                                                                +
                                                              • 0 = r8val was successfully stored
                                                              • +
                                                              • -1 = the (ntagnb)th occurence of mnemonic tagnb could not be found, or some other error occurred
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Ator
                                                              +
                                                              Date
                                                              2016-07-29
                                                              + +

                                                              Definition at line 37 of file readwriteval.F90.

                                                              + +

                                                              References fstag(), moda_msgcwd::inode, moda_usrint::inv, status(), moda_usrint::val, x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ trybump()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine trybump (integer, intent(in) lun,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) io,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Try to expand a delayed replication sequence.

                                                              +

                                                              Check the first node associated with a character string (parsed into arrays in common block /usrstr/) in order to determine if it represents a delayed replication sequence. If so, then the delayed replication sequence is initialized and expanded (i.e. "bumped") to the value of input argument i2. A call is then made to subroutine ufbrw() in order to write user data into the newly expanded replication sequence.

                                                              +

                                                              This subroutine is usually called from ufbint() whenever that routine receives a non-zero return code from ufbrw(). The cause of a bad return from ufbrw() is usually a delayed replication sequence which isn't expanded enough to hold the array of data the user is trying to write. So this subroutine is one last chance to try to resolve that situation.

                                                              +
                                                              Note
                                                              Argument io is always passed in with a value of 1 at the present time. In the future the subroutine may be expanded to allow it to operate on input files.
                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lun- File ID
                                                              usr- Data values
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Number of levels of data values that are to be written to the data subset
                                                              io- Status indicator for BUFR file:
                                                                +
                                                              • 0 = Input file (possible future use)
                                                              • +
                                                              • 1 = Output file
                                                              • +
                                                              +
                                                              iret- Number of ldevels of data values that were written to the data subset
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 2068 of file readwriteval.F90.

                                                              + +

                                                              References moda_usrint::inv, moda_usrint::nval, ufbrw(), usrtpl(), and moda_usrint::val.

                                                              + +

                                                              Referenced by ufbint(), and ufbovr().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbevn()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbevn (integer, intent(in) lunit,
                                                              real*8, dimension(i1,i2,i3), intent(out) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) i3,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read one or more data values from an NCEP prepbufr file.

                                                              +

                                                              This subroutine is specifically designed for use with NCEP prepbufr files, which contain a third dimension of data events for every reported data value at every replicated vertical level. It is similar to subroutine ufbin3(), except that ufbin3() is used for NCEP prepfits files and has one extra argument containing the maximum number of data events for any data value, whereas this subroutine is used for NCEP prepbufr files and stores the same information internally within a common block.

                                                              +

                                                              It is the user's responsibility to ensure that usr is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from the data subset. Note also that usr is an array of real*8 values; therefore, any character (i.e. CCITT IA5) value in the data subset will be returned in real*8 format and must be converted back into character format by the application program before it can be used as such.

                                                              +

                                                              "Missing" values in usr are always denoted by a unique placeholder value. This placeholder value is initially set to a default value of 10E10_8, but it can be reset to any substitute value of the user's choice via a separate call to subroutine setbmiss(). In any case, any returned value in usr can be easily checked for equivalence to the current placeholder value via a call to function ibfms(), and a positive result means that the value for the corresponding mnemonic was encoded as "missing" in BUFR (i.e. all bits set to 1) within the original data subset.

                                                              +
                                                              Parameters
                                                              + + + + + + + + +
                                                              lunit- Fortran logical unit number for NCEP prepbufr file
                                                              usr- Data values
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr as allocated within the calling program
                                                              i3- Third dimension of usr as allocated within the calling program
                                                              iret- Number of replications of str that were read from the data subset, corresponding to the second dimension of usr
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read/written from/to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 2267 of file readwriteval.F90.

                                                              + +

                                                              References bort(), conwin(), errwrt(), getwin(), moda_msgcwd::inode, moda_usrint::inv, nvnwin(), nxtwin(), status(), string(), moda_usrint::val, x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbget()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbget (integer, intent(in) lunit,
                                                              real*8, dimension(i1), intent(out) tab,
                                                              integer, intent(in) i1,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read one or more data values from a data subset without advancing the subset pointer.

                                                              +

                                                              The data values to be read must be one-dimensional (i.e. non-replicated).

                                                              +
                                                              Parameters
                                                              + + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              tab- Data values
                                                              i1- Size of tab as allocated within the calling program
                                                              iret- Return code:
                                                                +
                                                              • 0 = Normal return
                                                              • +
                                                              • -1 = There are no more subsets in the BUFR message
                                                              • +
                                                              +
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read from the data subset into tab
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 2756 of file readwriteval.F90.

                                                              + +

                                                              References bort(), moda_tables::ibt, moda_usrint::inv, invwin(), moda_tables::itp, moda_bitbuf::mbay, moda_usrbit::mbit, moda_bitbuf::mbyt, moda_msgcwd::msub, moda_usrbit::nbit, moda_msgcwd::nsub, moda_usrint::nval, status(), string(), upb8(), upc(), ups(), usrtpl(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbin3()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbin3 (integer, intent(in) lunit,
                                                              real*8, dimension(i1,i2,i3), intent(out) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) i3,
                                                              integer, intent(out) iret,
                                                              integer, intent(out) jret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read one or more data values from an NCEP prepfits file.

                                                              +

                                                              This subroutine is specifically designed for use with NCEP prepfits files, which contain a third dimension of data events for every reported data value at every replicated vertical level. It is similar to subroutine ufbevn(), except that ufbevn() is used for NCEP prepbufr files and stores the maximum number of data events for any data value within an internal common block, whereas this subroutine is used for NCEP prepfits files and has one extra argument which returns the same information to the calling program.

                                                              +

                                                              It is the user's responsibility to ensure that usr is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from the data subset. Note also that usr is an array of real*8 values; therefore, any character (i.e. CCITT IA5) value in the data subset will be returned in real*8 format and must be converted back into character format by the application program before it can be used as such.

                                                              +

                                                              "Missing" values in usr are always denoted by a unique placeholder value. This placeholder value is initially set to a default value of 10E10_8, but it can be reset to any substitute value of the user's choice via a separate call to subroutine setbmiss(). In any case, any returned value in usr can be easily checked for equivalence to the current placeholder value via a call to function ibfms(), and a positive result means that the value for the corresponding mnemonic was encoded as "missing" in BUFR (i.e. all bits set to 1) within the original data subset.

                                                              +
                                                              Parameters
                                                              + + + + + + + + + +
                                                              lunit- Fortran logical unit number for NCEP prepfits file
                                                              usr- Data values
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr as allocated within the calling program
                                                              i3- Third dimension of usr as allocated within the calling program
                                                              iret- Number of replications of str that were read from the data subset, corresponding to the second dimension of usr
                                                              jret- Maximum number of data events for any data value that was read from the data subset at any replicated vertical level, and corresponding to the third dimension of usr
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read/written from/to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 2471 of file readwriteval.F90.

                                                              + +

                                                              References bort(), conwin(), errwrt(), getwin(), moda_msgcwd::inode, moda_usrint::inv, nevn(), nxtwin(), status(), string(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbint()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbint (integer, intent(in) lunin,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read or write one or more data values from or to a data subset.

                                                              +

                                                              The direction of the data transfer is determined by the context of abs(lunin):

                                                                +
                                                              • If abs(lunin) points to a file that was previously opened for input using subroutine openbf(), then data values are read from the current data subset.
                                                              • +
                                                              • If abs(lunin) points to a file that was previously opened for output using subroutine openbf(), then data values are written to the current data subset.
                                                              • +
                                                              +

                                                              This subroutine is specifically designed for use with Table B mnemonics which are part of a delayed-replication sequence, or for which there is no replication at all. See also subroutines ufbrep(), ufbseq() and ufbstp(), which can also be used to read/write one or more data values from/to a data subset but are designed for different use cases. A more detailed discussion of these different use cases, including examples, is available in DX BUFR Tables.

                                                              +

                                                              It is the user's responsibility to ensure that usr is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from or written to the data subset. Note also that usr is an array of real*8 values; therefore, any data that are to be written out as character (i.e. CCITT IA5) values in BUFR must be converted from character into real*8 format within the application program before calling this subroutine. Conversely, when this subroutine is being used to read character values from a data subset, the value that is returned will be in real*8 format and must be converted back into character format by the application program before it can be used as such. Alternatively, there are different subroutines such as readlc() and writlc() which can be used to read/write character data directly from/to a data subset without the need to convert from/to real*8 format as an intermediate step.

                                                              +

                                                              Numeric (i.e. non-character) data values within usr are always in the exact units specified for the corresponding mnemonic within the relevant DX or master BUFR table, without any scale or reference values applied. Specifically, this means that, when writing data values into an output subset, the user only needs to store each respective value into usr using the units specified within the table, and the NCEPLIBS-bufr software will take care of any necessary scaling or referencing of the value before it is actually encoded into BUFR. Conversely, when reading data values from an input subset, the values returned in usr are already de-scaled and de-referenced and, thus, are already in the exact units that were defined for the corresponding mnemonics within the table.

                                                              +

                                                              "Missing" values in usr are always denoted by a unique placeholder value. This placeholder value is initially set to a default value of 10E10_8, but it can be reset to any substitute value of the user's choice via a separate call to subroutine setbmiss(). In any case, and whenever this subroutine is used to read data values from an input subset, any returned value in usr can be easily checked for equivalence to the current placeholder value via a call to function ibfms(), and a positive result means that the value for the corresponding mnemonic was encoded as "missing" in BUFR (i.e. all bits set to 1) within the original data subset. Conversely, whenever this subroutine is used to write data values to an output subset, the current placeholder value can be obtained via a separate call to function getbmiss(), and the resulting value can then be stored into the usr array whereever the user desires a BUFR "missing" value (i.e. all bits set to 1) to be encoded for the corresponding mnemonic within the output subset.

                                                              +
                                                              Remarks
                                                                +
                                                              • If lunin < 0, and if abs(lunin) points to a file that is open for output (writing BUFR), then the subroutine will treat the file pointed to by abs(lunin) as though it was open for input (reading BUFR). This is a special capability for use by some applications that need to read certain values back out from a BUFR file during the same time that it is in the process of being written to.
                                                              • +
                                                              • If abs(lunin) points to a file that is open for input (reading BUFR), str may contain a Table D mnemonic that is replicated using either 8-bit or 16-bit delayed replication (as noted using replication indicators {} or (), respectively, within the assocated DX BUFR table), and the corresponding location in usr will contain the total number of replications of that mnemonic within the data subset. Note that, when using this option, the applicable replication indicators must be included in str along with the mnemonic itself, as shown in an example in the discussion of DX BUFR Tables.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lunin- Absolute value is Fortran logical unit number for BUFR file
                                                              usr- Data values
                                                                +
                                                              • If abs(lunin) was opened for input, then usr is output from this subroutine and contains data values that were read from the current data subset
                                                              • +
                                                              • If abs(lunin) was opened for output, then usr is input to this subroutine and contains data values that are to be written to the current data subset
                                                              • +
                                                              +
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr
                                                                +
                                                              • If abs(lunin) was opened for input, then i2 must be set equal to the second dimension of usr as allocated within the calling program
                                                              • +
                                                              • If abs(lunin) was opened for output, then i2 must be set equal to the number of replications of str that are to be written to the data subset
                                                              • +
                                                              +
                                                              iret- Number of replications of str that were read/written from/to the data subset
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read/written from/to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 645 of file readwriteval.F90.

                                                              + +

                                                              References bort(), bort2(), errwrt(), moda_msgcwd::inode, moda_usrint::inv, status(), string(), trybump(), ufbrw(), x48(), and x84().

                                                              + +

                                                              Referenced by cmpbqm(), readbp(), bufr_c2f_interface::ufbint_c(), ufbinx(), and ufbrms().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbinx()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbinx (integer, intent(in) lunit,
                                                              integer, intent(in) imsg,
                                                              integer, intent(in) isub,
                                                              real*8, dimension(i1,i2), intent(out) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read one or more data values from a specified data subset.

                                                              +

                                                              If logical unit lunit has already been opened for input operations via a previous call to subroutine openbf(), then this subroutine will save the current file position, rewind the file to the beginning, reposition the file to a specified data subset within a specified message, read one or more specified data values from that data subset via an internal call to ufbint(), and then restore the file to its previous position.

                                                              +

                                                              Otherwise, if logical unit lunit has not already been opened for input operations via a previous call to subroutine openbf(), then this subroutine will open it via an internal call to subroutine openbf(), position the file to a specified data subset within a specified message, read one or more specified data values from that data subset via an internal call to ufbint(), and then close the file via an internal call to subroutine closbf().

                                                              +
                                                              Parameters
                                                              + + + + + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              imsg- Number of BUFR message to be read from the BUFR file, counting from the beginning of the file, but not counting any DX BUFR table messages which may be present in the file
                                                              isub- Number of data subset to be read from the (imsg)th BUFR message, counting from the beginning of the message
                                                              usr- Data values
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr as allocated within the calling program
                                                              iret- Number of replications of str that were read from the data subset
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read from the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 2662 of file readwriteval.F90.

                                                              + +

                                                              References bort(), closbf(), openbf(), readmg(), readsb(), rewnbf(), status(), ufbint(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbovr()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbovr (integer, intent(in) lunit,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Overwrite one or more data values within a data subset.

                                                              +

                                                              Overwrite specified values which exist in current internal BUFR subset arrays in a file open for output. The data values correspond to mnemonics which are part of a delayed-replication sequence, or for which there is no replication at all. Either subroutine openmg() or openmb() must have been previously called to open and initialize a BUFR message within memory for this lunit. In addition, subroutine writsb() or invmrg() must have previously been called to store the data values that are now intended to be overwritten within the internal output subset arrays.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              usr- Data values
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Number of replications of str that are to be written to the data subset
                                                              iret- Number of replications of str that were written to the data subset
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be written to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 2128 of file readwriteval.F90.

                                                              + +

                                                              References bort(), bort2(), errwrt(), moda_msgcwd::inode, moda_usrint::inv, status(), string(), trybump(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbrep()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbrep (integer, intent(in) lunin,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read or write one or more data values from or to a data subset.

                                                              +

                                                              The direction of the data transfer is determined by the context of abs(lunin):

                                                                +
                                                              • If abs(lunin) points to a file that was previously opened for input using subroutine openbf(), then data values are read from the current data subset.
                                                              • +
                                                              • If abs(lunin) points to a file that was previously opened for output using subroutine openbf(), then data values are written to the current data subset.
                                                              • +
                                                              +

                                                              This subroutine is specifically designed for use with Table B mnemonics which are part of a fixed (i.e. non-delayed) replication sequence, or for mnemonics which are replicated by being directly listed more than once within an overall subset definition. See also subroutines ufbint(), ufbseq() and ufbstp(), which can also be used to read/write one or more data values from/to a data subset but are designed for different use cases. A more detailed discussion of these different use cases, including examples, is available in DX BUFR Tables.

                                                              +

                                                              It is the user's responsibility to ensure that usr is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from or written to the data subset. Note also that usr is an array of real*8 values; therefore, any data that are to be written out as character (i.e. CCITT IA5) values in BUFR must be converted from character into real*8 format within the application program before calling this subroutine. Conversely, when this subroutine is being used to read character values from a data subset, the value that is returned will be in real*8 format and must be converted back into character format by the application program before it can be used as such. Alternatively, there are different subroutines such as readlc() and writlc() which can be used to read/write character data directly from/to a data subset without the need to convert from/to real*8 format as an intermediate step.

                                                              +

                                                              Numeric (i.e. non-character) data values within usr are always in the exact units specified for the corresponding mnemonic within the relevant DX or master BUFR table, without any scale or reference values applied. Specifically, this means that, when writing data values into an output subset, the user only needs to store each respective value into usr using the units specified within the table, and the NCEPLIBS-bufr software will take care of any necessary scaling or referencing of the value before it is actually encoded into BUFR. Conversely, when reading data values from an input subset, the values returned in usr are already de-scaled and de-referenced and, thus, are already in the exact units that were defined for the corresponding mnemonics within the table.

                                                              +

                                                              "Missing" values in usr are always denoted by a unique placeholder value. This placeholder value is initially set to a default value of 10E10_8, but it can be reset to any substitute value of the user's choice via a separate call to subroutine setbmiss(). In any case, and whenever this subroutine is used to read data values from an input subset, any returned value in usr can be easily checked for equivalence to the current placeholder value via a call to function ibfms(), and a positive result means that the value for the corresponding mnemonic was encoded as "missing" in BUFR (i.e. all bits set to 1) within the original data subset. Conversely, whenever this subroutine is used to write data values to an output subset, the current placeholder value can be obtained via a separate call to function getbmiss(), and the resulting value can then be stored into the usr array whereever the user desires a BUFR "missing" value (i.e. all bits set to 1) to be encoded for the corresponding mnemonic within the output subset.

                                                              +
                                                              Remarks
                                                                +
                                                              • If lunin < 0, and if abs(lunin) points to a file that is open for output (writing BUFR), then the subroutine will treat the file pointed to by abs(lunin) as though it was open for input (reading BUFR). This is a special capability for use by some applications that need to read certain values back out from a BUFR file during the same time that it is in the process of being written to.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lunin- Absolute value is Fortran logical unit number for BUFR file
                                                              usr- Data values
                                                                +
                                                              • If abs(lunin) was opened for input, then usr is output from this subroutine and contains data values that were read from the current data subset
                                                              • +
                                                              • If abs(lunin) was opened for output, then usr is input to this subroutine and contains data values that are to be written to the current data subset
                                                              • +
                                                              +
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr
                                                                +
                                                              • If abs(lunin) was opened for input, then i2 must be set equal to the second dimension of usr as allocated within the calling program
                                                              • +
                                                              • If abs(lunin) was opened for output, then i2 must be set equal to the number of replications of str that are to be written to the data subset
                                                              • +
                                                              +
                                                              iret- Number of replications of str that were read/written from/to the data subset
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read/written from/to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 885 of file readwriteval.F90.

                                                              + +

                                                              References bort(), bort2(), errwrt(), moda_msgcwd::inode, moda_usrint::inv, status(), string(), ufbrp(), x48(), and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::ufbrep_c().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbrp()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine ufbrp (integer, intent(in) lun,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) io,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Write or read specified data values to or from the current BUFR data subset within internal arrays, with the direction of the data transfer determined by the context of io.

                                                              +

                                                              The data values correspond to internal arrays representing parsed strings of mnemonics which are either part of a fixed (i.e. non-delayed) replication sequence, or for mnememonics which are replicated by being directly listed more than once within an overall subset definition.

                                                              +

                                                              This subroutine should never be directly called by an application program; instead, an application program should directly call ufbrep() which will internally call this subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lun- File ID
                                                              usr- Data values
                                                              i1- Length of first dimension of usr
                                                              i2- Length of second dimension of usr
                                                              io- Status indicator for BUFR file associated with lun:
                                                                +
                                                              • 0 input file
                                                              • +
                                                              • 1 output file
                                                              • +
                                                              +
                                                              iret- Number of "levels" of data values read from or written to data subset
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1792 of file readwriteval.F90.

                                                              + +

                                                              References moda_usrint::nval, and moda_usrint::val.

                                                              + +

                                                              Referenced by ufbrep().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbrw()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine ufbrw (integer, intent(in) lun,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) io,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Write or read specified values to or from the current BUFR data subset within internal arrays, with the direction of the data transfer determined by the context of io.

                                                              +

                                                              The data values correspond to internal arrays representing parsed strings of mnemonics which are part of a delayed-replication sequence, or for which there is no replication at all.

                                                              +

                                                              This subroutine should never be directly called by an application program; instead, an application program should directly call ufbint() which will internally call this subroutine.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lun- File ID
                                                              usr- Data values
                                                              i1- Length of first dimension of usr
                                                              i2- Length of second dimension of usr
                                                              io- Status indicator for BUFR file associated with lun:
                                                                +
                                                              • 0 input file
                                                              • +
                                                              • 1 output file
                                                              • +
                                                              +
                                                              iret- Number of "levels" of data values read from or written to data subset
                                                                +
                                                              • -1 none of the mnemonics in the string passed to ufbint() were found in the data subset template
                                                              • +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1654 of file readwriteval.F90.

                                                              + +

                                                              References conwin(), drstpl(), errwrt(), getwin(), moda_msgcwd::inode, newwin(), nxtwin(), moda_tables::tag, and moda_usrint::val.

                                                              + +

                                                              Referenced by trybump(), and ufbint().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbseq()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbseq (integer, intent(in) lunin,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read or write an entire sequence of data values from or to a data subset.

                                                              +

                                                              The direction of the data transfer is determined by the context of abs(lunin):

                                                                +
                                                              • If abs(lunin) points to a file that was previously opened for input using subroutine openbf(), then data values are read from the current data subset.
                                                              • +
                                                              • If abs(lunin) points to a file that was previously opened for output using subroutine openbf(), then data values are written to the current data subset.
                                                              • +
                                                              +

                                                              This subroutine is specifically designed for use with a single Table A or Table D mnemonic. In the latter case, the mnemonic may be replicated within the overall subset definition, and in which case the subroutine will return all data values within all replications of the sequence defined by the mnemonic. But in either case, the mnemonic itself may contain, within its own sequence definition, any number of data values defined by Table B mnemonics and/or subsequences of data values defined by other Table D mnemonics, and any such subsequences may themselves be replicated using any manner of fixed or delayed replication. See DX BUFR Tables for more details including an example use case, and see also subroutines ufbint(), ufbrep() and ufbstp() which are also used to read/write one or more data values from/to a data subset but cannot themselves be directly used with Table A or Table D mnemonics.

                                                              +

                                                              It is the user's responsibility to ensure that usr is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from or written to the data subset. Note also that usr is an array of real*8 values; therefore, any data that are to be written out as character (i.e. CCITT IA5) values in BUFR must be converted from character into real*8 format within the application program before calling this subroutine. Conversely, when this subroutine is being used to read character values from a data subset, the value that is returned will be in real*8 format and must be converted back into character format by the application program before it can be used as such. Alternatively, there are different subroutines such as readlc() and writlc() which can be used to read/write character data directly from/to a data subset without the need to convert from/to real*8 format as an intermediate step.

                                                              +

                                                              Numeric (i.e. non-character) data values within usr are always in the exact units specified for the corresponding mnemonic within the relevant DX or master BUFR table, without any scale or reference values applied. Specifically, this means that, when writing data values into an output subset, the user only needs to store each respective value into usr using the units specified within the table, and the NCEPLIBS-bufr software will take care of any necessary scaling or referencing of the value before it is actually encoded into BUFR. Conversely, when reading data values from an input subset, the values returned in usr are already de-scaled and de-referenced and, thus, are already in the exact units that were defined for the corresponding mnemonics within the table.

                                                              +

                                                              "Missing" values in usr are always denoted by a unique placeholder value. This placeholder value is initially set to a default value of 10E10_8, but it can be reset to any substitute value of the user's choice via a separate call to subroutine setbmiss(). In any case, and whenever this subroutine is used to read data values from an input subset, any returned value in usr can be easily checked for equivalence to the current placeholder value via a call to function ibfms(), and a positive result means that the value for the corresponding mnemonic was encoded as "missing" in BUFR (i.e. all bits set to 1) within the original data subset. Conversely, whenever this subroutine is used to write data values to an output subset, the current placeholder value can be obtained via a separate call to function getbmiss(), and the resulting value can then be stored into the usr array whereever the user desires a BUFR "missing" value (i.e. all bits set to 1) to be encoded for the corresponding mnemonic within the output subset.

                                                              +
                                                              Remarks
                                                                +
                                                              • If lunin < 0, and if abs(lunin) points to a file that is open for output (writing BUFR), then the subroutine will treat the file pointed to by abs(lunin) as though it was open for input (reading BUFR). This is a special capability for use by some applications that need to read certain values back out from a BUFR file during the same time that it is in the process of being written to.
                                                              • +
                                                              • If abs(lunin) points to a file that is open for output (writing BUFR), and if the data values to be written are part of a sequence replicated using delayed replication, then a call to subroutine drfini() must be made prior to calling this subroutine, in order to pre-allocate the necessary internal array space for the number of replications of the sequence.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lunin- Absolute value is Fortran logical unit number for BUFR file
                                                              usr- Data values
                                                                +
                                                              • If abs(lunin) was opened for input, then usr is output from this subroutine and contains data values that were read from the current data subset
                                                              • +
                                                              • If abs(lunin) was opened for output, then usr is input to this subroutine and contains data values that are to be written to the current data subset
                                                              • +
                                                              +
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr
                                                                +
                                                              • If abs(lunin) was opened for input, then i2 must be set equal to the second dimension of usr as allocated within the calling program
                                                              • +
                                                              • If abs(lunin) was opened for output, then i2 must be set equal to the number of replications of str that are to be written to the data subset
                                                              • +
                                                              +
                                                              iret- Number of replications of str that were read/written from/to the data subset
                                                              str- String consisting of a single Table A or Table D mnemonic whose sequence definition is in one-to-one correspondence with the number of data values that will be read/written from/to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table A and Table D mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              2000-09-19
                                                              + +

                                                              Definition at line 1319 of file readwriteval.F90.

                                                              + +

                                                              References bort(), errwrt(), moda_msgcwd::inode, moda_usrint::inv, invtag(), invwin(), moda_tables::isc, moda_tables::itp, moda_tables::jmpb, moda_tables::link, moda_usrint::nval, parstr(), status(), moda_tables::tag, moda_tables::typ, moda_usrint::val, x48(), and x84().

                                                              + +

                                                              Referenced by bufr_c2f_interface::ufbseq_c().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbsp()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              subroutine ufbsp (integer, intent(in) lun,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(in) io,
                                                              integer, intent(out) iret 
                                                              )
                                                              +
                                                              + +

                                                              Write or read specified values to or from the current BUFR data subset within internal arrays, with the direction of the data transfer determined by the context of io.

                                                              +

                                                              The data values correspond to internal arrays representing parsed strings of mnemonics which are either part of a fixed (i.e. non-delayed) replication sequence, or for mnememonics which are replicated by being directly listed more than once within an overall subset definition.

                                                              +

                                                              This subroutine should never be directly called by an application program; instead, an application program should directly call ufbstp() which will internally call this subroutine.

                                                              +

                                                              This subroutine is similar to subroutine ufbrp(), but it is designed for different use cases. For a more detailed explanation of how subroutine ufbstp() differs from subroutine ufbrep(), and therefore how this subroutine differs from subroutine ufbrp(), see the discussion in DX BUFR Tables.

                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lun- File ID
                                                              usr- Data values
                                                              i1- Length of first dimension of usr
                                                              i2- Length of second dimension of usr
                                                              io- Status indicator for BUFR file associated with lun:
                                                                +
                                                              • 0 input file
                                                              • +
                                                              • 1 output file
                                                              • +
                                                              +
                                                              iret- Number of "levels" of data values read from or written to data subset
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1999-11-18
                                                              + +

                                                              Definition at line 1876 of file readwriteval.F90.

                                                              + +

                                                              References moda_usrint::nval, and moda_usrint::val.

                                                              + +

                                                              Referenced by ufbstp().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ ufbstp()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine ufbstp (integer, intent(in) lunin,
                                                              real*8, dimension(i1,i2), intent(inout) usr,
                                                              integer, intent(in) i1,
                                                              integer, intent(in) i2,
                                                              integer, intent(out) iret,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Read or write one or more data values from or to a data subset.

                                                              +

                                                              The direction of the data transfer is determined by the context of abs(lunin):

                                                                +
                                                              • If abs(lunin) points to a file that was previously opened for input using subroutine openbf(), then data values are read from the current data subset.
                                                              • +
                                                              • If abs(lunin) points to a file that was previously opened for output using subroutine openbf(), then data values are written to the current data subset.
                                                              • +
                                                              +

                                                              This subroutine is specifically designed for use with Table B mnemonics which are part of a fixed (i.e. non-delayed) replication sequence, or for mnemonics which are replicated by being directly listed more than once within an overall subset definition. It is very similar to subroutine ufbrep(), but it differs in how it processes the input mnemonic string str. For more details, see the discussion and example use case in DX BUFR Tables. See also subroutines ufbint() and ufbseq(), which can also be used to read/write one or more data values from/to a data subset but are also designed for different use cases as noted in DX BUFR Tables.

                                                              +

                                                              It is the user's responsibility to ensure that usr is dimensioned sufficiently large enough to accommodate the number of data values that are to be read from or written to the data subset. Note also that usr is an array of real*8 values; therefore, any data that are to be written out as character (i.e. CCITT IA5) values in BUFR must be converted from character into real*8 format within the application program before calling this subroutine. Conversely, when this subroutine is being used to read character values from a data subset, the value that is returned will be in real*8 format and must be converted back into character format by the application program before it can be used as such. Alternatively, there are different subroutines such as readlc() and writlc() which can be used to read/write character data directly from/to a data subset without the need to convert from/to real*8 format as an intermediate step.

                                                              +

                                                              Numeric (i.e. non-character) data values within usr are always in the exact units specified for the corresponding mnemonic within the relevant DX or master BUFR table, without any scale or reference values applied. Specifically, this means that, when writing data values into an output subset, the user only needs to store each respective value into usr using the units specified within the table, and the NCEPLIBS-bufr software will take care of any necessary scaling or referencing of the value before it is actually encoded into BUFR. Conversely, when reading data values from an input subset, the values returned in usr are already de-scaled and de-referenced and, thus, are already in the exact units that were defined for the corresponding mnemonics within the table.

                                                              +

                                                              "Missing" values in usr are always denoted by a unique placeholder value. This placeholder value is initially set to a default value of 10E10_8, but it can be reset to any substitute value of the user's choice via a separate call to subroutine setbmiss(). In any case, and whenever this subroutine is used to read data values from an input subset, any returned value in usr can be easily checked for equivalence to the current placeholder value via a call to function ibfms(), and a positive result means that the value for the corresponding mnemonic was encoded as "missing" in BUFR (i.e. all bits set to 1) within the original data subset. Conversely, whenever this subroutine is used to write data values to an output subset, the current placeholder value can be obtained via a separate call to function getbmiss(), and the resulting value can then be stored into the usr array whereever the user desires a BUFR "missing" value (i.e. all bits set to 1) to be encoded for the corresponding mnemonic within the output subset.

                                                              +
                                                              Remarks
                                                                +
                                                              • If lunin < 0, and if abs(lunin) points to a file that is open for output (writing BUFR), then the subroutine will treat the file pointed to by abs(lunin) as though it was open for input (reading BUFR). This is a special capability for use by some applications that need to read certain values back out from a BUFR file during the same time that it is in the process of being written to.
                                                              • +
                                                              +
                                                              +
                                                              Parameters
                                                              + + + + + + + +
                                                              lunin- Absolute value is Fortran logical unit number for BUFR file
                                                              usr- Data values
                                                                +
                                                              • If abs(lunin) was opened for input, then usr is output from this subroutine and contains data values that were read from the current data subset
                                                              • +
                                                              • If abs(lunin) was opened for output, then usr is input to this subroutine and contains data values that are to be written to the current data subset
                                                              • +
                                                              +
                                                              i1- First dimension of usr as allocated within the calling program
                                                              i2- Second dimension of usr
                                                                +
                                                              • If abs(lunin) was opened for input, then i2 must be set equal to the second dimension of usr as allocated within the calling program
                                                              • +
                                                              • If abs(lunin) was opened for output, then i2 must be set equal to the number of replications of str that are to be written to the data subset
                                                              • +
                                                              +
                                                              iret- Number of replications of str that were read/written from/to the data subset
                                                              str- String of blank-separated Table B mnemonics in one-to-one correspondence with the number of data values that will be read/written from/to the data subset within the first dimension of usr (see DX BUFR Tables for further information about Table B mnemonics)
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              Date
                                                              1994-01-06
                                                              + +

                                                              Definition at line 1098 of file readwriteval.F90.

                                                              + +

                                                              References bort(), bort2(), errwrt(), moda_msgcwd::inode, moda_usrint::inv, status(), string(), ufbsp(), x48(), and x84().

                                                              + +
                                                              +
                                                              + +

                                                              ◆ writlc()

                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              recursive subroutine writlc (integer, intent(in) lunit,
                                                              character*(*), intent(in) chr,
                                                              character*(*), intent(in) str 
                                                              )
                                                              +
                                                              + +

                                                              Write a long character string (greater than 8 bytes) to a data subset.

                                                              +

                                                              The data subset should have already been written into a BUFR message before calling this subroutine to write a long character string into the subset.

                                                              +

                                                              If there is more than one occurrence of str within the data subset definition, then each occurrence can be written via a separate call to this subroutine, and by appending the ordinal number of the occurrence to STR in each case. For example, if there are 5 occurrences of mnemonic LSTID within a given data subset definition, then 5 separate calls should be made to this subroutine, once each with str set to 'LSTID#1', 'LSTID#2', 'LSTID#3', 'LSTID#4' and 'LSTID#5'. However, the first notation is superfluous, because omitting the ordinal number always defaults to the first occurrence of a particular string, so a user could just specify 'LSTID' instead of 'LSTID#1'.

                                                              +

                                                              Character strings which are 8 bytes or less in length can be written by converting the string into a real*8 value within the application program, and then using the real*8 usr array within a call to one of the NCEPLIBS-bufr values-writing subroutines prior to calling one of the subset-writing subroutines for the data subset.

                                                              +
                                                              Parameters
                                                              + + + + +
                                                              lunit- Fortran logical unit number for BUFR file
                                                              chr- Value corresponding to str
                                                              str- Table B mnemonic of long character string to be written, possibly supplemented with an ordinal occurrence notation
                                                              +
                                                              +
                                                              +
                                                              Author
                                                              J. Woollen
                                                              +
                                                              +J. Ator
                                                              +
                                                              Date
                                                              2003-11-04
                                                              + +

                                                              Definition at line 199 of file readwriteval.F90.

                                                              + +

                                                              References bort(), moda_comprs::catx, errwrt(), getlens(), moda_bitbuf::ibit, moda_tables::ibt, moda_usrint::inv, moda_tables::itp, iupbs3(), moda_comprs::matx, moda_bitbuf::mbay, moda_comprs::ncol, moda_msgcwd::nsub, moda_usrint::nval, parstr(), parutg(), pkc(), status(), moda_tables::tag, moda_tables::typ, upb(), upbb(), usrtpl(), and x84().

                                                              + +

                                                              Referenced by msgupd().

                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + + + + diff --git a/readwriteval_8F90.js b/readwriteval_8F90.js new file mode 100644 index 000000000..1f416a6e8 --- /dev/null +++ b/readwriteval_8F90.js @@ -0,0 +1,23 @@ +var readwriteval_8F90 = +[ + [ "drfini", "readwriteval_8F90.html#a8a84d615371869d93f16c8617575dee2", null ], + [ "getvalnb", "readwriteval_8F90.html#a10cd831e6dc0a773534c5c2787da56c8", null ], + [ "hold4wlc", "readwriteval_8F90.html#a551fbe590397eacf06bb471b738dd6a5", null ], + [ "nevn", "readwriteval_8F90.html#a2017ce90611078ae96c6bc12da4e8e02", null ], + [ "readlc", "readwriteval_8F90.html#aad0d9cae550b97bc950c739ff44ca6b2", null ], + [ "setvalnb", "readwriteval_8F90.html#ac8bbcb32a65a5acdf50e0f5d835c6ac2", null ], + [ "trybump", "readwriteval_8F90.html#a79d01683a99ab7e6a31359c00c317bd8", null ], + [ "ufbevn", "readwriteval_8F90.html#ad0c9f5c0f8e4dc0e1ebd7c685b9a5ba9", null ], + [ "ufbget", "readwriteval_8F90.html#aee2899967d88055f73e4d5ad954d7b5a", null ], + [ "ufbin3", "readwriteval_8F90.html#a1ac6ef2be222bff2bab58e3f58f5d67e", null ], + [ "ufbint", "readwriteval_8F90.html#a6eb38e7aa610c36787b90e50b290eea7", null ], + [ "ufbinx", "readwriteval_8F90.html#a1d88d30e5ee23d6d86cbfb66537b512f", null ], + [ "ufbovr", "readwriteval_8F90.html#a62aacb5a102aaf1ee01deef68c63cdb8", null ], + [ "ufbrep", "readwriteval_8F90.html#af46dec3ef4cc6f467323b40eb14a4024", null ], + [ "ufbrp", "readwriteval_8F90.html#a3f676e2267d902f8bc913a6d9d1a6aac", null ], + [ "ufbrw", "readwriteval_8F90.html#a543d19ccf3a36ded022cbbe8db66ee85", null ], + [ "ufbseq", "readwriteval_8F90.html#a4895b24addb0b3e23f5bd92fd891656e", null ], + [ "ufbsp", "readwriteval_8F90.html#a7281bf7fbd6efa3a9be946f7d63cffad", null ], + [ "ufbstp", "readwriteval_8F90.html#a921e4820b81e9f33e28a0d0452785a14", null ], + [ "writlc", "readwriteval_8F90.html#aecfa08f631e1af46b472c007b93b2955", null ] +]; \ No newline at end of file diff --git a/readwriteval_8F90_source.html b/readwriteval_8F90_source.html new file mode 100644 index 000000000..5f423a96a --- /dev/null +++ b/readwriteval_8F90_source.html @@ -0,0 +1,2226 @@ + + + + + + + +NCEPLIBS-bufr: readwriteval.F90 Source File + + + + + + + + + + + + + +
                                                              +
                                                              + + + + + + +
                                                              +
                                                              NCEPLIBS-bufr +  12.1.0 +
                                                              +
                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              +
                                                              + + +
                                                              + +
                                                              + +
                                                              +
                                                              +
                                                              readwriteval.F90
                                                              +
                                                              +
                                                              +Go to the documentation of this file.
                                                              1 
                                                              +
                                                              5 
                                                              +
                                                              37 recursive subroutine setvalnb ( lunit, tagpv, ntagpv, tagnb, ntagnb, r8val, iret )
                                                              +
                                                              38 
                                                              +
                                                              39  use modv_vars, only: im8b
                                                              +
                                                              40 
                                                              +
                                                              41  use moda_usrint
                                                              +
                                                              42  use moda_msgcwd
                                                              +
                                                              43  use moda_tables
                                                              +
                                                              44 
                                                              +
                                                              45  implicit none
                                                              +
                                                              46 
                                                              +
                                                              47  integer, intent(in) :: lunit, ntagpv, ntagnb
                                                              +
                                                              48  integer, intent(out) :: iret
                                                              +
                                                              49  integer my_lunit, my_ntagpv, my_ntagnb, lun, il, im, npv, nnb, ierft
                                                              +
                                                              50 
                                                              +
                                                              51  character*(*), intent(in) :: tagpv, tagnb
                                                              +
                                                              52 
                                                              +
                                                              53  real*8, intent(in) :: r8val
                                                              +
                                                              54 
                                                              +
                                                              55  ! Check for I8 integers.
                                                              +
                                                              56  if(im8b) then
                                                              +
                                                              57  im8b=.false.
                                                              +
                                                              58  call x84 ( lunit, my_lunit, 1 )
                                                              +
                                                              59  call x84 ( ntagpv, my_ntagpv, 1 )
                                                              +
                                                              60  call x84 ( ntagnb, my_ntagnb, 1 )
                                                              +
                                                              61  call setvalnb ( my_lunit, tagpv, my_ntagpv, tagnb, my_ntagnb, r8val, iret )
                                                              +
                                                              62  call x48 ( iret, iret, 1 )
                                                              +
                                                              63  im8b=.true.
                                                              +
                                                              64  return
                                                              +
                                                              65  endif
                                                              +
                                                              66 
                                                              +
                                                              67  iret = -1
                                                              +
                                                              68 
                                                              +
                                                              69  ! Get lun from lunit.
                                                              +
                                                              70  call status (lunit, lun, il, im )
                                                              +
                                                              71  if ( il <= 0 ) return
                                                              +
                                                              72  if ( inode(lun) /= inv(1,lun) ) return
                                                              +
                                                              73 
                                                              +
                                                              74  ! Starting from the beginning of the subset, locate the (ntagpv)th occurrence of tagpv.
                                                              +
                                                              75  call fstag( lun, tagpv, ntagpv, 1, npv, ierft )
                                                              +
                                                              76  if ( ierft /= 0 ) return
                                                              +
                                                              77 
                                                              +
                                                              78  ! Now, starting from the (ntagpv)th occurrence of tagpv, search forward or backward for the (ntagnb)th occurrence of tagnb.
                                                              +
                                                              79  call fstag( lun, tagnb, ntagnb, npv, nnb, ierft )
                                                              +
                                                              80  if ( ierft /= 0 ) return
                                                              +
                                                              81 
                                                              +
                                                              82  iret = 0
                                                              +
                                                              83  val(nnb,lun) = r8val
                                                              +
                                                              84 
                                                              +
                                                              85  return
                                                              +
                                                              86 end subroutine setvalnb
                                                              +
                                                              87 
                                                              +
                                                              121 recursive real*8 function getvalnb ( lunit, tagpv, ntagpv, tagnb, ntagnb ) result ( r8val )
                                                              +
                                                              122 
                                                              +
                                                              123  use modv_vars, only: im8b, bmiss
                                                              +
                                                              124 
                                                              +
                                                              125  use moda_usrint
                                                              +
                                                              126  use moda_msgcwd
                                                              +
                                                              127  use moda_tables
                                                              +
                                                              128 
                                                              +
                                                              129  implicit none
                                                              +
                                                              130 
                                                              +
                                                              131  integer, intent(in) :: lunit, ntagpv, ntagnb
                                                              +
                                                              132  integer my_lunit, my_ntagpv, my_ntagnb, lun, il, im, npv, nnb, ierft
                                                              +
                                                              133 
                                                              +
                                                              134  character*(*), intent(in) :: tagpv, tagnb
                                                              +
                                                              135 
                                                              +
                                                              136  ! Check for I8 integers.
                                                              +
                                                              137  if(im8b) then
                                                              +
                                                              138  im8b=.false.
                                                              +
                                                              139  call x84(lunit,my_lunit,1)
                                                              +
                                                              140  call x84(ntagpv,my_ntagpv,1)
                                                              +
                                                              141  call x84(ntagnb,my_ntagnb,1)
                                                              +
                                                              142  r8val=getvalnb(my_lunit,tagpv,my_ntagpv,tagnb,my_ntagnb)
                                                              +
                                                              143  im8b=.true.
                                                              +
                                                              144  return
                                                              +
                                                              145  endif
                                                              +
                                                              146 
                                                              +
                                                              147  r8val = bmiss
                                                              +
                                                              148 
                                                              +
                                                              149  ! Get lun from lunit.
                                                              +
                                                              150  call status (lunit, lun, il, im )
                                                              +
                                                              151  if ( il >= 0 ) return
                                                              +
                                                              152  if ( inode(lun) /= inv(1,lun) ) return
                                                              +
                                                              153 
                                                              +
                                                              154  ! Starting from the beginning of the subset, locate the (ntagpv)th occurrence of tagpv.
                                                              +
                                                              155  call fstag( lun, tagpv, ntagpv, 1, npv, ierft )
                                                              +
                                                              156  if ( ierft /= 0 ) return
                                                              +
                                                              157 
                                                              +
                                                              158  ! Now, starting from the (ntagpv)th occurrence of tagpv, search forward or backward for the (ntagnb)th occurrence of tagnb.
                                                              +
                                                              159  call fstag( lun, tagnb, ntagnb, npv, nnb, ierft )
                                                              +
                                                              160  if ( ierft /= 0 ) return
                                                              +
                                                              161 
                                                              +
                                                              162  r8val = val(nnb,lun)
                                                              +
                                                              163 
                                                              +
                                                              164  return
                                                              +
                                                              165 end function getvalnb
                                                              +
                                                              166 
                                                              +
                                                              199 recursive subroutine writlc(lunit,chr,str)
                                                              +
                                                              200 
                                                              +
                                                              201  use modv_vars, only: im8b, mxlcc
                                                              +
                                                              202 
                                                              +
                                                              203  use moda_usrint
                                                              +
                                                              204  use moda_msgcwd
                                                              +
                                                              205  use moda_bitbuf
                                                              +
                                                              206  use moda_tables
                                                              +
                                                              207  use moda_comprs
                                                              +
                                                              208 
                                                              +
                                                              209  implicit none
                                                              +
                                                              210 
                                                              +
                                                              211  integer, intent(in) :: lunit
                                                              +
                                                              212  integer my_lunit, maxtg, iprt, lun, il, im, ntg, nnod, kon, ii, n, node, ioid, ival, mbit, nbit, nbmp, nchr, nbyt, nsubs, &
                                                              +
                                                              213  itagct, len0, len1, len2, len3, l4, l5, mbyte, iupbs3
                                                              +
                                                              214 
                                                              +
                                                              215  character*(*), intent(in) :: chr, str
                                                              +
                                                              216  character*128 bort_str, errstr
                                                              +
                                                              217  character*10 ctag
                                                              +
                                                              218  character*14 tgs(10)
                                                              +
                                                              219 
                                                              +
                                                              220  real roid
                                                              +
                                                              221 
                                                              +
                                                              222  common /quiet/ iprt
                                                              +
                                                              223 
                                                              +
                                                              224  data maxtg /10/
                                                              +
                                                              225 
                                                              +
                                                              226  ! Check for I8 integers
                                                              +
                                                              227  if(im8b) then
                                                              +
                                                              228  im8b=.false.
                                                              +
                                                              229  call x84(lunit,my_lunit,1)
                                                              +
                                                              230  call writlc(my_lunit,chr,str)
                                                              +
                                                              231  im8b=.true.
                                                              +
                                                              232  return
                                                              +
                                                              233  endiF
                                                              +
                                                              234 
                                                              +
                                                              235  ! Check the file status.
                                                              +
                                                              236  call status(lunit,lun,il,im)
                                                              +
                                                              237  if(il==0) call bort('BUFRLIB: WRITLC - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              238  if(il<0) call bort('BUFRLIB: WRITLC - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              239  if(im==0) call bort('BUFRLIB: WRITLC - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
                                                              +
                                                              240 
                                                              +
                                                              241  ! Check for tags (mnemonics) in input string (there can only be one)
                                                              +
                                                              242  call parstr(str,tgs,maxtg,ntg,' ',.true.)
                                                              +
                                                              243  if(ntg>1) then
                                                              +
                                                              244  write(bort_str,'("BUFRLIB: WRITLC - THERE CANNOT BE MORE THAN '// &
                                                              +
                                                              245  ' ONE MNEMONIC IN THE INPUT STRING (",A,") (HERE THERE ARE",I4,")")') str,ntg
                                                              +
                                                              246  call bort(bort_str)
                                                              +
                                                              247  endif
                                                              +
                                                              248 
                                                              +
                                                              249  ! Check if a specific occurrence of the input string was requested; if not, then the default is to write the first occurrence
                                                              +
                                                              250  call parutg(lun,1,tgs(1),nnod,kon,roid)
                                                              +
                                                              251  if(kon==6) then
                                                              +
                                                              252  ioid=nint(roid)
                                                              +
                                                              253  if(ioid<=0) ioid = 1
                                                              +
                                                              254  ctag = ' '
                                                              +
                                                              255  ii = 1
                                                              +
                                                              256  do while((ii<=10).and.(tgs(1)(ii:ii)/='#'))
                                                              +
                                                              257  ctag(ii:ii)=tgs(1)(ii:ii)
                                                              +
                                                              258  ii = ii + 1
                                                              +
                                                              259  enddo
                                                              +
                                                              260  else
                                                              +
                                                              261  ioid = 1
                                                              +
                                                              262  ctag = tgs(1)(1:10)
                                                              +
                                                              263  endif
                                                              +
                                                              264 
                                                              +
                                                              265  if(iupbs3(mbay(1,lun),'ICMP')>0) then
                                                              +
                                                              266  ! The message is compressed
                                                              +
                                                              267  n = 1
                                                              +
                                                              268  itagct = 0
                                                              +
                                                              269  call usrtpl(lun,n,n)
                                                              +
                                                              270  do while (n+1<=nval(lun))
                                                              +
                                                              271  n = n+1
                                                              +
                                                              272  node = inv(n,lun)
                                                              +
                                                              273  if(itp(node)==1) then
                                                              +
                                                              274  nbmp=int(matx(n,ncol))
                                                              +
                                                              275  call usrtpl(lun,n,nbmp)
                                                              +
                                                              276  elseif(ctag==tag(node)) then
                                                              +
                                                              277  itagct = itagct + 1
                                                              +
                                                              278  if(itagct==ioid) then
                                                              +
                                                              279  if(itp(node)/=3) then
                                                              +
                                                              280  write(bort_str,'("BUFRLIB: WRITLC - MNEMONIC ",A," DOES NOT REPRESENT A CHARACTER ELEMENT (TYP=",A,")")') &
                                                              +
                                                              281  ctag,typ(node)
                                                              +
                                                              282  call bort(bort_str)
                                                              +
                                                              283  endif
                                                              +
                                                              284  catx(n,ncol)=' '
                                                              +
                                                              285  ! The following statement enforces a limit of mxlcc characters per long character string when writing
                                                              +
                                                              286  ! compressed messages. This limit keeps the array catx to a reasonable dimensioned size.
                                                              +
                                                              287  nchr=min(mxlcc,ibt(node)/8)
                                                              +
                                                              288  catx(n,ncol)=chr(1:nchr)
                                                              +
                                                              289  call usrtpl(lun,1,1)
                                                              +
                                                              290  return
                                                              +
                                                              291  endif
                                                              +
                                                              292  endif
                                                              +
                                                              293  enddo
                                                              +
                                                              294  else
                                                              +
                                                              295  ! The message is not compressed. Locate the beginning of the data (Section 4) in the message.
                                                              +
                                                              296  call getlens(mbay(1,lun),3,len0,len1,len2,len3,l4,l5)
                                                              +
                                                              297  mbyte = len0 + len1 + len2 + len3 + 4
                                                              +
                                                              298  nsubs = 1
                                                              +
                                                              299  ! Find the most recently written subset in the message.
                                                              +
                                                              300  do while(nsubs<nsub(lun))
                                                              +
                                                              301  ibit = mbyte*8
                                                              +
                                                              302  call upb(nbyt,16,mbay(1,lun),ibit)
                                                              +
                                                              303  mbyte = mbyte + nbyt
                                                              +
                                                              304  nsubs = nsubs + 1
                                                              +
                                                              305  enddo
                                                              +
                                                              306  if(nsubs/=nsub(lun)) then
                                                              +
                                                              307  if(iprt>=0) then
                                                              +
                                                              308  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              309  errstr = 'BUFRLIB: WRITLC - COULDN''T WRITE VALUE FOR ' // ctag // &
                                                              +
                                                              310  ' INTO SUBSET, BECAUSE NO SUBSET WAS OPEN FOR WRITING'
                                                              +
                                                              311  call errwrt(errstr)
                                                              +
                                                              312  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              313  call errwrt(' ')
                                                              +
                                                              314  endif
                                                              +
                                                              315  return
                                                              +
                                                              316  endif
                                                              +
                                                              317  ! Locate and write the long character string within this subset.
                                                              +
                                                              318  itagct = 0
                                                              +
                                                              319  mbit = mbyte*8 + 16
                                                              +
                                                              320  nbit = 0
                                                              +
                                                              321  n = 1
                                                              +
                                                              322  call usrtpl(lun,n,n)
                                                              +
                                                              323  do while (n+1<=nval(lun))
                                                              +
                                                              324  n = n+1
                                                              +
                                                              325  node = inv(n,lun)
                                                              +
                                                              326  mbit = mbit+nbit
                                                              +
                                                              327  nbit = ibt(node)
                                                              +
                                                              328  if(itp(node)==1) then
                                                              +
                                                              329  call upbb(ival,nbit,mbit,mbay(1,lun))
                                                              +
                                                              330  call usrtpl(lun,n,ival)
                                                              +
                                                              331  elseif(ctag==tag(node)) then
                                                              +
                                                              332  itagct = itagct + 1
                                                              +
                                                              333  if(itagct==ioid) then
                                                              +
                                                              334  if(itp(node)/=3) then
                                                              +
                                                              335  write(bort_str,'("BUFRLIB: WRITLC - MNEMONIC ",A," DOES NOT REPRESENT A CHARACTER ELEMENT (TYP=",A,")")') &
                                                              +
                                                              336  ctag,typ(node)
                                                              +
                                                              337  call bort(bort_str)
                                                              +
                                                              338  endif
                                                              +
                                                              339  nchr = nbit/8
                                                              +
                                                              340  ibit = mbit
                                                              +
                                                              341  do ii=1,nchr
                                                              +
                                                              342  call pkc(' ',1,mbay(1,lun),ibit)
                                                              +
                                                              343  enddo
                                                              +
                                                              344  call pkc(chr,nchr,mbay(1,lun),mbit)
                                                              +
                                                              345  call usrtpl(lun,1,1)
                                                              +
                                                              346  return
                                                              +
                                                              347  endif
                                                              +
                                                              348  endif
                                                              +
                                                              349  enddo
                                                              +
                                                              350  endif
                                                              +
                                                              351 
                                                              +
                                                              352  ! If we made it here, then we couldn't find the requested string.
                                                              +
                                                              353  if(iprt>=0) then
                                                              +
                                                              354  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              355  errstr = 'BUFRLIB: WRITLC - COULDN''T WRITE VALUE FOR ' // ctag // ' INTO SUBSET, BECAUSE IT WASN''T FOUND IN THE ' // &
                                                              +
                                                              356  'SUBSET DEFINITION'
                                                              +
                                                              357  call errwrt(errstr)
                                                              +
                                                              358  errstr = '(' // ctag // ' MAY NOT BE IN THE BUFR TABLE(?))'
                                                              +
                                                              359  call errwrt(errstr)
                                                              +
                                                              360  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              361  call errwrt(' ')
                                                              +
                                                              362  endif
                                                              +
                                                              363 
                                                              +
                                                              364  return
                                                              +
                                                              365 end subroutine writlc
                                                              +
                                                              366 
                                                              +
                                                              406 recursive subroutine readlc(lunit,chr,str)
                                                              +
                                                              407 
                                                              +
                                                              408  use modv_vars, only: im8b
                                                              +
                                                              409 
                                                              +
                                                              410  use moda_usrint
                                                              +
                                                              411  use moda_usrbit
                                                              +
                                                              412  use moda_unptyp
                                                              +
                                                              413  use moda_bitbuf
                                                              +
                                                              414  use moda_tables
                                                              +
                                                              415  use moda_rlccmn
                                                              +
                                                              416 
                                                              +
                                                              417  implicit none
                                                              +
                                                              418 
                                                              +
                                                              419  integer, intent(in) :: lunit
                                                              +
                                                              420  integer my_lunit, maxtg, iprt, lchr, lun, il, im, ntg, nnod, kon, ii, n, nod, ioid, itagct, nchr, kbit
                                                              +
                                                              421 
                                                              +
                                                              422  character*(*), intent(in) :: str
                                                              +
                                                              423  character*(*), intent(out) :: chr
                                                              +
                                                              424 
                                                              +
                                                              425  character*128 bort_str, errstr
                                                              +
                                                              426  character*10 ctag
                                                              +
                                                              427  character*14 tgs(10)
                                                              +
                                                              428 
                                                              +
                                                              429  real roid
                                                              +
                                                              430 
                                                              +
                                                              431  common /quiet/ iprt
                                                              +
                                                              432 
                                                              +
                                                              433  data maxtg /10/
                                                              +
                                                              434 
                                                              +
                                                              435  ! Check for I8 integers
                                                              +
                                                              436  if(im8b) then
                                                              +
                                                              437  im8b=.false.
                                                              +
                                                              438  call x84(lunit,my_lunit,1)
                                                              +
                                                              439  call readlc(my_lunit,chr,str)
                                                              +
                                                              440  im8b=.true.
                                                              +
                                                              441  return
                                                              +
                                                              442  endif
                                                              +
                                                              443 
                                                              +
                                                              444  chr = ' '
                                                              +
                                                              445  lchr=len(chr)
                                                              +
                                                              446 
                                                              +
                                                              447  ! Check the file status
                                                              +
                                                              448  call status(lunit,lun,il,im)
                                                              +
                                                              449  if(il==0) call bort('BUFRLIB: READLC - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              450  if(il>0) call bort('BUFRLIB: READLC - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              451  if(im==0) call bort('BUFRLIB: READLC - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                                              +
                                                              452 
                                                              +
                                                              453  ! Check for tags (mnemonics) in input string (there can only be one)
                                                              +
                                                              454  call parstr(str,tgs,maxtg,ntg,' ',.true.)
                                                              +
                                                              455  if(ntg>1) then
                                                              +
                                                              456  write(bort_str,'("BUFRLIB: READLC - THERE CANNOT BE MORE THAN '// &
                                                              +
                                                              457  'ONE MNEMONIC IN THE INPUT STRING (",A,") (HERE THERE ARE ",I3,")")') str,ntg
                                                              +
                                                              458  call bort(bort_str)
                                                              +
                                                              459  endif
                                                              +
                                                              460 
                                                              +
                                                              461  ! Check if a specific occurrence of the input string was requested; if not, then the default is to return the
                                                              +
                                                              462  ! first occurrence.
                                                              +
                                                              463  call parutg(lun,0,tgs(1),nnod,kon,roid)
                                                              +
                                                              464  if(kon==6) then
                                                              +
                                                              465  ioid=nint(roid)
                                                              +
                                                              466  if(ioid<=0) ioid = 1
                                                              +
                                                              467  ctag = ' '
                                                              +
                                                              468  ii = 1
                                                              +
                                                              469  do while((ii<=10).and.(tgs(1)(ii:ii)/='#'))
                                                              +
                                                              470  ctag(ii:ii)=tgs(1)(ii:ii)
                                                              +
                                                              471  ii = ii + 1
                                                              +
                                                              472  enddo
                                                              +
                                                              473  else
                                                              +
                                                              474  ioid = 1
                                                              +
                                                              475  ctag = tgs(1)(1:10)
                                                              +
                                                              476  endif
                                                              +
                                                              477 
                                                              +
                                                              478  ! Locate and decode the long character string
                                                              +
                                                              479  if(msgunp(lun)==0.or.msgunp(lun)==1) then
                                                              +
                                                              480  ! The message is not compressed
                                                              +
                                                              481  itagct = 0
                                                              +
                                                              482  do n=1,nval(lun)
                                                              +
                                                              483  nod = inv(n,lun)
                                                              +
                                                              484  if(ctag==tag(nod)) then
                                                              +
                                                              485  itagct = itagct + 1
                                                              +
                                                              486  if(itagct==ioid) then
                                                              +
                                                              487  if(itp(nod)/=3) then
                                                              +
                                                              488  write(bort_str,'("BUFRLIB: READLC - MNEMONIC ",A," DOES NOT '// &
                                                              +
                                                              489  'REPRESENT A CHARACTER ELEMENT (ITP=",I2,")")') tgs(1),itp(nod)
                                                              +
                                                              490  call bort(bort_str)
                                                              +
                                                              491  endif
                                                              +
                                                              492  nchr = nbit(n)/8
                                                              +
                                                              493  if(nchr>lchr) then
                                                              +
                                                              494  write(bort_str,'("BUFRLIB: READLC - MNEMONIC ",A," IS A '// &
                                                              +
                                                              495  'CHARACTER STRING OF LENGTH",I4," BUT SPACE WAS PROVIDED FOR ONLY",I4, " CHARACTERS")') tgs(1),nchr,lchr
                                                              +
                                                              496  call bort(bort_str)
                                                              +
                                                              497  endif
                                                              +
                                                              498  kbit = mbit(n)
                                                              +
                                                              499  call upc(chr,nchr,mbay(1,lun),kbit,.true.)
                                                              +
                                                              500  return
                                                              +
                                                              501  endif
                                                              +
                                                              502  endif
                                                              +
                                                              503  enddo
                                                              +
                                                              504  else
                                                              +
                                                              505  ! The message is compressed
                                                              +
                                                              506  if(nrst>0) then
                                                              +
                                                              507  itagct = 0
                                                              +
                                                              508  do ii=1,nrst
                                                              +
                                                              509  if(ctag==crtag(ii)) then
                                                              +
                                                              510  itagct = itagct + 1
                                                              +
                                                              511  if(itagct==ioid) then
                                                              +
                                                              512  nchr = irnch(ii)
                                                              +
                                                              513  if(nchr>lchr) then
                                                              +
                                                              514  write(bort_str,'("BUFRLIB: READLC - MNEMONIC ",A," IS A '// &
                                                              +
                                                              515  'CHARACTER STRING OF LENGTH",I4," BUT SPACE WAS PROVIDED FOR ONLY",I4, " CHARACTERS")') tgs(1),nchr,lchr
                                                              +
                                                              516  call bort(bort_str)
                                                              +
                                                              517  endif
                                                              +
                                                              518  kbit = irbit(ii)
                                                              +
                                                              519  call upc(chr,nchr,mbay(1,lun),kbit,.true.)
                                                              +
                                                              520  return
                                                              +
                                                              521  endif
                                                              +
                                                              522  endif
                                                              +
                                                              523  enddo
                                                              +
                                                              524  endif
                                                              +
                                                              525  endif
                                                              +
                                                              526 
                                                              +
                                                              527  ! If we made it here, then we couldn't find the requested string.
                                                              +
                                                              528  if(iprt>=0) then
                                                              +
                                                              529  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              530  errstr = 'BUFRLIB: READLC - MNEMONIC ' // tgs(1) // &
                                                              +
                                                              531  ' NOT LOCATED IN REPORT SUBSET - RETURN WITH MISSING STRING FOR CHARACTER DATA ELEMENT'
                                                              +
                                                              532  call errwrt(errstr)
                                                              +
                                                              533  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              534  call errwrt(' ')
                                                              +
                                                              535  endif
                                                              +
                                                              536  do ii=1,lchr
                                                              +
                                                              537  call ipkm(chr(ii:ii),1,255)
                                                              +
                                                              538  enddo
                                                              +
                                                              539 
                                                              +
                                                              540  return
                                                              +
                                                              541 end subroutine readlc
                                                              +
                                                              542 
                                                              +
                                                              645 recursive subroutine ufbint(lunin,usr,i1,i2,iret,str)
                                                              +
                                                              646 
                                                              +
                                                              647  use modv_vars, only: im8b, bmiss
                                                              +
                                                              648 
                                                              +
                                                              649  use moda_usrint
                                                              +
                                                              650  use moda_msgcwd
                                                              +
                                                              651 
                                                              +
                                                              652  implicit none
                                                              +
                                                              653 
                                                              +
                                                              654  character*(*), intent(in) :: str
                                                              +
                                                              655  character*128 bort_str1, bort_str2, errstr
                                                              +
                                                              656 
                                                              +
                                                              657  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              658 
                                                              +
                                                              659  integer, intent(in) :: lunin, i1, i2
                                                              +
                                                              660  integer, intent(out) :: iret
                                                              +
                                                              661  integer iprt, nnod, ncon, nods, nodc, ivls, kons, ifirst1, ifirst2, my_lunin, my_i1, my_i2, lunit, lun, il, im, io, i, j
                                                              +
                                                              662 
                                                              +
                                                              663  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              664  common /quiet/ iprt
                                                              +
                                                              665 
                                                              +
                                                              666  data ifirst1 /0/, ifirst2 /0/
                                                              +
                                                              667 
                                                              +
                                                              668  save ifirst1, ifirst2
                                                              +
                                                              669 
                                                              +
                                                              670  ! Check for I8 integers
                                                              +
                                                              671  if(im8b) then
                                                              +
                                                              672  im8b=.false.
                                                              +
                                                              673  call x84(lunin,my_lunin,1)
                                                              +
                                                              674  call x84(i1,my_i1,1)
                                                              +
                                                              675  call x84(i2,my_i2,1)
                                                              +
                                                              676  call ufbint(my_lunin,usr,my_i1,my_i2,iret,str)
                                                              +
                                                              677  call x48(iret,iret,1)
                                                              +
                                                              678  im8b=.true.
                                                              +
                                                              679  return
                                                              +
                                                              680  endif
                                                              +
                                                              681 
                                                              +
                                                              682  iret = 0
                                                              +
                                                              683 
                                                              +
                                                              684  ! Check the file status and inode
                                                              +
                                                              685  lunit = abs(lunin)
                                                              +
                                                              686  call status(lunit,lun,il,im)
                                                              +
                                                              687  if(il==0) call bort('BUFRLIB: UFBINT - BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                                              +
                                                              688  if(im==0) call bort('BUFRLIB: UFBINT - A MESSAGE MUST BE OPEN IN BUFR FILE, NONE ARE')
                                                              +
                                                              689  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBINT - LOCATION OF INTERNAL TABLE FOR BUFR FILE DOES NOT AGREE ' // &
                                                              +
                                                              690  'WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              691 
                                                              +
                                                              692  io = min(max(0,il),1)
                                                              +
                                                              693  if(lunit/=lunin) io = 0
                                                              +
                                                              694 
                                                              +
                                                              695  if(i1<=0) then
                                                              +
                                                              696  if(iprt>=0) then
                                                              +
                                                              697  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              698  errstr = .LE.'BUFRLIB: UFBINT - 3rd ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              699  call errwrt(errstr)
                                                              +
                                                              700  call errwrt(str)
                                                              +
                                                              701  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              702  call errwrt(' ')
                                                              +
                                                              703  endif
                                                              +
                                                              704  return
                                                              +
                                                              705  elseif(i2<=0) then
                                                              +
                                                              706  if(iprt==-1) ifirst1 = 1
                                                              +
                                                              707  if(io==0 .or. ifirst1==0 .or. iprt>=1) then
                                                              +
                                                              708  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              709  errstr = .LE.'BUFRLIB: UFBINT - 4th ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              710  call errwrt(errstr)
                                                              +
                                                              711  call errwrt(str)
                                                              +
                                                              712  if(iprt==0 .and. io==1) then
                                                              +
                                                              713  errstr = 'Note: Only the first occurrence of this WARNING message is printed, there may be more. To output ' // &
                                                              +
                                                              714  'all such messages,'
                                                              +
                                                              715  call errwrt(errstr)
                                                              +
                                                              716  errstr = 'modify your application program to add "CALL OPENBF(0,''QUIET'',1)" prior to the first call to a ' // &
                                                              +
                                                              717  'BUFRLIB routine.'
                                                              +
                                                              718  call errwrt(errstr)
                                                              +
                                                              719  endif
                                                              +
                                                              720  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              721  call errwrt(' ')
                                                              +
                                                              722  ifirst1 = 1
                                                              +
                                                              723  endif
                                                              +
                                                              724  return
                                                              +
                                                              725  endif
                                                              +
                                                              726 
                                                              +
                                                              727  ! Parse or recall the input string
                                                              +
                                                              728  call string(str,lun,i1,io)
                                                              +
                                                              729 
                                                              +
                                                              730  ! Initialize usr array preceeding an input operation
                                                              +
                                                              731  if(io==0) then
                                                              +
                                                              732  do j=1,i2
                                                              +
                                                              733  do i=1,i1
                                                              +
                                                              734  usr(i,j) = bmiss
                                                              +
                                                              735  enddo
                                                              +
                                                              736  enddo
                                                              +
                                                              737  endif
                                                              +
                                                              738 
                                                              +
                                                              739  ! Call the mnemonic reader/writer
                                                              +
                                                              740  call ufbrw(lun,usr,i1,i2,io,iret)
                                                              +
                                                              741 
                                                              +
                                                              742  ! If incomplete write try to initialize replication sequence or return
                                                              +
                                                              743  if(io==1 .and. iret/=i2 .and. iret>=0) then
                                                              +
                                                              744  call trybump(lun,usr,i1,i2,io,iret)
                                                              +
                                                              745  if(iret/=i2) then
                                                              +
                                                              746  write(bort_str1,'("BUFRLIB: UFBINT - MNEMONIC STRING READ IN IS: ",A)') str
                                                              +
                                                              747  write(bort_str2,'(18X,"THE NUMBER OF ''LEVELS'' ACTUALLY '// &
                                                              +
                                                              748  'WRITTEN (",I3,") DOES NOT EQUAL THE NUMBER REQUESTED (",I3,") - INCOMPLETE WRITE")') iret,i2
                                                              +
                                                              749  call bort2(bort_str1,bort_str2)
                                                              +
                                                              750  endif
                                                              +
                                                              751  elseif(iret==-1) then
                                                              +
                                                              752  iret = 0
                                                              +
                                                              753  endif
                                                              +
                                                              754 
                                                              +
                                                              755  if(iret==0) then
                                                              +
                                                              756  if(io==0) then
                                                              +
                                                              757  if(iprt>=1) then
                                                              +
                                                              758  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              759  errstr = 'BUFRLIB: UFBINT - NO SPECIFIED VALUES READ IN, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              760  call errwrt(errstr)
                                                              +
                                                              761  call errwrt(str)
                                                              +
                                                              762  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              763  call errwrt(' ')
                                                              +
                                                              764  endif
                                                              +
                                                              765  else
                                                              +
                                                              766  if(iprt==-1) ifirst2 = 1
                                                              +
                                                              767  if(ifirst2==0 .or. iprt>=1) then
                                                              +
                                                              768  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              769  errstr = 'BUFRLIB: UFBINT - NO SPECIFIED VALUES WRITTEN OUT, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              770  call errwrt(errstr)
                                                              +
                                                              771  call errwrt(str)
                                                              +
                                                              772  call errwrt('MAY NOT BE IN THE BUFR TABLE(?)')
                                                              +
                                                              773  if(iprt==0) then
                                                              +
                                                              774  errstr = 'Note: Only the first occurrence of this WARNING message is printed, there may be more. To output ' // &
                                                              +
                                                              775  'all such messages,'
                                                              +
                                                              776  call errwrt(errstr)
                                                              +
                                                              777  errstr = 'modify your application program to add "CALL OPENBF(0,''QUIET'',1)" prior to the first call ' // &
                                                              +
                                                              778  'to a BUFRLIB routine.'
                                                              +
                                                              779  call errwrt(errstr)
                                                              +
                                                              780  endif
                                                              +
                                                              781  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              782  call errwrt(' ')
                                                              +
                                                              783  ifirst2 = 1
                                                              +
                                                              784  endif
                                                              +
                                                              785  endif
                                                              +
                                                              786  endif
                                                              +
                                                              787 
                                                              +
                                                              788  return
                                                              +
                                                              789 end subroutine ufbint
                                                              +
                                                              790 
                                                              +
                                                              885 recursive subroutine ufbrep(lunin,usr,i1,i2,iret,str)
                                                              +
                                                              886 
                                                              +
                                                              887  use modv_vars, only: im8b, bmiss, iac
                                                              +
                                                              888 
                                                              +
                                                              889  use moda_usrint
                                                              +
                                                              890  use moda_msgcwd
                                                              +
                                                              891 
                                                              +
                                                              892  implicit none
                                                              +
                                                              893 
                                                              +
                                                              894  character*(*), intent(in) :: str
                                                              +
                                                              895  character*128 bort_str1, bort_str2, errstr
                                                              +
                                                              896 
                                                              +
                                                              897  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              898 
                                                              +
                                                              899  integer, intent(in) :: lunin, i1, i2
                                                              +
                                                              900  integer, intent(out) :: iret
                                                              +
                                                              901  integer iprt, ifirst1, my_lunin, my_i1, my_i2, lunit, lun, il, im, io, iac_prev, i, j
                                                              +
                                                              902 
                                                              +
                                                              903  common /quiet/ iprt
                                                              +
                                                              904 
                                                              +
                                                              905  data ifirst1 /0/
                                                              +
                                                              906 
                                                              +
                                                              907  save ifirst1
                                                              +
                                                              908 
                                                              +
                                                              909  ! Check for I8 integers
                                                              +
                                                              910  if(im8b) then
                                                              +
                                                              911  im8b=.false.
                                                              +
                                                              912  call x84(lunin,my_lunin,1)
                                                              +
                                                              913  call x84(i1,my_i1,1)
                                                              +
                                                              914  call x84(i2,my_i2,1)
                                                              +
                                                              915  call ufbrep(my_lunin,usr,my_i1,my_i2,iret,str)
                                                              +
                                                              916  call x48(iret,iret,1)
                                                              +
                                                              917  im8b=.true.
                                                              +
                                                              918  return
                                                              +
                                                              919  endif
                                                              +
                                                              920 
                                                              +
                                                              921  iret = 0
                                                              +
                                                              922 
                                                              +
                                                              923  ! Check the file status and inode
                                                              +
                                                              924  lunit = abs(lunin)
                                                              +
                                                              925  call status(lunit,lun,il,im)
                                                              +
                                                              926  if(il==0) call bort('BUFRLIB: UFBREP - BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                                              +
                                                              927  if(im==0) call bort('BUFRLIB: UFBREP - A MESSAGE MUST BE OPEN IN BUFR FILE, NONE ARE')
                                                              +
                                                              928  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBREP - LOCATION OF INTERNAL TABLE FOR BUFR FILE DOES NOT AGREE ' // &
                                                              +
                                                              929  'WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              930 
                                                              +
                                                              931  io = min(max(0,il),1)
                                                              +
                                                              932  if(lunit/=lunin) io = 0
                                                              +
                                                              933 
                                                              +
                                                              934  if(i1<=0) then
                                                              +
                                                              935  if(iprt>=0) then
                                                              +
                                                              936  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              937  errstr = .LE.'BUFRLIB: UFBREP - 3rd ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              938  call errwrt(errstr)
                                                              +
                                                              939  call errwrt(str)
                                                              +
                                                              940  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              941  call errwrt(' ')
                                                              +
                                                              942  endif
                                                              +
                                                              943  return
                                                              +
                                                              944  elseif(i2<=0) then
                                                              +
                                                              945  if(iprt==-1) ifirst1 = 1
                                                              +
                                                              946  if(io==0 .or. ifirst1==0 .or. iprt>=1) then
                                                              +
                                                              947  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              948  errstr = .LE.'BUFRLIB: UFBREP - 4th ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              949  call errwrt(errstr)
                                                              +
                                                              950  call errwrt(str)
                                                              +
                                                              951  if(iprt==0 .and. io==1) then
                                                              +
                                                              952  errstr = 'Note: Only the first occurrence of this WARNING message is printed, there may be more. To output ' // &
                                                              +
                                                              953  'all such messages,'
                                                              +
                                                              954  call errwrt(errstr)
                                                              +
                                                              955  errstr = 'modify your application program to add "CALL OPENBF(0,''QUIET'',1)" prior to the first call to a ' // &
                                                              +
                                                              956  'BUFRLIB routine.'
                                                              +
                                                              957  call errwrt(errstr)
                                                              +
                                                              958  endif
                                                              +
                                                              959  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              960  call errwrt(' ')
                                                              +
                                                              961  ifirst1 = 1
                                                              +
                                                              962  endif
                                                              +
                                                              963  return
                                                              +
                                                              964  endif
                                                              +
                                                              965 
                                                              +
                                                              966  ! Initialize usr array preceeding an input operation
                                                              +
                                                              967  if(io==0) then
                                                              +
                                                              968  do j=1,i2
                                                              +
                                                              969  do i=1,i1
                                                              +
                                                              970  usr(i,j) = bmiss
                                                              +
                                                              971  enddo
                                                              +
                                                              972  enddo
                                                              +
                                                              973  endif
                                                              +
                                                              974 
                                                              +
                                                              975  ! Parse or recall the input string
                                                              +
                                                              976  iac_prev = iac
                                                              +
                                                              977  iac = 1
                                                              +
                                                              978  call string(str,lun,i1,io)
                                                              +
                                                              979  iac = iac_prev
                                                              +
                                                              980 
                                                              +
                                                              981  ! Call the mnemonic reader/writer
                                                              +
                                                              982  call ufbrp(lun,usr,i1,i2,io,iret)
                                                              +
                                                              983 
                                                              +
                                                              984  if(io==1 .and. iret<i2) then
                                                              +
                                                              985  write(bort_str1,'("BUFRLIB: UFBREP - MNEMONIC STRING READ IN IS: ",A)') str
                                                              +
                                                              986  write(bort_str2,'(18X,"THE NUMBER OF ''LEVELS'' ACTUALLY '// &
                                                              +
                                                              987  'WRITTEN (",I3,") LESS THAN THE NUMBER REQUESTED (",I3,") - INCOMPLETE WRITE")') iret,i2
                                                              +
                                                              988  call bort2(bort_str1,bort_str2)
                                                              +
                                                              989  endif
                                                              +
                                                              990 
                                                              +
                                                              991  if(iret==0 .and. io==0 .and. iprt>=1) then
                                                              +
                                                              992  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              993  errstr = 'BUFRLIB: UFBREP - NO SPECIFIED VALUES READ IN, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              994  call errwrt(errstr)
                                                              +
                                                              995  call errwrt(str)
                                                              +
                                                              996  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              997  call errwrt(' ')
                                                              +
                                                              998  endif
                                                              +
                                                              999 
                                                              +
                                                              1000  return
                                                              +
                                                              1001 end subroutine ufbrep
                                                              +
                                                              1002 
                                                              +
                                                              1098 recursive subroutine ufbstp(lunin,usr,i1,i2,iret,str)
                                                              +
                                                              1099 
                                                              +
                                                              1100  use modv_vars, only: im8b, bmiss
                                                              +
                                                              1101 
                                                              +
                                                              1102  use moda_usrint
                                                              +
                                                              1103  use moda_msgcwd
                                                              +
                                                              1104 
                                                              +
                                                              1105  implicit none
                                                              +
                                                              1106 
                                                              +
                                                              1107  character*(*), intent(in) :: str
                                                              +
                                                              1108  character*128 bort_str1, bort_str2, errstr
                                                              +
                                                              1109 
                                                              +
                                                              1110  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              1111 
                                                              +
                                                              1112  integer, intent(in) :: lunin, i1, i2
                                                              +
                                                              1113  integer, intent(out) :: iret
                                                              +
                                                              1114  integer iprt, ifirst1, my_lunin, my_i1, my_i2, lunit, lun, il, im, io, i, j
                                                              +
                                                              1115 
                                                              +
                                                              1116  common /quiet/ iprt
                                                              +
                                                              1117 
                                                              +
                                                              1118  data ifirst1 /0/
                                                              +
                                                              1119 
                                                              +
                                                              1120  save ifirst1
                                                              +
                                                              1121 
                                                              +
                                                              1122  ! Check for I8 integers
                                                              +
                                                              1123  if(im8b) then
                                                              +
                                                              1124  im8b=.false.
                                                              +
                                                              1125  call x84(lunin,my_lunin,1)
                                                              +
                                                              1126  call x84(i1,my_i1,1)
                                                              +
                                                              1127  call x84(i2,my_i2,1)
                                                              +
                                                              1128  call ufbstp(my_lunin,usr,my_i1,my_i2,iret,str)
                                                              +
                                                              1129  call x48(iret,iret,1)
                                                              +
                                                              1130  im8b=.true.
                                                              +
                                                              1131  return
                                                              +
                                                              1132  endif
                                                              +
                                                              1133 
                                                              +
                                                              1134  iret = 0
                                                              +
                                                              1135 
                                                              +
                                                              1136  ! Check the file status and inode
                                                              +
                                                              1137  lunit = abs(lunin)
                                                              +
                                                              1138  call status(lunit,lun,il,im)
                                                              +
                                                              1139  if(il==0) call bort('BUFRLIB: UFBSTP - BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                                              +
                                                              1140  if(im==0) call bort('BUFRLIB: UFBSTP - A MESSAGE MUST BE OPEN IN BUFR FILE, NONE ARE')
                                                              +
                                                              1141  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBSTP - LOCATION OF INTERNAL TABLE FOR BUFR FILE DOES NOT AGREE ' // &
                                                              +
                                                              1142  'WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              1143 
                                                              +
                                                              1144  io = min(max(0,il),1)
                                                              +
                                                              1145  if(lunit/=lunin) io = 0
                                                              +
                                                              1146 
                                                              +
                                                              1147  if(i1<=0) then
                                                              +
                                                              1148  if(iprt>=0) then
                                                              +
                                                              1149  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1150  errstr = .LE.'BUFRLIB: UFBSTP - 3rd ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1151  call errwrt(errstr)
                                                              +
                                                              1152  call errwrt(str)
                                                              +
                                                              1153  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1154  call errwrt(' ')
                                                              +
                                                              1155  endif
                                                              +
                                                              1156  return
                                                              +
                                                              1157  elseif(i2<=0) then
                                                              +
                                                              1158  if(iprt==-1) ifirst1 = 1
                                                              +
                                                              1159  if(io==0 .or. ifirst1==0 .or. iprt>=1) then
                                                              +
                                                              1160  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1161  errstr = .LE.'BUFRLIB: UFBSTP - 4th ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1162  call errwrt(errstr)
                                                              +
                                                              1163  call errwrt(str)
                                                              +
                                                              1164  if(iprt==0 .and. io==1) then
                                                              +
                                                              1165  errstr = 'Note: Only the first occurrence of this WARNING message is printed, there may be more. To output ' // &
                                                              +
                                                              1166  'all such messages,'
                                                              +
                                                              1167  call errwrt(errstr)
                                                              +
                                                              1168  errstr = 'modify your application program to add "CALL OPENBF(0,''QUIET'',1)" prior to the first call to a ' // &
                                                              +
                                                              1169  'BUFRLIB routine.'
                                                              +
                                                              1170  call errwrt(errstr)
                                                              +
                                                              1171  endif
                                                              +
                                                              1172  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1173  call errwrt(' ')
                                                              +
                                                              1174  ifirst1 = 1
                                                              +
                                                              1175  endif
                                                              +
                                                              1176  return
                                                              +
                                                              1177  endif
                                                              +
                                                              1178 
                                                              +
                                                              1179  ! Initialize usr array preceeding an input operation
                                                              +
                                                              1180  if(io==0) then
                                                              +
                                                              1181  do j=1,i2
                                                              +
                                                              1182  do i=1,i1
                                                              +
                                                              1183  usr(i,j) = bmiss
                                                              +
                                                              1184  enddo
                                                              +
                                                              1185  enddo
                                                              +
                                                              1186  endif
                                                              +
                                                              1187 
                                                              +
                                                              1188  ! Parse or recall the input string
                                                              +
                                                              1189  call string(str,lun,i1,io)
                                                              +
                                                              1190 
                                                              +
                                                              1191  ! Call the mnemonic reader/writer
                                                              +
                                                              1192  call ufbsp(lun,usr,i1,i2,io,iret)
                                                              +
                                                              1193 
                                                              +
                                                              1194  if(io==1 .and. iret/=i2) then
                                                              +
                                                              1195  write(bort_str1,'("BUFRLIB: UFBSTP - MNEMONIC STRING READ IN IS: ",A)') str
                                                              +
                                                              1196  write(bort_str2,'(18X,"THE NUMBER OF ''LEVELS'' ACTUALLY '// &
                                                              +
                                                              1197  'WRITTEN (",I3,") DOES NOT EQUAL THE NUMBER REQUESTED (",I3,") - INCOMPLETE WRITE")') iret,i2
                                                              +
                                                              1198  call bort2(bort_str1,bort_str2)
                                                              +
                                                              1199  endif
                                                              +
                                                              1200 
                                                              +
                                                              1201  if(iret==0 .and. io==0 .and. iprt>=1) then
                                                              +
                                                              1202  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1203  errstr = 'BUFRLIB: UFBSTP - NO SPECIFIED VALUES READ IN, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1204  call errwrt(errstr)
                                                              +
                                                              1205  call errwrt(str)
                                                              +
                                                              1206  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1207  call errwrt(' ')
                                                              +
                                                              1208  endif
                                                              +
                                                              1209 
                                                              +
                                                              1210  return
                                                              +
                                                              1211 end subroutine ufbstp
                                                              +
                                                              1212 
                                                              +
                                                              1319 recursive subroutine ufbseq(lunin,usr,i1,i2,iret,str)
                                                              +
                                                              1320 
                                                              +
                                                              1321  use modv_vars, only: im8b, bmiss
                                                              +
                                                              1322 
                                                              +
                                                              1323  use moda_usrint
                                                              +
                                                              1324  use moda_msgcwd
                                                              +
                                                              1325  use moda_tables
                                                              +
                                                              1326 
                                                              +
                                                              1327  implicit none
                                                              +
                                                              1328 
                                                              +
                                                              1329  integer, intent(in) :: lunin, i1, i2
                                                              +
                                                              1330  integer, intent(out) :: iret
                                                              +
                                                              1331  integer, parameter :: mtag = 10
                                                              +
                                                              1332  integer iprt, ifirst1, ifirst2, my_lunin, my_i1, my_i2, lunit, lun, il, im, io, i, j, ntag, node, nods, ins1, ins2, insx, &
                                                              +
                                                              1333  nseq, isq, ityp, invwin, invtag
                                                              +
                                                              1334 
                                                              +
                                                              1335  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              1336 
                                                              +
                                                              1337  character*(*), intent(in) :: str
                                                              +
                                                              1338  character*156 bort_str
                                                              +
                                                              1339  character*128 errstr
                                                              +
                                                              1340  character*10 tags(mtag)
                                                              +
                                                              1341 
                                                              +
                                                              1342  common /quiet/ iprt
                                                              +
                                                              1343 
                                                              +
                                                              1344  data ifirst1 /0/, ifirst2 /0/
                                                              +
                                                              1345 
                                                              +
                                                              1346  save ifirst1, ifirst2
                                                              +
                                                              1347 
                                                              +
                                                              1348  ! Check for I8 integers
                                                              +
                                                              1349  if(im8b) then
                                                              +
                                                              1350  im8b=.false.
                                                              +
                                                              1351  call x84(lunin,my_lunin,1)
                                                              +
                                                              1352  call x84(i1,my_i1,1)
                                                              +
                                                              1353  call x84(i2,my_i2,1)
                                                              +
                                                              1354  call ufbseq(my_lunin,usr,my_i1,my_i2,iret,str)
                                                              +
                                                              1355  call x48(iret,iret,1)
                                                              +
                                                              1356  im8b=.true.
                                                              +
                                                              1357  return
                                                              +
                                                              1358  endif
                                                              +
                                                              1359 
                                                              +
                                                              1360  iret = 0
                                                              +
                                                              1361 
                                                              +
                                                              1362  ! Check the file status and inode
                                                              +
                                                              1363  lunit = abs(lunin)
                                                              +
                                                              1364  call status(lunit,lun,il,im)
                                                              +
                                                              1365  if(il==0) call bort('BUFRLIB: UFBSEQ - BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                                              +
                                                              1366  if(im==0) call bort('BUFRLIB: UFBSEQ - A MESSAGE MUST BE OPEN IN BUFR FILE, NONE ARE')
                                                              +
                                                              1367 
                                                              +
                                                              1368  io = min(max(0,il),1)
                                                              +
                                                              1369  if(lunit/=lunin) io = 0
                                                              +
                                                              1370 
                                                              +
                                                              1371  if(i1<=0) then
                                                              +
                                                              1372  if(iprt>=0) then
                                                              +
                                                              1373  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1374  errstr = .LE.'BUFRLIB: UFBSEQ - 3rd ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1375  call errwrt(errstr)
                                                              +
                                                              1376  call errwrt(str)
                                                              +
                                                              1377  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1378  call errwrt(' ')
                                                              +
                                                              1379  endif
                                                              +
                                                              1380  return
                                                              +
                                                              1381  elseif(i2<=0) then
                                                              +
                                                              1382  if(iprt==-1) ifirst1 = 1
                                                              +
                                                              1383  if(io==0 .or. ifirst1==0 .or. iprt>=1) then
                                                              +
                                                              1384  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1385  errstr = .LE.'BUFRLIB: UFBSEQ - 4th ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1386  call errwrt(errstr)
                                                              +
                                                              1387  call errwrt(str)
                                                              +
                                                              1388  if(iprt==0 .and. io==1) then
                                                              +
                                                              1389  errstr = 'Note: Only the first occurrence of this WARNING message is printed, there may be more. To output ' // &
                                                              +
                                                              1390  'all such messages,'
                                                              +
                                                              1391  call errwrt(errstr)
                                                              +
                                                              1392  errstr = 'modify your application program to add "CALL OPENBF(0,''QUIET'',1)" prior to the first call to a ' // &
                                                              +
                                                              1393  'BUFRLIB routine.'
                                                              +
                                                              1394  call errwrt(errstr)
                                                              +
                                                              1395  endif
                                                              +
                                                              1396  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1397  call errwrt(' ')
                                                              +
                                                              1398  ifirst1 = 1
                                                              +
                                                              1399  endif
                                                              +
                                                              1400  return
                                                              +
                                                              1401  endif
                                                              +
                                                              1402 
                                                              +
                                                              1403  ! Check for valid sequence and sequence length arguments
                                                              +
                                                              1404  call parstr(str,tags,mtag,ntag,' ',.true.)
                                                              +
                                                              1405  if(ntag<1) then
                                                              +
                                                              1406  write(bort_str,'("BUFRLIB: UFBSEQ - THE INPUT STRING (",A,") DOES NOT CONTAIN ANY MNEMONICS!!")') str
                                                              +
                                                              1407  call bort(bort_str)
                                                              +
                                                              1408  endif
                                                              +
                                                              1409  if(ntag>1) then
                                                              +
                                                              1410  write(bort_str,'("BUFRLIB: UFBSEQ - THERE CANNOT BE MORE THAN '// &
                                                              +
                                                              1411  'ONE MNEMONIC IN THE INPUT STRING (",A,") (HERE THERE ARE ",I3,")")') str,ntag
                                                              +
                                                              1412  call bort(bort_str)
                                                              +
                                                              1413  endif
                                                              +
                                                              1414  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBSEQ - LOCATION OF INTERNAL TABLE FOR '// &
                                                              +
                                                              1415  'BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              1416 
                                                              +
                                                              1417  ! Initialize usr array preceeding an input operation
                                                              +
                                                              1418  if(io==0) then
                                                              +
                                                              1419  do j=1,i2
                                                              +
                                                              1420  do i=1,i1
                                                              +
                                                              1421  usr(i,j) = bmiss
                                                              +
                                                              1422  enddo
                                                              +
                                                              1423  enddo
                                                              +
                                                              1424  endif
                                                              +
                                                              1425 
                                                              +
                                                              1426  ! Find the parameters of the specified sequence
                                                              +
                                                              1427  outer: do node=inode(lun),isc(inode(lun))
                                                              +
                                                              1428  if(str==tag(node)) then
                                                              +
                                                              1429  if(typ(node)=='SEQ' .or. typ(node)=='RPC') then
                                                              +
                                                              1430  ins1 = 1
                                                              +
                                                              1431  do while (.true.)
                                                              +
                                                              1432  ins1 = invtag(node,lun,ins1,nval(lun))
                                                              +
                                                              1433  if(ins1==0) exit outer
                                                              +
                                                              1434  if(typ(node)/='RPC' .or. val(ins1,lun)/=0.) exit
                                                              +
                                                              1435  ins1 = ins1+1
                                                              +
                                                              1436  enddo
                                                              +
                                                              1437  ins2 = invtag(node,lun,ins1+1,nval(lun))
                                                              +
                                                              1438  if(ins2==0) ins2 = 10e5
                                                              +
                                                              1439  nods = node
                                                              +
                                                              1440  do while(link(nods)==0 .and. jmpb(nods)>0)
                                                              +
                                                              1441  nods = jmpb(nods)
                                                              +
                                                              1442  enddo
                                                              +
                                                              1443  if(link(nods)==0) then
                                                              +
                                                              1444  insx = nval(lun)
                                                              +
                                                              1445  elseif(link(nods)>0) then
                                                              +
                                                              1446  insx = invwin(link(nods),lun,ins1+1,nval(lun))-1
                                                              +
                                                              1447  endif
                                                              +
                                                              1448  ins2 = min(ins2,insx)
                                                              +
                                                              1449  elseif(typ(node)=='SUB') then
                                                              +
                                                              1450  ins1 = 1
                                                              +
                                                              1451  ins2 = nval(lun)
                                                              +
                                                              1452  else
                                                              +
                                                              1453  write(bort_str,'("BUFRLIB: UFBSEQ - INPUT MNEMONIC ",A," MUST '// &
                                                              +
                                                              1454  'BE A SEQUENCE (HERE IT IS TYPE """,A,""")")') tags(1),typ(node)
                                                              +
                                                              1455  call bort(bort_str)
                                                              +
                                                              1456  endif
                                                              +
                                                              1457  nseq = 0
                                                              +
                                                              1458  do isq=ins1,ins2
                                                              +
                                                              1459  ityp = itp(inv(isq,lun))
                                                              +
                                                              1460  if(ityp>1) nseq = nseq+1
                                                              +
                                                              1461  enddo
                                                              +
                                                              1462  if(nseq>i1) then
                                                              +
                                                              1463  write(bort_str,.GT.'("BUFRLIB: UFBSEQ - INPUT SEQ. MNEM. ",A," CONSISTS OF",I4," TABLE B MNEM., THE MAX. '// &
                                                              +
                                                              1464  'SPECIFIED IN (INPUT) ARGUMENT 3 (",I3,")")') tags(1),nseq,i1
                                                              +
                                                              1465  call bort(bort_str)
                                                              +
                                                              1466  endif
                                                              +
                                                              1467  ! Frame a section of the buffer - return when no frame
                                                              +
                                                              1468  inner: do while (.true.)
                                                              +
                                                              1469  ins1 = invtag(node,lun,ins1,nval(lun))
                                                              +
                                                              1470  if(ins1>nval(lun)) exit outer
                                                              +
                                                              1471  if(ins1>0) then
                                                              +
                                                              1472  if(typ(node)=='RPC' .and. val(ins1,lun)==0.) then
                                                              +
                                                              1473  ins1 = ins1+1
                                                              +
                                                              1474  cycle
                                                              +
                                                              1475  elseif(io==0 .and. iret+1>i2) then
                                                              +
                                                              1476  if(iprt>=0) then
                                                              +
                                                              1477  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
                                                              +
                                                              1478  write ( unit=errstr, fmt='(A,I5,A,A,A)' ) 'BUFRLIB: UFBSEQ - INCOMPLETE READ; ONLY THE FIRST ', i2, &
                                                              +
                                                              1479  ' (=4TH INPUT ARG.) ''LEVELS'' OF INPUT MNEMONIC ', tags(1), ' WERE READ'
                                                              +
                                                              1480  call errwrt(errstr)
                                                              +
                                                              1481  call errwrt('++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++')
                                                              +
                                                              1482  call errwrt(' ')
                                                              +
                                                              1483  endif
                                                              +
                                                              1484  exit outer
                                                              +
                                                              1485  endif
                                                              +
                                                              1486  elseif(ins1==0) then
                                                              +
                                                              1487  if(io==1 .and. iret<i2) then
                                                              +
                                                              1488  write(bort_str,'("BUFRLIB: UFBSEQ - NO. OF ''LEVELS'.LT.' WRITTEN (",I5,") NO. REQUESTED (",I5,") - '// &
                                                              +
                                                              1489  'INCOMPLETE WRITE (INPUT MNEMONIC IS ",A,")")') iret,i2,tags(1)
                                                              +
                                                              1490  call bort(bort_str)
                                                              +
                                                              1491  endif
                                                              +
                                                              1492  else
                                                              +
                                                              1493  write(bort_str,.GE.'("BUFRLIB: UFBSEQ - VARIABLE INS1 MUST BE ZERO, HERE IT IS",I4," - INPUT MNEMONIC '// &
                                                              +
                                                              1494  'IS ",A)') ins1,tags(1)
                                                              +
                                                              1495  call bort(bort_str)
                                                              +
                                                              1496  endif
                                                              +
                                                              1497  if(ins1==0 .or. iret==i2) exit outer
                                                              +
                                                              1498  iret = iret+1
                                                              +
                                                              1499  ins1 = ins1+1
                                                              +
                                                              1500  ! Read/write user values
                                                              +
                                                              1501  j = ins1
                                                              +
                                                              1502  do i=1,nseq
                                                              +
                                                              1503  do while(itp(inv(j,lun))<2)
                                                              +
                                                              1504  j = j+1
                                                              +
                                                              1505  enddo
                                                              +
                                                              1506  if(io==0) usr(i,iret) = val(j,lun)
                                                              +
                                                              1507  if(io==1) val(j,lun) = usr(i,iret)
                                                              +
                                                              1508  j = j+1
                                                              +
                                                              1509  enddo
                                                              +
                                                              1510  enddo inner
                                                              +
                                                              1511  endif
                                                              +
                                                              1512  enddo outer
                                                              +
                                                              1513 
                                                              +
                                                              1514  if(iret==0) then
                                                              +
                                                              1515  if(io==0) then
                                                              +
                                                              1516  if(iprt>=1) then
                                                              +
                                                              1517  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1518  errstr = 'BUFRLIB: UFBSEQ - NO SPECIFIED VALUES READ IN, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1519  call errwrt(errstr)
                                                              +
                                                              1520  call errwrt(str)
                                                              +
                                                              1521  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1522  call errwrt(' ')
                                                              +
                                                              1523  endif
                                                              +
                                                              1524  else
                                                              +
                                                              1525  if(iprt==-1) ifirst2 = 1
                                                              +
                                                              1526  if(ifirst2==0 .or. iprt>=1) then
                                                              +
                                                              1527  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1528  errstr = 'BUFRLIB: UFBSEQ - NO SPECIFIED VALUES WRITTEN OUT, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              1529  call errwrt(errstr)
                                                              +
                                                              1530  call errwrt(str)
                                                              +
                                                              1531  call errwrt('MAY NOT BE IN THE BUFR TABLE(?)')
                                                              +
                                                              1532  if(iprt==0) then
                                                              +
                                                              1533  errstr = 'Note: Only the first occurrence of this WARNING message is printed, there may be more. To output ' // &
                                                              +
                                                              1534  'all such messages,'
                                                              +
                                                              1535  call errwrt(errstr)
                                                              +
                                                              1536  errstr = 'modify your application program to add "CALL OPENBF(0,''QUIET'',1)" prior to the first call to a ' // &
                                                              +
                                                              1537  'BUFRLIB routine.'
                                                              +
                                                              1538  call errwrt(errstr)
                                                              +
                                                              1539  endif
                                                              +
                                                              1540  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              1541  call errwrt(' ')
                                                              +
                                                              1542  ifirst2 = 1
                                                              +
                                                              1543  endif
                                                              +
                                                              1544  endif
                                                              +
                                                              1545  endif
                                                              +
                                                              1546 
                                                              +
                                                              1547  return
                                                              +
                                                              1548 end subroutine ufbseq
                                                              +
                                                              1549 
                                                              +
                                                              1587 recursive subroutine drfini(lunit,mdrf,ndrf,drftag)
                                                              +
                                                              1588 
                                                              +
                                                              1589  use modv_vars, only: im8b
                                                              +
                                                              1590 
                                                              +
                                                              1591  use moda_usrint
                                                              +
                                                              1592  use moda_tables
                                                              +
                                                              1593 
                                                              +
                                                              1594  implicit none
                                                              +
                                                              1595 
                                                              +
                                                              1596  character*(*), intent(in) :: drftag
                                                              +
                                                              1597 
                                                              +
                                                              1598  integer, intent(in) :: mdrf(*), lunit, ndrf
                                                              +
                                                              1599  integer, parameter :: mxdrf = 2000
                                                              +
                                                              1600  integer my_mdrf(mxdrf), my_lunit, my_ndrf, mdrf4, ii, lun, il, im, m, n, node
                                                              +
                                                              1601 
                                                              +
                                                              1602  ! Check for I8 integers
                                                              +
                                                              1603  if(im8b) then
                                                              +
                                                              1604  im8b=.false.
                                                              +
                                                              1605  call x84(lunit,my_lunit,1)
                                                              +
                                                              1606  do ii = 1, ndrf
                                                              +
                                                              1607  call x84(mdrf(ii),mdrf4,1)
                                                              +
                                                              1608  my_mdrf(ii) = mdrf4
                                                              +
                                                              1609  enddo
                                                              +
                                                              1610  call x84(ndrf,my_ndrf,1)
                                                              +
                                                              1611  call drfini(my_lunit,my_mdrf,my_ndrf,drftag)
                                                              +
                                                              1612  im8b=.true.
                                                              +
                                                              1613  return
                                                              +
                                                              1614  endif
                                                              +
                                                              1615 
                                                              +
                                                              1616  call status(lunit,lun,il,im)
                                                              +
                                                              1617  ! Conform the template to the delayed replication factors
                                                              +
                                                              1618  m = 0
                                                              +
                                                              1619  n = 0
                                                              +
                                                              1620  do n = n+1, nval(lun)
                                                              +
                                                              1621  node = inv(n,lun)
                                                              +
                                                              1622  if(itp(node)==1 .and. tag(node)==drftag) then
                                                              +
                                                              1623  m = m+1
                                                              +
                                                              1624  call usrtpl(lun,n,mdrf(m))
                                                              +
                                                              1625  endif
                                                              +
                                                              1626  enddo
                                                              +
                                                              1627 
                                                              +
                                                              1628  return
                                                              +
                                                              1629 end subroutine drfini
                                                              +
                                                              1630 
                                                              +
                                                              1654 subroutine ufbrw(lun,usr,i1,i2,io,iret)
                                                              +
                                                              1655 
                                                              +
                                                              1656  use modv_vars, only: bmiss
                                                              +
                                                              1657 
                                                              +
                                                              1658  use moda_usrint
                                                              +
                                                              1659  use moda_tables
                                                              +
                                                              1660  use moda_msgcwd
                                                              +
                                                              1661 
                                                              +
                                                              1662  implicit none
                                                              +
                                                              1663 
                                                              +
                                                              1664  integer, intent(in) :: lun, i1, i2, io
                                                              +
                                                              1665  integer, intent(out) :: iret
                                                              +
                                                              1666  integer iprt, nnod, ncon, nods, nodc, ivls, kons, inc1, inc2, ins1, ins2, invn, i, j, invwin, ibfms, lstjpb
                                                              +
                                                              1667 
                                                              +
                                                              1668  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              1669 
                                                              +
                                                              1670  character*128 errstr
                                                              +
                                                              1671  character*10 tagstr, subset
                                                              +
                                                              1672 
                                                              +
                                                              1673  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              1674  common /quiet/ iprt
                                                              +
                                                              1675 
                                                              +
                                                              1676  subset=tag(inode(lun))
                                                              +
                                                              1677  iret = 0
                                                              +
                                                              1678 
                                                              +
                                                              1679  ! Loop over condition windows
                                                              +
                                                              1680  inc1 = 1
                                                              +
                                                              1681  inc2 = 1
                                                              +
                                                              1682  outer: do while (.true.)
                                                              +
                                                              1683  call conwin(lun,inc1,inc2)
                                                              +
                                                              1684  if(nnod==0) then
                                                              +
                                                              1685  iret = i2
                                                              +
                                                              1686  return
                                                              +
                                                              1687  elseif(inc1==0) then
                                                              +
                                                              1688  return
                                                              +
                                                              1689  else
                                                              +
                                                              1690  do j=1,nnod
                                                              +
                                                              1691  if(nods(j)>0) then
                                                              +
                                                              1692  ins2 = inc1
                                                              +
                                                              1693  call getwin(nods(j),lun,ins1,ins2)
                                                              +
                                                              1694  if(ins1==0) return
                                                              +
                                                              1695  do while (.true.)
                                                              +
                                                              1696  ! Loop over store nodes
                                                              +
                                                              1697  iret = iret+1
                                                              +
                                                              1698  if(iprt>=2) then
                                                              +
                                                              1699  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1700  call errwrt('UFBRW LEV TAG IO INS1 INVN INS2 '//subset)
                                                              +
                                                              1701  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                                              +
                                                              1702  do i=1,nnod
                                                              +
                                                              1703  if(io==0) tagstr=tag(nods(i))(1:8)//' R'
                                                              +
                                                              1704  if(io==1) tagstr=tag(nods(i))(1:8)//' W'
                                                              +
                                                              1705  invn = invwin(nods(i),lun,ins1,ins2)
                                                              +
                                                              1706  if(invn==0.and.io==1) call drstpl(nods(i),lun,ins1,ins2,invn)
                                                              +
                                                              1707  write(errstr,'("LEV=",I5,1X,A,3I7)') iret,tagstr,ins1,invn,ins2
                                                              +
                                                              1708  call errwrt(errstr)
                                                              +
                                                              1709  enddo
                                                              +
                                                              1710  endif
                                                              +
                                                              1711  ! Write user values
                                                              +
                                                              1712  if(io==1 .and. iret<=i2) then
                                                              +
                                                              1713  do i=1,nnod
                                                              +
                                                              1714  if(nods(i)>0) then
                                                              +
                                                              1715  if(ibfms(usr(i,iret))==0) then
                                                              +
                                                              1716  invn = invwin(nods(i),lun,ins1,ins2)
                                                              +
                                                              1717  if(invn==0) then
                                                              +
                                                              1718  call drstpl(nods(i),lun,ins1,ins2,invn)
                                                              +
                                                              1719  if(invn==0) then
                                                              +
                                                              1720  iret = 0
                                                              +
                                                              1721  return
                                                              +
                                                              1722  endif
                                                              +
                                                              1723  call newwin(lun,inc1,inc2)
                                                              +
                                                              1724  val(invn,lun) = usr(i,iret)
                                                              +
                                                              1725  elseif(lstjpb(nods(i),lun,'RPS')==0) then
                                                              +
                                                              1726  val(invn,lun) = usr(i,iret)
                                                              +
                                                              1727  elseif(ibfms(val(invn,lun))/=0) then
                                                              +
                                                              1728  val(invn,lun) = usr(i,iret)
                                                              +
                                                              1729  else
                                                              +
                                                              1730  call drstpl(nods(i),lun,ins1,ins2,invn)
                                                              +
                                                              1731  if(invn==0) then
                                                              +
                                                              1732  iret = 0
                                                              +
                                                              1733  return
                                                              +
                                                              1734  endif
                                                              +
                                                              1735  call newwin(lun,inc1,inc2)
                                                              +
                                                              1736  val(invn,lun) = usr(i,iret)
                                                              +
                                                              1737  endif
                                                              +
                                                              1738  endif
                                                              +
                                                              1739  endif
                                                              +
                                                              1740  enddo
                                                              +
                                                              1741  endif
                                                              +
                                                              1742  ! Read user values
                                                              +
                                                              1743  if(io==0 .and. iret<=i2) then
                                                              +
                                                              1744  do i=1,nnod
                                                              +
                                                              1745  usr(i,iret) = bmiss
                                                              +
                                                              1746  if(nods(i)>0) then
                                                              +
                                                              1747  invn = invwin(nods(i),lun,ins1,ins2)
                                                              +
                                                              1748  if(invn>0) usr(i,iret) = val(invn,lun)
                                                              +
                                                              1749  endif
                                                              +
                                                              1750  enddo
                                                              +
                                                              1751  endif
                                                              +
                                                              1752  ! Decide what to do next
                                                              +
                                                              1753  if(io==1.and.iret==i2) return
                                                              +
                                                              1754  call nxtwin(lun,ins1,ins2)
                                                              +
                                                              1755  if(ins1>0 .and. ins1<inc2) cycle
                                                              +
                                                              1756  if(ncon>0) cycle outer
                                                              +
                                                              1757  return
                                                              +
                                                              1758  enddo
                                                              +
                                                              1759  endif
                                                              +
                                                              1760  enddo
                                                              +
                                                              1761  iret = -1
                                                              +
                                                              1762  return
                                                              +
                                                              1763  endif
                                                              +
                                                              1764  enddo outer
                                                              +
                                                              1765 
                                                              +
                                                              1766  return
                                                              +
                                                              1767 end subroutine ufbrw
                                                              +
                                                              1768 
                                                              +
                                                              1792 subroutine ufbrp(lun,usr,i1,i2,io,iret)
                                                              +
                                                              1793 
                                                              +
                                                              1794  use moda_usrint
                                                              +
                                                              1795 
                                                              +
                                                              1796  implicit none
                                                              +
                                                              1797 
                                                              +
                                                              1798  integer, intent(in) :: lun, i1, i2, io
                                                              +
                                                              1799  integer, intent(out) :: iret
                                                              +
                                                              1800  integer nnod, ncon, nods, nodc, ivls, kons, ins1, ins2, invn, i, nz, invtag
                                                              +
                                                              1801 
                                                              +
                                                              1802  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              1803 
                                                              +
                                                              1804  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              1805 
                                                              +
                                                              1806  iret = 0
                                                              +
                                                              1807  ins1 = 0
                                                              +
                                                              1808  ins2 = 0
                                                              +
                                                              1809 
                                                              +
                                                              1810  ! Find first non-zero node in string
                                                              +
                                                              1811  do nz=1,nnod
                                                              +
                                                              1812  if(nods(nz)>0) then
                                                              +
                                                              1813  do while (.true.)
                                                              +
                                                              1814  ! Frame a section of the buffer - return when no frame
                                                              +
                                                              1815  if(ins1+1>nval(lun)) return
                                                              +
                                                              1816  if(io==1 .and. iret==i2) return
                                                              +
                                                              1817  ins1 = invtag(nods(nz),lun,ins1+1,nval(lun))
                                                              +
                                                              1818  if(ins1==0) return
                                                              +
                                                              1819  ins2 = invtag(nods(nz),lun,ins1+1,nval(lun))
                                                              +
                                                              1820  if(ins2==0) ins2 = nval(lun)
                                                              +
                                                              1821  iret = iret+1
                                                              +
                                                              1822  ! Read user values
                                                              +
                                                              1823  if(io==0 .and. iret<=i2) then
                                                              +
                                                              1824  do i=1,nnod
                                                              +
                                                              1825  if(nods(i)>0) then
                                                              +
                                                              1826  invn = invtag(nods(i),lun,ins1,ins2)
                                                              +
                                                              1827  if(invn>0) usr(i,iret) = val(invn,lun)
                                                              +
                                                              1828  endif
                                                              +
                                                              1829  enddo
                                                              +
                                                              1830  endif
                                                              +
                                                              1831  ! Write user values
                                                              +
                                                              1832  if(io==1 .and. iret<=i2) then
                                                              +
                                                              1833  do i=1,nnod
                                                              +
                                                              1834  if(nods(i)>0) then
                                                              +
                                                              1835  invn = invtag(nods(i),lun,ins1,ins2)
                                                              +
                                                              1836  if(invn>0) val(invn,lun) = usr(i,iret)
                                                              +
                                                              1837  endif
                                                              +
                                                              1838  enddo
                                                              +
                                                              1839  endif
                                                              +
                                                              1840  enddo
                                                              +
                                                              1841  endif
                                                              +
                                                              1842  enddo
                                                              +
                                                              1843 
                                                              +
                                                              1844  return
                                                              +
                                                              1845 end subroutine ufbrp
                                                              +
                                                              1846 
                                                              +
                                                              1876 subroutine ufbsp(lun,usr,i1,i2,io,iret)
                                                              +
                                                              1877 
                                                              +
                                                              1878  use moda_usrint
                                                              +
                                                              1879 
                                                              +
                                                              1880  implicit none
                                                              +
                                                              1881 
                                                              +
                                                              1882  integer, intent(in) :: lun, i1, i2, io
                                                              +
                                                              1883  integer, intent(out) :: iret
                                                              +
                                                              1884  integer nnod, ncon, nods, nodc, ivls, kons, ins1, ins2, invn, invm, i, invtag
                                                              +
                                                              1885 
                                                              +
                                                              1886  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              1887 
                                                              +
                                                              1888  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              1889 
                                                              +
                                                              1890  iret = 0
                                                              +
                                                              1891  ins1 = 0
                                                              +
                                                              1892  ins2 = 0
                                                              +
                                                              1893 
                                                              +
                                                              1894  do while (.true.)
                                                              +
                                                              1895  ! Frame a section of the buffer - return when no frame
                                                              +
                                                              1896  if(ins1+1>nval(lun)) return
                                                              +
                                                              1897  ins1 = invtag(nods(1),lun,ins1+1,nval(lun))
                                                              +
                                                              1898  if(ins1==0) return
                                                              +
                                                              1899  ins2 = invtag(nods(1),lun,ins1+1,nval(lun))
                                                              +
                                                              1900  if(ins2==0) ins2 = nval(lun)
                                                              +
                                                              1901  iret = iret+1
                                                              +
                                                              1902  ! Read user values
                                                              +
                                                              1903  if(io==0 .and. iret<=i2) then
                                                              +
                                                              1904  invm = ins1
                                                              +
                                                              1905  do i=1,nnod
                                                              +
                                                              1906  if(nods(i)>0) then
                                                              +
                                                              1907  invn = invtag(nods(i),lun,invm,ins2)
                                                              +
                                                              1908  if(invn>0) usr(i,iret) = val(invn,lun)
                                                              +
                                                              1909  invm = max(invn,invm)
                                                              +
                                                              1910  endif
                                                              +
                                                              1911  enddo
                                                              +
                                                              1912  endif
                                                              +
                                                              1913  ! Write user values
                                                              +
                                                              1914  if(io==1 .and. iret<=i2) then
                                                              +
                                                              1915  invm = ins1
                                                              +
                                                              1916  do i=1,nnod
                                                              +
                                                              1917  if(nods(i)>0) then
                                                              +
                                                              1918  invn = invtag(nods(i),lun,invm,ins2)
                                                              +
                                                              1919  if(invn>0) val(invn,lun) = usr(i,iret)
                                                              +
                                                              1920  invm = max(invn,invm)
                                                              +
                                                              1921  endif
                                                              +
                                                              1922  enddo
                                                              +
                                                              1923  endif
                                                              +
                                                              1924  enddo
                                                              +
                                                              1925 
                                                              +
                                                              1926  return
                                                              +
                                                              1927 end subroutine ufbsp
                                                              +
                                                              1928 
                                                              +
                                                              1977 recursive subroutine hold4wlc(lunit,chr,str)
                                                              +
                                                              1978 
                                                              +
                                                              1979  use modv_vars, only: im8b, mxh4wlc
                                                              +
                                                              1980 
                                                              +
                                                              1981  use moda_h4wlc
                                                              +
                                                              1982 
                                                              +
                                                              1983  implicit none
                                                              +
                                                              1984 
                                                              +
                                                              1985  integer, intent(in) :: lunit
                                                              +
                                                              1986  integer my_lunit, iprt, lens, lenc, i
                                                              +
                                                              1987 
                                                              +
                                                              1988  character*(*), intent(in) :: chr, str
                                                              +
                                                              1989 
                                                              +
                                                              1990  character*128 errstr
                                                              +
                                                              1991  character*14 mystr
                                                              +
                                                              1992 
                                                              +
                                                              1993  common /quiet/ iprt
                                                              +
                                                              1994 
                                                              +
                                                              1995  ! Check for I8 integers
                                                              +
                                                              1996  if(im8b) then
                                                              +
                                                              1997  im8b=.false.
                                                              +
                                                              1998  call x84(lunit,my_lunit,1)
                                                              +
                                                              1999  call hold4wlc(my_lunit,chr,str)
                                                              +
                                                              2000  im8b=.true.
                                                              +
                                                              2001  return
                                                              +
                                                              2002  endif
                                                              +
                                                              2003 
                                                              +
                                                              2004  call strsuc( str, mystr, lens )
                                                              +
                                                              2005  if ( lens == -1 ) return
                                                              +
                                                              2006 
                                                              +
                                                              2007  lenc = min( len( chr ), 120 )
                                                              +
                                                              2008 
                                                              +
                                                              2009  ! If this subroutine has already been called with this mnemonic for this particular subset, then overwrite the
                                                              +
                                                              2010  ! corresponding entry in the internal holding area
                                                              +
                                                              2011  if ( nh4wlc > 0 ) then
                                                              +
                                                              2012  do i = 1, nh4wlc
                                                              +
                                                              2013  if ( ( lunit == luh4wlc(i) ) .and. ( mystr(1:lens) == sth4wlc(i)(1:lens) ) ) then
                                                              +
                                                              2014  chh4wlc(i) = ''
                                                              +
                                                              2015  chh4wlc(i)(1:lenc) = chr(1:lenc)
                                                              +
                                                              2016  return
                                                              +
                                                              2017  endif
                                                              +
                                                              2018  enddo
                                                              +
                                                              2019  endif
                                                              +
                                                              2020 
                                                              +
                                                              2021  ! Otherwise, use the next available unused entry in the holding area
                                                              +
                                                              2022  if ( nh4wlc >= mxh4wlc ) then
                                                              +
                                                              2023  if(iprt>=0) then
                                                              +
                                                              2024  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2025  write ( unit=errstr, fmt='(A,A,I3)' ) 'BUFRLIB: HOLD4WLC - THE MAXIMUM NUMBER OF LONG CHARACTER ', &
                                                              +
                                                              2026  'STRINGS THAT CAN BE HELD INTERNALLY IS ', mxh4wlc
                                                              +
                                                              2027  call errwrt(errstr)
                                                              +
                                                              2028  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2029  endif
                                                              +
                                                              2030  else
                                                              +
                                                              2031  nh4wlc = nh4wlc + 1
                                                              +
                                                              2032  luh4wlc(nh4wlc) = lunit
                                                              +
                                                              2033  sth4wlc(nh4wlc) = ''
                                                              +
                                                              2034  sth4wlc(nh4wlc)(1:lens) = mystr(1:lens)
                                                              +
                                                              2035  chh4wlc(nh4wlc) = ''
                                                              +
                                                              2036  chh4wlc(nh4wlc)(1:lenc) = chr(1:lenc)
                                                              +
                                                              2037  endif
                                                              +
                                                              2038 
                                                              +
                                                              2039  return
                                                              +
                                                              2040 end subroutine hold4wlc
                                                              +
                                                              2041 
                                                              +
                                                              2068 subroutine trybump(lun,usr,i1,i2,io,iret)
                                                              +
                                                              2069 
                                                              +
                                                              2070  use moda_usrint
                                                              +
                                                              2071 
                                                              +
                                                              2072  implicit none
                                                              +
                                                              2073 
                                                              +
                                                              2074  integer, intent(in) :: lun, i1, i2, io
                                                              +
                                                              2075  integer, intent(out) :: iret
                                                              +
                                                              2076  integer nnod, ncon, nods, nodc, ivls, kons, ndrp, invn, jnvn, knvn, invwin, lstjpb
                                                              +
                                                              2077 
                                                              +
                                                              2078  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              2079 
                                                              +
                                                              2080  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              2081 
                                                              +
                                                              2082  ! See if there's a delayed replication group involved
                                                              +
                                                              2083 
                                                              +
                                                              2084  ndrp = lstjpb(nods(1),lun,'DRP')
                                                              +
                                                              2085  if(ndrp<=0) return
                                                              +
                                                              2086 
                                                              +
                                                              2087  ! If so, clean it out and bump it to i2
                                                              +
                                                              2088 
                                                              +
                                                              2089  invn = invwin(ndrp,lun,1,nval(lun))
                                                              +
                                                              2090  val(invn,lun) = 0
                                                              +
                                                              2091  jnvn = invn+1
                                                              +
                                                              2092  do while(nint(val(jnvn,lun))>0)
                                                              +
                                                              2093  jnvn = jnvn+nint(val(jnvn,lun))
                                                              +
                                                              2094  enddo
                                                              +
                                                              2095  do knvn=1,nval(lun)-jnvn+1
                                                              +
                                                              2096  inv(invn+knvn,lun) = inv(jnvn+knvn-1,lun)
                                                              +
                                                              2097  val(invn+knvn,lun) = val(jnvn+knvn-1,lun)
                                                              +
                                                              2098  enddo
                                                              +
                                                              2099  nval(lun) = nval(lun)-(jnvn-invn-1)
                                                              +
                                                              2100  call usrtpl(lun,invn,i2)
                                                              +
                                                              2101 
                                                              +
                                                              2102  ! Call the mnemonic writer
                                                              +
                                                              2103 
                                                              +
                                                              2104  call ufbrw(lun,usr,i1,i2,io,iret)
                                                              +
                                                              2105 
                                                              +
                                                              2106  return
                                                              +
                                                              2107 end subroutine trybump
                                                              +
                                                              2108 
                                                              +
                                                              2128 recursive subroutine ufbovr(lunit,usr,i1,i2,iret,str)
                                                              +
                                                              2129 
                                                              +
                                                              2130  use modv_vars, only: im8b
                                                              +
                                                              2131 
                                                              +
                                                              2132  use moda_usrint
                                                              +
                                                              2133  use moda_msgcwd
                                                              +
                                                              2134 
                                                              +
                                                              2135  implicit none
                                                              +
                                                              2136 
                                                              +
                                                              2137  integer, intent(in) :: lunit, i1, i2
                                                              +
                                                              2138  integer, intent(out) :: iret
                                                              +
                                                              2139  integer iprt, ifirst1, my_lunit, my_i1, my_i2, lun, il, im, io
                                                              +
                                                              2140 
                                                              +
                                                              2141  character*(*), intent(in) :: str
                                                              +
                                                              2142  character*128 bort_str1, bort_str2, errstr
                                                              +
                                                              2143 
                                                              +
                                                              2144  real*8, intent(inout) :: usr(i1,i2)
                                                              +
                                                              2145 
                                                              +
                                                              2146  common /quiet/ iprt
                                                              +
                                                              2147 
                                                              +
                                                              2148  data ifirst1 /0/
                                                              +
                                                              2149 
                                                              +
                                                              2150  save ifirst1
                                                              +
                                                              2151 
                                                              +
                                                              2152  ! Check for I8 integers
                                                              +
                                                              2153 
                                                              +
                                                              2154  if(im8b) then
                                                              +
                                                              2155  im8b=.false.
                                                              +
                                                              2156  call x84(lunit,my_lunit,1)
                                                              +
                                                              2157  call x84(i1,my_i1,1)
                                                              +
                                                              2158  call x84(i2,my_i2,1)
                                                              +
                                                              2159  call ufbovr(my_lunit,usr,my_i1,my_i2,iret,str)
                                                              +
                                                              2160  call x48(iret,iret,1)
                                                              +
                                                              2161  im8b=.true.
                                                              +
                                                              2162  return
                                                              +
                                                              2163  endif
                                                              +
                                                              2164 
                                                              +
                                                              2165  iret = 0
                                                              +
                                                              2166 
                                                              +
                                                              2167  ! Check the file status and inode
                                                              +
                                                              2168 
                                                              +
                                                              2169  call status(lunit,lun,il,im)
                                                              +
                                                              2170  if(il==0) call bort('BUFRLIB: UFBOVR - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              2171  if(il<0) call bort('BUFRLIB: UFBOVR - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                                              +
                                                              2172  if(im==0) call bort('BUFRLIB: UFBOVR - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
                                                              +
                                                              2173  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBOVR - LOCATION OF INTERNAL TABLE FOR '// &
                                                              +
                                                              2174  'OUTPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              2175 
                                                              +
                                                              2176  io = min(max(0,il),1)
                                                              +
                                                              2177 
                                                              +
                                                              2178  if(i1<=0) then
                                                              +
                                                              2179  if(iprt>=0) then
                                                              +
                                                              2180  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2181  errstr = .LE.'BUFRLIB: UFBOVR - 3rd ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              2182  call errwrt(errstr)
                                                              +
                                                              2183  call errwrt(str)
                                                              +
                                                              2184  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2185  call errwrt(' ')
                                                              +
                                                              2186  endif
                                                              +
                                                              2187  return
                                                              +
                                                              2188  elseif(i2<=0) then
                                                              +
                                                              2189  if(iprt==-1) ifirst1 = 1
                                                              +
                                                              2190  if(io==0 .or. ifirst1==0 .or. iprt>=1) then
                                                              +
                                                              2191  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2192  errstr = .LE.'BUFRLIB: UFBOVR - 4th ARG. (INPUT) IS 0, SO RETURN WITH 5th ARG. (IRET) = 0; 6th ARG. (STR) ='
                                                              +
                                                              2193  call errwrt(errstr)
                                                              +
                                                              2194  call errwrt(str)
                                                              +
                                                              2195  if(iprt==0 .and. io==1) then
                                                              +
                                                              2196  errstr = 'Note: Only the first occurrence of this WARNING ' // &
                                                              +
                                                              2197  'message is printed, there may be more. To output all such messages,'
                                                              +
                                                              2198  call errwrt(errstr)
                                                              +
                                                              2199  errstr = 'modify your application program to add ' // &
                                                              +
                                                              2200  '"CALL OPENBF(0,''QUIET'',1)" prior to the first call to a BUFRLIB routine.'
                                                              +
                                                              2201  call errwrt(errstr)
                                                              +
                                                              2202  endif
                                                              +
                                                              2203  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2204  call errwrt(' ')
                                                              +
                                                              2205  ifirst1 = 1
                                                              +
                                                              2206  endif
                                                              +
                                                              2207  return
                                                              +
                                                              2208  endif
                                                              +
                                                              2209 
                                                              +
                                                              2210  ! Parse or recall the input string - write values
                                                              +
                                                              2211 
                                                              +
                                                              2212  call string(str,lun,i1,io)
                                                              +
                                                              2213  call trybump(lun,usr,i1,i2,io,iret)
                                                              +
                                                              2214 
                                                              +
                                                              2215  if(io==1 .and. iret/=i2) then
                                                              +
                                                              2216  write(bort_str1,'("BUFRLIB: UFBOVR - MNEMONIC STRING READ IN IS: ",A)') str
                                                              +
                                                              2217  write(bort_str2,'(18X,"THE NUMBER OF ''LEVELS'' ACTUALLY '// &
                                                              +
                                                              2218  'WRITTEN (",I3,") DOES NOT EQUAL THE NUMBER REQUESTED (",I3,") - INCOMPLETE WRITE")') iret, i2
                                                              +
                                                              2219  call bort2(bort_str1,bort_str2)
                                                              +
                                                              2220  endif
                                                              +
                                                              2221 
                                                              +
                                                              2222  return
                                                              +
                                                              2223 end subroutine ufbovr
                                                              +
                                                              2224 
                                                              +
                                                              2267 recursive subroutine ufbevn(lunit,usr,i1,i2,i3,iret,str)
                                                              +
                                                              2268 
                                                              +
                                                              2269  use modv_vars, only: im8b, bmiss
                                                              +
                                                              2270 
                                                              +
                                                              2271  use moda_usrint
                                                              +
                                                              2272  use moda_msgcwd
                                                              +
                                                              2273 
                                                              +
                                                              2274  implicit none
                                                              +
                                                              2275 
                                                              +
                                                              2276  character*(*), intent(in) :: str
                                                              +
                                                              2277  character*128 errstr
                                                              +
                                                              2278 
                                                              +
                                                              2279  integer, intent(in) :: lunit, i1, i2, i3
                                                              +
                                                              2280  integer, intent(out) :: iret
                                                              +
                                                              2281  integer invn(255), nnod, ncon, nods, nodc, ivls, kons, maxevn, iprt, my_lunit, my_i1, my_i2, my_i3, i, j, k, lun, il, im, &
                                                              +
                                                              2282  ins1, ins2, inc1, inc2, nnvn, nvnwin
                                                              +
                                                              2283 
                                                              +
                                                              2284  real*8, intent(out) :: usr(i1,i2,i3)
                                                              +
                                                              2285 
                                                              +
                                                              2286  logical nodgt0
                                                              +
                                                              2287 
                                                              +
                                                              2288  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              2289  common /ufbn3c/ maxevn
                                                              +
                                                              2290  common /quiet/ iprt
                                                              +
                                                              2291 
                                                              +
                                                              2292  ! Check for I8 integers
                                                              +
                                                              2293 
                                                              +
                                                              2294  if(im8b) then
                                                              +
                                                              2295  im8b=.false.
                                                              +
                                                              2296  call x84(lunit,my_lunit,1)
                                                              +
                                                              2297  call x84(i1,my_i1,1)
                                                              +
                                                              2298  call x84(i2,my_i2,1)
                                                              +
                                                              2299  call x84(i3,my_i3,1)
                                                              +
                                                              2300  call ufbevn(my_lunit,usr,my_i1,my_i2,my_i3,iret,str)
                                                              +
                                                              2301  call x48(iret,iret,1)
                                                              +
                                                              2302  im8b=.true.
                                                              +
                                                              2303  return
                                                              +
                                                              2304  endif
                                                              +
                                                              2305 
                                                              +
                                                              2306  maxevn = 0
                                                              +
                                                              2307  iret = 0
                                                              +
                                                              2308 
                                                              +
                                                              2309  ! Check the file status and inode
                                                              +
                                                              2310 
                                                              +
                                                              2311  call status(lunit,lun,il,im)
                                                              +
                                                              2312  if(il==0) call bort('BUFRLIB: UFBEVN - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              2313  if(il>0) call bort('BUFRLIB: UFBEVN - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              2314  if(im==0) call bort('BUFRLIB: UFBEVN - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                                              +
                                                              2315  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBEVN - LOCATION OF INTERNAL TABLE FOR '// &
                                                              +
                                                              2316  'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              2317 
                                                              +
                                                              2318  if(i1<=0) then
                                                              +
                                                              2319  if(iprt>=0) then
                                                              +
                                                              2320  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2321  errstr = .LE.'BUFRLIB: UFBEVN - 3rd ARG. (INPUT) IS 0, SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
                                                              +
                                                              2322  call errwrt(errstr)
                                                              +
                                                              2323  call errwrt(str)
                                                              +
                                                              2324  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2325  call errwrt(' ')
                                                              +
                                                              2326  endif
                                                              +
                                                              2327  return
                                                              +
                                                              2328  elseif(i2<=0) then
                                                              +
                                                              2329  if(iprt>=0) then
                                                              +
                                                              2330  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2331  errstr = .LE.'BUFRLIB: UFBEVN - 4th ARG. (INPUT) IS 0, SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
                                                              +
                                                              2332  call errwrt(errstr)
                                                              +
                                                              2333  call errwrt(str)
                                                              +
                                                              2334  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2335  call errwrt(' ')
                                                              +
                                                              2336  endif
                                                              +
                                                              2337  return
                                                              +
                                                              2338  elseif(i3<=0) then
                                                              +
                                                              2339  if(iprt>=0) then
                                                              +
                                                              2340  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2341  errstr = .LE.'BUFRLIB: UFBEVN - 5th ARG. (INPUT) IS 0, SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
                                                              +
                                                              2342  call errwrt(errstr)
                                                              +
                                                              2343  call errwrt(str)
                                                              +
                                                              2344  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2345  call errwrt(' ')
                                                              +
                                                              2346  endif
                                                              +
                                                              2347  return
                                                              +
                                                              2348  endif
                                                              +
                                                              2349 
                                                              +
                                                              2350  ! Parse or recall the input string
                                                              +
                                                              2351 
                                                              +
                                                              2352  call string(str,lun,i1,0)
                                                              +
                                                              2353 
                                                              +
                                                              2354  ! Initialize usr array
                                                              +
                                                              2355 
                                                              +
                                                              2356  do k=1,i3
                                                              +
                                                              2357  do j=1,i2
                                                              +
                                                              2358  do i=1,i1
                                                              +
                                                              2359  usr(i,j,k) = bmiss
                                                              +
                                                              2360  enddo
                                                              +
                                                              2361  enddo
                                                              +
                                                              2362  enddo
                                                              +
                                                              2363 
                                                              +
                                                              2364  ! Loop over condition windows
                                                              +
                                                              2365 
                                                              +
                                                              2366  inc1 = 1
                                                              +
                                                              2367  inc2 = 1
                                                              +
                                                              2368  outer: do while (.true.)
                                                              +
                                                              2369  call conwin(lun,inc1,inc2)
                                                              +
                                                              2370  if(nnod==0) then
                                                              +
                                                              2371  iret = i2
                                                              +
                                                              2372  return
                                                              +
                                                              2373  elseif(inc1==0) then
                                                              +
                                                              2374  return
                                                              +
                                                              2375  else
                                                              +
                                                              2376  nodgt0 = .false.
                                                              +
                                                              2377  do i=1,nnod
                                                              +
                                                              2378  if(nods(i)>0) then
                                                              +
                                                              2379  ins2 = inc1
                                                              +
                                                              2380  call getwin(nods(i),lun,ins1,ins2)
                                                              +
                                                              2381  if(ins1==0) return
                                                              +
                                                              2382  nodgt0 = .true.
                                                              +
                                                              2383  exit
                                                              +
                                                              2384  endif
                                                              +
                                                              2385  enddo
                                                              +
                                                              2386  if(.not.nodgt0) then
                                                              +
                                                              2387  ins1 = inc1
                                                              +
                                                              2388  ins2 = inc2
                                                              +
                                                              2389  endif
                                                              +
                                                              2390  ! Read push down stack data into 3D arrays
                                                              +
                                                              2391  inner: do while (.true.)
                                                              +
                                                              2392  iret = iret+1
                                                              +
                                                              2393  if(iret<=i2) then
                                                              +
                                                              2394  do j=1,nnod
                                                              +
                                                              2395  if(nods(j)>0) then
                                                              +
                                                              2396  nnvn = nvnwin(nods(j),lun,ins1,ins2,invn,i3)
                                                              +
                                                              2397  maxevn = max(nnvn,maxevn)
                                                              +
                                                              2398  do k=1,nnvn
                                                              +
                                                              2399  usr(j,iret,k) = val(invn(k),lun)
                                                              +
                                                              2400  enddo
                                                              +
                                                              2401  endif
                                                              +
                                                              2402  enddo
                                                              +
                                                              2403  endif
                                                              +
                                                              2404  ! Decide what to do next
                                                              +
                                                              2405  call nxtwin(lun,ins1,ins2)
                                                              +
                                                              2406  if(ins1<=0 .or. ins1>=inc2) exit inner
                                                              +
                                                              2407  enddo inner
                                                              +
                                                              2408  if(ncon<=0) exit outer
                                                              +
                                                              2409  endif
                                                              +
                                                              2410  enddo outer
                                                              +
                                                              2411 
                                                              +
                                                              2412  if(iret==0) then
                                                              +
                                                              2413  if(iprt>=1) then
                                                              +
                                                              2414  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2415  errstr = 'BUFRLIB: UFBEVN - NO SPECIFIED VALUES READ IN, SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
                                                              +
                                                              2416  call errwrt(errstr)
                                                              +
                                                              2417  call errwrt(str)
                                                              +
                                                              2418  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2419  call errwrt(' ')
                                                              +
                                                              2420  endif
                                                              +
                                                              2421  endif
                                                              +
                                                              2422 
                                                              +
                                                              2423  return
                                                              +
                                                              2424 end subroutine ufbevn
                                                              +
                                                              2425 
                                                              +
                                                              2471 recursive subroutine ufbin3(lunit,usr,i1,i2,i3,iret,jret,str)
                                                              +
                                                              2472 
                                                              +
                                                              2473  use modv_vars, only: im8b, bmiss
                                                              +
                                                              2474 
                                                              +
                                                              2475  use moda_usrint
                                                              +
                                                              2476  use moda_msgcwd
                                                              +
                                                              2477 
                                                              +
                                                              2478  implicit none
                                                              +
                                                              2479 
                                                              +
                                                              2480  character*(*), intent(in) :: str
                                                              +
                                                              2481  character*128 errstr
                                                              +
                                                              2482 
                                                              +
                                                              2483  integer, intent(in) :: lunit, i1, i2, i3
                                                              +
                                                              2484  integer, intent(out) :: iret, jret
                                                              +
                                                              2485  integer nnod, ncon, nods, nodc, ivls, kons, iprt, my_lunit, my_i1, my_i2, my_i3, i, j, k, lun, il, im, &
                                                              +
                                                              2486  ins1, ins2, inc1, inc2, nnvn, nevn
                                                              +
                                                              2487 
                                                              +
                                                              2488  real*8, intent(out) :: usr(i1,i2,i3)
                                                              +
                                                              2489 
                                                              +
                                                              2490  logical nodgt0
                                                              +
                                                              2491 
                                                              +
                                                              2492  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              2493  common /quiet/ iprt
                                                              +
                                                              2494 
                                                              +
                                                              2495  ! Check for I8 integers
                                                              +
                                                              2496 
                                                              +
                                                              2497  if(im8b) then
                                                              +
                                                              2498  im8b=.false.
                                                              +
                                                              2499  call x84(lunit,my_lunit,1)
                                                              +
                                                              2500  call x84(i1,my_i1,1)
                                                              +
                                                              2501  call x84(i2,my_i2,1)
                                                              +
                                                              2502  call x84(i3,my_i3,1)
                                                              +
                                                              2503  call ufbin3(my_lunit,usr,my_i1,my_i2,my_i3,iret,jret,str)
                                                              +
                                                              2504  call x48(iret,iret,1)
                                                              +
                                                              2505  call x48(jret,jret,1)
                                                              +
                                                              2506  im8b=.true.
                                                              +
                                                              2507  return
                                                              +
                                                              2508  endif
                                                              +
                                                              2509 
                                                              +
                                                              2510  iret = 0
                                                              +
                                                              2511  jret = 0
                                                              +
                                                              2512 
                                                              +
                                                              2513  ! Check the file status and inode
                                                              +
                                                              2514 
                                                              +
                                                              2515  call status(lunit,lun,il,im)
                                                              +
                                                              2516  if(il==0) call bort('BUFRLIB: UFBIN3 - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              2517  if(il>0) call bort('BUFRLIB: UFBIN3 - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              2518  if(im==0) call bort('BUFRLIB: UFBIN3 - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                                              +
                                                              2519  if(inode(lun)/=inv(1,lun)) call bort('BUFRLIB: UFBIN3 - LOCATION OF INTERNAL TABLE FOR '// &
                                                              +
                                                              2520  'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN INTERNAL SUBSET ARRAY')
                                                              +
                                                              2521 
                                                              +
                                                              2522  if(i1<=0) then
                                                              +
                                                              2523  if(iprt>=0) then
                                                              +
                                                              2524  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2525  errstr = .LE.'BUFRLIB: UFBIN3 - 3rd ARG. (INPUT) IS 0, ' // &
                                                              +
                                                              2526  'SO RETURN WITH 6th AND 7th ARGS. (IRET, JRET) = 0; 8th ARG. (STR) ='
                                                              +
                                                              2527  call errwrt(errstr)
                                                              +
                                                              2528  call errwrt(str)
                                                              +
                                                              2529  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2530  call errwrt(' ')
                                                              +
                                                              2531  endif
                                                              +
                                                              2532  return
                                                              +
                                                              2533  elseif(i2<=0) then
                                                              +
                                                              2534  if(iprt>=0) then
                                                              +
                                                              2535  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2536  errstr = .LE.'BUFRLIB: UFBIN3 - 4th ARG. (INPUT) IS 0, ' // &
                                                              +
                                                              2537  'SO RETURN WITH 6th AND 7th ARGS. (IRET, JRET) = 0; 8th ARG. (STR) ='
                                                              +
                                                              2538  call errwrt(errstr)
                                                              +
                                                              2539  call errwrt(str)
                                                              +
                                                              2540  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2541  call errwrt(' ')
                                                              +
                                                              2542  endif
                                                              +
                                                              2543  return
                                                              +
                                                              2544  elseif(i3<=0) then
                                                              +
                                                              2545  if(iprt>=0) then
                                                              +
                                                              2546  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2547  errstr = .LE.'BUFRLIB: UFBIN3 - 5th ARG. (INPUT) IS 0, ' // &
                                                              +
                                                              2548  'SO RETURN WITH 6th AND 7th ARGS. (IRET, JRET) = 0; 8th ARG. (STR) ='
                                                              +
                                                              2549  call errwrt(errstr)
                                                              +
                                                              2550  call errwrt(str)
                                                              +
                                                              2551  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2552  call errwrt(' ')
                                                              +
                                                              2553  endif
                                                              +
                                                              2554  return
                                                              +
                                                              2555  endif
                                                              +
                                                              2556 
                                                              +
                                                              2557  ! Parse or recall the input string
                                                              +
                                                              2558 
                                                              +
                                                              2559  call string(str,lun,i1,0)
                                                              +
                                                              2560 
                                                              +
                                                              2561  ! Initialize usr array
                                                              +
                                                              2562 
                                                              +
                                                              2563  do k=1,i3
                                                              +
                                                              2564  do j=1,i2
                                                              +
                                                              2565  do i=1,i1
                                                              +
                                                              2566  usr(i,j,k) = bmiss
                                                              +
                                                              2567  enddo
                                                              +
                                                              2568  enddo
                                                              +
                                                              2569  enddo
                                                              +
                                                              2570 
                                                              +
                                                              2571  ! Loop over condition windows
                                                              +
                                                              2572 
                                                              +
                                                              2573  inc1 = 1
                                                              +
                                                              2574  inc2 = 1
                                                              +
                                                              2575  outer: do while (.true.)
                                                              +
                                                              2576  call conwin(lun,inc1,inc2)
                                                              +
                                                              2577  if(nnod==0) then
                                                              +
                                                              2578  iret = i2
                                                              +
                                                              2579  return
                                                              +
                                                              2580  elseif(inc1==0) then
                                                              +
                                                              2581  return
                                                              +
                                                              2582  else
                                                              +
                                                              2583  nodgt0 = .false.
                                                              +
                                                              2584  do i=1,nnod
                                                              +
                                                              2585  if(nods(i)>0) then
                                                              +
                                                              2586  ins2 = inc1
                                                              +
                                                              2587  call getwin(nods(i),lun,ins1,ins2)
                                                              +
                                                              2588  if(ins1==0) return
                                                              +
                                                              2589  nodgt0 = .true.
                                                              +
                                                              2590  exit
                                                              +
                                                              2591  endif
                                                              +
                                                              2592  enddo
                                                              +
                                                              2593  if(.not.nodgt0) then
                                                              +
                                                              2594  ins1 = inc1
                                                              +
                                                              2595  ins2 = inc2
                                                              +
                                                              2596  endif
                                                              +
                                                              2597  ! Read push down stack data into 3D arrays
                                                              +
                                                              2598  inner: do while (.true.)
                                                              +
                                                              2599  iret = iret+1
                                                              +
                                                              2600  if(iret<=i2) then
                                                              +
                                                              2601  do j=1,nnod
                                                              +
                                                              2602  nnvn = nevn(nods(j),lun,ins1,ins2,i1,i2,i3,usr(j,iret,1))
                                                              +
                                                              2603  jret = max(jret,nnvn)
                                                              +
                                                              2604  enddo
                                                              +
                                                              2605  endif
                                                              +
                                                              2606  ! Decide what to do next
                                                              +
                                                              2607  call nxtwin(lun,ins1,ins2)
                                                              +
                                                              2608  if(ins1<=0 .or. ins1>=inc2) exit inner
                                                              +
                                                              2609  enddo inner
                                                              +
                                                              2610  if(ncon<=0) exit outer
                                                              +
                                                              2611  endif
                                                              +
                                                              2612  enddo outer
                                                              +
                                                              2613 
                                                              +
                                                              2614  if(iret==0 .or. jret==0) then
                                                              +
                                                              2615  if(iprt>=1) then
                                                              +
                                                              2616  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2617  errstr = 'BUFRLIB: UFBIN3 - NO SPECIFIED VALUES READ IN, ' // &
                                                              +
                                                              2618  'SO RETURN WITH 6th AND/OR 7th ARGS. (IRET, JRET) = 0; 8th ARG. (STR) ='
                                                              +
                                                              2619  call errwrt(errstr)
                                                              +
                                                              2620  call errwrt(str)
                                                              +
                                                              2621  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                                              +
                                                              2622  call errwrt(' ')
                                                              +
                                                              2623  endif
                                                              +
                                                              2624  endif
                                                              +
                                                              2625 
                                                              +
                                                              2626  return
                                                              +
                                                              2627 end subroutine ufbin3
                                                              +
                                                              2628 
                                                              +
                                                              2662 recursive subroutine ufbinx(lunit,imsg,isub,usr,i1,i2,iret,str)
                                                              +
                                                              2663 
                                                              +
                                                              2664  use modv_vars, only: im8b
                                                              +
                                                              2665 
                                                              +
                                                              2666  use moda_msgcwd
                                                              +
                                                              2667  use moda_bitbuf
                                                              +
                                                              2668 
                                                              +
                                                              2669  implicit none
                                                              +
                                                              2670 
                                                              +
                                                              2671  integer, intent(in) :: lunit, imsg, isub, i1, i2
                                                              +
                                                              2672  integer, intent(out) :: iret
                                                              +
                                                              2673  integer my_lunit, my_imsg, my_isub, my_i1, my_i2, lun, il, im, jdate, jret, i
                                                              +
                                                              2674 
                                                              +
                                                              2675  character*(*), intent(in) :: str
                                                              +
                                                              2676  character*128 bort_str
                                                              +
                                                              2677  character*8 subset
                                                              +
                                                              2678 
                                                              +
                                                              2679  real*8, intent(out) :: usr(i1,i2)
                                                              +
                                                              2680 
                                                              +
                                                              2681  logical openit
                                                              +
                                                              2682 
                                                              +
                                                              2683  ! Check for I8 integers
                                                              +
                                                              2684  if(im8b) then
                                                              +
                                                              2685  im8b=.false.
                                                              +
                                                              2686  call x84(lunit,my_lunit,1)
                                                              +
                                                              2687  call x84(imsg,my_imsg,1)
                                                              +
                                                              2688  call x84(isub,my_isub,1)
                                                              +
                                                              2689  call x84(i1,my_i1,1)
                                                              +
                                                              2690  call x84(i2,my_i2,1)
                                                              +
                                                              2691  call ufbinx(my_lunit,my_imsg,my_isub,usr,my_i1,my_i2,iret,str)
                                                              +
                                                              2692  call x48(iret,iret,1)
                                                              +
                                                              2693  im8b=.true.
                                                              +
                                                              2694  return
                                                              +
                                                              2695  endif
                                                              +
                                                              2696 
                                                              +
                                                              2697  call status(lunit,lun,il,im)
                                                              +
                                                              2698  openit = il==0
                                                              +
                                                              2699 
                                                              +
                                                              2700  if(openit) then
                                                              +
                                                              2701  ! Open BUFR file connected to unit lunit if it isn't already open
                                                              +
                                                              2702  call openbf(lunit,'INX',lunit)
                                                              +
                                                              2703  else
                                                              +
                                                              2704  ! If BUFR file already opened, save position and rewind to first data message
                                                              +
                                                              2705  call rewnbf(lunit,0)
                                                              +
                                                              2706  endif
                                                              +
                                                              2707 
                                                              +
                                                              2708  ! Skip to the requested message
                                                              +
                                                              2709  do i=1,imsg
                                                              +
                                                              2710  call readmg(lunit,subset,jdate,jret)
                                                              +
                                                              2711  if(jret<0) then
                                                              +
                                                              2712  write(bort_str,'("BUFRLIB: UFBINX - HIT END OF FILE BEFORE '// &
                                                              +
                                                              2713  'READING REQUESTED MESSAGE NO.",I5," IN BUFR FILE CONNECTED TO UNIT",I4)') imsg, lunit
                                                              +
                                                              2714  call bort(bort_str)
                                                              +
                                                              2715  endif
                                                              +
                                                              2716  enddo
                                                              +
                                                              2717 
                                                              +
                                                              2718  ! Position at the requested subset
                                                              +
                                                              2719  do i=1,isub
                                                              +
                                                              2720  call readsb(lunit,jret)
                                                              +
                                                              2721  if(jret/=0) then
                                                              +
                                                              2722  write(bort_str,'("BUFRLIB: UFBINX - ALL SUBSETS READ BEFORE '// &
                                                              +
                                                              2723  'READING REQ. SUBSET NO.",I3," IN REQ. MSG NO.",I5," IN BUFR FILE CONNECTED TO UNIT",I4)') isub, imsg, lunit
                                                              +
                                                              2724  call bort(bort_str)
                                                              +
                                                              2725  endif
                                                              +
                                                              2726  enddo
                                                              +
                                                              2727 
                                                              +
                                                              2728  ! Read the requested data values
                                                              +
                                                              2729  call ufbint(lunit,usr,i1,i2,iret,str)
                                                              +
                                                              2730 
                                                              +
                                                              2731  if(openit) then
                                                              +
                                                              2732  ! Close BUFR file if it was opened here
                                                              +
                                                              2733  call closbf(lunit)
                                                              +
                                                              2734  else
                                                              +
                                                              2735  ! Restore BUFR file to its previous status and position
                                                              +
                                                              2736  call rewnbf(lunit,1)
                                                              +
                                                              2737  endif
                                                              +
                                                              2738 
                                                              +
                                                              2739  return
                                                              +
                                                              2740 end subroutine ufbinx
                                                              +
                                                              2741 
                                                              +
                                                              2756 recursive subroutine ufbget(lunit,tab,i1,iret,str)
                                                              +
                                                              2757 
                                                              +
                                                              2758  use modv_vars, only: im8b, bmiss
                                                              +
                                                              2759 
                                                              +
                                                              2760  use moda_usrint
                                                              +
                                                              2761  use moda_usrbit
                                                              +
                                                              2762  use moda_msgcwd
                                                              +
                                                              2763  use moda_bitbuf
                                                              +
                                                              2764  use moda_tables
                                                              +
                                                              2765 
                                                              +
                                                              2766  implicit none
                                                              +
                                                              2767 
                                                              +
                                                              2768  integer*8 ival
                                                              +
                                                              2769  integer, intent(in) :: lunit, i1
                                                              +
                                                              2770  integer, intent(out) :: iret
                                                              +
                                                              2771  integer nnod, ncon, nods, nodc, ivls, kons, my_lunit, my_i1, lun, il, im, i, n, node, nbmp, kbit, invn, invwin
                                                              +
                                                              2772 
                                                              +
                                                              2773  character*(*), intent(in) :: str
                                                              +
                                                              2774  character*8 cval
                                                              +
                                                              2775 
                                                              +
                                                              2776  real*8, intent(out) :: tab(i1)
                                                              +
                                                              2777  real*8 rval, ups
                                                              +
                                                              2778 
                                                              +
                                                              2779  common /usrstr/ nnod, ncon, nods(20), nodc(10), ivls(10), kons(10)
                                                              +
                                                              2780 
                                                              +
                                                              2781  equivalence(cval,rval)
                                                              +
                                                              2782 
                                                              +
                                                              2783  ! Check for I8 integers
                                                              +
                                                              2784 
                                                              +
                                                              2785  if(im8b) then
                                                              +
                                                              2786  im8b=.false.
                                                              +
                                                              2787  call x84(lunit,my_lunit,1)
                                                              +
                                                              2788  call x84(i1,my_i1,1)
                                                              +
                                                              2789  call ufbget(my_lunit,tab,my_i1,iret,str)
                                                              +
                                                              2790  call x48(iret,iret,1)
                                                              +
                                                              2791  im8b=.true.
                                                              +
                                                              2792  return
                                                              +
                                                              2793  endif
                                                              +
                                                              2794 
                                                              +
                                                              2795  iret = 0
                                                              +
                                                              2796 
                                                              +
                                                              2797  do i=1,i1
                                                              +
                                                              2798  tab(i) = bmiss
                                                              +
                                                              2799  enddo
                                                              +
                                                              2800 
                                                              +
                                                              2801  ! Make sure a file/message is open for input
                                                              +
                                                              2802 
                                                              +
                                                              2803  call status(lunit,lun,il,im)
                                                              +
                                                              2804  if(il==0) call bort('BUFRLIB: UFBGET - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              2805  if(il>0) call bort('BUFRLIB: UFBGET - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                                              +
                                                              2806  if(im==0) call bort('BUFRLIB: UFBGET - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                                              +
                                                              2807 
                                                              +
                                                              2808  ! See if there's another subset in the message
                                                              +
                                                              2809 
                                                              +
                                                              2810  if(nsub(lun)==msub(lun)) then
                                                              +
                                                              2811  iret = -1
                                                              +
                                                              2812  return
                                                              +
                                                              2813  endif
                                                              +
                                                              2814 
                                                              +
                                                              2815  ! Parse the string
                                                              +
                                                              2816 
                                                              +
                                                              2817  call string(str,lun,i1,0)
                                                              +
                                                              2818 
                                                              +
                                                              2819  ! Expand the template for this subset as little as possible
                                                              +
                                                              2820 
                                                              +
                                                              2821  n = 1
                                                              +
                                                              2822  nbit(n) = 0
                                                              +
                                                              2823  mbit(n) = mbyt(lun)*8 + 16
                                                              +
                                                              2824  call usrtpl(lun,n,n)
                                                              +
                                                              2825  do n=n+1,nval(lun)
                                                              +
                                                              2826  node = inv(n,lun)
                                                              +
                                                              2827  nbit(n) = ibt(node)
                                                              +
                                                              2828  mbit(n) = mbit(n-1)+nbit(n-1)
                                                              +
                                                              2829  if(node==nods(nnod)) then
                                                              +
                                                              2830  nval(lun) = n
                                                              +
                                                              2831  exit
                                                              +
                                                              2832  elseif(itp(node)==1) then
                                                              +
                                                              2833  call upb8(ival,nbit(n),mbit(n),mbay(1,lun))
                                                              +
                                                              2834  nbmp=int(ival)
                                                              +
                                                              2835  call usrtpl(lun,n,nbmp)
                                                              +
                                                              2836  endif
                                                              +
                                                              2837  enddo
                                                              +
                                                              2838 
                                                              +
                                                              2839  ! Unpack only the nodes found in the string
                                                              +
                                                              2840 
                                                              +
                                                              2841  do i=1,nnod
                                                              +
                                                              2842  node = nods(i)
                                                              +
                                                              2843  invn = invwin(node,lun,1,nval(lun))
                                                              +
                                                              2844  if(invn>0) then
                                                              +
                                                              2845  call upb8(ival,nbit(invn),mbit(invn),mbay(1,lun))
                                                              +
                                                              2846  if(itp(node)==1) then
                                                              +
                                                              2847  tab(i) = ival
                                                              +
                                                              2848  elseif(itp(node)==2) then
                                                              +
                                                              2849  if(ival<2_8**(ibt(node))-1) tab(i) = ups(ival,node)
                                                              +
                                                              2850  elseif(itp(node)==3) then
                                                              +
                                                              2851  cval = ' '
                                                              +
                                                              2852  kbit = mbit(invn)
                                                              +
                                                              2853  call upc(cval,nbit(invn)/8,mbay(1,lun),kbit,.true.)
                                                              +
                                                              2854  tab(i) = rval
                                                              +
                                                              2855  endif
                                                              +
                                                              2856  else
                                                              +
                                                              2857  tab(i) = bmiss
                                                              +
                                                              2858  endif
                                                              +
                                                              2859  enddo
                                                              +
                                                              2860 
                                                              +
                                                              2861  return
                                                              +
                                                              2862 end subroutine ufbget
                                                              +
                                                              2863 
                                                              +
                                                              2888 integer function nevn(node,lun,inv1,inv2,i1,i2,i3,usr) result(iret)
                                                              +
                                                              2889 
                                                              +
                                                              2890  use moda_usrint
                                                              +
                                                              2891 
                                                              +
                                                              2892  implicit none
                                                              +
                                                              2893 
                                                              +
                                                              2894  integer, intent(in) :: node, lun, inv1, inv2, i1, i2, i3
                                                              +
                                                              2895  integer ndrs, invn, n1, n2, l, n, invwin, lstjpb
                                                              +
                                                              2896 
                                                              +
                                                              2897  character*128 bort_str
                                                              +
                                                              2898 
                                                              +
                                                              2899  real*8, intent(out) :: usr(i1,i2,i3)
                                                              +
                                                              2900 
                                                              +
                                                              2901  iret = 0
                                                              +
                                                              2902 
                                                              +
                                                              2903  ! Find the enclosing event stack descriptor
                                                              +
                                                              2904 
                                                              +
                                                              2905  ndrs = lstjpb(node,lun,'DRS')
                                                              +
                                                              2906  if(ndrs<=0) return
                                                              +
                                                              2907 
                                                              +
                                                              2908  invn = invwin(ndrs,lun,inv1,inv2)
                                                              +
                                                              2909  if(invn==0) call bort('BUFRLIB: iret - CAN''T FIND THE EVENT STACK!!!!!!')
                                                              +
                                                              2910 
                                                              +
                                                              2911  iret = nint(val(invn,lun))
                                                              +
                                                              2912  if(iret>i3) then
                                                              +
                                                              2913  write(bort_str,'("BUFRLIB: NEVN - THE NO. OF EVENTS FOR THE '// &
                                                              +
                                                              2914  'REQUESTED STACK (",I3,") EXCEEDS THE VALUE OF THE 3RD DIM. OF THE USR ARRAY (",I3,")")') iret, i3
                                                              +
                                                              2915  call bort(bort_str)
                                                              +
                                                              2916  endif
                                                              +
                                                              2917 
                                                              +
                                                              2918  ! Search each stack level for the requested node and copy the value
                                                              +
                                                              2919 
                                                              +
                                                              2920  n2 = invn + 1
                                                              +
                                                              2921 
                                                              +
                                                              2922  do l=1,iret
                                                              +
                                                              2923  n1 = n2
                                                              +
                                                              2924  n2 = n2 + nint(val(n1,lun))
                                                              +
                                                              2925  do n=n1,n2
                                                              +
                                                              2926  if(inv(n,lun)==node) usr(1,1,l) = val(n,lun)
                                                              +
                                                              2927  enddo
                                                              +
                                                              2928  enddo
                                                              +
                                                              2929 
                                                              +
                                                              2930  return
                                                              +
                                                              2931 end function nevn
                                                              +
                                                              subroutine bort(str)
                                                              Log an error message, then abort the application program.
                                                              Definition: borts.F90:15
                                                              +
                                                              subroutine bort2(str1, str2)
                                                              Log two error messages, then abort the application program.
                                                              Definition: borts.F90:39
                                                              +
                                                              subroutine upb(nval, nbits, ibay, ibit)
                                                              Decode an integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:202
                                                              +
                                                              subroutine upbb(nval, nbits, ibit, ibay)
                                                              Decode an integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:154
                                                              +
                                                              subroutine upb8(nval, nbits, ibit, ibay)
                                                              Decode an 8-byte integer value from within a specified number of bits of an integer array,...
                                                              Definition: cidecode.F90:80
                                                              +
                                                              real *8 function ups(ival, node)
                                                              Unpack a real*8 value from an integer by applying the proper scale and reference values.
                                                              Definition: cidecode.F90:319
                                                              +
                                                              subroutine upc(chr, nchr, ibay, ibit, cnvnull)
                                                              Decode a character string from within a specified number of bytes of an integer array,...
                                                              Definition: cidecode.F90:26
                                                              +
                                                              subroutine pkc(chr, nchr, ibay, ibit)
                                                              Encode a character string within a specified number of bytes of an integer array, starting at the bit...
                                                              Definition: ciencode.F90:25
                                                              +
                                                              recursive subroutine ipkm(cbay, nbyt, n)
                                                              Encode an integer value within a specified number of bytes of a character string, up to a maximum of ...
                                                              Definition: ciencode.F90:194
                                                              +
                                                              subroutine errwrt(str)
                                                              Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                                              Definition: errwrt.F90:32
                                                              + + + + + + + + + + +
                                                              subroutine strsuc(str1, str2, lens)
                                                              Remove leading and trailing blanks from a character string.
                                                              Definition: misc.F90:220
                                                              +
                                                              Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                                              +
                                                              integer ibit
                                                              Bit pointer within ibay.
                                                              +
                                                              integer, dimension(:,:), allocatable mbay
                                                              Current BUFR message for each file ID.
                                                              +
                                                              integer, dimension(:), allocatable mbyt
                                                              Length (in bytes) of current BUFR message for each file ID.
                                                              +
                                                              Declare arrays and variables needed for the storage of data values needed when writing compressed dat...
                                                              +
                                                              integer ncol
                                                              Number of data subsets in message.
                                                              +
                                                              character *(:), dimension(:,:), allocatable catx
                                                              Character data values for all data subsets in message.
                                                              +
                                                              integer *8, dimension(:,:), allocatable matx
                                                              Non-character data values for all data subsets in message.
                                                              +
                                                              Declare arrays and variables needed to store long character strings (greater than 8 bytes) via subrou...
                                                              +
                                                              integer nh4wlc
                                                              Number of long character strings being stored.
                                                              +
                                                              character *14, dimension(:), allocatable sth4wlc
                                                              Table B mnemonics associated with long character strings.
                                                              +
                                                              integer, dimension(:), allocatable luh4wlc
                                                              File ID for associated output file.
                                                              +
                                                              character *120, dimension(:), allocatable chh4wlc
                                                              Long character strings.
                                                              +
                                                              Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                                              +
                                                              integer, dimension(:), allocatable inode
                                                              Table A mnemonic for type of BUFR message.
                                                              +
                                                              integer, dimension(:), allocatable msub
                                                              Total number of data subsets in message.
                                                              +
                                                              integer, dimension(:), allocatable nsub
                                                              Current subset pointer within message.
                                                              +
                                                              Declare arrays and variables needed to store information about long character strings (greater than 8...
                                                              +
                                                              integer nrst
                                                              Number of long character strings in data subset.
                                                              +
                                                              integer, dimension(:), allocatable irnch
                                                              Lengths (in bytes) of long character strings.
                                                              +
                                                              integer, dimension(:), allocatable irbit
                                                              Pointers in data subset to first bits of long character strings.
                                                              +
                                                              character *10, dimension(:), allocatable crtag
                                                              Table B mnemonics associated with long character strings.
                                                              +
                                                              Declare arrays and variables used to store the internal jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable isc
                                                              Scale factors corresponding to tag and typ:
                                                              +
                                                              integer, dimension(:), allocatable ibt
                                                              Bit widths corresponding to tag and typ:
                                                              +
                                                              character *3, dimension(:), allocatable typ
                                                              Type indicators corresponding to tag:
                                                              +
                                                              integer, dimension(:), allocatable jmpb
                                                              Jump backward indices corresponding to tag and typ:
                                                              +
                                                              character *10, dimension(:), allocatable tag
                                                              Mnemonics in the jump/link table.
                                                              +
                                                              integer, dimension(:), allocatable itp
                                                              Integer type values corresponding to typ:
                                                              +
                                                              integer, dimension(:), allocatable link
                                                              Link indices corresponding to tag, typ and jmpb:
                                                              +
                                                              Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
                                                              +
                                                              integer, dimension(:), allocatable msgunp
                                                              Flag indicating how to unpack data subsets from BUFR message:
                                                              +
                                                              Declare arrays for internal storage of pointers to BUFR data subset values.
                                                              +
                                                              integer, dimension(:), allocatable nbit
                                                              Length (in bits) of each packed data value in data subset.
                                                              +
                                                              integer, dimension(:), allocatable mbit
                                                              Pointer in data subset to first bit of each packed data value.
                                                              +
                                                              Declare arrays used to store data values and associated metadata for the current BUFR data subset in ...
                                                              +
                                                              integer, dimension(:), allocatable nval
                                                              Number of data values in BUFR data subset.
                                                              +
                                                              real *8, dimension(:,:), allocatable, target val
                                                              Data values.
                                                              +
                                                              integer, dimension(:,:), allocatable, target inv
                                                              Inventory pointer which links each data value to its corresponding node in the internal jump/link tab...
                                                              +
                                                              recursive subroutine closbf(lunit)
                                                              Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
                                                              +
                                                              subroutine rewnbf(lunit, isr)
                                                              Store or restore parameters associated with a BUFR file.
                                                              +
                                                              recursive subroutine openbf(lunit, io, lundx)
                                                              Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                                              +
                                                              recursive subroutine status(lunit, lun, il, im)
                                                              Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                                              +
                                                              recursive subroutine readmg(lunxx, subset, jdate, iret)
                                                              Read the next BUFR message from logical unit abs(lunxx) into internal arrays.
                                                              Definition: readwritemg.F90:44
                                                              +
                                                              recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
                                                              Read the section lengths of a BUFR message, up to a specified point in the message.
                                                              +
                                                              subroutine usrtpl(lun, invn, nbmp)
                                                              Expand a subset template within internal arrays.
                                                              +
                                                              recursive subroutine readsb(lunit, iret)
                                                              Read the next data subset from a BUFR message.
                                                              Definition: readwritesb.F90:32
                                                              +
                                                              recursive real *8 function getvalnb(lunit, tagpv, ntagpv, tagnb, ntagnb)
                                                              Read a data value corresponding to a specific occurrence of a mnemonic within a data subset,...
                                                              +
                                                              recursive subroutine ufbin3(lunit, usr, i1, i2, i3, iret, jret, str)
                                                              Read one or more data values from an NCEP prepfits file.
                                                              +
                                                              recursive subroutine ufbinx(lunit, imsg, isub, usr, i1, i2, iret, str)
                                                              Read one or more data values from a specified data subset.
                                                              +
                                                              integer function nevn(node, lun, inv1, inv2, i1, i2, i3, usr)
                                                              Read one or more data values from a stacked data event within a specified portion of the current data...
                                                              +
                                                              subroutine ufbrp(lun, usr, i1, i2, io, iret)
                                                              Write or read specified data values to or from the current BUFR data subset within internal arrays,...
                                                              +
                                                              recursive subroutine ufbseq(lunin, usr, i1, i2, iret, str)
                                                              Read or write an entire sequence of data values from or to a data subset.
                                                              +
                                                              subroutine ufbrw(lun, usr, i1, i2, io, iret)
                                                              Write or read specified values to or from the current BUFR data subset within internal arrays,...
                                                              +
                                                              recursive subroutine hold4wlc(lunit, chr, str)
                                                              Write a long character string (greater than 8 bytes) to a data subset.
                                                              +
                                                              recursive subroutine ufbovr(lunit, usr, i1, i2, iret, str)
                                                              Overwrite one or more data values within a data subset.
                                                              +
                                                              recursive subroutine ufbint(lunin, usr, i1, i2, iret, str)
                                                              Read or write one or more data values from or to a data subset.
                                                              +
                                                              subroutine ufbsp(lun, usr, i1, i2, io, iret)
                                                              Write or read specified values to or from the current BUFR data subset within internal arrays,...
                                                              +
                                                              subroutine trybump(lun, usr, i1, i2, io, iret)
                                                              Try to expand a delayed replication sequence.
                                                              +
                                                              recursive subroutine drfini(lunit, mdrf, ndrf, drftag)
                                                              Explicitly initialize delayed replication factors and allocate a corresponding amount of space within...
                                                              +
                                                              recursive subroutine ufbstp(lunin, usr, i1, i2, iret, str)
                                                              Read or write one or more data values from or to a data subset.
                                                              +
                                                              recursive subroutine readlc(lunit, chr, str)
                                                              Read a long character string (greater than 8 bytes) from a data subset.
                                                              +
                                                              recursive subroutine setvalnb(lunit, tagpv, ntagpv, tagnb, ntagnb, r8val, iret)
                                                              Write a data value corresponding to a specific occurrence of a mnemonic within a data subset,...
                                                              +
                                                              recursive subroutine ufbevn(lunit, usr, i1, i2, i3, iret, str)
                                                              Read one or more data values from an NCEP prepbufr file.
                                                              +
                                                              recursive subroutine writlc(lunit, chr, str)
                                                              Write a long character string (greater than 8 bytes) to a data subset.
                                                              +
                                                              recursive subroutine ufbget(lunit, tab, i1, iret, str)
                                                              Read one or more data values from a data subset without advancing the subset pointer.
                                                              +
                                                              recursive subroutine ufbrep(lunin, usr, i1, i2, iret, str)
                                                              Read or write one or more data values from or to a data subset.
                                                              +
                                                              recursive integer function iupbs3(mbay, s3mnem)
                                                              Read a specified value from within Section 3 of a BUFR message.
                                                              Definition: s013vals.F90:349
                                                              +
                                                              subroutine parstr(str, tags, mtag, ntag, sep, limit80)
                                                              Parse a string containing one or more substrings into an array of substrings.
                                                              Definition: strings.F90:473
                                                              +
                                                              subroutine parutg(lun, io, utg, nod, kon, val)
                                                              Parse a mnemonic from a character string.
                                                              Definition: strings.F90:349
                                                              +
                                                              subroutine string(str, lun, i1, io)
                                                              Check whether a string is in the internal mnemonic string cache.
                                                              Definition: strings.F90:25
                                                              +
                                                              subroutine x48(iin4, iout8, nval)
                                                              Encode one or more 4-byte integer values as 8-byte integer values.
                                                              Definition: x4884.F90:18
                                                              +
                                                              subroutine x84(iin8, iout4, nval)
                                                              Encode one or more 8-byte integer values as 4-byte integer values.
                                                              Definition: x4884.F90:65
                                                              +
                                                              +
                                                              + + + + diff --git a/restd_8c.html b/restd_8c.html index 9566c729e..7a1625c5a 100644 --- a/restd_8c.html +++ b/restd_8c.html @@ -26,7 +26,7 @@
                                                              NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                                              @@ -100,6 +100,9 @@ void restd (int lun, int tddesc, int *nctddesc, int *ctddesc)  Standardize a local Table D descriptor. More...
                                                                +void wrdesc (int desc, int *descary, int *ndescary, int mxdescary) + Maintain an array of descriptors. More...

                                                              Detailed Description

                                    Author
                                    J. Ator
                                    Date
                                    2004-08-18
                                    -

                                    Definition at line 39 of file restd.c.

                                    +

                                    Definition at line 73 of file restd.c.

                                    -

                                    References cadn30_f(), FXY_STR_LEN, moda_bitbuf::ibit, ifxy_f(), istdesc_f(), MAXNC, MIN_FXY_REPL, NEMO_STR_LEN, nemtbb_f(), numtbd_f(), UNIT_STR_LEN, uptdd_f(), and wrdesc().

                                    +

                                    References bort_f(), cadn30_f(), FXY_STR_LEN, moda_bitbuf::ibit, ifxy_f(), igetprm_f(), istdesc_f(), MIN_FXY_REPL, NEMO_STR_LEN, nemtbb_f(), numtbd_f(), restd(), UNIT_STR_LEN, uptdd_f(), and wrdesc().

                                    + +

                                    Referenced by restd().

                                    + + + + +

                                    ◆ wrdesc()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    void wrdesc (int desc,
                                    int * descary,
                                    int * ndescary,
                                    int mxdescary 
                                    )
                                    +
                                    + +

                                    Maintain an array of descriptors.

                                    +

                                    Given the WMO bit-wise representation of a descriptor, this routine adds it to an ongoing array of descriptors, after first making sure that there is enough room in the array.

                                    +

                                    If an array overflow occurs, then an appropriate error message will be written via bort().

                                    +
                                    Parameters
                                    + + + + + +
                                    desc- WMO bit-wise representation of descriptor to be written into descary
                                    descary- Array of descriptors
                                    ndescary- Number of descriptors written so far into descary
                                    mxdescary- Maximum number of descriptors that can be written into descary
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2004-08-18
                                    + +

                                    Definition at line 27 of file restd.c.

                                    + +

                                    References bort_f().

                                    + +

                                    Referenced by restd().

                                    diff --git a/restd_8c.js b/restd_8c.js index d83a9239b..d3b81a69d 100644 --- a/restd_8c.js +++ b/restd_8c.js @@ -1,4 +1,5 @@ var restd_8c = [ - [ "restd", "restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3", null ] + [ "restd", "restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3", null ], + [ "wrdesc", "restd_8c.html#ab9426972c9b597e6b7382b00416dd572", null ] ]; \ No newline at end of file diff --git a/restd_8c_source.html b/restd_8c_source.html index e2b4dfcb4..b45f641bb 100644 --- a/restd_8c_source.html +++ b/restd_8c_source.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -89,112 +89,137 @@ Go to the documentation of this file.
                                    1 
                                    7 #include "bufrlib.h"
                                    8 
                                    -
                                    38 void
                                    -
                                    39 restd(int lun, int tddesc, int *nctddesc, int *ctddesc)
                                    -
                                    40 {
                                    -
                                    41  int desc, ncdesc, cdesc[MAXNC];
                                    -
                                    42  int i, j, inum, itbd, ictbd;
                                    -
                                    43  int iscl, iref, ibit;
                                    -
                                    44 
                                    -
                                    45  char tab, nemo[NEMO_STR_LEN+1], adn[FXY_STR_LEN+1], cunit[UNIT_STR_LEN+1], cwork[31];
                                    -
                                    46 
                                    -
                                    47 /*
                                    -
                                    48 ** How many child descriptors does tddesc have?
                                    -
                                    49 */
                                    -
                                    50  numtbd_f(lun, tddesc, nemo, NEMO_STR_LEN+1, &tab, &itbd);
                                    -
                                    51  uptdd_f(itbd, lun, 0, &inum);
                                    -
                                    52 
                                    -
                                    53  *nctddesc = 0;
                                    -
                                    54 /*
                                    -
                                    55 ** Examine each child descriptor one at a time.
                                    -
                                    56 */
                                    -
                                    57  for ( i = 1; i <= inum; i++ ) {
                                    -
                                    58  uptdd_f(itbd, lun, i, &desc);
                                    -
                                    59  if (! istdesc_f(desc)) {
                                    -
                                    60 /*
                                    -
                                    61 ** desc is a local descriptor.
                                    -
                                    62 */
                                    -
                                    63  numtbd_f(lun, desc, nemo, NEMO_STR_LEN+1, &tab, &ictbd);
                                    -
                                    64  if ( tab == 'D' ) {
                                    -
                                    65 /*
                                    -
                                    66 ** desc is itself a local Table D descriptor, so resolve
                                    -
                                    67 ** it now via a recursive call to this same routine.
                                    -
                                    68 */
                                    -
                                    69  restd(lun, desc, &ncdesc, cdesc);
                                    -
                                    70 
                                    -
                                    71  if ( ( *nctddesc > 0 ) &&
                                    -
                                    72  ( ctddesc[(*nctddesc)-1] > ifxy_f(MIN_FXY_REPL) ) &&
                                    -
                                    73  ( ctddesc[(*nctddesc)-1] <= ifxy_f("101255") ) ) {
                                    -
                                    74 /*
                                    -
                                    75 ** desc is replicated using fixed replication, so write
                                    -
                                    76 ** the number of child descriptors into the X value of
                                    -
                                    77 ** the replication descriptor ctddesc[(*nctddesc)-1]
                                    -
                                    78 */
                                    -
                                    79  cadn30_f(ctddesc[(*nctddesc)-1], adn, FXY_STR_LEN+1);
                                    -
                                    80  sprintf(cwork, "%c%02d%c%c%c",
                                    -
                                    81  adn[0], ncdesc, adn[3], adn[4], adn[5]);
                                    -
                                    82  strncpy(adn, cwork, 6); adn[6] = '\0';
                                    -
                                    83  ctddesc[(*nctddesc)-1] = ifxy_f(adn);
                                    -
                                    84  }
                                    -
                                    85  else if ( ( *nctddesc > 1 ) &&
                                    -
                                    86  ( ctddesc[(*nctddesc)-2] == ifxy_f(MIN_FXY_REPL) ) ) {
                                    -
                                    87 /*
                                    -
                                    88 ** desc is replicated using delayed replication, so write
                                    -
                                    89 ** the number of child descriptors into the X value of
                                    -
                                    90 ** the replication descriptor ctddesc[(*nctddesc)-2]
                                    +
                                    26 void
                                    +
                                    27 wrdesc(int desc, int *descary, int *ndescary, int mxdescary)
                                    +
                                    28 {
                                    +
                                    29  char errstr[129];
                                    +
                                    30 
                                    +
                                    31 /*
                                    +
                                    32 ** Is there room in descary for desc?
                                    +
                                    33 */
                                    +
                                    34  if ( ( *ndescary + 1 ) < mxdescary ) {
                                    +
                                    35  descary[(*ndescary)++] = desc;
                                    +
                                    36  }
                                    +
                                    37  else {
                                    +
                                    38  sprintf(errstr, "BUFRLIB: WRDESC - EXPANDED SECTION 3 CONTAINS"
                                    +
                                    39  " MORE THAN %d DESCRIPTORS", mxdescary);
                                    +
                                    40  bort_f(errstr);
                                    +
                                    41  }
                                    +
                                    42 
                                    +
                                    43  return;
                                    +
                                    44 }
                                    +
                                    45 
                                    +
                                    72 void
                                    +
                                    73 restd(int lun, int tddesc, int *nctddesc, int *ctddesc)
                                    +
                                    74 {
                                    +
                                    75  int maxnc, desc, ncdesc, *cdesc;
                                    +
                                    76  int i, j, inum, itbd, ictbd;
                                    +
                                    77  int iscl, iref, ibit;
                                    +
                                    78 
                                    +
                                    79  char tab, nemo[NEMO_STR_LEN+1], adn[FXY_STR_LEN+1], cunit[UNIT_STR_LEN+1], cwork[31];
                                    +
                                    80 /*
                                    +
                                    81 ** How many child descriptors does tddesc have?
                                    +
                                    82 */
                                    +
                                    83  numtbd_f(lun, tddesc, nemo, NEMO_STR_LEN+1, &tab, &itbd);
                                    +
                                    84  uptdd_f(itbd, lun, 0, &inum);
                                    +
                                    85 
                                    +
                                    86  maxnc = igetprm_f("MAXNC");
                                    +
                                    87 
                                    +
                                    88  *nctddesc = 0;
                                    +
                                    89 /*
                                    +
                                    90 ** Examine each child descriptor one at a time.
                                    91 */
                                    -
                                    92  cadn30_f(ctddesc[(*nctddesc)-2], adn, FXY_STR_LEN+1);
                                    -
                                    93  sprintf(cwork, "%c%02d%c%c%c",
                                    -
                                    94  adn[0], ncdesc, adn[3], adn[4], adn[5]);
                                    -
                                    95  strncpy(adn, cwork, 6); adn[6] = '\0';
                                    -
                                    96  ctddesc[(*nctddesc)-2] = ifxy_f(adn);
                                    -
                                    97  }
                                    -
                                    98 /*
                                    -
                                    99 ** Add the child descriptors to the output list.
                                    -
                                    100 */
                                    -
                                    101  for ( j = 0; j < ncdesc; j++ ) {
                                    -
                                    102  wrdesc(cdesc[j], ctddesc, nctddesc);
                                    -
                                    103  }
                                    -
                                    104 
                                    -
                                    105  }
                                    -
                                    106  else if ( tab == 'B' ) {
                                    -
                                    107 /*
                                    -
                                    108 ** desc is a local Table B descriptor, so precede it with
                                    -
                                    109 ** a 206YYY operator in the output list.
                                    -
                                    110 */
                                    -
                                    111  nemtbb_f(lun, ictbd, cunit, UNIT_STR_LEN+1, &iscl, &iref, &ibit);
                                    -
                                    112  sprintf(cwork, "%c%c%c%03d", '2', '0', '6', ibit);
                                    -
                                    113  strncpy(adn, cwork, 6); adn[6] = '\0';
                                    -
                                    114  wrdesc(ifxy_f(adn), ctddesc, nctddesc);
                                    -
                                    115  wrdesc(desc, ctddesc, nctddesc);
                                    -
                                    116  }
                                    -
                                    117  }
                                    -
                                    118  else {
                                    -
                                    119 /*
                                    -
                                    120 ** desc is a standard Table B, Table D, operator or replicator
                                    -
                                    121 ** descriptor, so append it "as is" to the output list.
                                    -
                                    122 */
                                    -
                                    123  wrdesc(desc, ctddesc, nctddesc);
                                    -
                                    124  }
                                    -
                                    125  }
                                    -
                                    126 
                                    -
                                    127  return;
                                    -
                                    128 }
                                    +
                                    92  for ( i = 1; i <= inum; i++ ) {
                                    +
                                    93  uptdd_f(itbd, lun, i, &desc);
                                    +
                                    94  if (! istdesc_f(desc)) {
                                    +
                                    95 /*
                                    +
                                    96 ** desc is a local descriptor.
                                    +
                                    97 */
                                    +
                                    98  numtbd_f(lun, desc, nemo, NEMO_STR_LEN+1, &tab, &ictbd);
                                    +
                                    99  if ( tab == 'D' ) {
                                    +
                                    100 /*
                                    +
                                    101 ** desc is itself a local Table D descriptor, so resolve
                                    +
                                    102 ** it now via a recursive call to this same routine.
                                    +
                                    103 */
                                    +
                                    104  if (!(cdesc = malloc(maxnc * sizeof(int)))) bort_f("RESTD FAILED ALLOCATING");
                                    +
                                    105 
                                    +
                                    106  restd(lun, desc, &ncdesc, cdesc);
                                    +
                                    107 
                                    +
                                    108  if ( ( *nctddesc > 0 ) &&
                                    +
                                    109  ( ctddesc[(*nctddesc)-1] > ifxy_f(MIN_FXY_REPL) ) &&
                                    +
                                    110  ( ctddesc[(*nctddesc)-1] <= ifxy_f("101255") ) ) {
                                    +
                                    111 /*
                                    +
                                    112 ** desc is replicated using fixed replication, so write
                                    +
                                    113 ** the number of child descriptors into the X value of
                                    +
                                    114 ** the replication descriptor ctddesc[(*nctddesc)-1]
                                    +
                                    115 */
                                    +
                                    116  cadn30_f(ctddesc[(*nctddesc)-1], adn, FXY_STR_LEN+1);
                                    +
                                    117  sprintf(cwork, "%c%02d%c%c%c",
                                    +
                                    118  adn[0], ncdesc, adn[3], adn[4], adn[5]);
                                    +
                                    119  strncpy(adn, cwork, 6); adn[6] = '\0';
                                    +
                                    120  ctddesc[(*nctddesc)-1] = ifxy_f(adn);
                                    +
                                    121  }
                                    +
                                    122  else if ( ( *nctddesc > 1 ) &&
                                    +
                                    123  ( ctddesc[(*nctddesc)-2] == ifxy_f(MIN_FXY_REPL) ) ) {
                                    +
                                    124 /*
                                    +
                                    125 ** desc is replicated using delayed replication, so write
                                    +
                                    126 ** the number of child descriptors into the X value of
                                    +
                                    127 ** the replication descriptor ctddesc[(*nctddesc)-2]
                                    +
                                    128 */
                                    +
                                    129  cadn30_f(ctddesc[(*nctddesc)-2], adn, FXY_STR_LEN+1);
                                    +
                                    130  sprintf(cwork, "%c%02d%c%c%c",
                                    +
                                    131  adn[0], ncdesc, adn[3], adn[4], adn[5]);
                                    +
                                    132  strncpy(adn, cwork, 6); adn[6] = '\0';
                                    +
                                    133  ctddesc[(*nctddesc)-2] = ifxy_f(adn);
                                    +
                                    134  }
                                    +
                                    135 /*
                                    +
                                    136 ** Add the child descriptors to the output list.
                                    +
                                    137 */
                                    +
                                    138  for ( j = 0; j < ncdesc; j++ ) {
                                    +
                                    139  wrdesc(cdesc[j], ctddesc, nctddesc, maxnc);
                                    +
                                    140  }
                                    +
                                    141 
                                    +
                                    142  free(cdesc);
                                    +
                                    143  }
                                    +
                                    144  else {
                                    +
                                    145 /*
                                    +
                                    146 ** desc is a local Table B descriptor, so precede it with
                                    +
                                    147 ** a 206YYY operator in the output list.
                                    +
                                    148 */
                                    +
                                    149  nemtbb_f(lun, ictbd, cunit, UNIT_STR_LEN+1, &iscl, &iref, &ibit);
                                    +
                                    150  sprintf(cwork, "%c%c%c%03d", '2', '0', '6', ibit);
                                    +
                                    151  strncpy(adn, cwork, 6); adn[6] = '\0';
                                    +
                                    152  wrdesc(ifxy_f(adn), ctddesc, nctddesc, maxnc);
                                    +
                                    153  wrdesc(desc, ctddesc, nctddesc, maxnc);
                                    +
                                    154  }
                                    +
                                    155  }
                                    +
                                    156  else {
                                    +
                                    157 /*
                                    +
                                    158 ** desc is a standard Table B, Table D, operator or replicator
                                    +
                                    159 ** descriptor, so append it "as is" to the output list.
                                    +
                                    160 */
                                    +
                                    161  wrdesc(desc, ctddesc, nctddesc, maxnc);
                                    +
                                    162  }
                                    +
                                    163  }
                                    +
                                    164 
                                    +
                                    165  return;
                                    +
                                    166 }
                                    +
                                    int igetprm_f(char *cprmnm)
                                    Get the current value of a parameter.
                                    void nemtbb_f(int lun, int table_idx, char *unit_str, int unit_str_len, int *scale, int *reference, int *bits)
                                    Get information about a Table B descriptor.
                                    Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                    void cadn30_f(int idn, char *adn, int adn_str_len)
                                    Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                    -
                                    #define FXY_STR_LEN
                                    Size of a character string needed to store an FXY value.
                                    Definition: bufrlib.h:54
                                    +
                                    #define FXY_STR_LEN
                                    Size of a character string needed to store an FXY value.
                                    Definition: bufrlib.h:34
                                    void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
                                    Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                    -
                                    #define MIN_FXY_REPL
                                    Character string containing minimum FXY value for a replication descriptor.
                                    Definition: bufrlib.h:57
                                    -
                                    #define UNIT_STR_LEN
                                    Size of a character string needed to store the units of a Table B descriptor.
                                    Definition: bufrlib.h:69
                                    +
                                    void bort_f(char *errstr)
                                    Log one error message and abort application program.
                                    +
                                    #define MIN_FXY_REPL
                                    Character string containing minimum FXY value for a replication descriptor.
                                    Definition: bufrlib.h:37
                                    +
                                    #define UNIT_STR_LEN
                                    Size of a character string needed to store the units of a Table B descriptor.
                                    Definition: bufrlib.h:49
                                    int ifxy_f(char *cfxy)
                                    Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                    -
                                    #define NEMO_STR_LEN
                                    Size of a character string needed to store a mnemonic.
                                    Definition: bufrlib.h:66
                                    -
                                    #define MAXNC
                                    Maximum number of descriptors within Section 3 of a BUFR message.
                                    Definition: bufrlib.h:47
                                    +
                                    #define NEMO_STR_LEN
                                    Size of a character string needed to store a mnemonic.
                                    Definition: bufrlib.h:46
                                    void uptdd_f(int id, int lun, int ient, int *iret)
                                    Get the WMO bit-wise representation of the FXY value corresponding to a child mnemonic of a Table D s...
                                    int istdesc_f(int idn)
                                    Check whether a descriptor is WMO-standard.
                                    -
                                    integer ibit
                                    Bit pointer within IBAY.
                                    -
                                    void restd(int lun, int tddesc, int *nctddesc, int *ctddesc)
                                    Standardize a local Table D descriptor.
                                    Definition: restd.c:39
                                    -
                                    void wrdesc(int desc, int *descary, int *ndescary)
                                    Maintain an array of descriptors.
                                    Definition: wrdesc.c:27
                                    +
                                    integer ibit
                                    Bit pointer within ibay.
                                    +
                                    void wrdesc(int desc, int *descary, int *ndescary, int mxdescary)
                                    Maintain an array of descriptors.
                                    Definition: restd.c:27
                                    +
                                    void restd(int lun, int tddesc, int *nctddesc, int *ctddesc)
                                    Standardize a local Table D descriptor.
                                    Definition: restd.c:73
                                    diff --git a/s013vals_8F90.html b/s013vals_8F90.html new file mode 100644 index 000000000..c11036979 --- /dev/null +++ b/s013vals_8F90.html @@ -0,0 +1,1268 @@ + + + + + + + +NCEPLIBS-bufr: s013vals.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    s013vals.F90 File Reference
                                    +
                                    +
                                    + +

                                    Read and write data values within Sections 0, 1, and 3 of BUFR messages. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    subroutine cktaba (lun, subset, jdate, iret)
                                     Get the Table A mnemonic from Sections 1 and 3 of a BUFR message. More...
                                     
                                    recursive subroutine datebf (lunit, mear, mmon, mday, mour, idate)
                                     Get the Section 1 date-time from the first data message of a BUFR file, bypassing any messages at the beginning of the file which may contain embedded DX BUFR table information. More...
                                     
                                    recursive subroutine datelen (len)
                                     Specify the format of Section 1 date-time values that will be output by future calls to any of the NCEPLIBS-bufr message-reading subroutines. More...
                                     
                                    recursive subroutine dumpbf (lunit, jdate, jdump)
                                     Read the Section 1 date-time from the first two "dummy" messages of an NCEP dump file. More...
                                     
                                    recursive subroutine gets1loc (s1mnem, iben, isbyt, iwid, iret)
                                     Get the location of a specified value within Section 1 of a BUFR message. More...
                                     
                                    recursive integer function i4dy (idate)
                                     Convert a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year (YYYYMMDDHH) using a windowing technique. More...
                                     
                                    recursive integer function igetdate (mbay, iyr, imo, idy, ihr)
                                     Get the date-time from within Section 1 of a BUFR message. More...
                                     
                                    recursive integer function iupbs01 (mbay, s01mnem)
                                     Read a specified value from within Section 0 or Section 1 of a BUFR message. More...
                                     
                                    recursive integer function iupbs3 (mbay, s3mnem)
                                     Read a specified value from within Section 3 of a BUFR message. More...
                                     
                                    recursive integer function iupvs01 (lunit, s01mnem)
                                     Read a specified value from within Section 0 or 1 of a BUFR message. More...
                                     
                                    recursive subroutine mesgbc (lunin, mesgtyp, icomp)
                                     Return the message type (from Section 1) and message compression indicator (from Section 3) of a BUFR message. More...
                                     
                                    recursive subroutine mesgbf (lunit, mesgtyp)
                                     Read through a BUFR file (starting from the beginning of the file) and return the message type (from Section 1) of the first message encountered which does not contain DX BUFR table information. More...
                                     
                                    recursive subroutine minimg (lunit, mini)
                                     Write a minutes value into Section 1 of the BUFR message that was most recently opened for writing via a call to one of the message-writing subroutines for a specified Fortran logical unit. More...
                                     
                                    recursive subroutine pkbs1 (ival, mbay, s1mnem)
                                     Write a specified value into a specified location within Section 1 of a BUFR message, overwriting the value previously stored in that location. More...
                                     
                                    recursive subroutine pkvs01 (s01mnem, ival)
                                     Specify a value to be written into a specified location within Section 0 or Section 1 of all BUFR messages output by future calls to other message-writing subroutines and subset-writing subroutines. More...
                                     
                                    subroutine reads3 (lun)
                                     Read the Section 3 descriptors from the BUFR message in mbay(1,lun), then use the BUFR master tables to generate the necessary information for those descriptors within the internal BUFR table arrays. More...
                                     
                                    recursive subroutine upds3 (mbay, lcds3, cds3, nds3)
                                     Read the sequence of data descriptors contained within Section 3 of a BUFR message. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Read and write data values within Sections 0, 1, and 3 of BUFR messages.

                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition in file s013vals.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ cktaba()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine cktaba (integer, intent(in) lun,
                                    character*8, intent(out) subset,
                                    integer, intent(out) jdate,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Get the Table A mnemonic from Sections 1 and 3 of a BUFR message.

                                    +

                                    The BUFR message must have been previously read from lun using one of the message-reading subroutines.

                                    +
                                    Parameters
                                    + + + + + +
                                    lun- File ID
                                    subset- Table A mnemonic
                                      +
                                    • Returned as a string of all blank characters if iret is equal to 11 (see below) and if Section 3 isn't being used for decoding
                                    • +
                                    +
                                    jdate- Date-time stored within Section 1 of BUFR, in format of either YYMMDDHH or YYYYMMDDHH depending on datelen() value
                                    iret- Return code:
                                      +
                                    • 0 = Normal return
                                    • +
                                    • -1 = Unrecognized Table A (message type) value
                                    • +
                                    • 11 = This is a BUFR table (dictionary) message
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    2000-09-19
                                    + +

                                    Definition at line 1271 of file s013vals.F90.

                                    + +

                                    References bort(), errwrt(), getlens(), moda_msgcwd::idate, moda_msgcwd::inode, moda_sc3bfr::isc3, moda_bitbuf::mbay, moda_bitbuf::mbyt, moda_unptyp::msgunp, moda_msgcwd::msub, nemtbax(), moda_msgcwd::nmsg, moda_msgcwd::nsub, numtab(), openbt(), rdusdx(), and moda_sc3bfr::tamnem.

                                    + +

                                    Referenced by rdmemm(), readerme(), and readmg().

                                    + +
                                    +
                                    + +

                                    ◆ datebf()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine datebf (integer, intent(in) lunit,
                                    integer, intent(out) mear,
                                    integer, intent(out) mmon,
                                    integer, intent(out) mday,
                                    integer, intent(out) mour,
                                    integer, intent(out) idate 
                                    )
                                    +
                                    + +

                                    Get the Section 1 date-time from the first data message of a BUFR file, bypassing any messages at the beginning of the file which may contain embedded DX BUFR table information.

                                    +
                                    Parameters
                                    + + + + + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    mear- Year stored within Section 1 of first data message, in format of either YY or YYYY, depending on the most recent call to subroutine datelen()
                                    mmon- Month stored within Section 1 of first data message
                                    mday- Day stored within Section 1 of first data message
                                    mour- Hour stored within Section 1 of first data message
                                    idate- Date-time stored within Section 1 of first data message, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen() -1 = First data message could not be found in BUFR file
                                    +
                                    +
                                    +

                                    Logical unit lunit must already be associated with a filename on the local system, typically via a Fortran "OPEN" statement.

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 936 of file s013vals.F90.

                                    + +

                                    References bort(), closbf(), errwrt(), idxmsg(), igetdate(), moda_mgwa::mgwa, openbf(), rdmsgw(), status(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ datelen()

                                    + +
                                    +
                                    + + + + + + + + +
                                    recursive subroutine datelen (integer, intent(in) len)
                                    +
                                    + +

                                    Specify the format of Section 1 date-time values that will be output by future calls to any of the NCEPLIBS-bufr message-reading subroutines.

                                    +

                                    This subroutine can be called at any time from within the application program, and the specified value for len will remain in effect for all future calls to any of the NCEPLIBS-bufr subroutines which read BUFR messages, unless a subsequent call is made to this subroutine to reset the value of len again. If this subroutine is never called, a default value of 8 is used for len, as set within subroutine bfrini().

                                    +
                                    Parameters
                                    + + +
                                    len- Length of Section 1 date-time values to be output by all future calls to message-reading subroutines:
                                      +
                                    • 8 = YYMMDDHH format with 2-digit year (the default)
                                    • +
                                    • 10 = YYYYMMDDHH format with 4-digit year
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1998-07-08
                                    + +

                                    Definition at line 888 of file s013vals.F90.

                                    + +

                                    References bort(), and x84().

                                    + +

                                    Referenced by fdebufr_c(), and readbp().

                                    + +
                                    +
                                    + +

                                    ◆ dumpbf()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine dumpbf (integer, intent(in) lunit,
                                    integer, dimension(*), intent(out) jdate,
                                    integer, dimension(*), intent(out) jdump 
                                    )
                                    +
                                    + +

                                    Read the Section 1 date-time from the first two "dummy" messages of an NCEP dump file.

                                    +

                                    This bypasses any messages at the beginning of the file which may contain embedded DX BUFR table information. Normally, the first of these two "dummy" messages contains the dump center date-time in Section 1, while the second message contains the dump initiation date-time in Section 1. Neither of these two "dummy" messages should contain any data subsets in Section 4.

                                    +

                                    Logical unit lunit must already be associated with a filename on the local system, typically via a Fortran "OPEN" statement.

                                    +

                                    If the subroutine fails to locate either of the two "dummy" messages within the file pointed to by lunit, then the corresponding jdate or jdump array will be filled with all values set to (-1).

                                    +
                                    Parameters
                                    + + + + +
                                    lunit- Fortran logical unit number for BUFR dump file
                                    jdate- Dump center date-time stored within Section 1 of first "dummy" message:
                                      +
                                    • Index 1 contains the year, in format of either YY or YYYY, depending on the most recent call to subroutine datelen()
                                    • +
                                    • Index 2 contains the month
                                    • +
                                    • Index 3 contains the day
                                    • +
                                    • Index 4 contains the hour
                                    • +
                                    • Index 5 contains the minute
                                    • +
                                    +
                                    jdump- Dump initiation date-time stored within Section 1 of second "dummy" message:
                                      +
                                    • Index 1 contains the year, in format of either YY or YYYY, depending on the most recent call to subroutine datelen()
                                    • +
                                    • Index 2 contains the month
                                    • +
                                    • Index 3 contains the day
                                    • +
                                    • Index 4 contains the hour
                                    • +
                                    • Index 5 contains the minute
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1996-12-11
                                    + +

                                    Definition at line 1135 of file s013vals.F90.

                                    + +

                                    References bort(), closbf(), errwrt(), idxmsg(), igetdate(), iupbs01(), iupbs3(), moda_mgwa::mgwa, openbf(), rdmsgw(), status(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ gets1loc()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine gets1loc (character*(*), intent(in) s1mnem,
                                    integer, intent(in) iben,
                                    integer, intent(out) isbyt,
                                    integer, intent(out) iwid,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Get the location of a specified value within Section 1 of a BUFR message.

                                    +

                                    The location and availability of any particular value within Section 1 of a BUFR message can vary depending on the edition number used to encode the message. This subroutine will work for BUFR edition 2, 3, or 4.

                                    +
                                    Parameters
                                    + + + + + + +
                                    s1mnem- Value whose location within Section 1 is to be determined:
                                      +
                                    • 'LEN1' = Length (in bytes) of Section 1
                                    • +
                                    • 'BMT' = BUFR master table
                                    • +
                                    • 'OGCE' = Originating center
                                    • +
                                    • 'GSES' = Originating subcenter
                                    • +
                                    • 'USN' = Update sequence number
                                    • +
                                    • 'ISC2' = Flag indicating absence/presence of (optional) Section 2 in BUFR message:
                                        +
                                      • 0 = Section 2 absent
                                      • +
                                      • 1 = Section 2 present
                                      • +
                                      +
                                    • +
                                    • 'MTYP' = Data category
                                    • +
                                    • 'MSBTI' = Data subcategory (international)
                                    • +
                                    • 'MSBT' = Data subcategory (local)
                                    • +
                                    • 'MTV' = Version number of master table
                                    • +
                                    • 'MTVL' = Version number of local tables
                                    • +
                                    • 'YCEN' = Year of century (1-100)
                                    • +
                                    • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
                                    • +
                                    • 'YEAR' = Year (4-digit)
                                    • +
                                    • 'MNTH' = Month
                                    • +
                                    • 'DAYS' = Day
                                    • +
                                    • 'HOUR' = Hour
                                    • +
                                    • 'MINU' = Minute
                                    • +
                                    • 'SECO' = Second
                                    • +
                                    +
                                    iben- BUFR edition number
                                    isbyt- Number of starting byte within Section 1 which contains value corresponding to s1mnem
                                    iwid- Width (in bits) of value corresponding to s1mnem, counting from the first bit of the byte pointed to by isbyt
                                    iret- Return code:
                                      +
                                    • 0 = normal return
                                    • +
                                    • -1 = s1mnem is invalid for BUFR edition iben
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Remarks
                                      +
                                    • s1mnem = 'GSES' is only valid for iben = 3 or 4
                                    • +
                                    • s1mnem = 'YCEN' or 'CENT' is only valid for iben = 2 or 3
                                    • +
                                    • s1mnem = 'YEAR', 'SECO', or 'MSBTI' is only valid for iben = 4
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition at line 47 of file s013vals.F90.

                                    + +

                                    References x48(), and x84().

                                    + +

                                    Referenced by iupbs01(), and pkbs1().

                                    + +
                                    +
                                    + +

                                    ◆ i4dy()

                                    + +
                                    +
                                    + + + + + + + + +
                                    recursive integer function i4dy (integer, intent(in) idate)
                                    +
                                    + +

                                    Convert a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year (YYYYMMDDHH) using a windowing technique.

                                    +

                                    All 2-digit years greater than 40 are assumed to have a 4-digit year beginning with 19 (i.e. 1941-1999), and all 2-digit years less than or equal to 40 are assumed to have a 4-digit year beginning with 20 (i.e. 2000-2040). If the input date-time already contains a 4-digit year, then the function simply returns that value.

                                    +
                                    Parameters
                                    + + +
                                    idate- Date-time in format of either YYMMDDHH (2-digit year) or YYYYMMDDHH (4-digit year)
                                    +
                                    +
                                    +
                                    Returns
                                    i4dy - Date-time in format of YYYYMMDDHH (4-digit year)
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1998-07-08
                                    + +

                                    Definition at line 1069 of file s013vals.F90.

                                    + +

                                    References x84().

                                    + +

                                    Referenced by iupbs01(), openmb(), openmg(), and readmp().

                                    + +
                                    +
                                    + +

                                    ◆ igetdate()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive integer function igetdate (integer, dimension(*), intent(in) mbay,
                                    integer, intent(out) iyr,
                                    integer, intent(out) imo,
                                    integer, intent(out) idy,
                                    integer, intent(out) ihr 
                                    )
                                    +
                                    + +

                                    Get the date-time from within Section 1 of a BUFR message.

                                    +

                                    The function will work on any BUFR message encoded using BUFR edition 2, 3, or 4.

                                    +
                                    Parameters
                                    + + + + + + +
                                    mbay- BUFR message
                                    iyr- Year stored within Section 1 of mbay, in format of either YY or YYYY, depending on the most recent call to subroutine datelen()
                                    imo- Month stored within Section 1 of mbay
                                    idy- Day stored within Section 1 of mbay
                                    ihr- Hour stored within Section 1 of mbay
                                    +
                                    +
                                    +
                                    Returns
                                    igetdate - Date-time stored within Section 1 of mbay, in format of either YYMMDDHH or YYYYMMDDHH, depending on the most recent call to subroutine datelen()
                                    +
                                    Remarks
                                      +
                                    • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of mbay
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition at line 1021 of file s013vals.F90.

                                    + +

                                    References iupbs01(), and x48().

                                    + +

                                    Referenced by datebf(), and dumpbf().

                                    + +
                                    +
                                    + +

                                    ◆ iupbs01()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive integer function iupbs01 (integer, dimension(*), intent(in) mbay,
                                    character*(*), intent(in) s01mnem 
                                    )
                                    +
                                    + +

                                    Read a specified value from within Section 0 or Section 1 of a BUFR message.

                                    +

                                    This function will work on any BUFR message encoded using BUFR edition 2, 3, or 4. It is similar to function iupvs01(), except that it operates on a BUFR message passed in via a memory array, whereas iupvs01() operates on the BUFR message that was read into internal arrays via the most recent call to any of the other message-reading subroutines for a specified Fortran logical unit.

                                    +
                                    Remarks
                                      +
                                    • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of mbay
                                    • +
                                    • Values corresponding to s01mnem = 'GSES' can only be read from BUFR messages encoded using BUFR edition 3 or 4
                                    • +
                                    • Values corresponding to s01mnem = 'YCEN' or 'CENT' can only be read from BUFR messages encoded using BUFR edition 2 or 3
                                    • +
                                    • When reading from BUFR messages encoded using BUFR edition 2 or 3, values corresponding to s01mnem = 'YEAR' will be calculated internally using the values for 'YCEN' and 'CENT', or inferred using a windowing technique
                                    • +
                                    • Values corresponding to s01mnem = 'SECO' or 'MSBTI' can only be read from BUFR messages encoded using BUFR edition 4
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + +
                                    mbay- BUFR message
                                    s01mnem- Value to be read from Section 0 or Section 1 of mbay
                                      +
                                    • 'LENM' = Length (in bytes) of BUFR message
                                    • +
                                    • 'LEN0' = Length (in bytes) of Section 0
                                    • +
                                    • 'LEN1' = Length (in bytes) of Section 1
                                    • +
                                    • 'BEN' = BUFR edition number
                                    • +
                                    • 'BMT' = BUFR master table
                                    • +
                                    • 'OGCE' = Originating center
                                    • +
                                    • 'GSES' = Originating subcenter
                                    • +
                                    • 'USN' = Update sequence number
                                    • +
                                    • 'ISC2' = Flag indicating absence/presence of (optional) Section 2 in BUFR message:
                                        +
                                      • 0 = Section 2 absent
                                      • +
                                      • 1 = Section 2 present
                                      • +
                                      +
                                    • +
                                    • 'MTYP' = Data category
                                    • +
                                    • 'MSBTI' = Data subcategory (international)
                                    • +
                                    • 'MSBT' = Data subcategory (local)
                                    • +
                                    • 'MTV' = Version number of master table
                                    • +
                                    • 'MTVL' = Version number of local tables
                                    • +
                                    • 'YCEN' = Year of century (1-100)
                                    • +
                                    • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
                                    • +
                                    • 'YEAR' = Year (4-digit)
                                    • +
                                    • 'MNTH' = Month
                                    • +
                                    • 'DAYS' = Day
                                    • +
                                    • 'HOUR' = Hour
                                    • +
                                    • 'MINU' = Minute
                                    • +
                                    • 'SECO' = Second
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Returns
                                    iupbs01 - Value corresponding to s01mnem:
                                      +
                                    • -1 = s01mnem was invalid for the edition of BUFR message in mbay, or some other error occurred
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition at line 246 of file s013vals.F90.

                                    + +

                                    References gets1loc(), i4dy(), and iupb().

                                    + +

                                    Referenced by atrcpt(), cnved4(), copybf(), copymg(), cpymem(), dumpbf(), getlens(), idxmsg(), igetdate(), ireadmt(), bufr_c2f_interface::iupbs01_c(), iupvs01(), mesgbc(), mesgbf(), nmwrd(), pkbs1(), rtrcptb(), stndrd(), and ufbmex().

                                    + +
                                    +
                                    + +

                                    ◆ iupbs3()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive integer function iupbs3 (integer, dimension(*), intent(in) mbay,
                                    character*(*), intent(in) s3mnem 
                                    )
                                    +
                                    + +

                                    Read a specified value from within Section 3 of a BUFR message.

                                    +
                                    Remarks
                                      +
                                    • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of mbay
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + +
                                    mbay- BUFR message
                                    s3mnem- Value to be read from Section 3 of mbay
                                      +
                                    • 'NSUB' = Number of data subsets
                                    • +
                                    • 'IOBS' = Flag indicating whether the message contains observed data:
                                        +
                                      • 0 = No
                                      • +
                                      • 1 = Yes
                                      • +
                                      +
                                    • +
                                    • 'ICMP' = Flag indicating whether the message contains compressed data:
                                        +
                                      • 0 = No
                                      • +
                                      • 1 = Yes
                                      • +
                                      +
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Returns
                                    iupbs3 - Value corresponding to s3mnem
                                      +
                                    • -1 = s3mnem was invalid
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 348 of file s013vals.F90.

                                    + +

                                    References getlens(), and iupb().

                                    + +

                                    Referenced by dumpbf(), mesgbc(), readerme(), stndrd(), and writlc().

                                    + +
                                    +
                                    + +

                                    ◆ iupvs01()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive integer function iupvs01 (integer, intent(in) lunit,
                                    character*(*), intent(in) s01mnem 
                                    )
                                    +
                                    + +

                                    Read a specified value from within Section 0 or 1 of a BUFR message.

                                    +

                                    This function will work on any BUFR message encoded using BUFR edition 2, 3, or 4. It is similar to function iupbs01(), except that iupbs01() operates on a BUFR message passed in via a memory array, whereas this function operates on the BUFR message that was read into internal arrays via the most recent call to any of the other message-reading subroutines for a specified Fortran logical unit.

                                    +
                                    Remarks
                                      +
                                    • Values corresponding to s01mnem = 'GSES' can only be read from BUFR messages encoded using BUFR edition 3 or 4
                                    • +
                                    • Values corresponding to s01mnem = 'YCEN' or 'CENT' can only be read from BUFR messages encoded using BUFR edition 2 or 3
                                    • +
                                    • When reading from BUFR messages encoded using BUFR edition 2 or 3, values corresponding to s01mnem = 'YEAR' will be calculated internally using the values for 'YCEN' and 'CENT', or inferred using a windowing technique
                                    • +
                                    • Values corresponding to s01mnem = 'SECO' or 'MSBTI' can only be read from BUFR messages encoded using BUFR edition 4
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    s01mnem- Value to be read from Section 0 or Section 1 of BUFR message in internal arrays for lunit:
                                      +
                                    • 'LENM' = Length (in bytes) of BUFR message
                                    • +
                                    • 'LEN0' = Length (in bytes) of Section 0
                                    • +
                                    • 'LEN1' = Length (in bytes) of Section 1
                                    • +
                                    • 'BEN' = BUFR edition number
                                    • +
                                    • 'BMT' = BUFR master table
                                    • +
                                    • 'OGCE' = Originating center
                                    • +
                                    • 'GSES' = Originating subcenter
                                    • +
                                    • 'USN' = Update sequence number
                                    • +
                                    • 'ISC2' = Flag indicating absence/presence of (optional) Section 2 in BUFR message:
                                        +
                                      • 0 = Section 2 absent
                                      • +
                                      • 1 = Section 2 present
                                      • +
                                      +
                                    • +
                                    • 'MTYP' = Data category
                                    • +
                                    • 'MSBTI' = Data subcategory (international)
                                    • +
                                    • 'MSBT' = Data subcategory (local)
                                    • +
                                    • 'MTV' = Version number of master table
                                    • +
                                    • 'MTVL' = Version number of local tables
                                    • +
                                    • 'YCEN' = Year of century (1-100)
                                    • +
                                    • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
                                    • +
                                    • 'YEAR' = Year (4-digit)
                                    • +
                                    • 'MNTH' = Month
                                    • +
                                    • 'DAYS' = Day
                                    • +
                                    • 'HOUR' = Hour
                                    • +
                                    • 'MINU' = Minute
                                    • +
                                    • 'SECO' = Second
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Returns
                                    - Value corresponding to s01mnem:
                                      +
                                    • -1 = s01mnem was invalid for the edition of BUFR message in internal arrays for lunit, or some other error occurred
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition at line 442 of file s013vals.F90.

                                    + +

                                    References bort(), iupbs01(), moda_bitbuf::mbay, status(), and x84().

                                    + +

                                    Referenced by binv(), and split_by_subset().

                                    + +
                                    +
                                    + +

                                    ◆ mesgbc()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine mesgbc (integer, intent(in) lunin,
                                    integer, intent(out) mesgtyp,
                                    integer, intent(out) icomp 
                                    )
                                    +
                                    + +

                                    Return the message type (from Section 1) and message compression indicator (from Section 3) of a BUFR message.

                                    +
                                    Author
                                    D. Keyser
                                    +
                                    Date
                                    2003-11-04
                                    +

                                    The message to be examined is obtained in one of two different ways, depending on the sign of lunin:

                                      +
                                    • If lunin > 0, the subroutine reads and examines Section 1 of each message in a BUFR file starting from the beginning of the file, and continuing until it reaches the first message which actually contains report data. This means it will skip any messages containing DX BUFR table information, as well as any "dummy" messages containing the dump center time or dump initiation time within NCEP dump files. It then returns the message type and compression indicator from the first message containing report data. When used this way, the BUFR file in question should not have already been opened via a call to subroutine openbf(), though it should already be associated with Fortran logical unit number lunin. In this situation, the subroutine is similar to subroutine mesgbf(), except that mesgbf() doesn't skip past any "dummy" messages within NCEP dump files, nor does it return a compression indicator.
                                    • +
                                    • If lunin < 0, the subroutine simply returns the message type and compression indicator for the BUFR message currently stored in the internal arrays via the most recent call to one of the message-reading subroutines for Fortran logical unit number abs(lunin).
                                    • +
                                    +
                                    Parameters
                                    + + + + +
                                    lunin- Absolute value is Fortran logical unit number for BUFR file
                                    mesgtyp- Message type
                                      +
                                    • When lunin > 0, a mesgtyp value of -256 means that there was an error reading the BUFR file, or that no messages were read from the file. Otherwise, any other mesgtyp value < 0 means that none of the messages in the BUFR file contained any report data.
                                    • +
                                    +
                                    icomp- Message compression indicator
                                      +
                                    • -3 = BUFR file does not exist
                                    • +
                                    • -2 = none of the messages in the BUFR file contained any report data
                                    • +
                                    • 0 = message is not compressed
                                    • +
                                    • 1 = message is compressed
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    D. Keyser
                                    +
                                    Date
                                    2003-11-04
                                    + +

                                    Definition at line 1481 of file s013vals.F90.

                                    + +

                                    References closbf(), idxmsg(), iupbs01(), iupbs3(), moda_bitbuf::mbay, moda_mgwa::mgwa, openbf(), rdmsgw(), status(), x48(), and x84().

                                    + +

                                    Referenced by copysb().

                                    + +
                                    +
                                    + +

                                    ◆ mesgbf()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine mesgbf (integer, intent(in) lunit,
                                    integer, intent(out) mesgtyp 
                                    )
                                    +
                                    + +

                                    Read through a BUFR file (starting from the beginning of the file) and return the message type (from Section 1) of the first message encountered which does not contain DX BUFR table information.

                                    +

                                    The BUFR file should not have already been opened via a call to subroutine openbf(); however, it should already be associated with Fortran logical unit number lunit.

                                    +

                                    This subroutine is similar to subroutine mesgbc(), except that this subroutine will only skip past DX BUFR table messages at the beginning of a file, whereas mesgbc() will also skip past any "dummy" messages containing the dump center time or dump initiation time within NCEP dump files. Furthermore, mesgbc() also returns a message compression indicator, and it also has an option to operate on a BUFR message that has already been read into the internal arrays.

                                    +
                                    Parameters
                                    + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    mesgtyp- Message type
                                      +
                                    • -1 = error reading the BUFR file, or no messages were read from the file
                                    • +
                                    • 11 = BUFR file only contained DX BUFR table messages
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 1570 of file s013vals.F90.

                                    + +

                                    References closbf(), idxmsg(), iupbs01(), moda_mgwa::mgwa, openbf(), rdmsgw(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ minimg()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine minimg (integer, intent(in) lunit,
                                    integer, intent(in) mini 
                                    )
                                    +
                                    + +

                                    Write a minutes value into Section 1 of the BUFR message that was most recently opened for writing via a call to one of the message-writing subroutines for a specified Fortran logical unit.

                                    +
                                    Parameters
                                    + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    mini- Minutes value
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 1223 of file s013vals.F90.

                                    + +

                                    References bort(), moda_bitbuf::mbay, pkbs1(), status(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ pkbs1()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine pkbs1 (integer, intent(in) ival,
                                    integer, dimension(*), intent(inout) mbay,
                                    character*(*), intent(in) s1mnem 
                                    )
                                    +
                                    + +

                                    Write a specified value into a specified location within Section 1 of a BUFR message, overwriting the value previously stored in that location.

                                    +

                                    This subroutine will work on any BUFR message encoded using BUFR edition 2, 3, or 4. It is similar to subroutine pkvs01(), except that it operates on a BUFR message passed in via a memory array, whereas pkvs01() operates on BUFR messages stored internally within the software.

                                    +
                                    Parameters
                                    + + + + +
                                    ival- Value to be stored
                                    mbay- BUFR message
                                    s1mnem- Location in Section 1 of mbay within which to store ival:
                                      +
                                    • 'BMT' = BUFR master table
                                    • +
                                    • 'OGCE' = Originating center
                                    • +
                                    • 'GSES' = Originating subcenter
                                    • +
                                    • 'USN' = Update sequence number
                                    • +
                                    • 'MTYP' = Data category
                                    • +
                                    • 'MSBTI' = Data subcategory (international)
                                    • +
                                    • 'MSBT' = Data subcategory (local)
                                    • +
                                    • 'MTV' = Version number of master table
                                    • +
                                    • 'MTVL' = Version number of local tables
                                    • +
                                    • 'YCEN' = Year of century (1-100)
                                    • +
                                    • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
                                    • +
                                    • 'YEAR' = Year (4-digit)
                                    • +
                                    • 'MNTH' = Month
                                    • +
                                    • 'DAYS' = Day
                                    • +
                                    • 'HOUR' = Hour
                                    • +
                                    • 'MINU' = Minute
                                    • +
                                    • 'SECO' = Second
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Remarks
                                      +
                                    • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of mbay
                                    • +
                                    • Values corresponding to s1mnem = 'GSES' can only be stored within BUFR messages encoded using BUFR edition 3 or 4
                                    • +
                                    • Values corresponding to s1mnem = 'YCEN' or 'CENT' can only be stored within BUFR messages encoded using BUFR edition 2 or 3.
                                    • +
                                    • Values corresponding to s1mnem = 'YEAR', 'SECO' or 'MSBTI' can only be stored within BUFR messages encoded using BUFR edition 4
                                    • +
                                    +
                                    +
                                    Authors
                                    J. Ator, D. Keyser
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition at line 520 of file s013vals.F90.

                                    + +

                                    References bort(), gets1loc(), iupbs01(), pkb(), and x84().

                                    + +

                                    Referenced by minimg(), and msgwrt().

                                    + +
                                    +
                                    + +

                                    ◆ pkvs01()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine pkvs01 (character*(*), intent(in) s01mnem,
                                    integer, intent(in) ival 
                                    )
                                    +
                                    + +

                                    Specify a value to be written into a specified location within Section 0 or Section 1 of all BUFR messages output by future calls to other message-writing subroutines and subset-writing subroutines.

                                    +

                                    This subroutine is similar to subroutine pkbs1(), except that pkbs1() operates on a single BUFR message passed in via a memory array. Alternatively, whenever this subroutine is called, the specified IVAL will be written into all BUFR messages output by all future calls to other message-writing subroutines and subset-writing subroutines, for all Fortran logical units that are open for output within the application program, unless a subsequent call is made to this subroutine with the same value of s01mnem in order to reset the corresponding IVAL again. Otherwise, if this subroutine is never called for a particular value of s01mnem, then a default value is used for the corresponding ival, as set within subroutine msgini(), cmsgini() or dxmini().

                                    +
                                    Parameters
                                    + + + +
                                    ival- Value to be stored
                                    s01mnem- Location where ival is to be stored within Section 0 or Section 1 of all future output BUFR messages:
                                      +
                                    • 'BEN' = BUFR edition number
                                    • +
                                    • 'BMT' = BUFR master table
                                    • +
                                    • 'OGCE' = Originating center
                                    • +
                                    • 'GSES' = Originating subcenter
                                    • +
                                    • 'USN' = Update sequence number
                                    • +
                                    • 'MTYP' = Data category
                                    • +
                                    • 'MSBTI' = Data subcategory (international)
                                    • +
                                    • 'MSBT' = Data subcategory (local)
                                    • +
                                    • 'MTV' = Version number of master table
                                    • +
                                    • 'MTVL' = Version number of local tables
                                    • +
                                    • 'YCEN' = Year of century (1-100)
                                    • +
                                    • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
                                    • +
                                    • 'YEAR' = Year (4-digit)
                                    • +
                                    • 'MNTH' = Month
                                    • +
                                    • 'DAYS' = Day
                                    • +
                                    • 'HOUR' = Hour
                                    • +
                                    • 'MINU' = Minute
                                    • +
                                    • 'SECO' = Second
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Remarks
                                      +
                                    • A separate call to this subroutine must be made for each value of s01mnem that is to be set within Section 0 or Section 1 of all future output BUFR messages.
                                    • +
                                    • A call to this subroutine with s01mnem = 'BEN' and ival = 4 will force all future output BUFR messages to be encoded using BUFR edition 4; otherwise, messages will be encoded using BUFR edition 3 by default.
                                    • +
                                    • Values corresponding to s01mnem = 'YCEN' or 'CENT' can only be stored within BUFR messages encoded using BUFR edition 3.
                                    • +
                                    • Values corresponding to s01mnem = 'YEAR', 'SECO' or 'MSBTI' can only be stored within BUFR messages encoded using BUFR edition 4.
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2005-11-29
                                    + +

                                    Definition at line 618 of file s013vals.F90.

                                    + +

                                    References bort(), moda_s01cm::cmnem, moda_s01cm::ivmnem, moda_s01cm::ns01v, openbf(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ reads3()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine reads3 (integer, intent(in) lun)
                                    +
                                    + +

                                    Read the Section 3 descriptors from the BUFR message in mbay(1,lun), then use the BUFR master tables to generate the necessary information for those descriptors within the internal BUFR table arrays.

                                    +
                                    Parameters
                                    + + +
                                    lun- File ID
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 685 of file s013vals.F90.

                                    + +

                                    References bort(), moda_s3list::cds3, moda_dscach::cnem, dxinit(), errwrt(), moda_dscach::idcach, moda_s3list::ids3, makestab(), moda_bitbuf::mbay, moda_dscach::ncnem, moda_dscach::ndc, stntbia(), moda_sc3bfr::tamnem, and upds3().

                                    + +

                                    Referenced by readerme(), and readmg().

                                    + +
                                    +
                                    + +

                                    ◆ upds3()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine upds3 (integer, dimension(*), intent(in) mbay,
                                    integer, intent(in) lcds3,
                                    character*6, dimension(*), intent(out) cds3,
                                    integer, intent(out) nds3 
                                    )
                                    +
                                    + +

                                    Read the sequence of data descriptors contained within Section 3 of a BUFR message.

                                    +
                                    Remarks
                                      +
                                    • The start of the BUFR message (i.e. the string 'BUFR') must be aligned on the first 4 bytes of mbay
                                    • +
                                    • This subroutine does not recursively resolve any Table D descriptors from within Section 3; rather, what is returned in CDS3 is the exact list of data descriptors as it appears within Section 3 of mbay
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + + + +
                                    mbay- BUFR message
                                    lcds3- Dimensioned size (in integers) of cds3 in the calling program; used by the subroutine to ensure that it doesn't overflow the cds3 array
                                    cds3- Data descriptor sequence within Section 3 of mbay
                                    nds3- Number of data descriptors in cds3
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2003-11-04
                                    + +

                                    Definition at line 828 of file s013vals.F90.

                                    + +

                                    References adn30(), bort(), getlens(), iupb(), x48(), and x84().

                                    + +

                                    Referenced by fdebufr_c(), ireadmt(), and reads3().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/s013vals_8F90.js b/s013vals_8F90.js new file mode 100644 index 000000000..fca9b1ef6 --- /dev/null +++ b/s013vals_8F90.js @@ -0,0 +1,20 @@ +var s013vals_8F90 = +[ + [ "cktaba", "s013vals_8F90.html#a1f8f8b7d0f3b0eb6042e170c0c84c18f", null ], + [ "datebf", "s013vals_8F90.html#a311f8836440703db774ee651425337b4", null ], + [ "datelen", "s013vals_8F90.html#aadd84c217cf5fab0d94564da3f377ebe", null ], + [ "dumpbf", "s013vals_8F90.html#ac2e40c9d462d2855dd693d9498f55342", null ], + [ "gets1loc", "s013vals_8F90.html#a867795708832230010199b5a31f687a8", null ], + [ "i4dy", "s013vals_8F90.html#ada4930358eb16c05c65c2df068db90c1", null ], + [ "igetdate", "s013vals_8F90.html#aedbe120baa1a1058174325c5e2d0e487", null ], + [ "iupbs01", "s013vals_8F90.html#a28944a4d73587a3943964a95619cb8a2", null ], + [ "iupbs3", "s013vals_8F90.html#a6060b7b617646ee396097f20317e2f4d", null ], + [ "iupvs01", "s013vals_8F90.html#a3b1a6e580f306826c680ff0a71d883f8", null ], + [ "mesgbc", "s013vals_8F90.html#ac3a5070d2415122d7a93471e5f019247", null ], + [ "mesgbf", "s013vals_8F90.html#a837bd14b4718718edb57b5f53c7bbcbe", null ], + [ "minimg", "s013vals_8F90.html#a70447e085c4523fa53796c5317f63ae8", null ], + [ "pkbs1", "s013vals_8F90.html#a5522b3ec85470f1def91880bbc5df5e6", null ], + [ "pkvs01", "s013vals_8F90.html#ac8fa984389323f08dd1cbd3aa6b57da9", null ], + [ "reads3", "s013vals_8F90.html#ac96e5200de4ecc84f79caa98177e60f6", null ], + [ "upds3", "s013vals_8F90.html#a7bf4d22f9bb27412a9d041f7a5d7bca6", null ] +]; \ No newline at end of file diff --git a/s013vals_8F90_source.html b/s013vals_8F90_source.html new file mode 100644 index 000000000..abbe79360 --- /dev/null +++ b/s013vals_8F90_source.html @@ -0,0 +1,1329 @@ + + + + + + + +NCEPLIBS-bufr: s013vals.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    s013vals.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    47 recursive subroutine gets1loc(s1mnem,iben,isbyt,iwid,iret)
                                    +
                                    48 
                                    +
                                    49  use modv_vars, only: im8b
                                    +
                                    50 
                                    +
                                    51  implicit none
                                    +
                                    52 
                                    +
                                    53  character*(*), intent(in) :: s1mnem
                                    +
                                    54 
                                    +
                                    55  integer, intent(in) :: iben
                                    +
                                    56  integer, intent(out) :: isbyt, iwid, iret
                                    +
                                    57  integer my_iben
                                    +
                                    58 
                                    +
                                    59  ! Check for I8 integers.
                                    +
                                    60 
                                    +
                                    61  if(im8b) then
                                    +
                                    62  im8b=.false.
                                    +
                                    63 
                                    +
                                    64  call x84(iben,my_iben,1)
                                    +
                                    65  call gets1loc(s1mnem,my_iben,isbyt,iwid,iret)
                                    +
                                    66  call x48(isbyt,isbyt,1)
                                    +
                                    67  call x48(iwid,iwid,1)
                                    +
                                    68  call x48(iret,iret,1)
                                    +
                                    69 
                                    +
                                    70  im8b=.true.
                                    +
                                    71  return
                                    +
                                    72  endif
                                    +
                                    73 
                                    +
                                    74  iret = 0
                                    +
                                    75  iwid = 8
                                    +
                                    76 
                                    +
                                    77  if(s1mnem=='LEN1') then
                                    +
                                    78  isbyt = 1
                                    +
                                    79  iwid = 24
                                    +
                                    80  else if(s1mnem=='BMT') then
                                    +
                                    81  isbyt = 4
                                    +
                                    82  else if(s1mnem=='OGCE') then
                                    +
                                    83  if(iben==3) then
                                    +
                                    84  isbyt = 6
                                    +
                                    85  else
                                    +
                                    86  ! Note that this location is actually the same for both edition 2 and edition 4 of BUFR
                                    +
                                    87  isbyt = 5
                                    +
                                    88  iwid = 16
                                    +
                                    89  endif
                                    +
                                    90  else if(s1mnem=='GSES') then
                                    +
                                    91  if(iben==3) then
                                    +
                                    92  isbyt = 5
                                    +
                                    93  else if(iben==4) then
                                    +
                                    94  isbyt = 7
                                    +
                                    95  iwid = 16
                                    +
                                    96  else
                                    +
                                    97  iret = -1
                                    +
                                    98  endif
                                    +
                                    99  else if(s1mnem=='USN') then
                                    +
                                    100  if(iben==4) then
                                    +
                                    101  isbyt = 9
                                    +
                                    102  else
                                    +
                                    103  isbyt = 7
                                    +
                                    104  endif
                                    +
                                    105  else if(s1mnem=='ISC2') then
                                    +
                                    106  iwid = 1
                                    +
                                    107  if(iben==4) then
                                    +
                                    108  isbyt = 10
                                    +
                                    109  else
                                    +
                                    110  isbyt = 8
                                    +
                                    111  endif
                                    +
                                    112  else if(s1mnem=='MTYP') then
                                    +
                                    113  if(iben==4) then
                                    +
                                    114  isbyt = 11
                                    +
                                    115  else
                                    +
                                    116  isbyt = 9
                                    +
                                    117  endif
                                    +
                                    118  else if(s1mnem=='MSBTI') then
                                    +
                                    119  if(iben==4) then
                                    +
                                    120  isbyt = 12
                                    +
                                    121  else
                                    +
                                    122  iret = -1
                                    +
                                    123  endif
                                    +
                                    124  else if(s1mnem=='MSBT') then
                                    +
                                    125  if(iben==4) then
                                    +
                                    126  isbyt = 13
                                    +
                                    127  else
                                    +
                                    128  isbyt = 10
                                    +
                                    129  endif
                                    +
                                    130  else if(s1mnem=='MTV') then
                                    +
                                    131  if(iben==4) then
                                    +
                                    132  isbyt = 14
                                    +
                                    133  else
                                    +
                                    134  isbyt = 11
                                    +
                                    135  endif
                                    +
                                    136  else if(s1mnem=='MTVL') then
                                    +
                                    137  if(iben==4) then
                                    +
                                    138  isbyt = 15
                                    +
                                    139  else
                                    +
                                    140  isbyt = 12
                                    +
                                    141  endif
                                    +
                                    142  else if(s1mnem=='YEAR') then
                                    +
                                    143  if(iben==4) then
                                    +
                                    144  isbyt = 16
                                    +
                                    145  iwid = 16
                                    +
                                    146  else
                                    +
                                    147  iret = -1
                                    +
                                    148  endif
                                    +
                                    149  else if(s1mnem=='YCEN') then
                                    +
                                    150  if(iben<4) then
                                    +
                                    151  isbyt = 13
                                    +
                                    152  else
                                    +
                                    153  iret = -1
                                    +
                                    154  endif
                                    +
                                    155  else if(s1mnem=='CENT') then
                                    +
                                    156  if(iben<4) then
                                    +
                                    157  isbyt = 18
                                    +
                                    158  else
                                    +
                                    159  iret = -1
                                    +
                                    160  endif
                                    +
                                    161  else if(s1mnem=='MNTH') then
                                    +
                                    162  if(iben==4) then
                                    +
                                    163  isbyt = 18
                                    +
                                    164  else
                                    +
                                    165  isbyt = 14
                                    +
                                    166  endif
                                    +
                                    167  else if(s1mnem=='DAYS') then
                                    +
                                    168  if(iben==4) then
                                    +
                                    169  isbyt = 19
                                    +
                                    170  else
                                    +
                                    171  isbyt = 15
                                    +
                                    172  endif
                                    +
                                    173  else if(s1mnem=='HOUR') then
                                    +
                                    174  if(iben==4) then
                                    +
                                    175  isbyt = 20
                                    +
                                    176  else
                                    +
                                    177  isbyt = 16
                                    +
                                    178  endif
                                    +
                                    179  else if(s1mnem=='MINU') then
                                    +
                                    180  if(iben==4) then
                                    +
                                    181  isbyt = 21
                                    +
                                    182  else
                                    +
                                    183  isbyt = 17
                                    +
                                    184  endif
                                    +
                                    185  else if(s1mnem=='SECO') then
                                    +
                                    186  if(iben==4) then
                                    +
                                    187  isbyt = 22
                                    +
                                    188  else
                                    +
                                    189  iret = -1
                                    +
                                    190  endif
                                    +
                                    191  else
                                    +
                                    192  iret = -1
                                    +
                                    193  endif
                                    +
                                    194 
                                    +
                                    195  return
                                    +
                                    196 end subroutine gets1loc
                                    +
                                    197 
                                    +
                                    246 recursive integer function iupbs01(mbay,s01mnem) result(iret)
                                    +
                                    247 
                                    +
                                    248  use modv_vars, only: im8b
                                    +
                                    249 
                                    +
                                    250  implicit none
                                    +
                                    251 
                                    +
                                    252  character*(*), intent(in) :: s01mnem
                                    +
                                    253 
                                    +
                                    254  integer, intent(in) :: mbay(*)
                                    +
                                    255  integer ival, iupb, i4dy, len0, iben, isbyt, iwid, iretgs, iyoc, icen
                                    +
                                    256 
                                    +
                                    257  logical ok4cent
                                    +
                                    258 
                                    +
                                    259  ! This statement function checks whether its input value contains a valid century value.
                                    +
                                    260  ok4cent(ival) = ((ival>=19).and.(ival<=21))
                                    +
                                    261 
                                    +
                                    262  ! Check for I8 integers.
                                    +
                                    263 
                                    +
                                    264  if(im8b) then
                                    +
                                    265  im8b=.false.
                                    +
                                    266 
                                    +
                                    267  iret = iupbs01(mbay,s01mnem)
                                    +
                                    268 
                                    +
                                    269  im8b=.true.
                                    +
                                    270  return
                                    +
                                    271  endif
                                    +
                                    272 
                                    +
                                    273  ! Handle some simple requests that do not depend on the BUFR edition number.
                                    +
                                    274 
                                    +
                                    275  if(s01mnem=='LENM') then
                                    +
                                    276  iret = iupb(mbay,5,24)
                                    +
                                    277  return
                                    +
                                    278  endif
                                    +
                                    279 
                                    +
                                    280  len0 = 8
                                    +
                                    281  if(s01mnem=='LEN0') then
                                    +
                                    282  iret = len0
                                    +
                                    283  return
                                    +
                                    284  endif
                                    +
                                    285 
                                    +
                                    286  ! Get the BUFR edition number.
                                    +
                                    287 
                                    +
                                    288  iben = iupb(mbay,8,8)
                                    +
                                    289  if(s01mnem=='BEN') then
                                    +
                                    290  iret = iben
                                    +
                                    291  return
                                    +
                                    292  endif
                                    +
                                    293 
                                    +
                                    294  ! Use the BUFR edition number to handle any other requests.
                                    +
                                    295 
                                    +
                                    296  call gets1loc(s01mnem,iben,isbyt,iwid,iretgs)
                                    +
                                    297  if(iretgs==0) then
                                    +
                                    298  iret = iupb(mbay,len0+isbyt,iwid)
                                    +
                                    299  if(s01mnem=='CENT') then
                                    +
                                    300 
                                    +
                                    301  ! Test whether the returned value was a valid century value.
                                    +
                                    302 
                                    +
                                    303  if(.not.ok4cent(iret)) iret = -1
                                    +
                                    304  endif
                                    +
                                    305  else if( (s01mnem=='YEAR') .and. (iben<4) ) then
                                    +
                                    306 
                                    +
                                    307  ! Calculate the 4-digit year.
                                    +
                                    308 
                                    +
                                    309  iyoc = iupb(mbay,21,8)
                                    +
                                    310  icen = iupb(mbay,26,8)
                                    +
                                    311 
                                    +
                                    312  ! Does icen contain a valid century value?
                                    +
                                    313 
                                    +
                                    314  if(ok4cent(icen)) then
                                    +
                                    315  ! YES, so use it to calculate the 4-digit year. Note that, by international convention, the year 2000 was the 100th
                                    +
                                    316  ! year of the 20th century, and the year 2001 was the 1st year of the 21st century
                                    +
                                    317  iret = (icen-1)*100 + iyoc
                                    +
                                    318  else
                                    +
                                    319  ! NO, so use a windowing technique to determine the 4-digit year from the year of the century.
                                    +
                                    320  iret = i4dy(mod(iyoc,100)*1000000)/10**6
                                    +
                                    321  endif
                                    +
                                    322  else
                                    +
                                    323  iret = -1
                                    +
                                    324  endif
                                    +
                                    325 
                                    +
                                    326  return
                                    +
                                    327 end function iupbs01
                                    +
                                    328 
                                    +
                                    348 recursive integer function iupbs3(mbay,s3mnem) result(iret)
                                    +
                                    349 
                                    +
                                    350  use modv_vars, only: im8b
                                    +
                                    351 
                                    +
                                    352  implicit none
                                    +
                                    353 
                                    +
                                    354  character*(*), intent(in) :: s3mnem
                                    +
                                    355 
                                    +
                                    356  integer, intent(in) :: mbay(*)
                                    +
                                    357  integer len0, len1, len2, len3, l4, l5, ipt, ival, imask, iupb
                                    +
                                    358 
                                    +
                                    359  ! Check for I8 integers.
                                    +
                                    360 
                                    +
                                    361  if(im8b) then
                                    +
                                    362  im8b=.false.
                                    +
                                    363 
                                    +
                                    364  iret = iupbs3(mbay,s3mnem)
                                    +
                                    365 
                                    +
                                    366  im8b=.true.
                                    +
                                    367  return
                                    +
                                    368  endif
                                    +
                                    369 
                                    +
                                    370  ! Skip to the beginning of Section 3.
                                    +
                                    371 
                                    +
                                    372  call getlens(mbay,3,len0,len1,len2,len3,l4,l5)
                                    +
                                    373  ipt = len0 + len1 + len2
                                    +
                                    374 
                                    +
                                    375  ! Unpack the requested value.
                                    +
                                    376 
                                    +
                                    377  if(s3mnem=='NSUB') then
                                    +
                                    378  iret = iupb(mbay,ipt+5,16)
                                    +
                                    379  else if( (s3mnem=='IOBS') .or. (s3mnem=='ICMP') ) then
                                    +
                                    380  ival = iupb(mbay,ipt+7,8)
                                    +
                                    381  if(s3mnem=='IOBS') then
                                    +
                                    382  imask = 128
                                    +
                                    383  else
                                    +
                                    384  imask = 64
                                    +
                                    385  endif
                                    +
                                    386  iret = min(1,iand(ival,imask))
                                    +
                                    387  else
                                    +
                                    388  iret = -1
                                    +
                                    389  endif
                                    +
                                    390 
                                    +
                                    391  return
                                    +
                                    392 end function iupbs3
                                    +
                                    393 
                                    +
                                    442 recursive integer function iupvs01(lunit,s01mnem) result(iret)
                                    +
                                    443 
                                    +
                                    444  use modv_vars, only: im8b
                                    +
                                    445 
                                    +
                                    446  use moda_bitbuf
                                    +
                                    447 
                                    +
                                    448  implicit none
                                    +
                                    449 
                                    +
                                    450  character*(*), intent(in) :: s01mnem
                                    +
                                    451 
                                    +
                                    452  integer, intent(in) :: lunit
                                    +
                                    453  integer my_lunit, lun, ilst, imst, iupbs01
                                    +
                                    454 
                                    +
                                    455  ! Check for I8 integers
                                    +
                                    456 
                                    +
                                    457  if(im8b) then
                                    +
                                    458  im8b=.false.
                                    +
                                    459 
                                    +
                                    460  call x84(lunit,my_lunit,1)
                                    +
                                    461  iret=iupvs01(my_lunit,s01mnem)
                                    +
                                    462 
                                    +
                                    463  im8b=.true.
                                    +
                                    464  return
                                    +
                                    465  endif
                                    +
                                    466 
                                    +
                                    467  iret = -1
                                    +
                                    468 
                                    +
                                    469  ! Check the file status
                                    +
                                    470 
                                    +
                                    471  call status(lunit,lun,ilst,imst)
                                    +
                                    472  if(ilst==0) call bort('BUFRLIB: IUPVS01 - INPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR INPUT')
                                    +
                                    473  if(ilst>0) call bort('BUFRLIB: IUPVS01 - INPUT BUFR FILE IS OPEN FOR OUTPUT, IT MUST BE OPEN FOR INPUT')
                                    +
                                    474  if(imst==0) call bort('BUFRLIB: IUPVS01 - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE, NONE ARE')
                                    +
                                    475 
                                    +
                                    476  ! Unpack the requested value
                                    +
                                    477 
                                    +
                                    478  iret = iupbs01(mbay(1,lun),s01mnem)
                                    +
                                    479 
                                    +
                                    480  return
                                    +
                                    481 end function iupvs01
                                    +
                                    482 
                                    +
                                    520 recursive subroutine pkbs1(ival,mbay,s1mnem)
                                    +
                                    521 
                                    +
                                    522  use modv_vars, only: im8b
                                    +
                                    523 
                                    +
                                    524  implicit none
                                    +
                                    525 
                                    +
                                    526  character*(*), intent(in) :: s1mnem
                                    +
                                    527 
                                    +
                                    528  integer, intent(in) :: ival
                                    +
                                    529  integer, intent(inout) :: mbay(*)
                                    +
                                    530  integer my_ival, iben, isbyt, iwid, iret, iupbs01, ibit
                                    +
                                    531 
                                    +
                                    532  character*128 bort_str
                                    +
                                    533 
                                    +
                                    534  ! Check for I8 integers.
                                    +
                                    535 
                                    +
                                    536  if (im8b) then
                                    +
                                    537  im8b = .false.
                                    +
                                    538 
                                    +
                                    539  call x84(ival,my_ival,1)
                                    +
                                    540  call pkbs1(my_ival,mbay,s1mnem)
                                    +
                                    541 
                                    +
                                    542  im8b = .true.
                                    +
                                    543  return
                                    +
                                    544  end if
                                    +
                                    545 
                                    +
                                    546  iben = iupbs01(mbay,'BEN')
                                    +
                                    547 
                                    +
                                    548  ! Determine where to store the value.
                                    +
                                    549 
                                    +
                                    550  call gets1loc(s1mnem,iben,isbyt,iwid,iret)
                                    +
                                    551  if ( (iret==0) .and. &
                                    +
                                    552  ( (s1mnem=='USN') .or. (s1mnem=='BMT') .or. (s1mnem=='OGCE') .or. (s1mnem=='GSES') .or. (s1mnem=='MTYP') .or. &
                                    +
                                    553  (s1mnem=='MSBTI') .or. (s1mnem=='MSBT') .or. (s1mnem=='MTV') .or. (s1mnem=='MTVL') .or. (s1mnem=='YCEN') .or.&
                                    +
                                    554  (s1mnem=='CENT') .or. (s1mnem=='YEAR') .or. (s1mnem=='MNTH') .or. (s1mnem=='DAYS') .or. (s1mnem=='HOUR') .or.&
                                    +
                                    555  (s1mnem=='MINU') .or. (s1mnem=='SECO') ) ) then
                                    +
                                    556  ! Store the value.
                                    +
                                    557  ibit = (iupbs01(mbay,'LEN0')+isbyt-1)*8
                                    +
                                    558  call pkb(ival,iwid,mbay,ibit)
                                    +
                                    559  else
                                    +
                                    560  write(bort_str,'("BUFRLIB: PKBS1 - CANNOT OVERWRITE LOCATION CORRESPONDING TO MNEMONIC (",A,") WITHIN BUFR EDITION '// &
                                    +
                                    561  '(",I1,")")') s1mnem, iben
                                    +
                                    562  call bort(bort_str)
                                    +
                                    563  endif
                                    +
                                    564 
                                    +
                                    565  return
                                    +
                                    566 end subroutine pkbs1
                                    +
                                    567 
                                    +
                                    618 recursive subroutine pkvs01(s01mnem,ival)
                                    +
                                    619 
                                    +
                                    620  use modv_vars, only: im8b, mxs01v
                                    +
                                    621 
                                    +
                                    622  use moda_s01cm
                                    +
                                    623 
                                    +
                                    624  implicit none
                                    +
                                    625 
                                    +
                                    626  character*(*), intent(in) :: s01mnem
                                    +
                                    627 
                                    +
                                    628  integer, intent(in) :: ival
                                    +
                                    629  integer my_ival, i
                                    +
                                    630 
                                    +
                                    631  character*128 bort_str
                                    +
                                    632 
                                    +
                                    633  ! check for i8 integers
                                    +
                                    634 
                                    +
                                    635  if(im8b) then
                                    +
                                    636  im8b=.false.
                                    +
                                    637 
                                    +
                                    638  call x84(ival,my_ival,1)
                                    +
                                    639  call pkvs01(s01mnem,my_ival)
                                    +
                                    640 
                                    +
                                    641  im8b=.true.
                                    +
                                    642  return
                                    +
                                    643  endif
                                    +
                                    644 
                                    +
                                    645  ! Confirm that the arrays needed by this subroutine have already been allocated (and if not, go ahead and allocate them now),
                                    +
                                    646  ! since it's possible for this subroutine to be called before the first call to subroutine openbf().
                                    +
                                    647 
                                    +
                                    648  if ( ( .not. allocated(cmnem) ) .or. ( .not. allocated(ivmnem) ) ) then
                                    +
                                    649  call openbf(0,'FIRST',0)
                                    +
                                    650  endif
                                    +
                                    651 
                                    +
                                    652  ! If an ival has already been assigned for this particular s01mnem, then overwrite that entry in module @ref moda_s01cm
                                    +
                                    653  ! using the new ival.
                                    +
                                    654 
                                    +
                                    655  if(ns01v>0) then
                                    +
                                    656  do i=1,ns01v
                                    +
                                    657  if(s01mnem==cmnem(i)) then
                                    +
                                    658  ivmnem(i) = ival
                                    +
                                    659  return
                                    +
                                    660  endif
                                    +
                                    661  enddo
                                    +
                                    662  endif
                                    +
                                    663 
                                    +
                                    664  ! Otherwise, use the next available unused entry in module @ref moda_s01cm.
                                    +
                                    665 
                                    +
                                    666  if(ns01v>=mxs01v) then
                                    +
                                    667  write(bort_str,'("BUFRLIB: PKVS01 - CANNOT OVERWRITE MORE THAN ",I2," DIFFERENT LOCATIONS WITHIN SECTION 0 '// &
                                    +
                                    668  'OR SECTION 1")') mxs01v
                                    +
                                    669  call bort(bort_str)
                                    +
                                    670  endif
                                    +
                                    671 
                                    +
                                    672  ns01v = ns01v + 1
                                    +
                                    673  cmnem(ns01v) = s01mnem
                                    +
                                    674  ivmnem(ns01v) = ival
                                    +
                                    675 
                                    +
                                    676  return
                                    +
                                    677 end subroutine pkvs01
                                    +
                                    678 
                                    +
                                    685 subroutine reads3 ( lun )
                                    +
                                    686 
                                    +
                                    687  use bufrlib
                                    +
                                    688 
                                    +
                                    689  use modv_vars, only: maxnc, mxcnem
                                    +
                                    690 
                                    +
                                    691  use moda_sc3bfr
                                    +
                                    692  use moda_bitbuf
                                    +
                                    693  use moda_dscach
                                    +
                                    694  use moda_s3list
                                    +
                                    695 
                                    +
                                    696  implicit none
                                    +
                                    697 
                                    +
                                    698  integer, intent(in) :: lun
                                    +
                                    699  integer iprt, irepct, ireadmt, igettdi, itmp, ncds3, ii, jj, ifxy, igetntbi, n, idn
                                    +
                                    700 
                                    +
                                    701  character*6 numb, adn30
                                    +
                                    702  character*55 cseq
                                    +
                                    703  character*128 errstr
                                    +
                                    704 
                                    +
                                    705  logical incach
                                    +
                                    706 
                                    +
                                    707  common /quiet/ iprt
                                    +
                                    708 
                                    +
                                    709  save irepct
                                    +
                                    710 
                                    +
                                    711  ! Check whether the appropriate BUFR master table information has already been read into internal memory for this message.
                                    +
                                    712 
                                    +
                                    713  if ( ireadmt( lun ) == 1 ) then
                                    +
                                    714  ! NO (i.e. we just had to read in new master table information for this message), so reset some corresponding values in
                                    +
                                    715  ! other parts of the library.
                                    +
                                    716  call dxinit ( lun, 0 )
                                    +
                                    717  itmp = igettdi( 0 )
                                    +
                                    718  irepct = 0
                                    +
                                    719  ncnem = 0
                                    +
                                    720  endif
                                    +
                                    721 
                                    +
                                    722  ! Unpack the list of Section 3 descriptors from the message.
                                    +
                                    723 
                                    +
                                    724  call upds3 ( mbay(1,lun), maxnc, cds3, ncds3 )
                                    +
                                    725  do ii = 1, ncds3
                                    +
                                    726  ids3(ii) = ifxy( cds3(ii) )
                                    +
                                    727  enddo
                                    +
                                    728 
                                    +
                                    729  ! Is the list of Section 3 descriptors already in the cache?
                                    +
                                    730 
                                    +
                                    731  ! The cache is a performance-enhancing device which saves time when the same descriptor sequences are encountered over and
                                    +
                                    732  ! over within the calling program. Time is saved because the below calls to subroutines stseq_c() and makestab() are
                                    +
                                    733  ! bypassed whenever a list is already in the cache.
                                    +
                                    734 
                                    +
                                    735  incach = .false.
                                    +
                                    736  if ( ncnem > 0 ) then
                                    +
                                    737  ii = 1
                                    +
                                    738  do while ( (.not.incach) .and. (ii<=ncnem) )
                                    +
                                    739  if ( ncds3 == ndc(ii) ) then
                                    +
                                    740  jj = 1
                                    +
                                    741  incach = .true.
                                    +
                                    742  do while ( (incach) .and. (jj<=ncds3) )
                                    +
                                    743  if ( ids3(jj) == idcach(ii,jj) ) then
                                    +
                                    744  jj = jj + 1
                                    +
                                    745  else
                                    +
                                    746  incach = .false.
                                    +
                                    747  endif
                                    +
                                    748  enddo
                                    +
                                    749  if (incach) then
                                    +
                                    750 
                                    +
                                    751  ! The list is already in the cache, so store the corresponding Table A mnemonic into module @ref moda_sc3bfr and return.
                                    +
                                    752 
                                    +
                                    753  if ( iprt >= 2 ) then
                                    +
                                    754  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    755  errstr = 'BUFRLIB: READS3 - RE-USED CACHE LIST FOR ' // cnem(ii)
                                    +
                                    756  call errwrt(errstr)
                                    +
                                    757  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    758  call errwrt(' ')
                                    +
                                    759  endif
                                    +
                                    760  tamnem(lun) = cnem(ii)
                                    +
                                    761  return
                                    +
                                    762  endif
                                    +
                                    763  endif
                                    +
                                    764  ii = ii + 1
                                    +
                                    765  enddo
                                    +
                                    766  endif
                                    +
                                    767 
                                    +
                                    768  ! Get the next available index within the internal Table A.
                                    +
                                    769 
                                    +
                                    770  n = igetntbi( lun, 'A' )
                                    +
                                    771 
                                    +
                                    772  ! Generate a Table A mnemonic and sequence description.
                                    +
                                    773 
                                    +
                                    774  write ( tamnem(lun), '(A5,I3.3)') 'MSTTB', n
                                    +
                                    775  cseq = 'TABLE A MNEMONIC ' // tamnem(lun)
                                    +
                                    776 
                                    +
                                    777  ! Store the Table A mnemonic and sequence into the cache.
                                    +
                                    778 
                                    +
                                    779  ncnem = ncnem + 1
                                    +
                                    780  if ( ncnem > mxcnem ) call bort('BUFRLIB: READS3 - MXCNEM OVERFLOW')
                                    +
                                    781  cnem(ncnem) = tamnem(lun)
                                    +
                                    782  ndc(ncnem) = ncds3
                                    +
                                    783  do jj = 1, ncds3
                                    +
                                    784  idcach(ncnem,jj) = ids3(jj)
                                    +
                                    785  enddo
                                    +
                                    786  if ( iprt >= 2 ) then
                                    +
                                    787  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    788  errstr = 'BUFRLIB: READS3 - STORED CACHE LIST FOR ' // cnem(ncnem)
                                    +
                                    789  call errwrt(errstr)
                                    +
                                    790  call errwrt('+++++++++++++++++++++++++++++++++++++++++++++++++')
                                    +
                                    791  call errwrt(' ')
                                    +
                                    792  endif
                                    +
                                    793 
                                    +
                                    794  ! Get an FXY value to use with this Table A mnemonic.
                                    +
                                    795 
                                    +
                                    796  idn = igettdi( lun )
                                    +
                                    797  numb = adn30( idn, 6 )
                                    +
                                    798 
                                    +
                                    799  ! Store all of the information for this mnemonic within the internal Table A.
                                    +
                                    800 
                                    +
                                    801  call stntbia ( n, lun, numb, tamnem(lun), cseq )
                                    +
                                    802 
                                    +
                                    803  ! Store all of the information for this sequence within the internal Tables B and D.
                                    +
                                    804 
                                    +
                                    805  call stseq_c ( lun, irepct, idn, tamnem(lun), cseq, ids3, ncds3 )
                                    +
                                    806 
                                    +
                                    807  ! Update the jump/link table.
                                    +
                                    808 
                                    +
                                    809  call makestab
                                    +
                                    810 
                                    +
                                    811  return
                                    +
                                    812 end subroutine reads3
                                    +
                                    813 
                                    +
                                    828 recursive subroutine upds3(mbay,lcds3,cds3,nds3)
                                    +
                                    829 
                                    +
                                    830  use modv_vars, only: im8b
                                    +
                                    831 
                                    +
                                    832  implicit none
                                    +
                                    833 
                                    +
                                    834  integer, intent(in) :: mbay(*), lcds3
                                    +
                                    835  integer, intent(out) :: nds3
                                    +
                                    836  integer my_lcds3, len0, len1, len2, len3, l4, l5, ipt, jj, iupb
                                    +
                                    837 
                                    +
                                    838  character*6, intent(out) :: cds3(*)
                                    +
                                    839  character*6 adn30
                                    +
                                    840 
                                    +
                                    841  ! Check for I8 integers.
                                    +
                                    842 
                                    +
                                    843  if(im8b) then
                                    +
                                    844  im8b=.false.
                                    +
                                    845 
                                    +
                                    846  call x84(lcds3,my_lcds3,1)
                                    +
                                    847  call upds3(mbay,my_lcds3,cds3,nds3)
                                    +
                                    848  call x48(nds3,nds3,1)
                                    +
                                    849 
                                    +
                                    850  im8b=.true.
                                    +
                                    851  return
                                    +
                                    852  endif
                                    +
                                    853 
                                    +
                                    854  ! Skip to the beginning of Section 3.
                                    +
                                    855 
                                    +
                                    856  call getlens(mbay,3,len0,len1,len2,len3,l4,l5)
                                    +
                                    857  ipt = len0 + len1 + len2
                                    +
                                    858 
                                    +
                                    859  ! Unpack the Section 3 descriptors.
                                    +
                                    860 
                                    +
                                    861  nds3 = 0
                                    +
                                    862  do jj = 8,(len3-1),2
                                    +
                                    863  nds3 = nds3 + 1
                                    +
                                    864  if(nds3>lcds3) call bort('BUFRLIB: UPDS3 - OVERFLOW OF OUTPUT DESCRIPTOR ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY')
                                    +
                                    865  cds3(nds3) = adn30(iupb(mbay,ipt+jj,16),6)
                                    +
                                    866  enddo
                                    +
                                    867 
                                    +
                                    868  return
                                    +
                                    869 end subroutine upds3
                                    +
                                    870 
                                    +
                                    888 recursive subroutine datelen(len)
                                    +
                                    889 
                                    +
                                    890  use modv_vars, only: im8b, lendat
                                    +
                                    891 
                                    +
                                    892  implicit none
                                    +
                                    893 
                                    +
                                    894  integer, intent(in) :: len
                                    +
                                    895  integer my_len
                                    +
                                    896 
                                    +
                                    897  character*128 bort_str
                                    +
                                    898 
                                    +
                                    899  ! Check for I8 integers
                                    +
                                    900 
                                    +
                                    901  if(im8b) then
                                    +
                                    902  im8b=.false.
                                    +
                                    903 
                                    +
                                    904  call x84(len,my_len,1)
                                    +
                                    905  call datelen(my_len)
                                    +
                                    906 
                                    +
                                    907  im8b=.true.
                                    +
                                    908  return
                                    +
                                    909  endif
                                    +
                                    910 
                                    +
                                    911  if(len/=8 .and. len/=10) then
                                    +
                                    912  write(bort_str,'("BUFRLIB: DATELEN - INPUT ARGUMENT IS",I4," - IT MUST BE EITHER 8 OR 10")') len
                                    +
                                    913  call bort(bort_str)
                                    +
                                    914  endif
                                    +
                                    915  lendat = len
                                    +
                                    916 
                                    +
                                    917  return
                                    +
                                    918 end subroutine datelen
                                    +
                                    919 
                                    +
                                    936 recursive subroutine datebf(lunit,mear,mmon,mday,mour,idate)
                                    +
                                    937 
                                    +
                                    938  use modv_vars, only: im8b
                                    +
                                    939 
                                    +
                                    940  use moda_mgwa
                                    +
                                    941 
                                    +
                                    942  implicit none
                                    +
                                    943 
                                    +
                                    944  integer, intent(in) :: lunit
                                    +
                                    945  integer, intent(out) :: mear, mmon, mday, mour, idate
                                    +
                                    946  integer my_lunit, iprt, lun, jl, jm, ier, idx, idxmsg, igetdate
                                    +
                                    947 
                                    +
                                    948  character*128 errstr
                                    +
                                    949 
                                    +
                                    950  common /quiet/ iprt
                                    +
                                    951 
                                    +
                                    952  ! Check for I8 integers
                                    +
                                    953 
                                    +
                                    954  if(im8b) then
                                    +
                                    955  im8b=.false.
                                    +
                                    956 
                                    +
                                    957  call x84(lunit,my_lunit,1)
                                    +
                                    958  call datebf(my_lunit,mear,mmon,mday,mour,idate)
                                    +
                                    959  call x48(mear,mear,1)
                                    +
                                    960  call x48(mmon,mmon,1)
                                    +
                                    961  call x48(mday,mday,1)
                                    +
                                    962  call x48(mour,mour,1)
                                    +
                                    963  call x48(idate,idate,1)
                                    +
                                    964 
                                    +
                                    965  im8b=.true.
                                    +
                                    966  return
                                    +
                                    967  endif
                                    +
                                    968 
                                    +
                                    969  ! Initialization, in case openbf() hasn't been called yet.
                                    +
                                    970 
                                    +
                                    971  if ( .not. allocated(mgwa) ) call openbf(lunit,'FIRST',lunit)
                                    +
                                    972 
                                    +
                                    973  ! See if the file is already open to the library (a no-no!).
                                    +
                                    974 
                                    +
                                    975  call status(lunit,lun,jl,jm)
                                    +
                                    976  if(jl/=0) call bort ('BUFRLIB: DATEBF - INPUT BUFR FILE IS OPEN, IT MUST BE CLOSED')
                                    +
                                    977 
                                    +
                                    978  ! Read to the first data message and pick out the date.
                                    +
                                    979 
                                    +
                                    980  call openbf(lunit,'INX',lunit)
                                    +
                                    981  idx = 1
                                    +
                                    982  do while (idx==1)
                                    +
                                    983  call rdmsgw(lunit,mgwa,ier)
                                    +
                                    984  if(ier<0) then
                                    +
                                    985  if (iprt>=1) then
                                    +
                                    986  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    987  errstr = 'BUFRLIB: DATEBF - SECTION 1 DATE COULD NOT BE LOCATED - RETURN WITH IDATE = -1'
                                    +
                                    988  call errwrt(errstr)
                                    +
                                    989  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    990  call errwrt(' ')
                                    +
                                    991  endif
                                    +
                                    992  idate = -1
                                    +
                                    993  call closbf(lunit)
                                    +
                                    994  return
                                    +
                                    995  endif
                                    +
                                    996  idx = idxmsg(mgwa)
                                    +
                                    997  end do
                                    +
                                    998  idate = igetdate(mgwa,mear,mmon,mday,mour)
                                    +
                                    999  call closbf(lunit)
                                    +
                                    1000 
                                    +
                                    1001  return
                                    +
                                    1002 end subroutine datebf
                                    +
                                    1003 
                                    +
                                    1021 recursive integer function igetdate(mbay,iyr,imo,idy,ihr) result(iret)
                                    +
                                    1022 
                                    +
                                    1023  use modv_vars, only: im8b, lendat
                                    +
                                    1024 
                                    +
                                    1025  implicit none
                                    +
                                    1026 
                                    +
                                    1027  integer, intent(in) :: mbay(*)
                                    +
                                    1028  integer, intent(out) :: iyr, imo, idy, ihr
                                    +
                                    1029  integer iupbs01
                                    +
                                    1030 
                                    +
                                    1031  ! Check for I8 integers.
                                    +
                                    1032 
                                    +
                                    1033  if(im8b) then
                                    +
                                    1034  im8b=.false.
                                    +
                                    1035 
                                    +
                                    1036  iret=igetdate(mbay,iyr,imo,idy,ihr)
                                    +
                                    1037  call x48(iyr,iyr,1)
                                    +
                                    1038  call x48(imo,imo,1)
                                    +
                                    1039  call x48(idy,idy,1)
                                    +
                                    1040  call x48(ihr,ihr,1)
                                    +
                                    1041 
                                    +
                                    1042  im8b=.true.
                                    +
                                    1043  return
                                    +
                                    1044  endif
                                    +
                                    1045 
                                    +
                                    1046  iyr = iupbs01(mbay,'YEAR')
                                    +
                                    1047  imo = iupbs01(mbay,'MNTH')
                                    +
                                    1048  idy = iupbs01(mbay,'DAYS')
                                    +
                                    1049  ihr = iupbs01(mbay,'HOUR')
                                    +
                                    1050  if(lendat/=10) iyr = mod(iyr,100)
                                    +
                                    1051  iret = (iyr*1000000) + (imo*10000) + (idy*100) + ihr
                                    +
                                    1052 
                                    +
                                    1053  return
                                    +
                                    1054 end function igetdate
                                    +
                                    1055 
                                    +
                                    1069 recursive integer function i4dy(idate) result(iret)
                                    +
                                    1070 
                                    +
                                    1071  use modv_vars, only: im8b
                                    +
                                    1072 
                                    +
                                    1073  implicit none
                                    +
                                    1074 
                                    +
                                    1075  integer, intent(in) :: idate
                                    +
                                    1076  integer my_idate, iy
                                    +
                                    1077 
                                    +
                                    1078  ! Check for I8 integers.
                                    +
                                    1079 
                                    +
                                    1080  if(im8b) then
                                    +
                                    1081  im8b=.false.
                                    +
                                    1082 
                                    +
                                    1083  call x84(idate,my_idate,1)
                                    +
                                    1084  iret=i4dy(my_idate)
                                    +
                                    1085 
                                    +
                                    1086  im8b=.true.
                                    +
                                    1087  return
                                    +
                                    1088  endif
                                    +
                                    1089 
                                    +
                                    1090  if(idate<10**8) then
                                    +
                                    1091  iy = idate/10**6
                                    +
                                    1092  if(iy>40) then
                                    +
                                    1093  iret = idate + 19*100000000
                                    +
                                    1094  else
                                    +
                                    1095  iret = idate + 20*100000000
                                    +
                                    1096  endif
                                    +
                                    1097  else
                                    +
                                    1098  iret = idate
                                    +
                                    1099  endif
                                    +
                                    1100 
                                    +
                                    1101  return
                                    +
                                    1102 end function i4dy
                                    +
                                    1103 
                                    +
                                    1135 recursive subroutine dumpbf(lunit,jdate,jdump)
                                    +
                                    1136 
                                    +
                                    1137  use modv_vars, only: im8b
                                    +
                                    1138 
                                    +
                                    1139  use moda_mgwa
                                    +
                                    1140 
                                    +
                                    1141  implicit none
                                    +
                                    1142 
                                    +
                                    1143  integer, intent(in) :: lunit
                                    +
                                    1144  integer, intent(out) :: jdate(*), jdump(*)
                                    +
                                    1145  integer my_lunit, lun, jl, jm, iprt, ier, ii, igetdate, idxmsg, iupbs3, iupbs01
                                    +
                                    1146 
                                    +
                                    1147  character*128 errstr
                                    +
                                    1148 
                                    +
                                    1149  common /quiet/ iprt
                                    +
                                    1150 
                                    +
                                    1151  ! Check for I8 integers
                                    +
                                    1152 
                                    +
                                    1153  if(im8b) then
                                    +
                                    1154  im8b=.false.
                                    +
                                    1155 
                                    +
                                    1156  call x84(lunit,my_lunit,1)
                                    +
                                    1157  call dumpbf(my_lunit,jdate,jdump)
                                    +
                                    1158  call x48(jdate(1),jdate(1),5)
                                    +
                                    1159  call x48(jdump(1),jdump(1),5)
                                    +
                                    1160 
                                    +
                                    1161  im8b=.true.
                                    +
                                    1162  return
                                    +
                                    1163  endif
                                    +
                                    1164 
                                    +
                                    1165  do ii=1,5
                                    +
                                    1166  jdate(ii) = -1
                                    +
                                    1167  jdump(ii) = -1
                                    +
                                    1168  enddo
                                    +
                                    1169 
                                    +
                                    1170  ! See if the file is already open to the library (a no-no!).
                                    +
                                    1171 
                                    +
                                    1172  call status(lunit,lun,jl,jm)
                                    +
                                    1173  if(jl/=0) call bort('BUFRLIB: DUMPBF - INPUT BUFR FILE IS OPEN, IT MUST BE CLOSED')
                                    +
                                    1174  call openbf(lunit,'INX',lunit)
                                    +
                                    1175 
                                    +
                                    1176  do while (.true.)
                                    +
                                    1177  call rdmsgw(lunit,mgwa,ier)
                                    +
                                    1178  if(ier/=0) exit
                                    +
                                    1179  if(idxmsg(mgwa)==1) cycle ! Skip past any dictionary messages
                                    +
                                    1180 
                                    +
                                    1181  ! The dump center YY,MM,DD,HH,MM should be in this message, which is the first message containing zero subsets
                                    +
                                    1182  if(iupbs3(mgwa,'NSUB')/=0) exit
                                    +
                                    1183  ii = igetdate(mgwa,jdate(1),jdate(2),jdate(3),jdate(4))
                                    +
                                    1184  jdate(5) = iupbs01(mgwa,'MINU')
                                    +
                                    1185 
                                    +
                                    1186  ! The dump clock YY,MM,DD,HH,MM should be in the next message, which is the second message containing zero subsets
                                    +
                                    1187  call rdmsgw(lunit,mgwa,ier)
                                    +
                                    1188  if(ier/=0) exit
                                    +
                                    1189  if(iupbs3(mgwa,'NSUB')/=0) exit
                                    +
                                    1190  ii = igetdate(mgwa,jdump(1),jdump(2),jdump(3),jdump(4))
                                    +
                                    1191  jdump(5) = iupbs01(mgwa,'MINU')
                                    +
                                    1192 
                                    +
                                    1193  call closbf(lunit)
                                    +
                                    1194  return
                                    +
                                    1195  enddo
                                    +
                                    1196 
                                    +
                                    1197  if (iprt>=1 .and. (jdate(1)==-1.or.jdump(1)==-1)) then
                                    +
                                    1198  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1199  if(jdate(1)==-1) then
                                    +
                                    1200  errstr = 'BUFRLIB: DUMPBF - FIRST EMPTY BUFR MESSAGE SECTION 1 DATE COULD NOT BE LOCATED - RETURN WITH JDATE = 5*-1'
                                    +
                                    1201  call errwrt(errstr)
                                    +
                                    1202  endif
                                    +
                                    1203  if(jdump(1)==-1) then
                                    +
                                    1204  errstr = 'BUFRLIB: DUMPBF - SECOND EMPTY BUFR MESSAGE SECTION 1 DATE COULD NOT BE LOCATED - RETURN WITH JDUMP = 5*-1'
                                    +
                                    1205  call errwrt(errstr)
                                    +
                                    1206  endif
                                    +
                                    1207  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1208  call errwrt(' ')
                                    +
                                    1209  endif
                                    +
                                    1210 
                                    +
                                    1211  return
                                    +
                                    1212 end subroutine dumpbf
                                    +
                                    1213 
                                    +
                                    1223 recursive subroutine minimg(lunit,mini)
                                    +
                                    1224 
                                    +
                                    1225  use modv_vars, only: im8b
                                    +
                                    1226 
                                    +
                                    1227  use moda_bitbuf
                                    +
                                    1228 
                                    +
                                    1229  implicit none
                                    +
                                    1230 
                                    +
                                    1231  integer, intent(in) :: lunit, mini
                                    +
                                    1232  integer my_lunit, my_mini, lun, il, im
                                    +
                                    1233 
                                    +
                                    1234  ! Check for I8 integers.
                                    +
                                    1235 
                                    +
                                    1236  if(im8b) then
                                    +
                                    1237  im8b=.false.
                                    +
                                    1238 
                                    +
                                    1239  call x84(lunit,my_lunit,1)
                                    +
                                    1240  call x84(mini,my_mini,1)
                                    +
                                    1241  call minimg(my_lunit,my_mini)
                                    +
                                    1242 
                                    +
                                    1243  im8b=.true.
                                    +
                                    1244  return
                                    +
                                    1245  endif
                                    +
                                    1246 
                                    +
                                    1247  call status(lunit,lun,il,im)
                                    +
                                    1248  if(il==0) call bort('BUFRLIB: MINIMG - OUTPUT BUFR FILE IS CLOSED, IT MUST BE OPEN FOR OUTPUT')
                                    +
                                    1249  if(il<0) call bort('BUFRLIB: MINIMG - OUTPUT BUFR FILE IS OPEN FOR INPUT, IT MUST BE OPEN FOR OUTPUT')
                                    +
                                    1250  if(im==0) call bort('BUFRLIB: MINIMG - A MESSAGE MUST BE OPEN IN OUTPUT BUFR FILE, NONE ARE')
                                    +
                                    1251 
                                    +
                                    1252  call pkbs1(mini,mbay(1,lun),'MINU')
                                    +
                                    1253 
                                    +
                                    1254  return
                                    +
                                    1255 end subroutine minimg
                                    +
                                    1256 
                                    +
                                    1271 subroutine cktaba(lun,subset,jdate,iret)
                                    +
                                    1272 
                                    +
                                    1273  use moda_msgcwd
                                    +
                                    1274  use moda_sc3bfr
                                    +
                                    1275  use moda_unptyp
                                    +
                                    1276  use moda_bitbuf
                                    +
                                    1277 
                                    +
                                    1278  implicit none
                                    +
                                    1279 
                                    +
                                    1280  integer, intent(in) :: lun
                                    +
                                    1281  integer, intent(out) :: jdate, iret
                                    +
                                    1282  integer, parameter :: ncpfx = 3
                                    +
                                    1283  integer ibct, ipd1, ipd2, ipd3, ipd4, iprt, mtyp, msbt, mty1, msb1, isub, ksub, len0, len1, len2, len3, l4, l5, lundx, ii, &
                                    +
                                    1284  itab, inod, iad3, iad4, iyr, imo, idy, ihr, iupb, iupbs01, iupbs3, i4dy, igetdate
                                    +
                                    1285 
                                    +
                                    1286  character*128 bort_str, errstr
                                    +
                                    1287  character*8, intent(out) :: subset
                                    +
                                    1288  character*2, parameter :: cpfx(ncpfx) = (/'NC','FR','FN'/)
                                    +
                                    1289  character tab
                                    +
                                    1290 
                                    +
                                    1291  logical trybt
                                    +
                                    1292 
                                    +
                                    1293  common /padesc/ ibct, ipd1, ipd2, ipd3, ipd4
                                    +
                                    1294  common /quiet/ iprt
                                    +
                                    1295 
                                    +
                                    1296  iret = 0
                                    +
                                    1297 
                                    +
                                    1298  trybt = .true.
                                    +
                                    1299 
                                    +
                                    1300  ! Get the message type, subtype, and date from Section 1
                                    +
                                    1301 
                                    +
                                    1302  mtyp = iupbs01(mbay(1,lun),'MTYP')
                                    +
                                    1303  msbt = iupbs01(mbay(1,lun),'MSBT')
                                    +
                                    1304  jdate = igetdate(mbay(1,lun),iyr,imo,idy,ihr)
                                    +
                                    1305 
                                    +
                                    1306  if(mtyp==11) then
                                    +
                                    1307  ! This is a BUFR table (dictionary) message
                                    +
                                    1308  iret = 11
                                    +
                                    1309  ! There's no need to proceed any further unless Section 3 is being used for decoding
                                    +
                                    1310  if(isc3(lun)==0) then
                                    +
                                    1311  subset = " "
                                    +
                                    1312  return
                                    +
                                    1313  endif
                                    +
                                    1314  endif
                                    +
                                    1315 
                                    +
                                    1316  ! Get the first and second descriptors from Section 3
                                    +
                                    1317 
                                    +
                                    1318  call getlens(mbay(1,lun),3,len0,len1,len2,len3,l4,l5)
                                    +
                                    1319  iad3 = len0+len1+len2
                                    +
                                    1320  ksub = iupb(mbay(1,lun),iad3+8,16)
                                    +
                                    1321  isub = iupb(mbay(1,lun),iad3+10,16)
                                    +
                                    1322 
                                    +
                                    1323  ! Locate Section 4
                                    +
                                    1324 
                                    +
                                    1325  iad4 = iad3+len3
                                    +
                                    1326 
                                    +
                                    1327  ! Now, try to get the Table A mnemonic
                                    +
                                    1328 
                                    +
                                    1329  outer: do while (.true.)
                                    +
                                    1330 
                                    +
                                    1331  if(isc3(lun)/=0) then
                                    +
                                    1332  ! Section 3 is being used for decoding
                                    +
                                    1333  subset = tamnem(lun)
                                    +
                                    1334  call nemtbax(lun,subset,mty1,msb1,inod)
                                    +
                                    1335  if(inod>0) then
                                    +
                                    1336  mbyt(lun) = 8*(iad4+4)
                                    +
                                    1337  msgunp(lun) = 1
                                    +
                                    1338  exit outer
                                    +
                                    1339  endif
                                    +
                                    1340  endif
                                    +
                                    1341 
                                    +
                                    1342  inner: do while (.true.)
                                    +
                                    1343 
                                    +
                                    1344  call numtab(lun,isub,subset,tab,itab)
                                    +
                                    1345  call nemtbax(lun,subset,mty1,msb1,inod)
                                    +
                                    1346  if(inod>0) then
                                    +
                                    1347  ! The second descriptor in Section 3 corresponds to the Table A mnemonic, so the message contains non-standard
                                    +
                                    1348  ! NCEP extensions
                                    +
                                    1349  mbyt(lun) = (iad4+4)
                                    +
                                    1350  msgunp(lun) = 0
                                    +
                                    1351  exit outer
                                    +
                                    1352  endif
                                    +
                                    1353 
                                    +
                                    1354  call numtab(lun,ksub,subset,tab,itab)
                                    +
                                    1355  call nemtbax(lun,subset,mty1,msb1,inod)
                                    +
                                    1356  if(inod>0) then
                                    +
                                    1357  ! The first descriptor in Section 3 corresponds to the Table A mnemonic, so the message is WMO-standard
                                    +
                                    1358  mbyt(lun) = 8*(iad4+4)
                                    +
                                    1359  msgunp(lun) = 1
                                    +
                                    1360  exit outer
                                    +
                                    1361  endif
                                    +
                                    1362 
                                    +
                                    1363  ! OK, still no luck, so try "NCtttsss" (where ttt=mtyp and sss=msbt) as the Table A mnemonic, and if that doesn't work
                                    +
                                    1364  ! then also try "FRtttsss" AND "FNtttsss"
                                    +
                                    1365  ii=1
                                    +
                                    1366  do while(ii<=ncpfx)
                                    +
                                    1367  write(subset,'(A2,2I3.3)') cpfx(ii),mtyp,msbt
                                    +
                                    1368  call nemtbax(lun,subset,mty1,msb1,inod)
                                    +
                                    1369  if(inod>0) then
                                    +
                                    1370  if(ksub==ibct) then
                                    +
                                    1371  mbyt(lun) = (iad4+4)
                                    +
                                    1372  msgunp(lun) = 0
                                    +
                                    1373  else
                                    +
                                    1374  mbyt(lun) = 8*(iad4+4)
                                    +
                                    1375  msgunp(lun) = 1
                                    +
                                    1376  endif
                                    +
                                    1377  exit outer
                                    +
                                    1378  endif
                                    +
                                    1379  ii=ii+1
                                    +
                                    1380  enddo
                                    +
                                    1381 
                                    +
                                    1382  if(trybt) then
                                    +
                                    1383  ! Make one last desperate attempt by checking whether the application program contains an in-line version of
                                    +
                                    1384  ! subroutine openbt() to override the default version in the library
                                    +
                                    1385  trybt = .false.
                                    +
                                    1386  if(iprt>=1) then
                                    +
                                    1387  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                    +
                                    1388  errstr = 'BUFRLIB: CKTABA - LAST RESORT, CHECK FOR EXTERNAL BUFR TABLE VIA CALL TO IN-LINE OPENBT'
                                    +
                                    1389  call errwrt(errstr)
                                    +
                                    1390  call errwrt('++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
                                    +
                                    1391  call errwrt(' ')
                                    +
                                    1392  endif
                                    +
                                    1393  call openbt(lundx,mtyp)
                                    +
                                    1394  if(lundx>0) then
                                    +
                                    1395  ! There was an in-line replacement for the default library version of openbt(), so read DX table information from
                                    +
                                    1396  ! the specified logical unit and look for the Table A mnemonic there
                                    +
                                    1397  call rdusdx(lundx,lun)
                                    +
                                    1398  cycle inner
                                    +
                                    1399  endif
                                    +
                                    1400  endif
                                    +
                                    1401 
                                    +
                                    1402  ! Give up and report the bad news
                                    +
                                    1403  if(iprt>=0) then
                                    +
                                    1404  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1405  errstr = 'BUFRLIB: CKTABA - UNRECOGNIZED TABLE A MESSAGE TYPE (' // subset // ') - RETURN WITH IRET = -1'
                                    +
                                    1406  call errwrt(errstr)
                                    +
                                    1407  call errwrt('+++++++++++++++++++++WARNING+++++++++++++++++++++++')
                                    +
                                    1408  call errwrt(' ')
                                    +
                                    1409  endif
                                    +
                                    1410  iret = -1
                                    +
                                    1411  return
                                    +
                                    1412 
                                    +
                                    1413  enddo inner
                                    +
                                    1414 
                                    +
                                    1415  enddo outer
                                    +
                                    1416 
                                    +
                                    1417  ! Confirm the validity of the message type and subtype, and also check for compression
                                    +
                                    1418 
                                    +
                                    1419  if(isc3(lun)==0) then
                                    +
                                    1420  if(mtyp/=mty1) then
                                    +
                                    1421  write(bort_str,'("BUFRLIB: CKTABA - MESSAGE TYPE MISMATCH (SUBSET=",A8,", MTYP=",I3,", MTY1=",I3)') subset,mtyp,mty1
                                    +
                                    1422  call bort(bort_str)
                                    +
                                    1423  endif
                                    +
                                    1424  if( msbt/=msb1 .and. ( verify(subset(3:8),'1234567890') == 0 ) ) then
                                    +
                                    1425  write(bort_str,'("BUFRLIB: CKTABA - MESSAGE SUBTYPE MISMATCH (SUBSET=",A8,", MSBT=",I3,", MSB1=",I3)') subset,msbt,msb1
                                    +
                                    1426  call bort(bort_str)
                                    +
                                    1427  endif
                                    +
                                    1428  endif
                                    +
                                    1429  if(iupbs3(mbay(1,lun),'ICMP')>0) msgunp(lun) = 2
                                    +
                                    1430 
                                    +
                                    1431  ! Update values in @ref moda_msgcwd
                                    +
                                    1432 
                                    +
                                    1433  idate(lun) = i4dy(jdate)
                                    +
                                    1434  inode(lun) = inod
                                    +
                                    1435  msub(lun) = iupbs3(mbay(1,lun),'NSUB')
                                    +
                                    1436  nsub(lun) = 0
                                    +
                                    1437  if(iret/=11) nmsg(lun) = nmsg(lun)+1
                                    +
                                    1438 
                                    +
                                    1439  return
                                    +
                                    1440 end subroutine cktaba
                                    +
                                    1441 
                                    +
                                    1481 recursive subroutine mesgbc(lunin,mesgtyp,icomp)
                                    +
                                    1482 
                                    +
                                    1483  use modv_vars, only: im8b
                                    +
                                    1484 
                                    +
                                    1485  use moda_bitbuf
                                    +
                                    1486  use moda_mgwa
                                    +
                                    1487 
                                    +
                                    1488  implicit none
                                    +
                                    1489 
                                    +
                                    1490  integer, intent(in) :: lunin
                                    +
                                    1491  integer, intent(out) :: mesgtyp, icomp
                                    +
                                    1492  integer my_lunin, lunit, irec, ier, i, lun, il, im, iupbs01, iupbs3, idxmsg
                                    +
                                    1493 
                                    +
                                    1494  ! Check for I8 integers
                                    +
                                    1495 
                                    +
                                    1496  if(im8b) then
                                    +
                                    1497  im8b=.false.
                                    +
                                    1498  call x84(lunin,my_lunin,1)
                                    +
                                    1499  call mesgbc(my_lunin,mesgtyp,icomp)
                                    +
                                    1500  call x48(mesgtyp,mesgtyp,1)
                                    +
                                    1501  call x48(icomp,icomp,1)
                                    +
                                    1502  im8b=.true.
                                    +
                                    1503  return
                                    +
                                    1504  endif
                                    +
                                    1505 
                                    +
                                    1506  mesgtyp = -256
                                    +
                                    1507 
                                    +
                                    1508  lunit = abs(lunin)
                                    +
                                    1509 
                                    +
                                    1510  if(lunit==lunin) then
                                    +
                                    1511  ! Open the file, read past any DX BUFR tables and "dummy" messages, and return the first message type found
                                    +
                                    1512  irec = 0
                                    +
                                    1513  call openbf(lunit,'INX',lunit)
                                    +
                                    1514  do while (.true.)
                                    +
                                    1515  call rdmsgw(lunit,mgwa,ier)
                                    +
                                    1516  if(ier==-1) then
                                    +
                                    1517  if(irec==0) then
                                    +
                                    1518  mesgtyp = -256
                                    +
                                    1519  icomp = -3
                                    +
                                    1520  else
                                    +
                                    1521  if(mesgtyp>=0) mesgtyp = -mesgtyp
                                    +
                                    1522  icomp = -2
                                    +
                                    1523  endif
                                    +
                                    1524  call closbf(lunit)
                                    +
                                    1525  return
                                    +
                                    1526  endif
                                    +
                                    1527  irec = irec + 1
                                    +
                                    1528  mesgtyp = iupbs01(mgwa,'MTYP')
                                    +
                                    1529  if( (idxmsg(mgwa)/=1) .and. (iupbs3(mgwa,'NSUB')/=0) ) exit
                                    +
                                    1530  enddo
                                    +
                                    1531  call closbf(lunit)
                                    +
                                    1532  else
                                    +
                                    1533  ! Return message type for message currently stored in memory
                                    +
                                    1534  call status(lunit,lun,il,im)
                                    +
                                    1535  do i=1,12
                                    +
                                    1536  mgwa(i) = mbay(i,lun)
                                    +
                                    1537  enddo
                                    +
                                    1538  mesgtyp = iupbs01(mgwa,'MTYP')
                                    +
                                    1539  end if
                                    +
                                    1540 
                                    +
                                    1541  ! Set the compression switch
                                    +
                                    1542  icomp = iupbs3(mgwa,'ICMP')
                                    +
                                    1543 
                                    +
                                    1544  return
                                    +
                                    1545 end subroutine mesgbc
                                    +
                                    1546 
                                    +
                                    1570 recursive subroutine mesgbf(lunit,mesgtyp)
                                    +
                                    1571 
                                    +
                                    1572  use modv_vars, only: im8b
                                    +
                                    1573 
                                    +
                                    1574  use moda_mgwa
                                    +
                                    1575 
                                    +
                                    1576  implicit none
                                    +
                                    1577 
                                    +
                                    1578  integer, intent(in) :: lunit
                                    +
                                    1579  integer, intent(out) :: mesgtyp
                                    +
                                    1580  integer my_lunit, ier, iupbs01, idxmsg
                                    +
                                    1581 
                                    +
                                    1582  ! Check for I8 integers
                                    +
                                    1583 
                                    +
                                    1584  if(im8b) then
                                    +
                                    1585  im8b=.false.
                                    +
                                    1586  call x84(lunit,my_lunit,1)
                                    +
                                    1587  call mesgbf(my_lunit,mesgtyp)
                                    +
                                    1588  call x48(mesgtyp,mesgtyp,1)
                                    +
                                    1589  im8b=.true.
                                    +
                                    1590  return
                                    +
                                    1591  endif
                                    +
                                    1592 
                                    +
                                    1593  mesgtyp = -1
                                    +
                                    1594 
                                    +
                                    1595  call openbf(lunit,'INX',lunit)
                                    +
                                    1596 
                                    +
                                    1597  do while (.true.)
                                    +
                                    1598  call rdmsgw(lunit,mgwa,ier)
                                    +
                                    1599  if(ier==0) then
                                    +
                                    1600  mesgtyp = iupbs01(mgwa,'MTYP')
                                    +
                                    1601  if(idxmsg(mgwa)/=1) exit
                                    +
                                    1602  endif
                                    +
                                    1603  enddo
                                    +
                                    1604 
                                    +
                                    1605  call closbf(lunit)
                                    +
                                    1606 
                                    +
                                    1607  return
                                    +
                                    1608 end subroutine mesgbf
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    recursive integer function iupb(mbay, nbyt, nbit)
                                    Decode an integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:226
                                    +
                                    subroutine pkb(nval, nbits, ibay, ibit)
                                    Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
                                    Definition: ciencode.F90:140
                                    +
                                    subroutine rdusdx(lundx, lun)
                                    Read and parse a file containing a user-supplied DX BUFR table in character format,...
                                    Definition: dxtable.F90:197
                                    +
                                    subroutine nemtbax(lun, nemo, mtyp, msbt, inod)
                                    Get information about a Table A descriptor from the internal DX BUFR tables.
                                    Definition: dxtable.F90:1197
                                    +
                                    subroutine stntbia(n, lun, numb, nemo, celsq)
                                    Store a new entry within internal BUFR Table A.
                                    Definition: dxtable.F90:1560
                                    +
                                    subroutine dxinit(lun, ioi)
                                    Clear out the internal arrays (in module moda_tababd) holding the DX BUFR table, then optionally init...
                                    Definition: dxtable.F90:606
                                    +
                                    integer function idxmsg(mesg)
                                    Check whether a BUFR message contains DX BUFR tables information that was generated by the NCEPLIBS-b...
                                    Definition: dxtable.F90:1123
                                    +
                                    subroutine errwrt(str)
                                    Specify a custom location for the logging of error and diagnostic messages generated by the NCEPLIBS-...
                                    Definition: errwrt.F90:32
                                    +
                                    subroutine numtab(lun, idn, nemo, tab, iret)
                                    Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
                                    Definition: fxy.F90:357
                                    +
                                    character *(*) function adn30(idn, ldn)
                                    Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.
                                    Definition: fxy.F90:18
                                    + + +
                                    Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                    Definition: bufrlib.F90:11
                                    +
                                    Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                    +
                                    integer, dimension(:,:), allocatable mbay
                                    Current BUFR message for each file ID.
                                    +
                                    integer, dimension(:), allocatable mbyt
                                    Length (in bytes) of current BUFR message for each file ID.
                                    +
                                    Declare arrays and variables for the internal Table A mnemonic cache that is used for Section 3 decod...
                                    +
                                    character *8, dimension(:), allocatable cnem
                                    Table A mnemonics.
                                    +
                                    integer ncnem
                                    Number of entries in the internal Table A mnemonic cache (up to a maximum of mxcnem).
                                    +
                                    integer, dimension(:,:), allocatable idcach
                                    WMO bit-wise representations of the child descriptors for the corresponding Table A mnemonic in cnem.
                                    +
                                    integer, dimension(:), allocatable ndc
                                    Number of child descriptors for the corresponding Table A mnemonic in cnem.
                                    +
                                    Declare an array used by various subroutines and functions to hold a temporary working copy of a BUFR...
                                    +
                                    integer, dimension(:), allocatable mgwa
                                    Temporary working copy of BUFR message.
                                    +
                                    Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                    +
                                    integer, dimension(:), allocatable inode
                                    Table A mnemonic for type of BUFR message.
                                    +
                                    integer, dimension(:), allocatable idate
                                    Section 1 date-time of message.
                                    +
                                    integer, dimension(:), allocatable nmsg
                                    Current message pointer within logical unit.
                                    +
                                    integer, dimension(:), allocatable msub
                                    Total number of data subsets in message.
                                    +
                                    integer, dimension(:), allocatable nsub
                                    Current subset pointer within message.
                                    +
                                    Declare arrays and variables used to store custom values for certain mnemonics within Sections 0 and ...
                                    +
                                    integer, dimension(:), allocatable ivmnem
                                    Custom values for use within Sections 0 and 1 of all future output BUFR messages written to all Fortr...
                                    +
                                    integer ns01v
                                    Number of custom values stored.
                                    +
                                    character *8, dimension(:), allocatable cmnem
                                    Section 0 and 1 mnemonics corresponding to ivmnem.
                                    +
                                    Declare arrays used by various subroutines and functions to hold a temporary working copy of a Sectio...
                                    +
                                    integer, dimension(:), allocatable ids3
                                    Temporary working copy of Section 3 descriptor list in integer form.
                                    +
                                    character *6, dimension(:), allocatable cds3
                                    Temporary working copy of Section 3 descriptor list in character form.
                                    +
                                    Declare an array used to store a switch for each file ID, indicating whether BUFR messages read from ...
                                    +
                                    character *8, dimension(:), allocatable tamnem
                                    Table A mnemonic most recently read from each file ID, if isc3 = 1 for that stream.
                                    +
                                    integer, dimension(:), allocatable isc3
                                    Section 3 switch for each file ID:
                                    +
                                    Declare an array used to store, for each file ID from which a BUFR message is currently being read as...
                                    +
                                    integer, dimension(:), allocatable msgunp
                                    Flag indicating how to unpack data subsets from BUFR message:
                                    +
                                    recursive subroutine openbt(lundx, mtyp)
                                    Specify a DX BUFR table of last resort, in case subroutine cktaba() is unable to locate a DX BUFR tab...
                                    Definition: openbt.F90:31
                                    +
                                    recursive subroutine closbf(lunit)
                                    Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
                                    +
                                    recursive subroutine openbf(lunit, io, lundx)
                                    Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                    +
                                    recursive subroutine status(lunit, lun, il, im)
                                    Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                    +
                                    recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
                                    Read the section lengths of a BUFR message, up to a specified point in the message.
                                    +
                                    subroutine rdmsgw(lunit, mesg, iret)
                                    Read the next BUFR message from logical unit lunit as an array of integer words.
                                    +
                                    subroutine cktaba(lun, subset, jdate, iret)
                                    Get the Table A mnemonic from Sections 1 and 3 of a BUFR message.
                                    Definition: s013vals.F90:1272
                                    +
                                    recursive integer function iupbs01(mbay, s01mnem)
                                    Read a specified value from within Section 0 or Section 1 of a BUFR message.
                                    Definition: s013vals.F90:247
                                    +
                                    recursive subroutine datebf(lunit, mear, mmon, mday, mour, idate)
                                    Get the Section 1 date-time from the first data message of a BUFR file, bypassing any messages at the...
                                    Definition: s013vals.F90:937
                                    +
                                    recursive integer function iupvs01(lunit, s01mnem)
                                    Read a specified value from within Section 0 or 1 of a BUFR message.
                                    Definition: s013vals.F90:443
                                    +
                                    recursive subroutine pkbs1(ival, mbay, s1mnem)
                                    Write a specified value into a specified location within Section 1 of a BUFR message,...
                                    Definition: s013vals.F90:521
                                    +
                                    recursive integer function iupbs3(mbay, s3mnem)
                                    Read a specified value from within Section 3 of a BUFR message.
                                    Definition: s013vals.F90:349
                                    +
                                    recursive subroutine minimg(lunit, mini)
                                    Write a minutes value into Section 1 of the BUFR message that was most recently opened for writing vi...
                                    Definition: s013vals.F90:1224
                                    +
                                    recursive subroutine upds3(mbay, lcds3, cds3, nds3)
                                    Read the sequence of data descriptors contained within Section 3 of a BUFR message.
                                    Definition: s013vals.F90:829
                                    +
                                    recursive subroutine mesgbf(lunit, mesgtyp)
                                    Read through a BUFR file (starting from the beginning of the file) and return the message type (from ...
                                    Definition: s013vals.F90:1571
                                    +
                                    recursive subroutine gets1loc(s1mnem, iben, isbyt, iwid, iret)
                                    Get the location of a specified value within Section 1 of a BUFR message.
                                    Definition: s013vals.F90:48
                                    +
                                    recursive subroutine datelen(len)
                                    Specify the format of Section 1 date-time values that will be output by future calls to any of the NC...
                                    Definition: s013vals.F90:889
                                    +
                                    recursive subroutine dumpbf(lunit, jdate, jdump)
                                    Read the Section 1 date-time from the first two "dummy" messages of an NCEP dump file.
                                    Definition: s013vals.F90:1136
                                    +
                                    recursive subroutine mesgbc(lunin, mesgtyp, icomp)
                                    Return the message type (from Section 1) and message compression indicator (from Section 3) of a BUFR...
                                    Definition: s013vals.F90:1482
                                    +
                                    recursive subroutine pkvs01(s01mnem, ival)
                                    Specify a value to be written into a specified location within Section 0 or Section 1 of all BUFR mes...
                                    Definition: s013vals.F90:619
                                    +
                                    subroutine reads3(lun)
                                    Read the Section 3 descriptors from the BUFR message in mbay(1,lun), then use the BUFR master tables ...
                                    Definition: s013vals.F90:686
                                    +
                                    recursive integer function i4dy(idate)
                                    Convert a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year (YYYYMMDDHH) us...
                                    Definition: s013vals.F90:1070
                                    +
                                    recursive integer function igetdate(mbay, iyr, imo, idy, ihr)
                                    Get the date-time from within Section 1 of a BUFR message.
                                    Definition: s013vals.F90:1022
                                    +
                                    subroutine x48(iin4, iout8, nval)
                                    Encode one or more 4-byte integer values as 8-byte integer values.
                                    Definition: x4884.F90:18
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/search/all_0.js b/search/all_0.js index 456a31e37..ac82bc902 100644 --- a/search/all_0.js +++ b/search/all_0.js @@ -1,17 +1,16 @@ var searchData= [ - ['adn30_0',['adn30',['../adn30_8f.html#a1e96adbf45bd49facbf0ef30ae375db4',1,'adn30.f']]], - ['adn30_2ef_1',['adn30.f',['../adn30_8f.html',1,'']]], - ['arallocc_2',['arallocc',['../arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c'],['../bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c']]], - ['arallocc_2ec_3',['arallocc.c',['../arallocc_8c.html',1,'']]], - ['arallocc_5fc_4',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d',1,'bufrlib::arallocc_c::arallocc_c()'],['../interfacebufrlib_1_1arallocc__c.html',1,'bufrlib::arallocc_c']]], - ['arallocf_5',['arallocf',['../arallocf_8f.html#a2b64630033a9306be25da1f6b28d913f',1,'arallocf.f']]], - ['arallocf_2ef_6',['arallocf.f',['../arallocf_8f.html',1,'']]], - ['ardllocc_7',['ardllocc',['../bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c'],['../ardllocc_8c.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c']]], - ['ardllocc_2ec_8',['ardllocc.c',['../ardllocc_8c.html',1,'']]], - ['ardllocc_5fc_9',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e',1,'bufrlib::ardllocc_c::ardllocc_c()'],['../interfacebufrlib_1_1ardllocc__c.html',1,'bufrlib::ardllocc_c']]], - ['ardllocf_10',['ardllocf',['../ardllocf_8f.html#a7b3e4d5498fedd9e94ac45b69fc04b58',1,'ardllocf.f']]], - ['ardllocf_2ef_11',['ardllocf.f',['../ardllocf_8f.html',1,'']]], - ['atrcpt_12',['atrcpt',['../atrcpt_8f.html#aa3ebac87755e88a9f03f5e9fddda7760',1,'atrcpt.f']]], - ['atrcpt_2ef_13',['atrcpt.f',['../atrcpt_8f.html',1,'']]] + ['adn30_0',['adn30',['../fxy_8F90.html#af1ec2f8fc15418f1238413201f3e075c',1,'fxy.F90']]], + ['adsn_1',['adsn',['../modules__vars_8F90.html#a7a129734d8b06649619e8e9ee42eca62',1,'modv_vars']]], + ['apxdx_2',['apxdx',['../apxdx_8F90.html#ae072f0fa8326c098de4e6dfe2deef450',1,'apxdx.F90']]], + ['apxdx_2ef90_3',['apxdx.F90',['../apxdx_8F90.html',1,'']]], + ['arallocc_4',['arallocc',['../arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c'],['../bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c']]], + ['arallocc_2ec_5',['arallocc.c',['../arallocc_8c.html',1,'']]], + ['arallocc_5fc_6',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d',1,'bufrlib::arallocc_c::arallocc_c()'],['../interfacebufrlib_1_1arallocc__c.html',1,'bufrlib::arallocc_c']]], + ['arallocf_7',['arallocf',['../arallocf_8F90.html#a2b64630033a9306be25da1f6b28d913f',1,'arallocf.F90']]], + ['arallocf_2ef90_8',['arallocf.F90',['../arallocf_8F90.html',1,'']]], + ['ardllocc_9',['ardllocc',['../arallocc_8c.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): arallocc.c'],['../bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): arallocc.c']]], + ['ardllocc_5fc_10',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e',1,'bufrlib::ardllocc_c::ardllocc_c()'],['../interfacebufrlib_1_1ardllocc__c.html',1,'bufrlib::ardllocc_c']]], + ['ardllocf_11',['ardllocf',['../arallocf_8F90.html#a7b3e4d5498fedd9e94ac45b69fc04b58',1,'arallocf.F90']]], + ['atrcpt_12',['atrcpt',['../tankrcpt_8F90.html#adca31c0fc592e5bf04c10572b26c85b1',1,'tankrcpt.F90']]] ]; diff --git a/search/all_1.js b/search/all_1.js index 1bf0b57b2..816b4c7ea 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -1,33 +1,28 @@ var searchData= [ - ['backbufr_14',['backbufr',['../bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c'],['../cread_8c.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c']]], - ['backbufr_5fc_15',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832',1,'bufrlib::backbufr_c::backbufr_c()'],['../interfacebufrlib_1_1backbufr__c.html',1,'bufrlib::backbufr_c']]], - ['bfrini_16',['bfrini',['../bfrini_8f90.html#ab3f045cc170403305543e34e30b87001',1,'bfrini.f90']]], - ['bfrini_2ef90_17',['bfrini.f90',['../bfrini_8f90.html',1,'']]], - ['binv_18',['binv',['../binv_8f90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5',1,'binv.f90']]], - ['binv_2ef90_19',['binv.f90',['../binv_8f90.html',1,'']]], - ['blocks_20',['blocks',['../blocks_8f.html#a58e616c094fc6ddcdf5e33554105c3d4',1,'blocks.f']]], - ['blocks_2ef_21',['blocks.f',['../blocks_8f.html',1,'']]], - ['bmiss_22',['bmiss',['../namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519',1,'modv_bmiss']]], - ['bort_23',['bort',['../bort_8f.html#a488d3a8cf930fb592a9fdaefcfa04ac4',1,'bort.f']]], - ['bort_2ef_24',['bort.f',['../bort_8f.html',1,'']]], - ['bort2_25',['bort2',['../bort2_8f.html#a50f605cc96a22ffce20206c2d254b9c3',1,'bort2.f']]], - ['bort2_2ef_26',['bort2.f',['../bort2_8f.html',1,'']]], - ['bort_5fc_27',['bort_c',['../namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f',1,'bufr_c2f_interface']]], - ['bort_5fexit_28',['bort_exit',['../bort__exit_8c.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c'],['../bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c']]], - ['bort_5fexit_2ec_29',['bort_exit.c',['../bort__exit_8c.html',1,'']]], - ['bort_5fexit_5fc_30',['bort_exit_c',['../interfacebufrlib_1_1bort__exit__c.html#acd1feaa07c688929a6fb0e722df5619e',1,'bufrlib::bort_exit_c::bort_exit_c()'],['../interfacebufrlib_1_1bort__exit__c.html',1,'bufrlib::bort_exit_c']]], - ['bort_5ff_31',['bort_f',['../bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447',1,'bufrlib.h']]], - ['bufr_5fc2f_5finterface_32',['bufr_c2f_interface',['../namespacebufr__c2f__interface.html',1,'']]], - ['bufr_5fc2f_5finterface_2ef90_33',['bufr_c2f_interface.F90',['../bufr__c2f__interface_8F90.html',1,'']]], - ['bufr_5finterface_34',['bufr_interface',['../namespacebufr__interface.html',1,'']]], - ['bufr_5finterface_2ef90_35',['bufr_interface.F90',['../bufr__interface_8F90.html',1,'']]], - ['bufr_5finterface_2eh_36',['bufr_interface.h',['../bufr__interface_8h.html',1,'']]], - ['bufrlib_37',['bufrlib',['../namespacebufrlib.html',1,'']]], - ['bufrlib_2ef90_38',['bufrlib.F90',['../bufrlib_8F90.html',1,'']]], - ['bufrlib_2eh_39',['bufrlib.h',['../bufrlib_8h.html',1,'']]], - ['bvers_40',['bvers',['../bvers_8f.html#a210e17eb5b254e38f27e129304d4eae7',1,'bvers.f']]], - ['bvers_2ef_41',['bvers.f',['../bvers_8f.html',1,'']]], - ['bvers_5fc_42',['bvers_c',['../namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0',1,'bufr_c2f_interface']]], - ['bvers_5ff_43',['bvers_f',['../bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b',1,'bufr_interface.h']]] + ['backbufr_13',['backbufr',['../cread_8c.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c'],['../bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c']]], + ['backbufr_5fc_14',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832',1,'bufrlib::backbufr_c::backbufr_c()'],['../interfacebufrlib_1_1backbufr__c.html',1,'bufrlib::backbufr_c']]], + ['bfrini_15',['bfrini',['../misc_8F90.html#ab3f045cc170403305543e34e30b87001',1,'misc.F90']]], + ['binv_16',['binv',['../binv_8F90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5',1,'binv.F90']]], + ['binv_2ef90_17',['binv.F90',['../binv_8F90.html',1,'']]], + ['bitmaps_2ef90_18',['bitmaps.F90',['../bitmaps_8F90.html',1,'']]], + ['blocks_19',['blocks',['../blocks_8F90.html#a540b970b11e7da5147889d566c49b681',1,'blocks.F90']]], + ['blocks_2ef90_20',['blocks.F90',['../blocks_8F90.html',1,'']]], + ['bmiss_21',['bmiss',['../modules__vars_8F90.html#a745e8be4bf52246db47090996854736b',1,'modv_vars']]], + ['bort_22',['bort',['../borts_8F90.html#adc4659c5e9171f22248cf61e054ddd17',1,'borts.F90']]], + ['bort2_23',['bort2',['../borts_8F90.html#afef28b5a86909cc8999fad7d98b11f00',1,'borts.F90']]], + ['bort_5fc_24',['bort_c',['../namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f',1,'bufr_c2f_interface']]], + ['bort_5ff_25',['bort_f',['../bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447',1,'bufrlib.h']]], + ['borts_2ef90_26',['borts.F90',['../borts_8F90.html',1,'']]], + ['bufr_5fc2f_5finterface_27',['bufr_c2f_interface',['../namespacebufr__c2f__interface.html',1,'']]], + ['bufr_5fc2f_5finterface_2ef90_28',['bufr_c2f_interface.F90',['../bufr__c2f__interface_8F90.html',1,'']]], + ['bufr_5finterface_29',['bufr_interface',['../namespacebufr__interface.html',1,'']]], + ['bufr_5finterface_2ef90_30',['bufr_interface.F90',['../bufr__interface_8F90.html',1,'']]], + ['bufr_5finterface_2eh_31',['bufr_interface.h',['../bufr__interface_8h.html',1,'']]], + ['bufrlib_32',['bufrlib',['../namespacebufrlib.html',1,'']]], + ['bufrlib_2ef90_33',['bufrlib.F90',['../bufrlib_8F90.html',1,'']]], + ['bufrlib_2eh_34',['bufrlib.h',['../bufrlib_8h.html',1,'']]], + ['bvers_35',['bvers',['../misc_8F90.html#a76aaeb3402158be94f735c166f93a527',1,'misc.F90']]], + ['bvers_5fc_36',['bvers_c',['../namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0',1,'bufr_c2f_interface']]], + ['bvers_5ff_37',['bvers_f',['../bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b',1,'bufr_interface.h']]] ]; diff --git a/search/all_10.js b/search/all_10.js index 7f71f674b..04c5b03b7 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,62 +1,42 @@ var searchData= [ - ['rbytes_748',['rbytes',['../crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae',1,'crwbmg.c']]], - ['rcstpl_749',['rcstpl',['../rcstpl_8f.html#a6051cb3fd10cab351aaade691f06ffd1',1,'rcstpl.f']]], - ['rcstpl_2ef_750',['rcstpl.f',['../rcstpl_8f.html',1,'']]], - ['rdbfdx_751',['rdbfdx',['../rdbfdx_8f.html#a7d7beabef509022d4d98ebfb79f06dec',1,'rdbfdx.f']]], - ['rdbfdx_2ef_752',['rdbfdx.f',['../rdbfdx_8f.html',1,'']]], - ['rdcmps_753',['rdcmps',['../rdcmps_8f.html#a4592f4f71832d5bc80939cfd8095ad09',1,'rdcmps.f']]], - ['rdcmps_2ef_754',['rdcmps.f',['../rdcmps_8f.html',1,'']]], - ['rdmemm_755',['rdmemm',['../rdmemm_8f.html#acdadcefdf7f3d9e0a9271ece060ec193',1,'rdmemm.f']]], - ['rdmemm_2ef_756',['rdmemm.f',['../rdmemm_8f.html',1,'']]], - ['rdmems_757',['rdmems',['../rdmems_8f.html#a4af6fe463b8e15affa23de1f1ac4358e',1,'rdmems.f']]], - ['rdmems_2ef_758',['rdmems.f',['../rdmems_8f.html',1,'']]], - ['rdmgsb_759',['rdmgsb',['../rdmgsb_8f.html#ae4f5dbd64255fa37c9616ff72289897c',1,'rdmgsb.f']]], - ['rdmgsb_2ef_760',['rdmgsb.f',['../rdmgsb_8f.html',1,'']]], - ['rdmsgw_761',['rdmsgw',['../rdmsgw_8F90.html#ac23041847910e299fa2c89962597a312',1,'rdmsgw.F90']]], - ['rdmsgw_2ef90_762',['rdmsgw.F90',['../rdmsgw_8F90.html',1,'']]], - ['rdmtbb_763',['rdmtbb',['../rdmtbb_8f.html#a500535fb51e5caae61f0fd3627a211da',1,'rdmtbb.f']]], - ['rdmtbb_2ef_764',['rdmtbb.f',['../rdmtbb_8f.html',1,'']]], - ['rdmtbd_765',['rdmtbd',['../rdmtbd_8f.html#a46cfbed2b4e693c0bc7e4792c47d5692',1,'rdmtbd.f']]], - ['rdmtbd_2ef_766',['rdmtbd.f',['../rdmtbd_8f.html',1,'']]], - ['rdmtbf_767',['rdmtbf',['../rdmtbf_8f.html#a5ca890fe454d0615933e8b535e28ac00',1,'rdmtbf.f']]], - ['rdmtbf_2ef_768',['rdmtbf.f',['../rdmtbf_8f.html',1,'']]], - ['rdtree_769',['rdtree',['../rdtree_8f.html#a517c48e080eadc5e9a88fff47ffe4c34',1,'rdtree.f']]], - ['rdtree_2ef_770',['rdtree.f',['../rdtree_8f.html',1,'']]], - ['rdusdx_771',['rdusdx',['../rdusdx_8f.html#ab4869b52a96f03ad2eb5328e71c25764',1,'rdusdx.f']]], - ['rdusdx_2ef_772',['rdusdx.f',['../rdusdx_8f.html',1,'']]], - ['readbp_773',['readbp',['../readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b',1,'readbp.F90']]], - ['readbp_2ef90_774',['readbp.F90',['../readbp_8F90.html',1,'']]], - ['readdx_775',['readdx',['../readdx_8f.html#aa40c216c00c44fefb183a3d2641f5077',1,'readdx.f']]], - ['readdx_2ef_776',['readdx.f',['../readdx_8f.html',1,'']]], - ['readerme_777',['readerme',['../readerme_8f.html#a3d8860f8a5fe519e8d84afbe68dc67b5',1,'readerme.f']]], - ['readerme_2ef_778',['readerme.f',['../readerme_8f.html',1,'']]], - ['readlc_779',['readlc',['../readlc_8f.html#a6ab327a73098c106cbad611b396ea2f1',1,'readlc.f']]], - ['readlc_2ef_780',['readlc.f',['../readlc_8f.html',1,'']]], - ['readlc_5fc_781',['readlc_c',['../namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc',1,'bufr_c2f_interface']]], - ['readlc_5ff_782',['readlc_f',['../bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97',1,'bufr_interface.h']]], - ['readmg_783',['readmg',['../readmg_8f.html#a6471e41b4b7e505d6659c1fd45cc195d',1,'readmg.f']]], - ['readmg_2ef_784',['readmg.f',['../readmg_8f.html',1,'']]], - ['readmm_785',['readmm',['../readmm_8f.html#aa4e6aa0249e0a5d5b56698c8cd39806c',1,'readmm.f']]], - ['readmm_2ef_786',['readmm.f',['../readmm_8f.html',1,'']]], - ['readmp_787',['readmp',['../readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650',1,'readmp.F90']]], - ['readmp_2ef90_788',['readmp.F90',['../readmp_8F90.html',1,'']]], - ['readns_789',['readns',['../readns_8f.html#acfb34cc5575782a332a5490cb07ef700',1,'readns.f']]], - ['readns_2ef_790',['readns.f',['../readns_8f.html',1,'']]], - ['reads3_791',['reads3',['../reads3_8f.html#a57a4b386c104472c2df89ca9217d0d4b',1,'reads3.f']]], - ['reads3_2ef_792',['reads3.f',['../reads3_8f.html',1,'']]], - ['readsb_793',['readsb',['../readsb_8f.html#a7487962744f372041e729f0b754b7a92',1,'readsb.f']]], - ['readsb_2ef_794',['readsb.f',['../readsb_8f.html',1,'']]], - ['release_20notes_795',['Release Notes',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html',1,'']]], - ['restd_796',['restd',['../restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3',1,'restd(int lun, int tddesc, int *nctddesc, int *ctddesc): restd.c'],['../bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c',1,'restd(int lunb, int tddesc, int *nctddesc, int *ctddesc): restd.c']]], - ['restd_2ec_797',['restd.c',['../restd_8c.html',1,'']]], - ['restd_5fc_798',['restd_c',['../interfacebufrlib_1_1restd__c.html',1,'bufrlib::restd_c'],['../interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d',1,'bufrlib::restd_c::restd_c()']]], - ['rewnbf_799',['rewnbf',['../rewnbf_8f.html#a70ac3a628bb020054246ff3fb8392a96',1,'rewnbf.f']]], - ['rewnbf_2ef_800',['rewnbf.f',['../rewnbf_8f.html',1,'']]], - ['rsvfvm_801',['rsvfvm',['../rsvfvm_8f.html#a8c60cd821f7b68a7f79ebd393e58f978',1,'rsvfvm.f']]], - ['rsvfvm_2ef_802',['rsvfvm.f',['../rsvfvm_8f.html',1,'']]], - ['rtrcpt_803',['rtrcpt',['../rtrcpt_8f.html#a7bcf788ea62da2fb181b12e609a28ef4',1,'rtrcpt.f']]], - ['rtrcpt_2ef_804',['rtrcpt.f',['../rtrcpt_8f.html',1,'']]], - ['rtrcptb_805',['rtrcptb',['../rtrcptb_8f.html#a5eb0f5be603cf24d61416442d0a7444c',1,'rtrcptb.f']]], - ['rtrcptb_2ef_806',['rtrcptb.f',['../rtrcptb_8f.html',1,'']]] + ['rbytes_603',['rbytes',['../crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae',1,'crwbmg.c']]], + ['rcstpl_604',['rcstpl',['../readwritesb_8F90.html#abb101b31fac13895d22320a918215372',1,'readwritesb.F90']]], + ['rdbfdx_605',['rdbfdx',['../dxtable_8F90.html#aef89e4de1387c4bcdeda0a64e8c6d308',1,'dxtable.F90']]], + ['rdcmps_606',['rdcmps',['../compress_8F90.html#a1cb1b8bdef41e7ff3420a543e590fde8',1,'compress.F90']]], + ['rdmemm_607',['rdmemm',['../memmsgs_8F90.html#a379c2ad518735b00eecff6ddcf32b278',1,'memmsgs.F90']]], + ['rdmems_608',['rdmems',['../memmsgs_8F90.html#a2687d7372647fc32c4713c7e9eb6d268',1,'memmsgs.F90']]], + ['rdmgsb_609',['rdmgsb',['../readwritesb_8F90.html#ad3f468fd2fbb1a36ebfff82d32674953',1,'readwritesb.F90']]], + ['rdmsgw_610',['rdmsgw',['../readwritemg_8F90.html#ac23041847910e299fa2c89962597a312',1,'readwritemg.F90']]], + ['rdmtbb_611',['rdmtbb',['../mastertable_8F90.html#a62d8d7c9946282d7797030e67c737543',1,'mastertable.F90']]], + ['rdmtbd_612',['rdmtbd',['../mastertable_8F90.html#a2def0dba3a44cc77e6dd716ad8aa238f',1,'mastertable.F90']]], + ['rdmtbf_613',['rdmtbf',['../mastertable_8F90.html#acc76006ba6b47ca59a5343caacb12af9',1,'mastertable.F90']]], + ['rdtree_614',['rdtree',['../readwritesb_8F90.html#a1dab1c658cb8511cfd1cc6a360221da8',1,'readwritesb.F90']]], + ['rdusdx_615',['rdusdx',['../dxtable_8F90.html#a3c5a3be625c365b782f36c0cb772ae35',1,'dxtable.F90']]], + ['readbp_616',['readbp',['../readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b',1,'readbp.F90']]], + ['readbp_2ef90_617',['readbp.F90',['../readbp_8F90.html',1,'']]], + ['readdx_618',['readdx',['../dxtable_8F90.html#adc51a45a8d628c17cd4d749733df506b',1,'dxtable.F90']]], + ['readerme_619',['readerme',['../readwritemg_8F90.html#aa2a7bf49cad422b474a24edd3a1cb232',1,'readwritemg.F90']]], + ['readlc_620',['readlc',['../readwriteval_8F90.html#aad0d9cae550b97bc950c739ff44ca6b2',1,'readwriteval.F90']]], + ['readlc_5fc_621',['readlc_c',['../namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc',1,'bufr_c2f_interface']]], + ['readlc_5ff_622',['readlc_f',['../bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97',1,'bufr_interface.h']]], + ['readmg_623',['readmg',['../readwritemg_8F90.html#aad947e23951efbcba54930d6f309e0a8',1,'readwritemg.F90']]], + ['readmm_624',['readmm',['../memmsgs_8F90.html#a6bbcaf22a939d766b7de35ff855531c5',1,'memmsgs.F90']]], + ['readmp_625',['readmp',['../readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650',1,'readmp.F90']]], + ['readmp_2ef90_626',['readmp.F90',['../readmp_8F90.html',1,'']]], + ['readns_627',['readns',['../readwritesb_8F90.html#aeb1fdb4af8ca100d3d80c52a221f1de8',1,'readwritesb.F90']]], + ['reads3_628',['reads3',['../s013vals_8F90.html#ac96e5200de4ecc84f79caa98177e60f6',1,'s013vals.F90']]], + ['readsb_629',['readsb',['../readwritesb_8F90.html#ab4b6c52feffa76d2a4d8fab6e3547f3c',1,'readwritesb.F90']]], + ['readwritemg_2ef90_630',['readwritemg.F90',['../readwritemg_8F90.html',1,'']]], + ['readwritesb_2ef90_631',['readwritesb.F90',['../readwritesb_8F90.html',1,'']]], + ['readwriteval_2ef90_632',['readwriteval.F90',['../readwriteval_8F90.html',1,'']]], + ['release_20notes_633',['Release Notes',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html',1,'']]], + ['reps_634',['reps',['../modules__vars_8F90.html#a5b163d0f13c16e94bdac566d2495faf7',1,'modv_vars']]], + ['restd_635',['restd',['../bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c',1,'restd(int lunb, int tddesc, int *nctddesc, int *ctddesc): restd.c'],['../restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3',1,'restd(int lun, int tddesc, int *nctddesc, int *ctddesc): restd.c']]], + ['restd_2ec_636',['restd.c',['../restd_8c.html',1,'']]], + ['restd_5fc_637',['restd_c',['../interfacebufrlib_1_1restd__c.html',1,'bufrlib::restd_c'],['../interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d',1,'bufrlib::restd_c::restd_c()']]], + ['rewnbf_638',['rewnbf',['../openclosebf_8F90.html#a56b33c6538a8c0abf1b6a31584c68494',1,'openclosebf.F90']]], + ['rsvfvm_639',['rsvfvm',['../dxtable_8F90.html#a437a4acba1f5e0b3173da0cafc101e9c',1,'dxtable.F90']]], + ['rtrcpt_640',['rtrcpt',['../tankrcpt_8F90.html#a5d6fa241d34622347252bf41b73d8610',1,'tankrcpt.F90']]], + ['rtrcptb_641',['rtrcptb',['../tankrcpt_8F90.html#a9ae992beefc572ef3ae02a330b221ffa',1,'tankrcpt.F90']]] ]; diff --git a/search/all_11.js b/search/all_11.js index b5ce5d021..9ec664af4 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,65 +1,49 @@ var searchData= [ - ['satcode_807',['satcode',['../sinv_8f90.html#a4ab4fad455062f4d66f23adb61d13c7c',1,'sinv.f90']]], - ['seqsdx_808',['seqsdx',['../seqsdx_8f.html#ae2dcc6ee54e54657a7b2be4c73e8154f',1,'seqsdx.f']]], - ['seqsdx_2ef_809',['seqsdx.f',['../seqsdx_8f.html',1,'']]], - ['setblock_810',['setblock',['../setblock_8f.html#af78b606039fc7944c42bf0be875579ee',1,'setblock.f']]], - ['setblock_2ef_811',['setblock.f',['../setblock_8f.html',1,'']]], - ['setbmiss_812',['setbmiss',['../setbmiss_8f.html#a9b4bbfdb1ac28c9b42b23c81f2367647',1,'setbmiss.f']]], - ['setbmiss_2ef_813',['setbmiss.f',['../setbmiss_8f.html',1,'']]], - ['setim8b_814',['setim8b',['../setim8b_8F90.html#a156e77d86141acd042efd97146dd18cf',1,'setim8b.F90']]], - ['setim8b_2ef90_815',['setim8b.F90',['../setim8b_8F90.html',1,'']]], - ['setvalnb_816',['setvalnb',['../setvalnb_8f.html#a83372f0085cb453664147c516b69c6b3',1,'setvalnb.f']]], - ['setvalnb_2ef_817',['setvalnb.f',['../setvalnb_8f.html',1,'']]], - ['share_5ftable_5finfo_818',['share_table_info',['../namespaceshare__table__info.html',1,'']]], - ['sinv_819',['sinv',['../sinv_8f90.html#add80e304e2ffa251811ac6a19162f807',1,'sinv.f90']]], - ['sinv_2ef90_820',['sinv.f90',['../sinv_8f90.html',1,'']]], - ['sntbbe_821',['sntbbe',['../sntbbe_8f.html#ae308430ece0bc88b4f8239cfbc13fe1e',1,'sntbbe.f']]], - ['sntbbe_2ef_822',['sntbbe.f',['../sntbbe_8f.html',1,'']]], - ['sntbde_823',['sntbde',['../sntbde_8f.html#ae7338a521f1a0879429886018b9c3e00',1,'sntbde.f']]], - ['sntbde_2ef_824',['sntbde.f',['../sntbde_8f.html',1,'']]], - ['sntbfe_825',['sntbfe',['../sntbfe_8f.html#a447e4b94518009bd41934a6837bb135c',1,'sntbfe.f']]], - ['sntbfe_2ef_826',['sntbfe.f',['../sntbfe_8f.html',1,'']]], - ['sorttbf_827',['sorttbf',['../cfe_8c.html#af9bdd990bf256341aa36e1f0611132de',1,'cfe.c']]], - ['sorttbf_5fc_828',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html',1,'bufrlib::sorttbf_c'],['../interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb',1,'bufrlib::sorttbf_c::sorttbf_c()']]], - ['split_5fby_5fsubset_829',['split_by_subset',['../split__by__subset_8f90.html#ae5d45e2086aa783d8ca85e2fd47c8118',1,'split_by_subset.f90']]], - ['split_5fby_5fsubset_2ef90_830',['split_by_subset.f90',['../split__by__subset_8f90.html',1,'']]], - ['srchtbf_831',['srchtbf',['../cfe_8c.html#aba549e6acf16abcbe89193cb72d94287',1,'cfe.c']]], - ['srchtbf_5fc_832',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html',1,'bufrlib::srchtbf_c'],['../interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc',1,'bufrlib::srchtbf_c::srchtbf_c()']]], - ['status_833',['status',['../status_8f.html#a6ec202af21064f4b61058df6b5880d3e',1,'status.f']]], - ['status_2ef_834',['status.f',['../status_8f.html',1,'']]], - ['status_5fc_835',['status_c',['../namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0',1,'bufr_c2f_interface']]], - ['status_5ff_836',['status_f',['../bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d',1,'bufr_interface.h']]], - ['stbfdx_837',['stbfdx',['../stbfdx_8f.html#a35d346baad722c9be56532c38d43f8a0',1,'stbfdx.f']]], - ['stbfdx_2ef_838',['stbfdx.f',['../stbfdx_8f.html',1,'']]], - ['stdmsg_839',['stdmsg',['../stdmsg_8f.html#abcb573ae105505deb6d3c0ad55abbce2',1,'stdmsg.f']]], - ['stdmsg_2ef_840',['stdmsg.f',['../stdmsg_8f.html',1,'']]], - ['sth4wlc_841',['sth4wlc',['../namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889',1,'moda_h4wlc']]], - ['stndrd_842',['stndrd',['../stndrd_8f.html#ac1fdb2d6ec4e856eb99cfb5fef331c19',1,'stndrd.f']]], - ['stndrd_2ef_843',['stndrd.f',['../stndrd_8f.html',1,'']]], - ['stntbi_844',['stntbi',['../stntbi_8f.html#ad26b48825c877d44d1223a3f4e4051ed',1,'stntbi.f']]], - ['stntbi_2ef_845',['stntbi.f',['../stntbi_8f.html',1,'']]], - ['stntbi_5fc_846',['stntbi_c',['../namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6',1,'bufr_c2f_interface']]], - ['stntbi_5ff_847',['stntbi_f',['../bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f',1,'bufrlib.h']]], - ['stntbia_848',['stntbia',['../stntbia_8f.html#afe5b7799490cf671bd2d13730f97fa39',1,'stntbia.f']]], - ['stntbia_2ef_849',['stntbia.f',['../stntbia_8f.html',1,'']]], - ['strbtm_850',['strbtm',['../strbtm_8f.html#af07cb67caa4e62d680d319515c2ad94b',1,'strbtm.f']]], - ['strbtm_2ef_851',['strbtm.f',['../strbtm_8f.html',1,'']]], - ['strcln_852',['strcln',['../strcln_8f.html#a19c92d247281ffcad8aab45d7debb54f',1,'strcln.f']]], - ['strcln_2ef_853',['strcln.f',['../strcln_8f.html',1,'']]], - ['strcpt_854',['strcpt',['../strcpt_8f.html#a9fdadc7a2e8a73b188c9111901faaafc',1,'strcpt.f']]], - ['strcpt_2ef_855',['strcpt.f',['../strcpt_8f.html',1,'']]], - ['string_856',['string',['../string_8f.html#ad5386a1e671ead372f1c087994b68438',1,'string.f']]], - ['string_2ef_857',['string.f',['../string_8f.html',1,'']]], - ['strnum_858',['strnum',['../strnum_8F90.html#a93d704d3c84005bb12c261225445a99e',1,'strnum.F90']]], - ['strnum_2ef90_859',['strnum.F90',['../strnum_8F90.html',1,'']]], - ['strnum_5fc_860',['strnum_c',['../namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2',1,'bufr_c2f_interface']]], - ['strnum_5ff_861',['strnum_f',['../bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11',1,'bufrlib.h']]], - ['strsuc_862',['strsuc',['../strsuc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28',1,'strsuc.F90']]], - ['strsuc_2ef90_863',['strsuc.F90',['../strsuc_8F90.html',1,'']]], - ['strtbfe_864',['strtbfe',['../cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76',1,'cfe.c']]], - ['strtbfe_5fc_865',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html',1,'bufrlib::strtbfe_c'],['../interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5',1,'bufrlib::strtbfe_c::strtbfe_c()']]], - ['stseq_866',['stseq',['../stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c'],['../bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c']]], - ['stseq_2ec_867',['stseq.c',['../stseq_8c.html',1,'']]], - ['stseq_5fc_868',['stseq_c',['../interfacebufrlib_1_1stseq__c.html',1,'bufrlib::stseq_c'],['../interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870',1,'bufrlib::stseq_c::stseq_c()']]] + ['s013vals_2ef90_642',['s013vals.F90',['../s013vals_8F90.html',1,'']]], + ['satcode_643',['satcode',['../sinv_8F90.html#a4ab4fad455062f4d66f23adb61d13c7c',1,'sinv.F90']]], + ['seqsdx_644',['seqsdx',['../dxtable_8F90.html#a591d4a2752e5c69299905fb910f7fcc7',1,'dxtable.F90']]], + ['setblock_645',['setblock',['../blocks_8F90.html#a552eedeacbddeccff86792eb99dad12f',1,'blocks.F90']]], + ['setbmiss_646',['setbmiss',['../missing_8F90.html#a65fba06ac4fb69670084ee11746bdd9f',1,'missing.F90']]], + ['setim8b_647',['setim8b',['../x4884_8F90.html#a156e77d86141acd042efd97146dd18cf',1,'x4884.F90']]], + ['setvalnb_648',['setvalnb',['../readwriteval_8F90.html#ac8bbcb32a65a5acdf50e0f5d835c6ac2',1,'readwriteval.F90']]], + ['share_5ftable_5finfo_649',['share_table_info',['../namespaceshare__table__info.html',1,'']]], + ['sinv_650',['sinv',['../sinv_8F90.html#add80e304e2ffa251811ac6a19162f807',1,'sinv.F90']]], + ['sinv_2ef90_651',['sinv.F90',['../sinv_8F90.html',1,'']]], + ['sntbbe_652',['sntbbe',['../mastertable_8F90.html#a4bc18eda6239cb2cd797dc63e12060d6',1,'mastertable.F90']]], + ['sntbde_653',['sntbde',['../mastertable_8F90.html#a07132e14b98ae1942199d2f9f89f1dfd',1,'mastertable.F90']]], + ['sntbestr_654',['sntbestr',['../mastertable_8F90.html#a1a035df49f8cbaee159153af0d3fb818',1,'mastertable.F90']]], + ['sntbfe_655',['sntbfe',['../mastertable_8F90.html#a13fd8c1d3695fab378b46cd2a6c23d4c',1,'mastertable.F90']]], + ['sorttbf_656',['sorttbf',['../cfe_8c.html#af9bdd990bf256341aa36e1f0611132de',1,'cfe.c']]], + ['sorttbf_5fc_657',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html',1,'bufrlib::sorttbf_c'],['../interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb',1,'bufrlib::sorttbf_c::sorttbf_c()']]], + ['split_5fby_5fsubset_658',['split_by_subset',['../split__by__subset_8F90.html#ae5d45e2086aa783d8ca85e2fd47c8118',1,'split_by_subset.F90']]], + ['split_5fby_5fsubset_2ef90_659',['split_by_subset.F90',['../split__by__subset_8F90.html',1,'']]], + ['srchtbf_660',['srchtbf',['../cfe_8c.html#aba549e6acf16abcbe89193cb72d94287',1,'cfe.c']]], + ['srchtbf_5fc_661',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html',1,'bufrlib::srchtbf_c'],['../interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc',1,'bufrlib::srchtbf_c::srchtbf_c()']]], + ['standard_2ef90_662',['standard.F90',['../standard_8F90.html',1,'']]], + ['status_663',['status',['../openclosebf_8F90.html#abceda08f9c29378d3ddadeb46e823d00',1,'openclosebf.F90']]], + ['status_5fc_664',['status_c',['../namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0',1,'bufr_c2f_interface']]], + ['status_5ff_665',['status_f',['../bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d',1,'bufr_interface.h']]], + ['stbfdx_666',['stbfdx',['../dxtable_8F90.html#ac59d8db430cbb1cbe7ced7ebc386ef4a',1,'dxtable.F90']]], + ['stdmsg_667',['stdmsg',['../standard_8F90.html#a1f7f89920afdd318ec3ff39559c42ecd',1,'standard.F90']]], + ['sth4wlc_668',['sth4wlc',['../namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889',1,'moda_h4wlc']]], + ['stndrd_669',['stndrd',['../standard_8F90.html#a543c53880e96f04934213352ea77a7ab',1,'standard.F90']]], + ['stntbi_670',['stntbi',['../dxtable_8F90.html#aaa433680a14847a3fd64a6fa1b877211',1,'dxtable.F90']]], + ['stntbi_5fc_671',['stntbi_c',['../namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6',1,'bufr_c2f_interface']]], + ['stntbi_5ff_672',['stntbi_f',['../bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f',1,'bufrlib.h']]], + ['stntbia_673',['stntbia',['../dxtable_8F90.html#ac0b4a9cb7d5c89dfe084698b9bb4042e',1,'dxtable.F90']]], + ['strbtm_674',['strbtm',['../bitmaps_8F90.html#a81f55f4b1f740f3ac6e3f56ee0a06dee',1,'bitmaps.F90']]], + ['strcln_675',['strcln',['../strings_8F90.html#a19c92d247281ffcad8aab45d7debb54f',1,'strings.F90']]], + ['strcpt_676',['strcpt',['../tankrcpt_8F90.html#a24ba916e2d398ca162381b0d8b3f54fe',1,'tankrcpt.F90']]], + ['string_677',['string',['../strings_8F90.html#aa3112b3661ec475fe7949d9ae5bafb40',1,'strings.F90']]], + ['strings_2ef90_678',['strings.F90',['../strings_8F90.html',1,'']]], + ['strnum_679',['strnum',['../misc_8F90.html#a93d704d3c84005bb12c261225445a99e',1,'misc.F90']]], + ['strnum_5fc_680',['strnum_c',['../namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2',1,'bufr_c2f_interface']]], + ['strnum_5ff_681',['strnum_f',['../bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11',1,'bufrlib.h']]], + ['strsuc_682',['strsuc',['../misc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28',1,'misc.F90']]], + ['strtbfe_683',['strtbfe',['../cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76',1,'cfe.c']]], + ['strtbfe_5fc_684',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html',1,'bufrlib::strtbfe_c'],['../interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5',1,'bufrlib::strtbfe_c::strtbfe_c()']]], + ['stseq_685',['stseq',['../bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c'],['../stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c']]], + ['stseq_2ec_686',['stseq.c',['../stseq_8c.html',1,'']]], + ['stseq_5fc_687',['stseq_c',['../interfacebufrlib_1_1stseq__c.html',1,'bufrlib::stseq_c'],['../interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870',1,'bufrlib::stseq_c::stseq_c()']]] ]; diff --git a/search/all_12.js b/search/all_12.js index 2b894c603..aea362316 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,18 +1,17 @@ var searchData= [ - ['taba_869',['taba',['../namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65',1,'moda_tababd']]], - ['tabb_870',['tabb',['../namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c',1,'moda_tababd']]], - ['tabd_871',['tabd',['../namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c',1,'moda_tababd']]], - ['tabent_872',['tabent',['../tabent_8f.html#a93eed61bdc169fa276366154d660f959',1,'tabent.f']]], - ['tabent_2ef_873',['tabent.f',['../tabent_8f.html',1,'']]], - ['tabsub_874',['tabsub',['../tabsub_8f.html#a6ad60d6ecdf6a230ccb11e112ecc84ce',1,'tabsub.f']]], - ['tabsub_2ef_875',['tabsub.f',['../tabsub_8f.html',1,'']]], - ['tag_876',['tag',['../namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4',1,'moda_tables']]], - ['tagnrv_877',['tagnrv',['../namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de',1,'moda_nrv203']]], - ['tamnem_878',['tamnem',['../namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584',1,'moda_sc3bfr']]], - ['tbldir_5ff_879',['tbldir_f',['../namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02',1,'share_table_info']]], - ['trybump_880',['trybump',['../trybump_8f.html#a7df827415ef9d772ed5bb27bb7a82adf',1,'trybump.f']]], - ['trybump_2ef_881',['trybump.f',['../trybump_8f.html',1,'']]], - ['ttmp_882',['ttmp',['../namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e',1,'moda_ivttmp']]], - ['typ_883',['typ',['../namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c',1,'moda_tables']]] + ['taba_688',['taba',['../namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65',1,'moda_tababd']]], + ['tabb_689',['tabb',['../namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c',1,'moda_tababd']]], + ['tabd_690',['tabd',['../namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c',1,'moda_tababd']]], + ['tabent_691',['tabent',['../jumplink_8F90.html#a68d977aaaf6f7869b2048ca79723c838',1,'jumplink.F90']]], + ['tabsub_692',['tabsub',['../jumplink_8F90.html#af1d16fa71d84a333e3448d1081214d2f',1,'jumplink.F90']]], + ['tag_693',['tag',['../namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4',1,'moda_tables']]], + ['tagnrv_694',['tagnrv',['../namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de',1,'moda_nrv203']]], + ['tamnem_695',['tamnem',['../namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584',1,'moda_sc3bfr']]], + ['tankrcpt_2ef90_696',['tankrcpt.F90',['../tankrcpt_8F90.html',1,'']]], + ['tbldir_5ff_697',['tbldir_f',['../namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02',1,'share_table_info']]], + ['trybump_698',['trybump',['../readwriteval_8F90.html#a79d01683a99ab7e6a31359c00c317bd8',1,'readwriteval.F90']]], + ['ttmp_699',['ttmp',['../namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e',1,'moda_ivttmp']]], + ['typ_700',['typ',['../namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c',1,'moda_tables']]], + ['typs_701',['typs',['../modules__vars_8F90.html#a9d4bd8b03fd20102645f0a43d8867bff',1,'modv_vars']]] ]; diff --git a/search/all_13.js b/search/all_13.js index da024b4d4..2b4bcdb5f 100644 --- a/search/all_13.js +++ b/search/all_13.js @@ -1,87 +1,50 @@ var searchData= [ - ['ufbcnt_884',['ufbcnt',['../ufbcnt_8f.html#afada6ea85af96e5751b5d82d28f807d4',1,'ufbcnt.f']]], - ['ufbcnt_2ef_885',['ufbcnt.f',['../ufbcnt_8f.html',1,'']]], - ['ufbcpy_886',['ufbcpy',['../ufbcpy_8f.html#ac1f15281ef59f8b415f26ab9338a1700',1,'ufbcpy.f']]], - ['ufbcpy_2ef_887',['ufbcpy.f',['../ufbcpy_8f.html',1,'']]], - ['ufbcup_888',['ufbcup',['../ufbcup_8f.html#a634b4974ecc6ef3dfe0f4ee27084305b',1,'ufbcup.f']]], - ['ufbcup_2ef_889',['ufbcup.f',['../ufbcup_8f.html',1,'']]], - ['ufbdmp_890',['ufbdmp',['../ufbdmp_8f.html#a03f00a8e30364f2d9a29718a1296c698',1,'ufbdmp.f']]], - ['ufbdmp_2ef_891',['ufbdmp.f',['../ufbdmp_8f.html',1,'']]], - ['ufbevn_892',['ufbevn',['../ufbevn_8f.html#a630c533559c08a5e7206499d174dedeb',1,'ufbevn.f']]], - ['ufbevn_2ef_893',['ufbevn.f',['../ufbevn_8f.html',1,'']]], - ['ufbget_894',['ufbget',['../ufbget_8f.html#ac8ce7862a6f53cee02ad052d341247e4',1,'ufbget.f']]], - ['ufbget_2ef_895',['ufbget.f',['../ufbget_8f.html',1,'']]], - ['ufbin3_896',['ufbin3',['../ufbin3_8f.html#a8f7e7d94420398251429218892f6ca48',1,'ufbin3.f']]], - ['ufbin3_2ef_897',['ufbin3.f',['../ufbin3_8f.html',1,'']]], - ['ufbint_898',['ufbint',['../ufbint_8f.html#aacc479c23b54cc29eecc78d22e56916b',1,'ufbint.f']]], - ['ufbint_2ef_899',['ufbint.f',['../ufbint_8f.html',1,'']]], - ['ufbint_5fc_900',['ufbint_c',['../namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67',1,'bufr_c2f_interface']]], - ['ufbint_5ff_901',['ufbint_f',['../bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075',1,'bufr_interface.h']]], - ['ufbinx_902',['ufbinx',['../ufbinx_8f.html#a4014acd8639acf687abe1cd69efad1d4',1,'ufbinx.f']]], - ['ufbinx_2ef_903',['ufbinx.f',['../ufbinx_8f.html',1,'']]], - ['ufbmem_904',['ufbmem',['../ufbmem_8f.html#aef2048739b26a0efc96a38bda24809a4',1,'ufbmem.f']]], - ['ufbmem_2ef_905',['ufbmem.f',['../ufbmem_8f.html',1,'']]], - ['ufbmex_906',['ufbmex',['../ufbmex_8f.html#a1c3895e1770738efa9108c74d09aac41',1,'ufbmex.f']]], - ['ufbmex_2ef_907',['ufbmex.f',['../ufbmex_8f.html',1,'']]], - ['ufbmms_908',['ufbmms',['../ufbmms_8f.html#a142b387ea3b4861114dd8299375e933b',1,'ufbmms.f']]], - ['ufbmms_2ef_909',['ufbmms.f',['../ufbmms_8f.html',1,'']]], - ['ufbmns_910',['ufbmns',['../ufbmns_8f.html#a8c47d293077b6ef8a0d87a5bda532992',1,'ufbmns.f']]], - ['ufbmns_2ef_911',['ufbmns.f',['../ufbmns_8f.html',1,'']]], - ['ufbovr_912',['ufbovr',['../ufbovr_8f.html#a329577a745ed0bd9d6dcee2e3adac859',1,'ufbovr.f']]], - ['ufbovr_2ef_913',['ufbovr.f',['../ufbovr_8f.html',1,'']]], - ['ufbpos_914',['ufbpos',['../ufbpos_8f.html#a36fae2a842d9b540891fa080cc61b716',1,'ufbpos.f']]], - ['ufbpos_2ef_915',['ufbpos.f',['../ufbpos_8f.html',1,'']]], - ['ufbqcd_916',['ufbqcd',['../ufbqcd_8f.html#a65c0f87b2a9c7666057a269631f1bae7',1,'ufbqcd.f']]], - ['ufbqcd_2ef_917',['ufbqcd.f',['../ufbqcd_8f.html',1,'']]], - ['ufbqcp_918',['ufbqcp',['../ufbqcp_8f.html#a39595280220d52ec11fc213be006d8be',1,'ufbqcp.f']]], - ['ufbqcp_2ef_919',['ufbqcp.f',['../ufbqcp_8f.html',1,'']]], - ['ufbrep_920',['ufbrep',['../ufbrep_8f.html#a8dafd734f4271f895722c7750cf6e9ed',1,'ufbrep.f']]], - ['ufbrep_2ef_921',['ufbrep.f',['../ufbrep_8f.html',1,'']]], - ['ufbrep_5fc_922',['ufbrep_c',['../namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93',1,'bufr_c2f_interface']]], - ['ufbrep_5ff_923',['ufbrep_f',['../bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce',1,'bufr_interface.h']]], - ['ufbrms_924',['ufbrms',['../ufbrms_8f.html#aef165d34e315795e76a05ce6b4e79306',1,'ufbrms.f']]], - ['ufbrms_2ef_925',['ufbrms.f',['../ufbrms_8f.html',1,'']]], - ['ufbrp_926',['ufbrp',['../ufbrp_8f.html#a0caf28e523ac9dbea5d5bd592cd40b39',1,'ufbrp.f']]], - ['ufbrp_2ef_927',['ufbrp.f',['../ufbrp_8f.html',1,'']]], - ['ufbrw_928',['ufbrw',['../ufbrw_8f.html#abc239f0ea4f858cccb770bad22d04f02',1,'ufbrw.f']]], - ['ufbrw_2ef_929',['ufbrw.f',['../ufbrw_8f.html',1,'']]], - ['ufbseq_930',['ufbseq',['../ufbseq_8f.html#ad50785c4e565749fa08ec3bdddacc6fd',1,'ufbseq.f']]], - ['ufbseq_2ef_931',['ufbseq.f',['../ufbseq_8f.html',1,'']]], - ['ufbseq_5fc_932',['ufbseq_c',['../namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca',1,'bufr_c2f_interface']]], - ['ufbseq_5ff_933',['ufbseq_f',['../bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16',1,'bufr_interface.h']]], - ['ufbsp_934',['ufbsp',['../ufbsp_8f.html#a9e01a96271d067c20bac5606efd53560',1,'ufbsp.f']]], - ['ufbsp_2ef_935',['ufbsp.f',['../ufbsp_8f.html',1,'']]], - ['ufbstp_936',['ufbstp',['../ufbstp_8f.html#a2bee29e854e5de7c143b2395f2b91558',1,'ufbstp.f']]], - ['ufbstp_2ef_937',['ufbstp.f',['../ufbstp_8f.html',1,'']]], - ['ufbtab_938',['ufbtab',['../ufbtab_8f.html#a5e4e72f944670059a938e246717e5ad9',1,'ufbtab.f']]], - ['ufbtab_2ef_939',['ufbtab.f',['../ufbtab_8f.html',1,'']]], - ['ufbtam_940',['ufbtam',['../ufbtam_8f.html#ab057894a02fafc40f351dfb23707f9a1',1,'ufbtam.f']]], - ['ufbtam_2ef_941',['ufbtam.f',['../ufbtam_8f.html',1,'']]], - ['ufdump_942',['ufdump',['../ufdump_8f.html#ac6ded614847f96968e12c9600a7d51ba',1,'ufdump.f']]], - ['ufdump_2ef_943',['ufdump.f',['../ufdump_8f.html',1,'']]], - ['unit_5fstr_5flen_944',['UNIT_STR_LEN',['../bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69',1,'bufrlib.h']]], - ['up8_945',['up8',['../up8_8f.html#a9934a3d9c66ea78c7c132066798583f9',1,'up8.f']]], - ['up8_2ef_946',['up8.f',['../up8_8f.html',1,'']]], - ['upb_947',['upb',['../upb_8f.html#aae09b58b06877db63e95889f67c146c0',1,'upb.f']]], - ['upb_2ef_948',['upb.f',['../upb_8f.html',1,'']]], - ['upb8_949',['upb8',['../upb8_8f.html#a25ce428c1ae2bcb567fc2762fabf4317',1,'upb8.f']]], - ['upb8_2ef_950',['upb8.f',['../upb8_8f.html',1,'']]], - ['upbb_951',['upbb',['../upbb_8f.html#a92f5b8055d7eae17ed04e1300e741a39',1,'upbb.f']]], - ['upbb_2ef_952',['upbb.f',['../upbb_8f.html',1,'']]], - ['upc_953',['upc',['../upc_8f.html#ae2afdf50d0bf4063426faeae29515208',1,'upc.f']]], - ['upc_2ef_954',['upc.f',['../upc_8f.html',1,'']]], - ['upds3_955',['upds3',['../upds3_8f.html#ab3f8934add8a578800472069a91d33d6',1,'upds3.f']]], - ['upds3_2ef_956',['upds3.f',['../upds3_8f.html',1,'']]], - ['upftbv_957',['upftbv',['../upftbv_8f.html#a1474a49dffc36e1517bc71c734d36837',1,'upftbv.f']]], - ['upftbv_2ef_958',['upftbv.f',['../upftbv_8f.html',1,'']]], - ['ups_959',['ups',['../ups_8f.html#aea2e26fceeecb31aa90ae7811fa1c361',1,'ups.f']]], - ['ups_2ef_960',['ups.f',['../ups_8f.html',1,'']]], - ['uptdd_961',['uptdd',['../uptdd_8f.html#a560d41b7c906a6cb2dc1f53259261dd4',1,'uptdd.f']]], - ['uptdd_2ef_962',['uptdd.f',['../uptdd_8f.html',1,'']]], - ['uptdd_5fc_963',['uptdd_c',['../namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea',1,'bufr_c2f_interface']]], - ['uptdd_5ff_964',['uptdd_f',['../bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b',1,'bufrlib.h']]], - ['usrtpl_965',['usrtpl',['../usrtpl_8f.html#a677bf700a4a6f0626a41921cd66d8ed9',1,'usrtpl.f']]], - ['usrtpl_2ef_966',['usrtpl.f',['../usrtpl_8f.html',1,'']]], - ['utilities_967',['Utilities',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html',1,'']]] + ['ufbcnt_702',['ufbcnt',['../openclosebf_8F90.html#aac1b87fbbb688e4f5e2120012eaee382',1,'openclosebf.F90']]], + ['ufbcpy_703',['ufbcpy',['../copydata_8F90.html#aed892e851f07fc9bf94a2c58c809c09c',1,'copydata.F90']]], + ['ufbcup_704',['ufbcup',['../copydata_8F90.html#a6ec0c8f23e362f62f78ba314d6fa8f33',1,'copydata.F90']]], + ['ufbdmp_705',['ufbdmp',['../dumpdata_8F90.html#ad4fdbfc4ae3890133d9204a881541a1a',1,'dumpdata.F90']]], + ['ufbevn_706',['ufbevn',['../readwriteval_8F90.html#ad0c9f5c0f8e4dc0e1ebd7c685b9a5ba9',1,'readwriteval.F90']]], + ['ufbget_707',['ufbget',['../readwriteval_8F90.html#aee2899967d88055f73e4d5ad954d7b5a',1,'readwriteval.F90']]], + ['ufbin3_708',['ufbin3',['../readwriteval_8F90.html#a1ac6ef2be222bff2bab58e3f58f5d67e',1,'readwriteval.F90']]], + ['ufbint_709',['ufbint',['../readwriteval_8F90.html#a6eb38e7aa610c36787b90e50b290eea7',1,'readwriteval.F90']]], + ['ufbint_5fc_710',['ufbint_c',['../namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67',1,'bufr_c2f_interface']]], + ['ufbint_5ff_711',['ufbint_f',['../bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075',1,'bufr_interface.h']]], + ['ufbinx_712',['ufbinx',['../readwriteval_8F90.html#a1d88d30e5ee23d6d86cbfb66537b512f',1,'readwriteval.F90']]], + ['ufbmem_713',['ufbmem',['../memmsgs_8F90.html#a4959c5f16b679cf4f90b2d5dcfe74247',1,'memmsgs.F90']]], + ['ufbmex_714',['ufbmex',['../memmsgs_8F90.html#a9072ba79bf636849068780fa6467282c',1,'memmsgs.F90']]], + ['ufbmms_715',['ufbmms',['../memmsgs_8F90.html#af0432ae9b24903a84c35bcdbbab9b0f6',1,'memmsgs.F90']]], + ['ufbmns_716',['ufbmns',['../memmsgs_8F90.html#ab44b6a9dd950697675861504ccb24a83',1,'memmsgs.F90']]], + ['ufbovr_717',['ufbovr',['../readwriteval_8F90.html#a62aacb5a102aaf1ee01deef68c63cdb8',1,'readwriteval.F90']]], + ['ufbpos_718',['ufbpos',['../readwritesb_8F90.html#a178ebc9cfe70d3119632799fc3db25de',1,'readwritesb.F90']]], + ['ufbqcd_719',['ufbqcd',['../cftbvs_8F90.html#aa1388284ca8a4e435989e8a6eb551935',1,'cftbvs.F90']]], + ['ufbqcp_720',['ufbqcp',['../cftbvs_8F90.html#abf6e01afd6c876d1319e25f9d591315b',1,'cftbvs.F90']]], + ['ufbrep_721',['ufbrep',['../readwriteval_8F90.html#af46dec3ef4cc6f467323b40eb14a4024',1,'readwriteval.F90']]], + ['ufbrep_5fc_722',['ufbrep_c',['../namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93',1,'bufr_c2f_interface']]], + ['ufbrep_5ff_723',['ufbrep_f',['../bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce',1,'bufr_interface.h']]], + ['ufbrms_724',['ufbrms',['../memmsgs_8F90.html#ae3e462b1a3f2d5af01807bdcded6a745',1,'memmsgs.F90']]], + ['ufbrp_725',['ufbrp',['../readwriteval_8F90.html#a3f676e2267d902f8bc913a6d9d1a6aac',1,'readwriteval.F90']]], + ['ufbrw_726',['ufbrw',['../readwriteval_8F90.html#a543d19ccf3a36ded022cbbe8db66ee85',1,'readwriteval.F90']]], + ['ufbseq_727',['ufbseq',['../readwriteval_8F90.html#a4895b24addb0b3e23f5bd92fd891656e',1,'readwriteval.F90']]], + ['ufbseq_5fc_728',['ufbseq_c',['../namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca',1,'bufr_c2f_interface']]], + ['ufbseq_5ff_729',['ufbseq_f',['../bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16',1,'bufr_interface.h']]], + ['ufbsp_730',['ufbsp',['../readwriteval_8F90.html#a7281bf7fbd6efa3a9be946f7d63cffad',1,'readwriteval.F90']]], + ['ufbstp_731',['ufbstp',['../readwriteval_8F90.html#a921e4820b81e9f33e28a0d0452785a14',1,'readwriteval.F90']]], + ['ufbtab_732',['ufbtab',['../openclosebf_8F90.html#ae88bf9794ed98ec79e9de0faff0093af',1,'openclosebf.F90']]], + ['ufbtam_733',['ufbtam',['../memmsgs_8F90.html#aef5cd104e2b7ce86e852e4878c8efc9d',1,'memmsgs.F90']]], + ['ufdump_734',['ufdump',['../dumpdata_8F90.html#a20fa33f6e0fcb0816c4b070c73362539',1,'dumpdata.F90']]], + ['unit_5fstr_5flen_735',['UNIT_STR_LEN',['../bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69',1,'bufrlib.h']]], + ['up8_736',['up8',['../cidecode_8F90.html#a9934a3d9c66ea78c7c132066798583f9',1,'cidecode.F90']]], + ['upb_737',['upb',['../cidecode_8F90.html#a07dda20577f7480095dff261d11241f8',1,'cidecode.F90']]], + ['upb8_738',['upb8',['../cidecode_8F90.html#a25ce428c1ae2bcb567fc2762fabf4317',1,'cidecode.F90']]], + ['upbb_739',['upbb',['../cidecode_8F90.html#a243e1ab84f5a36179c0ac05056574257',1,'cidecode.F90']]], + ['upc_740',['upc',['../cidecode_8F90.html#afef1c199ce8e69b085435b74d68cd337',1,'cidecode.F90']]], + ['upds3_741',['upds3',['../s013vals_8F90.html#a7bf4d22f9bb27412a9d041f7a5d7bca6',1,'s013vals.F90']]], + ['upftbv_742',['upftbv',['../cftbvs_8F90.html#ac7a8caa03ed8a2ac40a541762ca7e917',1,'cftbvs.F90']]], + ['ups_743',['ups',['../cidecode_8F90.html#a414b81ace5368c9bb43fdd19442ebaa5',1,'cidecode.F90']]], + ['uptdd_744',['uptdd',['../dxtable_8F90.html#aeec2544ee0e0d8587c6687cda7023e54',1,'dxtable.F90']]], + ['uptdd_5fc_745',['uptdd_c',['../namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea',1,'bufr_c2f_interface']]], + ['uptdd_5ff_746',['uptdd_f',['../bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b',1,'bufrlib.h']]], + ['usrtpl_747',['usrtpl',['../readwritesb_8F90.html#a470af56bdf10d0b31292b0edac067597',1,'readwritesb.F90']]], + ['utilities_748',['Utilities',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html',1,'']]] ]; diff --git a/search/all_14.js b/search/all_14.js index 9f1d5a736..9e95b660e 100644 --- a/search/all_14.js +++ b/search/all_14.js @@ -1,8 +1,8 @@ var searchData= [ - ['val_968',['val',['../namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486',1,'moda_usrint']]], - ['vali_969',['vali',['../namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed',1,'moda_tables']]], - ['vers_5fstr_5flen_970',['VERS_STR_LEN',['../bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0',1,'bufrlib.h']]], - ['vtmp_971',['vtmp',['../namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b',1,'moda_ivttmp']]], - ['vutmp_972',['vutmp',['../namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973',1,'moda_usrtmp']]] + ['val_749',['val',['../namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486',1,'moda_usrint']]], + ['vali_750',['vali',['../namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed',1,'moda_tables']]], + ['vers_5fstr_5flen_751',['VERS_STR_LEN',['../bufr__interface_8h.html#a016503c090a3f1ecdac526a2e8f696b0',1,'bufr_interface.h']]], + ['vtmp_752',['vtmp',['../namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b',1,'moda_ivttmp']]], + ['vutmp_753',['vutmp',['../namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973',1,'moda_usrtmp']]] ]; diff --git a/search/all_15.js b/search/all_15.js index 06b0ff9c5..fb9e3aabc 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -1,28 +1,14 @@ var searchData= [ - ['wrcmps_973',['wrcmps',['../wrcmps_8f.html#a8b333832f77606059ec94ba8b80d4e8d',1,'wrcmps.f']]], - ['wrcmps_2ef_974',['wrcmps.f',['../wrcmps_8f.html',1,'']]], - ['wrdesc_975',['wrdesc',['../bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c'],['../wrdesc_8c.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c']]], - ['wrdesc_2ec_976',['wrdesc.c',['../wrdesc_8c.html',1,'']]], - ['wrdlen_977',['wrdlen',['../wrdlen_8F.html#afb746f29272671c842018de69b277685',1,'wrdlen.F']]], - ['wrdlen_2ef_978',['wrdlen.F',['../wrdlen_8F.html',1,'']]], - ['wrdlen_5fc_979',['wrdlen_c',['../namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1',1,'bufr_c2f_interface']]], - ['wrdlen_5ff_980',['wrdlen_f',['../bufrlib_8h.html#a080eec815db985d32c88720a303f53c4',1,'bufrlib.h']]], - ['wrdxtb_981',['wrdxtb',['../wrdxtb_8f.html#a89d9a5cf1716a40206ce1684c3eb9415',1,'wrdxtb.f']]], - ['wrdxtb_2ef_982',['wrdxtb.f',['../wrdxtb_8f.html',1,'']]], - ['writ1_983',['writ1',['../namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02',1,'moda_comprx']]], - ['writcp_984',['writcp',['../writcp_8f.html#a0746c543fb40ce7630bb60775ddb048f',1,'writcp.f']]], - ['writcp_2ef_985',['writcp.f',['../writcp_8f.html',1,'']]], - ['writdx_986',['writdx',['../writdx_8f.html#aeefeb67236c767bcd39c0b2bc03fa390',1,'writdx.f']]], - ['writdx_2ef_987',['writdx.f',['../writdx_8f.html',1,'']]], - ['writlc_988',['writlc',['../writlc_8f.html#a618f82746b2f00c524529cf9c477656a',1,'writlc.f']]], - ['writlc_2ef_989',['writlc.f',['../writlc_8f.html',1,'']]], - ['writsa_990',['writsa',['../writsa_8f.html#a15907b29d7777574ebc34b491e2df0ee',1,'writsa.f']]], - ['writsa_2ef_991',['writsa.f',['../writsa_8f.html',1,'']]], - ['writsb_992',['writsb',['../writsb_8f.html#a9123f1d55a95142381a9eb7402d37b05',1,'writsb.f']]], - ['writsb_2ef_993',['writsb.f',['../writsb_8f.html',1,'']]], - ['wrtree_994',['wrtree',['../wrtree_8f.html#a0700f04d89a10a24b1acb184f6022c77',1,'wrtree.f']]], - ['wrtree_2ef_995',['wrtree.f',['../wrtree_8f.html',1,'']]], - ['wtstat_996',['wtstat',['../wtstat_8f.html#a82676f83ff365e03ad827ed5ba0af1ae',1,'wtstat.f']]], - ['wtstat_2ef_997',['wtstat.f',['../wtstat_8f.html',1,'']]] + ['wrcmps_754',['wrcmps',['../compress_8F90.html#a6936aeb7f52ecaaa76047564005946d9',1,'compress.F90']]], + ['wrdesc_755',['wrdesc',['../restd_8c.html#ab9426972c9b597e6b7382b00416dd572',1,'restd.c']]], + ['wrdxtb_756',['wrdxtb',['../dxtable_8F90.html#a81ea6d2408950b5728790bc8f8c80261',1,'dxtable.F90']]], + ['writ1_757',['writ1',['../namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02',1,'moda_comprx']]], + ['writcp_758',['writcp',['../compress_8F90.html#a52810a80e6afe9d44c454fe1c81a7f81',1,'compress.F90']]], + ['writdx_759',['writdx',['../dxtable_8F90.html#ac8141d6ac66d21c3fd2be3251a6a40c3',1,'dxtable.F90']]], + ['writlc_760',['writlc',['../readwriteval_8F90.html#aecfa08f631e1af46b472c007b93b2955',1,'readwriteval.F90']]], + ['writsa_761',['writsa',['../readwritesb_8F90.html#a4b62a40d2c2860279670bf59a68e8204',1,'readwritesb.F90']]], + ['writsb_762',['writsb',['../readwritesb_8F90.html#aa2218d1cd25f8d558448bdc3061b3a04',1,'readwritesb.F90']]], + ['wrtree_763',['wrtree',['../readwritesb_8F90.html#a2324e7f253ba3ad6209d7ab0fce5bc0e',1,'readwritesb.F90']]], + ['wtstat_764',['wtstat',['../openclosebf_8F90.html#ada4363a068f7df043d75b4519c55142f',1,'openclosebf.F90']]] ]; diff --git a/search/all_16.js b/search/all_16.js index adb774717..57c9b8b49 100644 --- a/search/all_16.js +++ b/search/all_16.js @@ -1,9 +1,8 @@ var searchData= [ - ['x48_998',['x48',['../x48_8F.html#a268214fc42b428a9fb25656b5d6a4eb3',1,'x48.F']]], - ['x48_2ef_999',['x48.F',['../x48_8F.html',1,'']]], - ['x84_1000',['x84',['../x84_8F.html#a26ff906219363c677693bd4de86c5912',1,'x84.F']]], - ['x84_2ef_1001',['x84.F',['../x84_8F.html',1,'']]], - ['xbfmg_2ec_1002',['xbfmg.c',['../xbfmg_8c.html',1,'']]], - ['xtab_1003',['xtab',['../namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d',1,'moda_xtab']]] + ['x48_765',['x48',['../x4884_8F90.html#a5b19b8932da48639e6bcaeefc4d03bfb',1,'x4884.F90']]], + ['x4884_2ef90_766',['x4884.F90',['../x4884_8F90.html',1,'']]], + ['x84_767',['x84',['../x4884_8F90.html#aa1e012dbd8da45797592cc65a399d71d',1,'x4884.F90']]], + ['xbfmg_2ec_768',['xbfmg.c',['../xbfmg_8c.html',1,'']]], + ['xtab_769',['xtab',['../namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d',1,'moda_xtab']]] ]; diff --git a/search/all_2.js b/search/all_2.js index 014b845b1..fc9e3aa72 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -1,101 +1,93 @@ var searchData= [ - ['cadn30_44',['cadn30',['../cadn30_8f.html#a62b50a0be6585c53b6604953e5f39ad1',1,'cadn30.f']]], - ['cadn30_2ef_45',['cadn30.f',['../cadn30_8f.html',1,'']]], - ['cadn30_5fc_46',['cadn30_c',['../namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5',1,'bufr_c2f_interface']]], - ['cadn30_5ff_47',['cadn30_f',['../bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9',1,'bufrlib.h']]], - ['capit_48',['capit',['../capit_8f.html#acade976948fae8afa1a8301ff9272f56',1,'capit.f']]], - ['capit_2ef_49',['capit.f',['../capit_8f.html',1,'']]], - ['catx_50',['catx',['../namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937',1,'moda_comprs']]], - ['cbbw_51',['cbbw',['../namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a',1,'moda_mstabs']]], - ['cbbw_5fc_52',['cbbw_c',['../mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0',1,'mstabs.h']]], - ['cbelem_53',['cbelem',['../namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7',1,'moda_mstabs']]], - ['cbelem_5fc_54',['cbelem_c',['../mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d',1,'mstabs.h']]], - ['cbmnem_55',['cbmnem',['../namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa',1,'moda_mstabs']]], - ['cbmnem_5fc_56',['cbmnem_c',['../mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b',1,'mstabs.h']]], - ['cbscl_57',['cbscl',['../namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea',1,'moda_mstabs']]], - ['cbscl_5fc_58',['cbscl_c',['../mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47',1,'mstabs.h']]], - ['cbsref_59',['cbsref',['../namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0',1,'moda_mstabs']]], - ['cbsref_5fc_60',['cbsref_c',['../mstabs_8h.html#a944736d6f549e144e77482a27d57d54f',1,'mstabs.h']]], - ['cbunit_61',['cbunit',['../namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b',1,'moda_mstabs']]], - ['cbunit_5fc_62',['cbunit_c',['../mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc',1,'mstabs.h']]], - ['ccbfl_63',['ccbfl',['../crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c'],['../bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c']]], - ['ccbfl_5fc_64',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html',1,'bufr_interface::ccbfl_c'],['../interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8',1,'bufr_interface::ccbfl_c::ccbfl_c()']]], - ['cdmnem_65',['cdmnem',['../namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168',1,'moda_mstabs']]], - ['cdmnem_5fc_66',['cdmnem_c',['../mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51',1,'mstabs.h']]], - ['cdseq_67',['cdseq',['../namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7',1,'moda_mstabs']]], - ['cdseq_5fc_68',['cdseq_c',['../mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2',1,'mstabs.h']]], - ['ceelem_69',['ceelem',['../namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653',1,'moda_rdmtb']]], - ['cewind_70',['cewind',['../cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c'],['../bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c']]], - ['cewind_5fc_71',['cewind_c',['../interfacebufrlib_1_1cewind__c.html',1,'bufrlib::cewind_c'],['../interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b',1,'bufrlib::cewind_c::cewind_c()']]], - ['cfe_72',['cfe',['../cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16',1,'cfe.c']]], - ['cfe_2ec_73',['cfe.c',['../cfe_8c.html',1,'']]], - ['chekstab_74',['chekstab',['../chekstab_8f.html#aab7a156a89f4b58d3ef31ab946485e50',1,'chekstab.f']]], - ['chekstab_2ef_75',['chekstab.f',['../chekstab_8f.html',1,'']]], - ['chh4wlc_76',['chh4wlc',['../namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75',1,'moda_h4wlc']]], - ['cktaba_77',['cktaba',['../cktaba_8f.html#a137108e58830be769ba5b28072cf1b4c',1,'cktaba.f']]], - ['cktaba_2ef_78',['cktaba.f',['../cktaba_8f.html',1,'']]], - ['closbf_79',['closbf',['../closbf_8f.html#ad55dd3a551ae12718de0ac459c8f45c0',1,'closbf.f']]], - ['closbf_2ef_80',['closbf.f',['../closbf_8f.html',1,'']]], - ['closbf_5fc_81',['closbf_c',['../namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d',1,'bufr_c2f_interface']]], - ['closbf_5ff_82',['closbf_f',['../bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a',1,'bufr_interface.h']]], - ['close_5fc_83',['close_c',['../namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3',1,'bufr_c2f_interface']]], - ['close_5ff_84',['close_f',['../bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249',1,'bufr_interface.h']]], - ['closfb_85',['closfb',['../cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c'],['../bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c']]], - ['closfb_5fc_86',['closfb_c',['../interfacebufrlib_1_1closfb__c.html',1,'bufrlib::closfb_c'],['../interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f',1,'bufrlib::closfb_c::closfb_c()']]], - ['closmg_87',['closmg',['../closmg_8f.html#a613caf939b486d5820aad9111383921b',1,'closmg.f']]], - ['closmg_2ef_88',['closmg.f',['../closmg_8f.html',1,'']]], - ['cmdscb_89',['cmdscb',['../namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055',1,'moda_rdmtb']]], - ['cmdscd_90',['cmdscd',['../namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f',1,'moda_rdmtb']]], - ['cmnem_91',['cmnem',['../namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7',1,'moda_s01cm']]], - ['cmpbqm_92',['cmpbqm',['../cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da',1,'cmpbqm.F90']]], - ['cmpbqm_2ef90_93',['cmpbqm.F90',['../cmpbqm_8F90.html',1,'']]], - ['cmpia_94',['cmpia',['../stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29',1,'stseq.c']]], - ['cmpmsg_95',['cmpmsg',['../cmpmsg_8f.html#a75b2d1dfd1dedb519205399a8087fd56',1,'cmpmsg.f']]], - ['cmpmsg_2ef_96',['cmpmsg.f',['../cmpmsg_8f.html',1,'']]], - ['cmpmsg_5ff_97',['cmpmsg_f',['../bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128',1,'bufr_interface.h']]], - ['cmpstia1_98',['cmpstia1',['../cfe_8c.html#a7211d196317c36365a40a128875d5041',1,'cfe.c']]], - ['cmpstia2_99',['cmpstia2',['../cfe_8c.html#a54e09962aa43b61717212a2702be33c8',1,'cfe.c']]], - ['cmsgini_100',['cmsgini',['../cmsgini_8f.html#ace74c243976a7546e92121317b36f9de',1,'cmsgini.f']]], - ['cmsgini_2ef_101',['cmsgini.f',['../cmsgini_8f.html',1,'']]], - ['cnem_102',['cnem',['../namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a',1,'moda_dscach']]], - ['cnved4_103',['cnved4',['../cnved4_8f.html#a7d89a1cf9282ca0f978a4da923369226',1,'cnved4.f']]], - ['cnved4_2ef_104',['cnved4.f',['../cnved4_8f.html',1,'']]], - ['cobfl_105',['cobfl',['../bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c'],['../crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c']]], - ['cobfl_5fc_106',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html',1,'bufr_interface::cobfl_c'],['../interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e',1,'bufr_interface::cobfl_c::cobfl_c()']]], - ['codflg_107',['codflg',['../codflg_8f.html#af415643ef31f484c879e7a770fa69ff9',1,'codflg.f']]], - ['codflg_2ef_108',['codflg.f',['../codflg_8f.html',1,'']]], - ['conwin_109',['conwin',['../conwin_8f.html#a550d792705db407874c5eedd94a603aa',1,'conwin.f']]], - ['conwin_2ef_110',['conwin.f',['../conwin_8f.html',1,'']]], - ['copybf_111',['copybf',['../copybf_8f.html#a598d71f903b83187540ce568459cd8a0',1,'copybf.f']]], - ['copybf_2ef_112',['copybf.f',['../copybf_8f.html',1,'']]], - ['copymg_113',['copymg',['../copymg_8f.html#a2f6e668a0784a60fa7aa078d10223590',1,'copymg.f']]], - ['copymg_2ef_114',['copymg.f',['../copymg_8f.html',1,'']]], - ['copysb_115',['copysb',['../copysb_8f.html#a7982baa3c1084a33dfa8aec297782978',1,'copysb.f']]], - ['copysb_2ef_116',['copysb.f',['../copysb_8f.html',1,'']]], - ['cpbfdx_117',['cpbfdx',['../cpbfdx_8f.html#a3ab4a857b6a0b1e03f6cb2058712279a',1,'cpbfdx.f']]], - ['cpbfdx_2ef_118',['cpbfdx.f',['../cpbfdx_8f.html',1,'']]], - ['cpdxmm_119',['cpdxmm',['../cpdxmm_8f.html#a48f353028fb8bf77255b4dae476b9da7',1,'cpdxmm.f']]], - ['cpdxmm_2ef_120',['cpdxmm.f',['../cpdxmm_8f.html',1,'']]], - ['cpmstabs_121',['cpmstabs',['../cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c',1,'cpmstabs.c']]], - ['cpmstabs_2ec_122',['cpmstabs.c',['../cpmstabs_8c.html',1,'']]], - ['cpmstabs_5fc_123',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html',1,'bufrlib::cpmstabs_c'],['../interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d',1,'bufrlib::cpmstabs_c::cpmstabs_c()']]], - ['cpymem_124',['cpymem',['../cpymem_8f.html#abf683322bb0f02c5fe1d2aed27c997a9',1,'cpymem.f']]], - ['cpymem_2ef_125',['cpymem.f',['../cpymem_8f.html',1,'']]], - ['cpyupd_126',['cpyupd',['../cpyupd_8f.html#a129651d2e47b6c8986c1fc4dd73d87c9',1,'cpyupd.f']]], - ['cpyupd_2ef_127',['cpyupd.f',['../cpyupd_8f.html',1,'']]], - ['crbmg_128',['crbmg',['../bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c']]], - ['crbmg_5fc_129',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html',1,'bufr_interface::crbmg_c'],['../interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311',1,'bufr_interface::crbmg_c::crbmg_c()']]], - ['crdbufr_130',['crdbufr',['../cread_8c.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c'],['../bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c']]], - ['crdbufr_5fc_131',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html',1,'bufrlib::crdbufr_c'],['../interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9',1,'bufrlib::crdbufr_c::crdbufr_c()']]], - ['cread_2ec_132',['cread.c',['../cread_8c.html',1,'']]], - ['cread_2eh_133',['cread.h',['../cread_8h.html',1,'']]], - ['crtag_134',['crtag',['../namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1',1,'moda_rlccmn']]], - ['crwbmg_2ec_135',['crwbmg.c',['../crwbmg_8c.html',1,'']]], - ['cstr_136',['cstr',['../namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf',1,'moda_comprx']]], - ['ctco_137',['ctco',['../namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753',1,'moda_bitmaps']]], - ['cwbmg_138',['cwbmg',['../bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c']]], - ['cwbmg_5fc_139',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html',1,'bufr_interface::cwbmg_c'],['../interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113',1,'bufr_interface::cwbmg_c::cwbmg_c()']]], - ['cwrbufr_140',['cwrbufr',['../cread_8c.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c'],['../bufrlib_8h.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c']]], - ['cwrbufr_5fc_141',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html',1,'bufrlib::cwrbufr_c'],['../interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978',1,'bufrlib::cwrbufr_c::cwrbufr_c()']]] + ['cadn30_38',['cadn30',['../fxy_8F90.html#a438b8634d4f1308ee086a8f323662d2c',1,'fxy.F90']]], + ['cadn30_5fc_39',['cadn30_c',['../namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5',1,'bufr_c2f_interface']]], + ['cadn30_5ff_40',['cadn30_f',['../bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9',1,'bufrlib.h']]], + ['capit_41',['capit',['../misc_8F90.html#abb1e33496bab2eb5a1c93f44173f57ea',1,'misc.F90']]], + ['catx_42',['catx',['../namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937',1,'moda_comprs']]], + ['cbbw_43',['cbbw',['../namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a',1,'moda_mstabs']]], + ['cbbw_5fc_44',['cbbw_c',['../mstabs_8h.html#aa0f8eb7c3a1ca9a66a0933d97a3422ab',1,'mstabs.h']]], + ['cbelem_45',['cbelem',['../namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7',1,'moda_mstabs']]], + ['cbelem_5fc_46',['cbelem_c',['../mstabs_8h.html#a19c8207a7b2c18f50438f51f066bad7b',1,'mstabs.h']]], + ['cbmnem_47',['cbmnem',['../namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa',1,'moda_mstabs']]], + ['cbmnem_5fc_48',['cbmnem_c',['../mstabs_8h.html#a7c0149a5419b96753491953e92ce35b0',1,'mstabs.h']]], + ['cbscl_49',['cbscl',['../namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea',1,'moda_mstabs']]], + ['cbscl_5fc_50',['cbscl_c',['../mstabs_8h.html#a49e37dddeae6e1e71da2444d40c6d232',1,'mstabs.h']]], + ['cbsref_51',['cbsref',['../namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0',1,'moda_mstabs']]], + ['cbsref_5fc_52',['cbsref_c',['../mstabs_8h.html#a1209038da13334a450146c0caa5ae9ad',1,'mstabs.h']]], + ['cbunit_53',['cbunit',['../namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b',1,'moda_mstabs']]], + ['cbunit_5fc_54',['cbunit_c',['../mstabs_8h.html#a558051c0c39c5c6181019fb4231797d1',1,'mstabs.h']]], + ['ccbfl_55',['ccbfl',['../bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c'],['../crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c']]], + ['ccbfl_5fc_56',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html',1,'bufr_interface::ccbfl_c'],['../interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8',1,'bufr_interface::ccbfl_c::ccbfl_c()']]], + ['ccmf_57',['ccmf',['../namespacemoda__msgcmp.html#a748ff156e2c817957765b05119f74270',1,'moda_msgcmp']]], + ['cdmf_58',['cdmf',['../namespacemoda__tablef.html#a61847a8129d1a6c6909c2ea4727d67f6',1,'moda_tablef']]], + ['cdmnem_59',['cdmnem',['../namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168',1,'moda_mstabs']]], + ['cdmnem_5fc_60',['cdmnem_c',['../mstabs_8h.html#a309b9730283bc44b297b44f4e32db7f1',1,'mstabs.h']]], + ['cds3_61',['cds3',['../namespacemoda__s3list.html#a2ceee9741718460b614f37fb6b976259',1,'moda_s3list']]], + ['cdseq_62',['cdseq',['../namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7',1,'moda_mstabs']]], + ['cdseq_5fc_63',['cdseq_c',['../mstabs_8h.html#a3e8f3bcd901b3809309c431d2825d636',1,'mstabs.h']]], + ['ceelem_64',['ceelem',['../namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653',1,'moda_rdmtb']]], + ['cewind_65',['cewind',['../bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c'],['../cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c']]], + ['cewind_5fc_66',['cewind_c',['../interfacebufrlib_1_1cewind__c.html',1,'bufrlib::cewind_c'],['../interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b',1,'bufrlib::cewind_c::cewind_c()']]], + ['cfe_67',['cfe',['../cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16',1,'cfe.c']]], + ['cfe_2ec_68',['cfe.c',['../cfe_8c.html',1,'']]], + ['cftbvs_2ef90_69',['cftbvs.F90',['../cftbvs_8F90.html',1,'']]], + ['chekstab_70',['chekstab',['../jumplink_8F90.html#aca151bb247903f60a7b1a76578db1ed5',1,'jumplink.F90']]], + ['chh4wlc_71',['chh4wlc',['../namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75',1,'moda_h4wlc']]], + ['cidecode_2ef90_72',['cidecode.F90',['../cidecode_8F90.html',1,'']]], + ['ciencode_2ef90_73',['ciencode.F90',['../ciencode_8F90.html',1,'']]], + ['cktaba_74',['cktaba',['../s013vals_8F90.html#a1f8f8b7d0f3b0eb6042e170c0c84c18f',1,'s013vals.F90']]], + ['closbf_75',['closbf',['../openclosebf_8F90.html#a48a49bb82348400c1ba6af00c0138ab3',1,'openclosebf.F90']]], + ['closbf_5fc_76',['closbf_c',['../namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d',1,'bufr_c2f_interface']]], + ['closbf_5ff_77',['closbf_f',['../bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a',1,'bufr_interface.h']]], + ['close_5fc_78',['close_c',['../namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3',1,'bufr_c2f_interface']]], + ['close_5ff_79',['close_f',['../bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249',1,'bufr_interface.h']]], + ['closfb_80',['closfb',['../bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c'],['../cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c']]], + ['closfb_5fc_81',['closfb_c',['../interfacebufrlib_1_1closfb__c.html',1,'bufrlib::closfb_c'],['../interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f',1,'bufrlib::closfb_c::closfb_c()']]], + ['closmg_82',['closmg',['../readwritemg_8F90.html#a63b37b74d9833df9d99e3937a2fa293a',1,'readwritemg.F90']]], + ['cmdscb_83',['cmdscb',['../namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055',1,'moda_rdmtb']]], + ['cmdscd_84',['cmdscd',['../namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f',1,'moda_rdmtb']]], + ['cmnem_85',['cmnem',['../namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7',1,'moda_s01cm']]], + ['cmpbqm_86',['cmpbqm',['../cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da',1,'cmpbqm.F90']]], + ['cmpbqm_2ef90_87',['cmpbqm.F90',['../cmpbqm_8F90.html',1,'']]], + ['cmpia_88',['cmpia',['../stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29',1,'stseq.c']]], + ['cmpmsg_89',['cmpmsg',['../compress_8F90.html#a8d1905b269c7cd75ff1a451a0550a84e',1,'compress.F90']]], + ['cmpmsg_5ff_90',['cmpmsg_f',['../bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128',1,'bufr_interface.h']]], + ['cmpstia1_91',['cmpstia1',['../cfe_8c.html#a7211d196317c36365a40a128875d5041',1,'cfe.c']]], + ['cmpstia2_92',['cmpstia2',['../cfe_8c.html#a54e09962aa43b61717212a2702be33c8',1,'cfe.c']]], + ['cmsgini_93',['cmsgini',['../compress_8F90.html#a3475e3a5a5079d96f47d2e49db98a1a6',1,'compress.F90']]], + ['cnem_94',['cnem',['../namespacemoda__dscach.html#a141173c549e506cd4637af33c4efdece',1,'moda_dscach']]], + ['cnved4_95',['cnved4',['../readwritemg_8F90.html#adc65969dd9c1cedbab0425827e241963',1,'readwritemg.F90']]], + ['cobfl_96',['cobfl',['../bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c'],['../crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c']]], + ['cobfl_5fc_97',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html',1,'bufr_interface::cobfl_c'],['../interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e',1,'bufr_interface::cobfl_c::cobfl_c()']]], + ['codflg_98',['codflg',['../mastertable_8F90.html#a4721c745ebeb6be54c825cd1f53ec107',1,'mastertable.F90']]], + ['compress_2ef90_99',['compress.F90',['../compress_8F90.html',1,'']]], + ['conwin_100',['conwin',['../jumplink_8F90.html#ac33dc42cbccbf054fa1c72b4bed5e90e',1,'jumplink.F90']]], + ['copybf_101',['copybf',['../copydata_8F90.html#a6df688983642d7845688aba3819c847e',1,'copydata.F90']]], + ['copydata_2ef90_102',['copydata.F90',['../copydata_8F90.html',1,'']]], + ['copymg_103',['copymg',['../copydata_8F90.html#aedfe2559c1f9c59ec85c11993b378e7e',1,'copydata.F90']]], + ['copysb_104',['copysb',['../copydata_8F90.html#a81eba6ff34f0a5020bf311ccf24d8efc',1,'copydata.F90']]], + ['cpbfdx_105',['cpbfdx',['../copydata_8F90.html#a352b4ac3adf31bada79d4d8672f0b800',1,'copydata.F90']]], + ['cpdxmm_106',['cpdxmm',['../memmsgs_8F90.html#a28854648f33f49aaeb3b2209e00c0ae7',1,'memmsgs.F90']]], + ['cpmstabs_107',['cpmstabs',['../cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c',1,'cpmstabs.c']]], + ['cpmstabs_2ec_108',['cpmstabs.c',['../cpmstabs_8c.html',1,'']]], + ['cpmstabs_5fc_109',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html',1,'bufrlib::cpmstabs_c'],['../interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d',1,'bufrlib::cpmstabs_c::cpmstabs_c()']]], + ['cpymem_110',['cpymem',['../copydata_8F90.html#ad102179380a6543e1ec7af4c1ba1fdde',1,'copydata.F90']]], + ['cpyupd_111',['cpyupd',['../copydata_8F90.html#a9441a5be99c4a359ce4f2798037a2ea1',1,'copydata.F90']]], + ['crbmg_112',['crbmg',['../bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c']]], + ['crbmg_5fc_113',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html',1,'bufr_interface::crbmg_c'],['../interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311',1,'bufr_interface::crbmg_c::crbmg_c()']]], + ['crdbufr_114',['crdbufr',['../bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c'],['../cread_8c.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c']]], + ['crdbufr_5fc_115',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html',1,'bufrlib::crdbufr_c'],['../interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9',1,'bufrlib::crdbufr_c::crdbufr_c()']]], + ['cread_2ec_116',['cread.c',['../cread_8c.html',1,'']]], + ['cread_2eh_117',['cread.h',['../cread_8h.html',1,'']]], + ['crtag_118',['crtag',['../namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1',1,'moda_rlccmn']]], + ['crwbmg_2ec_119',['crwbmg.c',['../crwbmg_8c.html',1,'']]], + ['csmf_120',['csmf',['../namespacemoda__msgstd.html#a23356dfd7172ae4d2ff05d657234d6ab',1,'moda_msgstd']]], + ['cstr_121',['cstr',['../namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf',1,'moda_comprx']]], + ['ctco_122',['ctco',['../namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753',1,'moda_bitmaps']]], + ['ctrt_123',['ctrt',['../namespacemoda__tnkrcp.html#aba2ec73dacc32807332a7c1e38468f38',1,'moda_tnkrcp']]], + ['cwbmg_124',['cwbmg',['../bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c']]], + ['cwbmg_5fc_125',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html',1,'bufr_interface::cwbmg_c'],['../interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113',1,'bufr_interface::cwbmg_c::cwbmg_c()']]], + ['cwrbufr_126',['cwrbufr',['../bufrlib_8h.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c'],['../cread_8c.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c']]], + ['cwrbufr_5fc_127',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html',1,'bufrlib::cwrbufr_c'],['../interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978',1,'bufrlib::cwrbufr_c::cwrbufr_c()']]] ]; diff --git a/search/all_3.js b/search/all_3.js index 1f7560f81..03daf14ab 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -1,28 +1,20 @@ var searchData= [ - ['datebf_142',['datebf',['../datebf_8f.html#ad2a5fe76a797b9a857c7eba08f161dda',1,'datebf.f']]], - ['datebf_2ef_143',['datebf.f',['../datebf_8f.html',1,'']]], - ['datelen_144',['datelen',['../datelen_8f.html#a2b79b38439baa89e2b34b0614449d579',1,'datelen.f']]], - ['datelen_2ef_145',['datelen.f',['../datelen_8f.html',1,'']]], - ['debufr_2ec_146',['debufr.c',['../debufr_8c.html',1,'']]], - ['debufr_2ef90_147',['debufr.F90',['../debufr_8F90.html',1,'']]], - ['delete_5ftable_5fdata_5fc_148',['delete_table_data_c',['../namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e',1,'bufr_c2f_interface']]], - ['delete_5ftable_5fdata_5ff_149',['delete_table_data_f',['../bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426',1,'bufr_interface.h']]], - ['digit_150',['digit',['../digit_8f.html#a794db0c45d8412136ea5cd66506c9ec2',1,'digit.f']]], - ['digit_2ef_151',['digit.f',['../digit_8f.html',1,'']]], - ['dlloctbf_152',['dlloctbf',['../cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583',1,'cfe.c']]], - ['dlloctbf_5fc_153',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html',1,'bufr_interface::dlloctbf_c'],['../interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6',1,'bufr_interface::dlloctbf_c::dlloctbf_c()']]], - ['drfini_154',['drfini',['../drfini_8f.html#a22bf08213641695f90d64c04429064a8',1,'drfini.f']]], - ['drfini_2ef_155',['drfini.f',['../drfini_8f.html',1,'']]], - ['drstpl_156',['drstpl',['../drstpl_8f.html#a665ed582f0160b2112ca37fe79457d5f',1,'drstpl.f']]], - ['drstpl_2ef_157',['drstpl.f',['../drstpl_8f.html',1,'']]], - ['dumpbf_158',['dumpbf',['../dumpbf_8f.html#a8c87e3d6aa6b01c5ca52fd57d7095826',1,'dumpbf.f']]], - ['dumpbf_2ef_159',['dumpbf.f',['../dumpbf_8f.html',1,'']]], - ['dx_20bufr_20tables_160',['DX BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html',1,'']]], - ['dxdump_161',['dxdump',['../dxdump_8f.html#a42bdc5a58d0586fd8e9bc1b755602aeb',1,'dxdump.f']]], - ['dxdump_2ef_162',['dxdump.f',['../dxdump_8f.html',1,'']]], - ['dxinit_163',['dxinit',['../dxinit_8f.html#a5a104b88a6655ba06336b2c8ab7fb98e',1,'dxinit.f']]], - ['dxinit_2ef_164',['dxinit.f',['../dxinit_8f.html',1,'']]], - ['dxmini_165',['dxmini',['../dxmini_8f.html#af50329e45cba835812b5522f4516f558',1,'dxmini.f']]], - ['dxmini_2ef_166',['dxmini.f',['../dxmini_8f.html',1,'']]] + ['datebf_128',['datebf',['../s013vals_8F90.html#a311f8836440703db774ee651425337b4',1,'s013vals.F90']]], + ['datelen_129',['datelen',['../s013vals_8F90.html#aadd84c217cf5fab0d94564da3f377ebe',1,'s013vals.F90']]], + ['debufr_2ec_130',['debufr.c',['../debufr_8c.html',1,'']]], + ['debufr_2ef90_131',['debufr.F90',['../debufr_8F90.html',1,'']]], + ['delete_5ftable_5fdata_5fc_132',['delete_table_data_c',['../namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e',1,'bufr_c2f_interface']]], + ['delete_5ftable_5fdata_5ff_133',['delete_table_data_f',['../bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426',1,'bufr_interface.h']]], + ['dlloctbf_134',['dlloctbf',['../cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583',1,'cfe.c']]], + ['dlloctbf_5fc_135',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html',1,'bufr_interface::dlloctbf_c'],['../interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6',1,'bufr_interface::dlloctbf_c::dlloctbf_c()']]], + ['drfini_136',['drfini',['../readwriteval_8F90.html#a8a84d615371869d93f16c8617575dee2',1,'readwriteval.F90']]], + ['drstpl_137',['drstpl',['../jumplink_8F90.html#a1f74d80135fda2ac50f57d99645d2853',1,'jumplink.F90']]], + ['dumpbf_138',['dumpbf',['../s013vals_8F90.html#ac2e40c9d462d2855dd693d9498f55342',1,'s013vals.F90']]], + ['dumpdata_2ef90_139',['dumpdata.F90',['../dumpdata_8F90.html',1,'']]], + ['dx_20bufr_20tables_140',['DX BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html',1,'']]], + ['dxdump_141',['dxdump',['../dumpdata_8F90.html#ac693ae3d5af0a71505d5f9305c86fdb8',1,'dumpdata.F90']]], + ['dxinit_142',['dxinit',['../dxtable_8F90.html#ae1a2a7cf7f60579fa9e9399a25f4930b',1,'dxtable.F90']]], + ['dxmini_143',['dxmini',['../dxtable_8F90.html#a30167b1b9b52074ad5db11d45665d551',1,'dxtable.F90']]], + ['dxtable_2ef90_144',['dxtable.F90',['../dxtable_8F90.html',1,'']]] ]; diff --git a/search/all_4.js b/search/all_4.js index 09881320e..39766e6b4 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -1,13 +1,11 @@ var searchData= [ - ['elemdx_167',['elemdx',['../elemdx_8f.html#adfd6de0f5d3b01918ea50186bf208a2d',1,'elemdx.f']]], - ['elemdx_2ef_168',['elemdx.f',['../elemdx_8f.html',1,'']]], - ['elemdx_5fc_169',['elemdx_c',['../namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241',1,'bufr_c2f_interface']]], - ['elemdx_5ff_170',['elemdx_f',['../bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c',1,'bufrlib.h']]], - ['errwrt_171',['errwrt',['../errwrt_8f.html#a65626d9a772648676146b62b596c2764',1,'errwrt.f']]], - ['errwrt_2ef_172',['errwrt.f',['../errwrt_8f.html',1,'']]], - ['exitbufr_173',['exitbufr',['../exitbufr_8f.html#acd1669ed5957ebab6c98ac974b2a1bf8',1,'exitbufr.f']]], - ['exitbufr_2ef_174',['exitbufr.f',['../exitbufr_8f.html',1,'']]], - ['exitbufr_5fc_175',['exitbufr_c',['../namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab',1,'bufr_c2f_interface']]], - ['exitbufr_5ff_176',['exitbufr_f',['../bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6',1,'bufr_interface.h']]] + ['elemdx_145',['elemdx',['../dxtable_8F90.html#a0669d7561ae99961babcdb2022073052',1,'dxtable.F90']]], + ['elemdx_5fc_146',['elemdx_c',['../namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241',1,'bufr_c2f_interface']]], + ['elemdx_5ff_147',['elemdx_f',['../bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c',1,'bufrlib.h']]], + ['errwrt_148',['errwrt',['../errwrt_8F90.html#a9c4c22af6c77235db8ddd7f41594f543',1,'errwrt.F90']]], + ['errwrt_2ef90_149',['errwrt.F90',['../errwrt_8F90.html',1,'']]], + ['exitbufr_150',['exitbufr',['../arallocf_8F90.html#a355f094d616febcea2820cf547cbff8e',1,'arallocf.F90']]], + ['exitbufr_5fc_151',['exitbufr_c',['../namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab',1,'bufr_c2f_interface']]], + ['exitbufr_5ff_152',['exitbufr_f',['../bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6',1,'bufr_interface.h']]] ]; diff --git a/search/all_5.js b/search/all_5.js index ca9923f2a..ec4476269 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -1,13 +1,11 @@ var searchData= [ - ['fdebufr_5fc_177',['fdebufr_c',['../debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b',1,'debufr.F90']]], - ['fdebufr_5ff_178',['fdebufr_f',['../debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6',1,'debufr.c']]], - ['flush_179',['flush',['../namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7',1,'moda_comprx']]], - ['fortran_5fclose_180',['fortran_close',['../fortran__close_8F90.html#aa585324fae3ecf559d6f39507dde6715',1,'fortran_close.F90']]], - ['fortran_5fclose_2ef90_181',['fortran_close.F90',['../fortran__close_8F90.html',1,'']]], - ['fortran_5fopen_182',['fortran_open',['../fortran__open_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a',1,'fortran_open.F90']]], - ['fortran_5fopen_2ef90_183',['fortran_open.F90',['../fortran__open_8F90.html',1,'']]], - ['fstag_184',['fstag',['../fstag_8f.html#a4086d332625381684867dd7ec13a20e5',1,'fstag.f']]], - ['fstag_2ef_185',['fstag.f',['../fstag_8f.html',1,'']]], - ['fxy_5fstr_5flen_186',['FXY_STR_LEN',['../bufrlib_8h.html#a320fb202c17784943f8223593c9123dd',1,'bufrlib.h']]] + ['fdebufr_5fc_153',['fdebufr_c',['../debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b',1,'debufr.F90']]], + ['fdebufr_5ff_154',['fdebufr_f',['../debufr_8c.html#a834922eb8174316cd235a552c2456279',1,'debufr.c']]], + ['flush_155',['flush',['../namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7',1,'moda_comprx']]], + ['fortran_5fclose_156',['fortran_close',['../openclosebf_8F90.html#aa585324fae3ecf559d6f39507dde6715',1,'openclosebf.F90']]], + ['fortran_5fopen_157',['fortran_open',['../openclosebf_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a',1,'openclosebf.F90']]], + ['fstag_158',['fstag',['../jumplink_8F90.html#a1587e1818caf4b04f1afc556c5c9813b',1,'jumplink.F90']]], + ['fxy_2ef90_159',['fxy.F90',['../fxy_8F90.html',1,'']]], + ['fxy_5fstr_5flen_160',['FXY_STR_LEN',['../bufrlib_8h.html#a320fb202c17784943f8223593c9123dd',1,'bufrlib.h']]] ]; diff --git a/search/all_6.js b/search/all_6.js index 4e90b6050..d45ae297a 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,49 +1,38 @@ var searchData= [ - ['get_5finode_5fc_187',['get_inode_c',['../namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f',1,'bufr_c2f_interface']]], - ['get_5finode_5ff_188',['get_inode_f',['../bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d',1,'bufr_interface.h']]], - ['get_5finv_5fc_189',['get_inv_c',['../namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6',1,'bufr_c2f_interface']]], - ['get_5finv_5ff_190',['get_inv_f',['../bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992',1,'bufr_interface.h']]], - ['get_5firf_5fc_191',['get_irf_c',['../namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252',1,'bufr_c2f_interface']]], - ['get_5firf_5ff_192',['get_irf_f',['../bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5',1,'bufr_interface.h']]], - ['get_5fisc_5fc_193',['get_isc_c',['../namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102',1,'bufr_c2f_interface']]], - ['get_5fisc_5ff_194',['get_isc_f',['../bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e',1,'bufr_interface.h']]], - ['get_5fitp_5fc_195',['get_itp_c',['../namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d',1,'bufr_c2f_interface']]], - ['get_5fitp_5ff_196',['get_itp_f',['../bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3',1,'bufr_interface.h']]], - ['get_5fjmpb_5fc_197',['get_jmpb_c',['../namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f',1,'bufr_c2f_interface']]], - ['get_5fjmpb_5ff_198',['get_jmpb_f',['../bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e',1,'bufr_interface.h']]], - ['get_5flink_5fc_199',['get_link_c',['../namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9',1,'bufr_c2f_interface']]], - ['get_5flink_5ff_200',['get_link_f',['../bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88',1,'bufr_interface.h']]], - ['get_5fnval_5fc_201',['get_nval_c',['../namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503',1,'bufr_c2f_interface']]], - ['get_5fnval_5ff_202',['get_nval_f',['../bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2',1,'bufr_interface.h']]], - ['get_5ftag_5fc_203',['get_tag_c',['../namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a',1,'bufr_c2f_interface']]], - ['get_5ftag_5ff_204',['get_tag_f',['../bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca',1,'bufr_interface.h']]], - ['get_5ftyp_5fc_205',['get_typ_c',['../namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102',1,'bufr_c2f_interface']]], - ['get_5ftyp_5ff_206',['get_typ_f',['../bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3',1,'bufr_interface.h']]], - ['get_5fval_5fc_207',['get_val_c',['../namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54',1,'bufr_c2f_interface']]], - ['get_5fval_5ff_208',['get_val_f',['../bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1',1,'bufr_interface.h']]], - ['getabdb_209',['getabdb',['../getabdb_8f.html#a5a224df0ff920fff5ce7adc7a78ccf39',1,'getabdb.f']]], - ['getabdb_2ef_210',['getabdb.f',['../getabdb_8f.html',1,'']]], - ['getbmiss_211',['getbmiss',['../getbmiss_8f.html#ab344899ae36140147a28f17ec36649d4',1,'getbmiss.f']]], - ['getbmiss_2ef_212',['getbmiss.f',['../getbmiss_8f.html',1,'']]], - ['getcfmng_213',['getcfmng',['../getcfmng_8f.html#a79cc79e9e059a171f8d55fcc481b6f17',1,'getcfmng.f']]], - ['getcfmng_2ef_214',['getcfmng.f',['../getcfmng_8f.html',1,'']]], - ['getlens_215',['getlens',['../getlens_8f.html#a685789badbea7a0251067101a43b1379',1,'getlens.f']]], - ['getlens_2ef_216',['getlens.f',['../getlens_8f.html',1,'']]], - ['getntbe_217',['getntbe',['../getntbe_8f.html#a114eb13cc332b1a370f5d4bc81b43417',1,'getntbe.f']]], - ['getntbe_2ef_218',['getntbe.f',['../getntbe_8f.html',1,'']]], - ['gets1loc_219',['gets1loc',['../gets1loc_8f.html#a9d00101f324f421d08d82185bd6bda5a',1,'gets1loc.f']]], - ['gets1loc_2ef_220',['gets1loc.f',['../gets1loc_8f.html',1,'']]], - ['gettab_221',['gettab',['../gettab_8f90.html#ac9eda42ec8bf46baae0a4f34cd517813',1,'gettab.f90']]], - ['gettab_2ef90_222',['gettab.f90',['../gettab_8f90.html',1,'']]], - ['gettagpr_223',['gettagpr',['../gettagpr_8f.html#afa95ba65c1f04061bcc67bfc42f2591e',1,'gettagpr.f']]], - ['gettagpr_2ef_224',['gettagpr.f',['../gettagpr_8f.html',1,'']]], - ['gettagre_225',['gettagre',['../gettagre_8f.html#ac403696207f08e85eb2cbfdb2260d8c8',1,'gettagre.f']]], - ['gettagre_2ef_226',['gettagre.f',['../gettagre_8f.html',1,'']]], - ['gettbh_227',['gettbh',['../gettbh_8f.html#afdf05d8351efc21966d1667b09e397e3',1,'gettbh.f']]], - ['gettbh_2ef_228',['gettbh.f',['../gettbh_8f.html',1,'']]], - ['getvalnb_229',['getvalnb',['../getvalnb_8f.html#a64c2899499c1da1b24ee62414eaf4ad6',1,'getvalnb.f']]], - ['getvalnb_2ef_230',['getvalnb.f',['../getvalnb_8f.html',1,'']]], - ['getwin_231',['getwin',['../getwin_8f.html#a379c23a5975d8a605b4747586726f5b1',1,'getwin.f']]], - ['getwin_2ef_232',['getwin.f',['../getwin_8f.html',1,'']]] + ['get_5finode_5fc_161',['get_inode_c',['../namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f',1,'bufr_c2f_interface']]], + ['get_5finode_5ff_162',['get_inode_f',['../bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d',1,'bufr_interface.h']]], + ['get_5finv_5fc_163',['get_inv_c',['../namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6',1,'bufr_c2f_interface']]], + ['get_5finv_5ff_164',['get_inv_f',['../bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992',1,'bufr_interface.h']]], + ['get_5firf_5fc_165',['get_irf_c',['../namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252',1,'bufr_c2f_interface']]], + ['get_5firf_5ff_166',['get_irf_f',['../bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5',1,'bufr_interface.h']]], + ['get_5fisc_5fc_167',['get_isc_c',['../namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102',1,'bufr_c2f_interface']]], + ['get_5fisc_5ff_168',['get_isc_f',['../bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e',1,'bufr_interface.h']]], + ['get_5fitp_5fc_169',['get_itp_c',['../namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d',1,'bufr_c2f_interface']]], + ['get_5fitp_5ff_170',['get_itp_f',['../bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3',1,'bufr_interface.h']]], + ['get_5fjmpb_5fc_171',['get_jmpb_c',['../namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f',1,'bufr_c2f_interface']]], + ['get_5fjmpb_5ff_172',['get_jmpb_f',['../bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e',1,'bufr_interface.h']]], + ['get_5flink_5fc_173',['get_link_c',['../namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9',1,'bufr_c2f_interface']]], + ['get_5flink_5ff_174',['get_link_f',['../bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88',1,'bufr_interface.h']]], + ['get_5fnval_5fc_175',['get_nval_c',['../namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503',1,'bufr_c2f_interface']]], + ['get_5fnval_5ff_176',['get_nval_f',['../bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2',1,'bufr_interface.h']]], + ['get_5ftag_5fc_177',['get_tag_c',['../namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a',1,'bufr_c2f_interface']]], + ['get_5ftag_5ff_178',['get_tag_f',['../bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca',1,'bufr_interface.h']]], + ['get_5ftyp_5fc_179',['get_typ_c',['../namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102',1,'bufr_c2f_interface']]], + ['get_5ftyp_5ff_180',['get_typ_f',['../bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3',1,'bufr_interface.h']]], + ['get_5fval_5fc_181',['get_val_c',['../namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54',1,'bufr_c2f_interface']]], + ['get_5fval_5ff_182',['get_val_f',['../bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1',1,'bufr_interface.h']]], + ['getabdb_183',['getabdb',['../dumpdata_8F90.html#aa267dbf23e18a201eec17e2fa48238d7',1,'dumpdata.F90']]], + ['getbmiss_184',['getbmiss',['../missing_8F90.html#a2e6035695a459284e0592a2452b2f168',1,'missing.F90']]], + ['getcfmng_185',['getcfmng',['../cftbvs_8F90.html#af113e7ee7e2023cd466c2b28616cd64a',1,'cftbvs.F90']]], + ['getlens_186',['getlens',['../readwritemg_8F90.html#ab6c6c3d1925977e2c4013b3da342dc37',1,'readwritemg.F90']]], + ['getntbe_187',['getntbe',['../mastertable_8F90.html#a57b7efae38f8e79ba76fe5c8fff18f2a',1,'mastertable.F90']]], + ['gets1loc_188',['gets1loc',['../s013vals_8F90.html#a867795708832230010199b5a31f687a8',1,'s013vals.F90']]], + ['gettab_189',['gettab',['../gettab_8F90.html#ac9eda42ec8bf46baae0a4f34cd517813',1,'gettab.F90']]], + ['gettab_2ef90_190',['gettab.F90',['../gettab_8F90.html',1,'']]], + ['gettagpr_191',['gettagpr',['../jumplink_8F90.html#aff303b3e9951ce71da6c66ae5e0d76bf',1,'jumplink.F90']]], + ['gettagre_192',['gettagre',['../bitmaps_8F90.html#a867a81be072effc2a9d2de0d6031e264',1,'bitmaps.F90']]], + ['gettbh_193',['gettbh',['../mastertable_8F90.html#ab8f682eb706037e99550eeedb3e8c963',1,'mastertable.F90']]], + ['getvalnb_194',['getvalnb',['../readwriteval_8F90.html#a10cd831e6dc0a773534c5c2787da56c8',1,'readwriteval.F90']]], + ['getwin_195',['getwin',['../jumplink_8F90.html#af10a8f5f84135d80474c70f06be65b73',1,'jumplink.F90']]] ]; diff --git a/search/all_7.js b/search/all_7.js index 7b33684b6..b8801bc1d 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['hold4wlc_233',['hold4wlc',['../hold4wlc_8f.html#a91458ffa3b29d47b043110a8e87ddf50',1,'hold4wlc.f']]], - ['hold4wlc_2ef_234',['hold4wlc.f',['../hold4wlc_8f.html',1,'']]] + ['hold4wlc_196',['hold4wlc',['../readwriteval_8F90.html#a551fbe590397eacf06bb471b738dd6a5',1,'readwriteval.F90']]] ]; diff --git a/search/all_8.js b/search/all_8.js index 23141776f..7aaca90d4 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -1,175 +1,143 @@ var searchData= [ - ['i4dy_235',['i4dy',['../i4dy_8f.html#a69dc21255ba388e6aad80e812971f9a2',1,'i4dy.f']]], - ['i4dy_2ef_236',['i4dy.f',['../i4dy_8f.html',1,'']]], - ['ibay_237',['ibay',['../namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434',1,'moda_bitbuf']]], - ['ibfms_238',['ibfms',['../ibfms_8f.html#a0f7ba3ed6f17e76d912b4f13ea70967e',1,'ibfms.f']]], - ['ibfms_2ef_239',['ibfms.f',['../ibfms_8f.html',1,'']]], - ['ibfms_5fc_240',['ibfms_c',['../namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c',1,'bufr_c2f_interface']]], - ['ibfms_5ff_241',['ibfms_f',['../bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c',1,'bufr_interface.h']]], - ['ibfxyn_242',['ibfxyn',['../namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38',1,'moda_mstabs']]], - ['ibfxyn_5fc_243',['ibfxyn_c',['../mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad',1,'mstabs.h']]], - ['ibit_244',['ibit',['../namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9',1,'moda_bitbuf']]], - ['ibt_245',['ibt',['../namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2',1,'moda_tables']]], - ['ibtmse_246',['ibtmse',['../namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a',1,'moda_bitmaps']]], - ['ibtnrv_247',['ibtnrv',['../namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d',1,'moda_nrv203']]], - ['icbfms_248',['icbfms',['../icbfms_8f.html#af741f019421045a66605fb0bf993e69a',1,'icbfms.f']]], - ['icbfms_2ef_249',['icbfms.f',['../icbfms_8f.html',1,'']]], - ['icdxts_250',['icdxts',['../namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab',1,'moda_msgmem']]], - ['icmpdx_251',['icmpdx',['../icmpdx_8f.html#a3d484cf9a060c1a81ab132a4356d1b9c',1,'icmpdx.f']]], - ['icmpdx_2ef_252',['icmpdx.f',['../icmpdx_8f.html',1,'']]], - ['icopysb_253',['icopysb',['../icopysb_8f.html#abb76c9e1ce4ec5d6ffd88e44c669e56b',1,'icopysb.f']]], - ['icopysb_2ef_254',['icopysb.f',['../icopysb_8f.html',1,'']]], - ['icvidx_255',['icvidx',['../icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c'],['../bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c']]], - ['icvidx_2ec_256',['icvidx.c',['../icvidx_8c.html',1,'']]], - ['icvidx_5fc_257',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html',1,'bufrlib::icvidx_c'],['../interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0',1,'bufrlib::icvidx_c::icvidx_c()']]], - ['idate_258',['idate',['../namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b',1,'moda_msgcwd']]], - ['idcach_259',['idcach',['../namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3',1,'moda_dscach']]], - ['idefxy_260',['idefxy',['../namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24',1,'moda_mstabs']]], - ['idefxy_5fc_261',['idefxy_c',['../mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0',1,'mstabs.h']]], - ['idfxyn_262',['idfxyn',['../namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049',1,'moda_mstabs']]], - ['idfxyn_5fc_263',['idfxyn_c',['../mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab',1,'mstabs.h']]], - ['idn30_264',['idn30',['../idn30_8f.html#a69a1bd958e896bf2f1d6e23159d82713',1,'idn30.f']]], - ['idn30_2ef_265',['idn30.f',['../idn30_8f.html',1,'']]], - ['idna_266',['idna',['../namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca',1,'moda_tababd']]], - ['idnb_267',['idnb',['../namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5',1,'moda_tababd']]], - ['idnd_268',['idnd',['../namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e',1,'moda_tababd']]], - ['idrdm_269',['idrdm',['../namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6',1,'moda_idrdm']]], - ['idxmsg_270',['idxmsg',['../idxmsg_8f.html#adb63cdbd7f55f3d36a03e9ffb41bddfc',1,'idxmsg.f']]], - ['idxmsg_2ef_271',['idxmsg.f',['../idxmsg_8f.html',1,'']]], - ['iefxyn_272',['iefxyn',['../namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93',1,'moda_rdmtb']]], - ['ienrv_273',['ienrv',['../namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1',1,'moda_nrv203']]], - ['ifbget_274',['ifbget',['../ifbget_8f.html#a02c005f3f5bbddec11cdfee46beaa12f',1,'ifbget.f']]], - ['ifbget_2ef_275',['ifbget.f',['../ifbget_8f.html',1,'']]], - ['ifdxts_276',['ifdxts',['../namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74',1,'moda_msgmem']]], - ['ifopbf_277',['ifopbf',['../namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71',1,'modv_ifopbf']]], - ['ifxy_278',['ifxy',['../ifxy_8f.html#ac971a6f6d644344a5b09d50175498074',1,'ifxy.f']]], - ['ifxy_2ef_279',['ifxy.f',['../ifxy_8f.html',1,'']]], - ['ifxy_5fc_280',['ifxy_c',['../namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6',1,'bufr_c2f_interface']]], - ['ifxy_5ff_281',['ifxy_f',['../bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24',1,'bufrlib.h']]], - ['igetdate_282',['igetdate',['../igetdate_8f.html#ade0adb8723f6e1db7a8a6f81d2da4b50',1,'igetdate.f']]], - ['igetdate_2ef_283',['igetdate.f',['../igetdate_8f.html',1,'']]], - ['igetfxy_284',['igetfxy',['../igetfxy_8f.html#a438cad6ce6a5db1ef32ee2fcc3869aa5',1,'igetfxy.f']]], - ['igetfxy_2ef_285',['igetfxy.f',['../igetfxy_8f.html',1,'']]], - ['igetmxby_286',['igetmxby',['../igetmxby_8f.html#a2e158576710c771847a84db8cd00d13b',1,'igetmxby.f']]], - ['igetmxby_2ef_287',['igetmxby.f',['../igetmxby_8f.html',1,'']]], - ['igetmxby_5fc_288',['igetmxby_c',['../namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb',1,'bufr_c2f_interface']]], - ['igetmxby_5ff_289',['igetmxby_f',['../bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4',1,'bufr_interface.h']]], - ['igetntbi_290',['igetntbi',['../igetntbi_8f.html#aa62d319cf10b3a98796b583619d8b599',1,'igetntbi.f']]], - ['igetntbi_2ef_291',['igetntbi.f',['../igetntbi_8f.html',1,'']]], - ['igetntbi_5fc_292',['igetntbi_c',['../namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e',1,'bufr_c2f_interface']]], - ['igetntbi_5ff_293',['igetntbi_f',['../bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131',1,'bufrlib.h']]], - ['igetntbl_294',['igetntbl',['../igetntbl_8f.html#a5ef5df8d628be06a161f7973fa839795',1,'igetntbl.f']]], - ['igetntbl_2ef_295',['igetntbl.f',['../igetntbl_8f.html',1,'']]], - ['igetprm_296',['igetprm',['../igetprm_8f.html#a6c225e0b5fe6fa21cfd8e46bd2834d9f',1,'igetprm.f']]], - ['igetprm_2ef_297',['igetprm.f',['../igetprm_8f.html',1,'']]], - ['igetprm_5fc_298',['igetprm_c',['../namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b',1,'bufr_c2f_interface']]], - ['igetprm_5ff_299',['igetprm_f',['../bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb',1,'bufr_interface.h']]], - ['igetrfel_300',['igetrfel',['../igetrfel_8f.html#a764a4e5ff62c66fcaae4b2b1d806e88c',1,'igetrfel.f']]], - ['igetrfel_2ef_301',['igetrfel.f',['../igetrfel_8f.html',1,'']]], - ['igetsc_302',['igetsc',['../igetsc_8f.html#a256ecb8846572acf465d2483ee42f521',1,'igetsc.f']]], - ['igetsc_2ef_303',['igetsc.f',['../igetsc_8f.html',1,'']]], - ['igettdi_304',['igettdi',['../igettdi_8f.html#a2c1b3d34feef0ad9297be7f4f666a5f1',1,'igettdi.f']]], - ['igettdi_2ef_305',['igettdi.f',['../igettdi_8f.html',1,'']]], - ['igettdi_5fc_306',['igettdi_c',['../namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d',1,'bufr_c2f_interface']]], - ['igettdi_5ff_307',['igettdi_f',['../bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2',1,'bufrlib.h']]], - ['im8b_308',['im8b',['../namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af',1,'modv_im8b']]], - ['imrkopr_309',['imrkopr',['../imrkopr_8f.html#a15297118e0926da9adec4d745b72effe',1,'imrkopr.f']]], - ['imrkopr_2ef_310',['imrkopr.f',['../imrkopr_8f.html',1,'']]], - ['imrkopr_5fc_311',['imrkopr_c',['../namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f',1,'bufr_c2f_interface']]], - ['imrkopr_5ff_312',['imrkopr_f',['../bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47',1,'bufrlib.h']]], - ['in_5farallocc_313',['IN_ARALLOCC',['../arallocc_8c.html#a99a030277b9ff412087d1e599de3f730',1,'arallocc.c']]], - ['incr_314',['incr',['../namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27',1,'moda_comprs']]], - ['inctab_315',['inctab',['../inctab_8f.html#ab4d95e791ea67fccbade97e247ed5646',1,'inctab.f']]], - ['inctab_2ef_316',['inctab.f',['../inctab_8f.html',1,'']]], - ['inittbf_317',['inittbf',['../cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e',1,'cfe.c']]], - ['inittbf_5fc_318',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html',1,'bufrlib::inittbf_c'],['../interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8',1,'bufrlib::inittbf_c::inittbf_c()']]], - ['inode_319',['inode',['../namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa',1,'moda_msgcwd']]], - ['inodnrv_320',['inodnrv',['../namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f',1,'moda_nrv203']]], - ['inodtamc_321',['inodtamc',['../namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458',1,'moda_bitmaps']]], - ['inodtco_322',['inodtco',['../namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf',1,'moda_bitmaps']]], - ['inv_323',['inv',['../namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e',1,'moda_usrint']]], - ['invcon_324',['invcon',['../invcon_8f.html#afe1aa702b7e243216ea8bfa12394b16c',1,'invcon.f']]], - ['invcon_2ef_325',['invcon.f',['../invcon_8f.html',1,'']]], - ['invmrg_326',['invmrg',['../invmrg_8f.html#a11b608bddc0c6ad660ff50ed461d5266',1,'invmrg.f']]], - ['invmrg_2ef_327',['invmrg.f',['../invmrg_8f.html',1,'']]], - ['invtag_328',['invtag',['../invtag_8f.html#a307883c6492d9e7dab968c16ac0fb673',1,'invtag.f']]], - ['invtag_2ef_329',['invtag.f',['../invtag_8f.html',1,'']]], - ['invwin_330',['invwin',['../invwin_8f.html#ac26ae485efa93dee816efb648bdfcc8b',1,'invwin.f']]], - ['invwin_2ef_331',['invwin.f',['../invwin_8f.html',1,'']]], - ['iok2cpy_332',['iok2cpy',['../iok2cpy_8f.html#adb475e8aa22ff44804298c5119a98b9d',1,'iok2cpy.f']]], - ['iok2cpy_2ef_333',['iok2cpy.f',['../iok2cpy_8f.html',1,'']]], - ['iokoper_334',['iokoper',['../iokoper_8f.html#a4d41730266c35e121d915b729c741bd0',1,'iokoper.f']]], - ['iokoper_2ef_335',['iokoper.f',['../iokoper_8f.html',1,'']]], - ['iolun_336',['iolun',['../namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99',1,'moda_stbfr']]], - ['iomsg_337',['iomsg',['../namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7',1,'moda_stbfr']]], - ['ipdxm_338',['ipdxm',['../namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db',1,'moda_msgmem']]], - ['ipfnrv_339',['ipfnrv',['../namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7',1,'moda_nrv203']]], - ['ipkm_340',['ipkm',['../ipkm_8f.html#a554d822943222b129ddb21f204393665',1,'ipkm.f']]], - ['ipkm_2ef_341',['ipkm.f',['../ipkm_8f.html',1,'']]], - ['ipks_342',['ipks',['../ipks_8f.html#a12376c3561b8a14e09b20d8736b91d82',1,'ipks.f']]], - ['ipks_2ef_343',['ipks.f',['../ipks_8f.html',1,'']]], - ['ipmsgs_344',['ipmsgs',['../namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536',1,'moda_msgmem']]], - ['irbit_345',['irbit',['../namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca',1,'moda_rlccmn']]], - ['ireadmg_346',['ireadmg',['../ireadmg_8f.html#a3a275abe52521fa780c379ed69e1c994',1,'ireadmg.f']]], - ['ireadmg_2ef_347',['ireadmg.f',['../ireadmg_8f.html',1,'']]], - ['ireadmg_5fc_348',['ireadmg_c',['../namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b',1,'bufr_c2f_interface']]], - ['ireadmg_5ff_349',['ireadmg_f',['../bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96',1,'bufr_interface.h']]], - ['ireadmm_350',['ireadmm',['../ireadmm_8f.html#ae23e9668d28c463649cb18cccd1b6248',1,'ireadmm.f']]], - ['ireadmm_2ef_351',['ireadmm.f',['../ireadmm_8f.html',1,'']]], - ['ireadmt_352',['ireadmt',['../ireadmt_8f.html#aa695ad6da4ed98ed6ef6fc3666f7d7bc',1,'ireadmt.f']]], - ['ireadmt_2ef_353',['ireadmt.f',['../ireadmt_8f.html',1,'']]], - ['ireadns_354',['ireadns',['../ireadns_8f.html#a711f30e52fdc3cafd8800a57f6865449',1,'ireadns.f']]], - ['ireadns_2ef_355',['ireadns.f',['../ireadns_8f.html',1,'']]], - ['ireadns_5fc_356',['ireadns_c',['../namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7',1,'bufr_c2f_interface']]], - ['ireadns_5ff_357',['ireadns_f',['../bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f',1,'bufr_interface.h']]], - ['ireadsb_358',['ireadsb',['../ireadsb_8f.html#a778c5b1e6c129932b733bc25ecc27f07',1,'ireadsb.f']]], - ['ireadsb_2ef_359',['ireadsb.f',['../ireadsb_8f.html',1,'']]], - ['ireadsb_5fc_360',['ireadsb_c',['../namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1',1,'bufr_c2f_interface']]], - ['ireadsb_5ff_361',['ireadsb_f',['../bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb',1,'bufr_interface.h']]], - ['irev_362',['irev',['../irev_8F.html#a4a8512777ba30c1c919646c7a6a637f5',1,'irev.F']]], - ['irev_2ef_363',['irev.F',['../irev_8F.html',1,'']]], - ['irf_364',['irf',['../namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599',1,'moda_tables']]], - ['irnch_365',['irnch',['../namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd',1,'moda_rlccmn']]], - ['irp_366',['irp',['../namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812',1,'moda_nmikrp']]], - ['isc_367',['isc',['../namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e',1,'moda_tables']]], - ['isc3_368',['isc3',['../namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a',1,'moda_sc3bfr']]], - ['iscodes_369',['iscodes',['../namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e',1,'moda_stcode']]], - ['iseq_370',['iseq',['../namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901',1,'moda_tables']]], - ['isetprm_371',['isetprm',['../isetprm_8f.html#ae592be54b0568225433b6d66798ddce6',1,'isetprm.f']]], - ['isetprm_2ef_372',['isetprm.f',['../isetprm_8f.html',1,'']]], - ['isetprm_5fc_373',['isetprm_c',['../namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490',1,'bufr_c2f_interface']]], - ['isetprm_5ff_374',['isetprm_f',['../bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c',1,'bufr_interface.h']]], - ['ishrdx_375',['ishrdx',['../ishrdx_8f.html#a1426a2d409a3cc93b1ee0c073ad49907',1,'ishrdx.f']]], - ['ishrdx_2ef_376',['ishrdx.f',['../ishrdx_8f.html',1,'']]], - ['isize_377',['isize',['../isize_8f.html#ada463fda3cd15b7615b0dd0cfa415eb9',1,'isize.f']]], - ['isize_2ef_378',['isize.f',['../isize_8f.html',1,'']]], - ['isnrv_379',['isnrv',['../namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602',1,'moda_nrv203']]], - ['istbtm_380',['istbtm',['../namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965',1,'moda_bitmaps']]], - ['istdesc_381',['istdesc',['../istdesc_8f.html#a8cf4d2f75a7094c482f39dec47f37175',1,'istdesc.f']]], - ['istdesc_2ef_382',['istdesc.f',['../istdesc_8f.html',1,'']]], - ['istdesc_5fc_383',['istdesc_c',['../namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae',1,'bufr_c2f_interface']]], - ['istdesc_5ff_384',['istdesc_f',['../bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d',1,'bufrlib.h']]], - ['iszbtm_385',['iszbtm',['../namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574',1,'moda_bitmaps']]], - ['itmp_386',['itmp',['../namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785',1,'moda_ivttmp']]], - ['itp_387',['itp',['../namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251',1,'moda_tables']]], - ['ityp_388',['ityp',['../namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522',1,'moda_comprx']]], - ['iupb_389',['iupb',['../iupb_8f.html#abf2490cec5a3d07fd22e1b25c9aee046',1,'iupb.f']]], - ['iupb_2ef_390',['iupb.f',['../iupb_8f.html',1,'']]], - ['iupb_5fc_391',['iupb_c',['../namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe',1,'bufr_c2f_interface']]], - ['iupb_5ff_392',['iupb_f',['../bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc',1,'bufrlib.h']]], - ['iupbs01_393',['iupbs01',['../iupbs01_8f.html#a656ed063ebbcd600fcfa2810411dbf5e',1,'iupbs01.f']]], - ['iupbs01_2ef_394',['iupbs01.f',['../iupbs01_8f.html',1,'']]], - ['iupbs01_5fc_395',['iupbs01_c',['../namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd',1,'bufr_c2f_interface']]], - ['iupbs01_5ff_396',['iupbs01_f',['../bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f',1,'bufr_interface.h']]], - ['iupbs3_397',['iupbs3',['../iupbs3_8f.html#a09bc8c4de10677c94cfb411a9155bc99',1,'iupbs3.f']]], - ['iupbs3_2ef_398',['iupbs3.f',['../iupbs3_8f.html',1,'']]], - ['iupm_399',['iupm',['../iupm_8f.html#ae519ea0e87bfdd4b22e78f81ad5cb23f',1,'iupm.f']]], - ['iupm_2ef_400',['iupm.f',['../iupm_8f.html',1,'']]], - ['iupvs01_401',['iupvs01',['../iupvs01_8f.html#a77200fe9b0146973c1a0116ade2e70ad',1,'iupvs01.f']]], - ['iupvs01_2ef_402',['iupvs01.f',['../iupvs01_8f.html',1,'']]], - ['iutmp_403',['iutmp',['../namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30',1,'moda_usrtmp']]], - ['ival_404',['ival',['../namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58',1,'moda_ival']]], - ['ivmnem_405',['ivmnem',['../namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655',1,'moda_s01cm']]], - ['iwid_406',['iwid',['../namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808',1,'moda_comprx']]] + ['i4dy_197',['i4dy',['../s013vals_8F90.html#ada4930358eb16c05c65c2df068db90c1',1,'s013vals.F90']]], + ['iac_198',['iac',['../modules__vars_8F90.html#a7db5428bb409dc91391908e3f6005da0',1,'modv_vars']]], + ['iafpk_199',['iafpk',['../mstabs_8h.html#aaa7c3e504e98938c63caeb866c071c59',1,'mstabs.h']]], + ['ibay_200',['ibay',['../namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434',1,'moda_bitbuf']]], + ['ibfms_201',['ibfms',['../missing_8F90.html#a7dd66484c8bf4dd8d8e3791d02715e86',1,'missing.F90']]], + ['ibfms_5fc_202',['ibfms_c',['../namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c',1,'bufr_c2f_interface']]], + ['ibfms_5ff_203',['ibfms_f',['../bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c',1,'bufr_interface.h']]], + ['ibfxyn_204',['ibfxyn',['../namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38',1,'moda_mstabs']]], + ['ibfxyn_5fc_205',['ibfxyn_c',['../mstabs_8h.html#acdfc509abed04b3bc643a4171c419fa4',1,'mstabs.h']]], + ['ibit_206',['ibit',['../namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9',1,'moda_bitbuf']]], + ['iblock_207',['iblock',['../modules__vars_8F90.html#a8623e746f63272cf61b014607d998345',1,'modv_vars']]], + ['ibt_208',['ibt',['../namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2',1,'moda_tables']]], + ['ibtmse_209',['ibtmse',['../namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a',1,'moda_bitmaps']]], + ['ibtnrv_210',['ibtnrv',['../namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d',1,'moda_nrv203']]], + ['icbfms_211',['icbfms',['../missing_8F90.html#a5f3cd824b4ddd60e635ec591d285b23f',1,'missing.F90']]], + ['icdxts_212',['icdxts',['../namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab',1,'moda_msgmem']]], + ['icmpdx_213',['icmpdx',['../jumplink_8F90.html#aa8ae055da512a9259d4f248b3ccdb5e8',1,'jumplink.F90']]], + ['icopysb_214',['icopysb',['../copydata_8F90.html#a31b6d67aacae28998cab9d130d39e7a2',1,'copydata.F90']]], + ['icvidx_215',['icvidx',['../bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c'],['../icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c']]], + ['icvidx_2ec_216',['icvidx.c',['../icvidx_8c.html',1,'']]], + ['icvidx_5fc_217',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html',1,'bufrlib::icvidx_c'],['../interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0',1,'bufrlib::icvidx_c::icvidx_c()']]], + ['idate_218',['idate',['../namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b',1,'moda_msgcwd']]], + ['idcach_219',['idcach',['../namespacemoda__dscach.html#ab79409e1e5c6d8e2542bac564283a5ef',1,'moda_dscach']]], + ['idefxy_220',['idefxy',['../namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24',1,'moda_mstabs']]], + ['idefxy_5fc_221',['idefxy_c',['../mstabs_8h.html#a006ec50bbb9f20fad017eb980cc7afa0',1,'mstabs.h']]], + ['idfxyn_222',['idfxyn',['../namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049',1,'moda_mstabs']]], + ['idfxyn_5fc_223',['idfxyn_c',['../mstabs_8h.html#a2798d24f3443eeee2999eddf34d24c19',1,'mstabs.h']]], + ['idn30_224',['idn30',['../fxy_8F90.html#ac17b9bb050c7279594284b063390dc55',1,'fxy.F90']]], + ['idna_225',['idna',['../namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca',1,'moda_tababd']]], + ['idnb_226',['idnb',['../namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5',1,'moda_tababd']]], + ['idnd_227',['idnd',['../namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e',1,'moda_tababd']]], + ['idnr_228',['idnr',['../modules__vars_8F90.html#a181516c96f53bedb9774c83ebfeb0a23',1,'modv_vars']]], + ['idrdm_229',['idrdm',['../namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6',1,'moda_idrdm']]], + ['ids3_230',['ids3',['../namespacemoda__s3list.html#a07f44b4772abffacaba7e9be5fbb7fda',1,'moda_s3list']]], + ['idxmsg_231',['idxmsg',['../dxtable_8F90.html#aea259cd399ca3121a66475a2ea73ec65',1,'dxtable.F90']]], + ['iefxyn_232',['iefxyn',['../namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93',1,'moda_rdmtb']]], + ['ienrv_233',['ienrv',['../namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1',1,'moda_nrv203']]], + ['ifbget_234',['ifbget',['../readwritemg_8F90.html#abb1acb6092b6e1f49737498c1f76f0d0',1,'readwritemg.F90']]], + ['ifdxts_235',['ifdxts',['../namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74',1,'moda_msgmem']]], + ['ifopbf_236',['ifopbf',['../modules__vars_8F90.html#a6007e8a5d98440d7bb16ce63bbf007e6',1,'modv_vars']]], + ['ifxy_237',['ifxy',['../fxy_8F90.html#ae3b70fcfea3c6201ad415fad4c4d375e',1,'fxy.F90']]], + ['ifxy_5fc_238',['ifxy_c',['../namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6',1,'bufr_c2f_interface']]], + ['ifxy_5ff_239',['ifxy_f',['../bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24',1,'bufrlib.h']]], + ['igetdate_240',['igetdate',['../s013vals_8F90.html#aedbe120baa1a1058174325c5e2d0e487',1,'s013vals.F90']]], + ['igetfxy_241',['igetfxy',['../fxy_8F90.html#ad6db7a4654e1d26530c1fe4bdfb29ad9',1,'fxy.F90']]], + ['igetmxby_242',['igetmxby',['../readwritemg_8F90.html#a87f1117bcbbc713c95bdca6f1bb1214c',1,'readwritemg.F90']]], + ['igetmxby_5fc_243',['igetmxby_c',['../namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb',1,'bufr_c2f_interface']]], + ['igetmxby_5ff_244',['igetmxby_f',['../bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4',1,'bufr_interface.h']]], + ['igetntbi_245',['igetntbi',['../dxtable_8F90.html#ad7abde76f89f036b69d944c260fbe2d4',1,'dxtable.F90']]], + ['igetntbi_5fc_246',['igetntbi_c',['../namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e',1,'bufr_c2f_interface']]], + ['igetntbi_5ff_247',['igetntbi_f',['../bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131',1,'bufrlib.h']]], + ['igetntbl_248',['igetntbl',['../mastertable_8F90.html#a8d9fae4a86fb1a4db715788bd73071cf',1,'mastertable.F90']]], + ['igetprm_249',['igetprm',['../arallocf_8F90.html#a222fe99cf2ad84fe3166a498ef20c9ce',1,'arallocf.F90']]], + ['igetprm_5fc_250',['igetprm_c',['../namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b',1,'bufr_c2f_interface']]], + ['igetprm_5ff_251',['igetprm_f',['../bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb',1,'bufr_interface.h']]], + ['igetrfel_252',['igetrfel',['../bitmaps_8F90.html#a2dd600ba6cd71e06a19d88956337781b',1,'bitmaps.F90']]], + ['igetsc_253',['igetsc',['../misc_8F90.html#a5b379fcc508f3f50fa71042b8e3645af',1,'misc.F90']]], + ['igettdi_254',['igettdi',['../mastertable_8F90.html#a5ef341975ece8b54885d7518d30d7a99',1,'mastertable.F90']]], + ['igettdi_5fc_255',['igettdi_c',['../namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d',1,'bufr_c2f_interface']]], + ['igettdi_5ff_256',['igettdi_f',['../bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2',1,'bufrlib.h']]], + ['im8b_257',['im8b',['../modules__vars_8F90.html#a4ff59bf9f9ee31e187bf7f8ecb61f4dd',1,'modv_vars']]], + ['imiss_258',['imiss',['../namespacemoda__comprx.html#a7a0967a79c236a16f1fa11ebb8f99b0f',1,'moda_comprx']]], + ['imrkopr_259',['imrkopr',['../bitmaps_8F90.html#ad95571bf5308d6b64163d3bcc7ea3512',1,'bitmaps.F90']]], + ['imrkopr_5fc_260',['imrkopr_c',['../namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f',1,'bufr_c2f_interface']]], + ['imrkopr_5ff_261',['imrkopr_f',['../bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47',1,'bufrlib.h']]], + ['in_5farallocc_262',['IN_ARALLOCC',['../arallocc_8c.html#a99a030277b9ff412087d1e599de3f730',1,'arallocc.c']]], + ['incr_263',['incr',['../namespacemoda__comprs.html#a7e5d5589bde01337616f2527beed519f',1,'moda_comprs']]], + ['inctab_264',['inctab',['../jumplink_8F90.html#a5459f5cd4813acaa5e695c650a77eeca',1,'jumplink.F90']]], + ['inittbf_265',['inittbf',['../cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e',1,'cfe.c']]], + ['inittbf_5fc_266',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html',1,'bufrlib::inittbf_c'],['../interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8',1,'bufrlib::inittbf_c::inittbf_c()']]], + ['inode_267',['inode',['../namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa',1,'moda_msgcwd']]], + ['inodnrv_268',['inodnrv',['../namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f',1,'moda_nrv203']]], + ['inodtamc_269',['inodtamc',['../namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458',1,'moda_bitmaps']]], + ['inodtco_270',['inodtco',['../namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf',1,'moda_bitmaps']]], + ['inv_271',['inv',['../namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e',1,'moda_usrint']]], + ['invcon_272',['invcon',['../jumplink_8F90.html#a44e33584f368731a2373831f207a527d',1,'jumplink.F90']]], + ['invmrg_273',['invmrg',['../readwritesb_8F90.html#aa926be9632b9da3990e2591f0386ee94',1,'readwritesb.F90']]], + ['invtag_274',['invtag',['../jumplink_8F90.html#a77a6346a03867a7e65e984ee34de3d91',1,'jumplink.F90']]], + ['invwin_275',['invwin',['../jumplink_8F90.html#ab4cc1160c451fcd8709a46f32515ca3c',1,'jumplink.F90']]], + ['iok2cpy_276',['iok2cpy',['../copydata_8F90.html#a23f9925bf37d99fd855fd80cf5750ee2',1,'copydata.F90']]], + ['iokoper_277',['iokoper',['../misc_8F90.html#a1bc01a10f226d09971ab1a3b0d3734bf',1,'misc.F90']]], + ['iolun_278',['iolun',['../namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99',1,'moda_stbfr']]], + ['iomsg_279',['iomsg',['../namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7',1,'moda_stbfr']]], + ['iordbe_280',['iordbe',['../modules__vars_8F90.html#a2588ca33cb30f0316759c9ca7735bbb3',1,'modv_vars']]], + ['iordle_281',['iordle',['../modules__vars_8F90.html#a7376f8406ce5e5e420d4d012aea93416',1,'modv_vars']]], + ['ipdxm_282',['ipdxm',['../namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db',1,'moda_msgmem']]], + ['ipfnrv_283',['ipfnrv',['../namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7',1,'moda_nrv203']]], + ['ipkm_284',['ipkm',['../ciencode_8F90.html#a8e976b63f679f03590d7c3cb5b5dee59',1,'ciencode.F90']]], + ['ipks_285',['ipks',['../ciencode_8F90.html#a7501045242bc6174585e20be99d3d269',1,'ciencode.F90']]], + ['ipmsgs_286',['ipmsgs',['../namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536',1,'moda_msgmem']]], + ['irbit_287',['irbit',['../namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca',1,'moda_rlccmn']]], + ['ireadmg_288',['ireadmg',['../readwritemg_8F90.html#ae023a7cc381f488ac7669dc3e3ee8236',1,'readwritemg.F90']]], + ['ireadmg_5fc_289',['ireadmg_c',['../namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b',1,'bufr_c2f_interface']]], + ['ireadmg_5ff_290',['ireadmg_f',['../bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96',1,'bufr_interface.h']]], + ['ireadmm_291',['ireadmm',['../memmsgs_8F90.html#afa09c66c60b22359e9642fa6eee8fcbb',1,'memmsgs.F90']]], + ['ireadmt_292',['ireadmt',['../mastertable_8F90.html#adde6acff18af3673cd9ef45b7ec12833',1,'mastertable.F90']]], + ['ireadns_293',['ireadns',['../readwritesb_8F90.html#a8a621b1996440ed233c796e49c8971f3',1,'readwritesb.F90']]], + ['ireadns_5fc_294',['ireadns_c',['../namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7',1,'bufr_c2f_interface']]], + ['ireadns_5ff_295',['ireadns_f',['../bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f',1,'bufr_interface.h']]], + ['ireadsb_296',['ireadsb',['../readwritesb_8F90.html#aae33d6dd74331ba0a2a34ba22e8e56ab',1,'readwritesb.F90']]], + ['ireadsb_5fc_297',['ireadsb_c',['../namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1',1,'bufr_c2f_interface']]], + ['ireadsb_5ff_298',['ireadsb_f',['../bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb',1,'bufr_interface.h']]], + ['irev_299',['irev',['../misc_8F90.html#a1cd5e68cc460b388986ba7273abdd689',1,'misc.F90']]], + ['irf_300',['irf',['../namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599',1,'moda_tables']]], + ['irnch_301',['irnch',['../namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd',1,'moda_rlccmn']]], + ['irp_302',['irp',['../namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812',1,'moda_nmikrp']]], + ['isc_303',['isc',['../namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e',1,'moda_tables']]], + ['isc3_304',['isc3',['../namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a',1,'moda_sc3bfr']]], + ['iscodes_305',['iscodes',['../namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e',1,'moda_stcode']]], + ['iseq_306',['iseq',['../namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901',1,'moda_tables']]], + ['isetprm_307',['isetprm',['../arallocf_8F90.html#a4a77f5d91e7900692757350632f71ff0',1,'arallocf.F90']]], + ['isetprm_5fc_308',['isetprm_c',['../namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490',1,'bufr_c2f_interface']]], + ['isetprm_5ff_309',['isetprm_f',['../bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c',1,'bufr_interface.h']]], + ['ishrdx_310',['ishrdx',['../jumplink_8F90.html#af13fb1da5f3cb8bafd2c305b6c7234db',1,'jumplink.F90']]], + ['isize_311',['isize',['../misc_8F90.html#ac720bf9bc96336f8e4bf8120852f094e',1,'misc.F90']]], + ['isnrv_312',['isnrv',['../namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602',1,'moda_nrv203']]], + ['istbtm_313',['istbtm',['../namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965',1,'moda_bitmaps']]], + ['istdesc_314',['istdesc',['../standard_8F90.html#af4f78acf5cbb9eda9a8ef03d03030aaf',1,'standard.F90']]], + ['istdesc_5fc_315',['istdesc_c',['../namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae',1,'bufr_c2f_interface']]], + ['istdesc_5ff_316',['istdesc_f',['../bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d',1,'bufrlib.h']]], + ['iszbtm_317',['iszbtm',['../namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574',1,'moda_bitmaps']]], + ['itmp_318',['itmp',['../namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785',1,'moda_ivttmp']]], + ['itp_319',['itp',['../namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251',1,'moda_tables']]], + ['itrdy_320',['itrdy',['../namespacemoda__tnkrcp.html#a97f45bd4e10b6016c9ef17bbd0efc2ca',1,'moda_tnkrcp']]], + ['itrhr_321',['itrhr',['../namespacemoda__tnkrcp.html#a12d35afcaacac53905061f928377d92b',1,'moda_tnkrcp']]], + ['itrmi_322',['itrmi',['../namespacemoda__tnkrcp.html#aceb65be824d657fa109be2d9059a3a2b',1,'moda_tnkrcp']]], + ['itrmo_323',['itrmo',['../namespacemoda__tnkrcp.html#af081362974b0ae4f5be67c4bea20bae6',1,'moda_tnkrcp']]], + ['itryr_324',['itryr',['../namespacemoda__tnkrcp.html#a3f402734944f1438bc986b0d877a0bd7',1,'moda_tnkrcp']]], + ['ityp_325',['ityp',['../namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522',1,'moda_comprx']]], + ['iupb_326',['iupb',['../cidecode_8F90.html#a73f371d0af1f65ff546e0484ee97238f',1,'cidecode.F90']]], + ['iupbs01_327',['iupbs01',['../s013vals_8F90.html#a28944a4d73587a3943964a95619cb8a2',1,'s013vals.F90']]], + ['iupbs01_5fc_328',['iupbs01_c',['../namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd',1,'bufr_c2f_interface']]], + ['iupbs01_5ff_329',['iupbs01_f',['../bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f',1,'bufr_interface.h']]], + ['iupbs3_330',['iupbs3',['../s013vals_8F90.html#a6060b7b617646ee396097f20317e2f4d',1,'s013vals.F90']]], + ['iupm_331',['iupm',['../cidecode_8F90.html#a79f34b3a9df0eedb64115bca8c65ebaa',1,'cidecode.F90']]], + ['iupvs01_332',['iupvs01',['../s013vals_8F90.html#a3b1a6e580f306826c680ff0a71d883f8',1,'s013vals.F90']]], + ['iutmp_333',['iutmp',['../namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30',1,'moda_usrtmp']]], + ['ival_334',['ival',['../namespacemoda__ival.html#a354161b574c84bfd3401bc0b287335c7',1,'moda_ival']]], + ['ivmnem_335',['ivmnem',['../namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655',1,'moda_s01cm']]], + ['iwid_336',['iwid',['../namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808',1,'moda_comprx']]] ]; diff --git a/search/all_9.js b/search/all_9.js index 14955adb9..579449c9d 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -1,19 +1,18 @@ var searchData= [ - ['jbay_407',['jbay',['../namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856',1,'moda_bufrsr']]], - ['jbit_408',['jbit',['../namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08',1,'moda_bufrsr']]], - ['jbyt_409',['jbyt',['../namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07',1,'moda_bufrsr']]], - ['jdat_410',['jdat',['../namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47',1,'moda_bufrsr']]], - ['jill_411',['jill',['../namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06',1,'moda_bufrsr']]], - ['jimm_412',['jimm',['../namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c',1,'moda_bufrsr']]], - ['jmpb_413',['jmpb',['../namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb',1,'moda_tables']]], - ['jmsg_414',['jmsg',['../namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0',1,'moda_bufrsr']]], - ['jnod_415',['jnod',['../namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218',1,'moda_bufrsr']]], - ['jseq_416',['jseq',['../namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6',1,'moda_tables']]], - ['jsr_417',['jsr',['../namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51',1,'moda_bufrsr']]], - ['jstnum_418',['jstnum',['../jstnum_8f.html#aed41312e53ed76174fb87c3b62ac0b45',1,'jstnum.f']]], - ['jstnum_2ef_419',['jstnum.f',['../jstnum_8f.html',1,'']]], - ['jsub_420',['jsub',['../namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0',1,'moda_bufrsr']]], - ['jump_421',['jump',['../namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36',1,'moda_tables']]], - ['junn_422',['junn',['../namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d',1,'moda_bufrsr']]] + ['jbay_337',['jbay',['../namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856',1,'moda_bufrsr']]], + ['jbit_338',['jbit',['../namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08',1,'moda_bufrsr']]], + ['jbyt_339',['jbyt',['../namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07',1,'moda_bufrsr']]], + ['jill_340',['jill',['../namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06',1,'moda_bufrsr']]], + ['jimm_341',['jimm',['../namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c',1,'moda_bufrsr']]], + ['jlnode_342',['jlnode',['../namespacemoda__comprx.html#a7caf741d65ff0b68932fa7d207c689ba',1,'moda_comprx']]], + ['jmpb_343',['jmpb',['../namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb',1,'moda_tables']]], + ['jmsg_344',['jmsg',['../namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0',1,'moda_bufrsr']]], + ['jseq_345',['jseq',['../namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6',1,'moda_tables']]], + ['jsr_346',['jsr',['../namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51',1,'moda_bufrsr']]], + ['jstnum_347',['jstnum',['../misc_8F90.html#a0e7d4106a679cae0404866a8781a7651',1,'misc.F90']]], + ['jsub_348',['jsub',['../namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0',1,'moda_bufrsr']]], + ['jump_349',['jump',['../namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36',1,'moda_tables']]], + ['jumplink_2ef90_350',['jumplink.F90',['../jumplink_8F90.html',1,'']]], + ['junn_351',['junn',['../namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d',1,'moda_bufrsr']]] ]; diff --git a/search/all_a.js b/search/all_a.js index d30eeb763..87896117d 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -1,12 +1,11 @@ var searchData= [ - ['kbit_423',['kbit',['../namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147',1,'moda_comprx']]], - ['kbyt_424',['kbyt',['../namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8',1,'moda_comprx']]], - ['kmax_425',['kmax',['../namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71',1,'moda_comprx']]], - ['kmin_426',['kmin',['../namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732',1,'moda_comprx']]], - ['kmis_427',['kmis',['../namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1',1,'moda_comprx']]], - ['knt_428',['knt',['../namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b',1,'moda_tables']]], - ['knti_429',['knti',['../namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3',1,'moda_tables']]], - ['krp_430',['krp',['../namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876',1,'moda_nmikrp']]], - ['ksub_431',['ksub',['../namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6',1,'moda_bufrsr']]] + ['kbit_352',['kbit',['../namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147',1,'moda_comprx']]], + ['kbyt_353',['kbyt',['../namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8',1,'moda_comprx']]], + ['kmax_354',['kmax',['../namespacemoda__comprx.html#a7c3104f9c9731b91a8a105bcc5212542',1,'moda_comprx']]], + ['kmin_355',['kmin',['../namespacemoda__comprx.html#af3c2aa97661a37d85840d480e611695e',1,'moda_comprx']]], + ['kmis_356',['kmis',['../namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1',1,'moda_comprx']]], + ['knt_357',['knt',['../namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b',1,'moda_tables']]], + ['knti_358',['knti',['../namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3',1,'moda_tables']]], + ['krp_359',['krp',['../namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876',1,'moda_nmikrp']]] ]; diff --git a/search/all_b.js b/search/all_b.js index 04841a955..5b5fdcb41 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,22 +1,21 @@ var searchData= [ - ['lcmgdf_432',['lcmgdf',['../lcmgdf_8f.html#a46d9546ede10e6b90d9b44e4b789027e',1,'lcmgdf.f']]], - ['lcmgdf_2ef_433',['lcmgdf.f',['../lcmgdf_8f.html',1,'']]], - ['ldxm_434',['ldxm',['../namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5',1,'moda_msgmem']]], - ['ldxts_435',['ldxts',['../namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f',1,'moda_msgmem']]], - ['linbtm_436',['linbtm',['../namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80',1,'moda_bitmaps']]], - ['link_437',['link',['../namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c',1,'moda_tables']]], - ['lmsg_438',['lmsg',['../lmsg_8f.html#ad99ef4c2da4682ebd250ba4ea2a426c8',1,'lmsg.f']]], - ['lmsg_2ef_439',['lmsg.f',['../lmsg_8f.html',1,'']]], - ['lstjpb_440',['lstjpb',['../lstjpb_8f.html#a0a74db325c227fe8ee3b77bd7dfd7baf',1,'lstjpb.f']]], - ['lstjpb_2ef_441',['lstjpb.f',['../lstjpb_8f.html',1,'']]], - ['lstnod_442',['lstnod',['../namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d',1,'moda_bitmaps']]], - ['lstnodct_443',['lstnodct',['../namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e',1,'moda_bitmaps']]], - ['lstpos_444',['lstpos',['../cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0',1,'cread.h']]], - ['ltbd_445',['ltbd',['../namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c',1,'share_table_info']]], - ['ludx_446',['ludx',['../namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f',1,'share_table_info']]], - ['luh4wlc_447',['luh4wlc',['../namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71',1,'moda_h4wlc']]], - ['lunc_448',['lunc',['../namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3',1,'moda_comprx']]], - ['luncpy_449',['luncpy',['../namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf',1,'moda_ufbcpl']]], - ['lus_450',['lus',['../namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6',1,'moda_lushr']]] + ['lcmgdf_360',['lcmgdf',['../readwritesb_8F90.html#acd820000e0fca0bc8d4ca0abac7b81fd',1,'readwritesb.F90']]], + ['ldxm_361',['ldxm',['../namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5',1,'moda_msgmem']]], + ['ldxts_362',['ldxts',['../namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f',1,'moda_msgmem']]], + ['lendat_363',['lendat',['../modules__vars_8F90.html#a9776bd15698bdb2c211a2326f0ca61dc',1,'modv_vars']]], + ['lens_364',['lens',['../modules__vars_8F90.html#a3eaffbddfb28ae6f90cff4ec580463c1',1,'modv_vars']]], + ['linbtm_365',['linbtm',['../namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80',1,'moda_bitmaps']]], + ['link_366',['link',['../namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c',1,'moda_tables']]], + ['lmsg_367',['lmsg',['../readwritemg_8F90.html#a44d876e69afb2688f364d8bdd0ca2400',1,'readwritemg.F90']]], + ['lstjpb_368',['lstjpb',['../jumplink_8F90.html#a46ebb8c05619d2580397218ff36f4a9b',1,'jumplink.F90']]], + ['lstnod_369',['lstnod',['../namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d',1,'moda_bitmaps']]], + ['lstnodct_370',['lstnodct',['../namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e',1,'moda_bitmaps']]], + ['lstpos_371',['lstpos',['../cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0',1,'cread.h']]], + ['ltbd_372',['ltbd',['../namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c',1,'share_table_info']]], + ['ludx_373',['ludx',['../namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f',1,'share_table_info']]], + ['luh4wlc_374',['luh4wlc',['../namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71',1,'moda_h4wlc']]], + ['lunc_375',['lunc',['../namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3',1,'moda_comprx']]], + ['luncpy_376',['luncpy',['../namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf',1,'moda_ufbcpl']]], + ['lus_377',['lus',['../namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6',1,'moda_lushr']]] ]; diff --git a/search/all_c.js b/search/all_c.js index 77d3019f4..d65ca1080 100644 --- a/search/all_c.js +++ b/search/all_c.js @@ -1,163 +1,124 @@ var searchData= [ - ['main_451',['main',['../xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): xbfmg.c'],['../debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): debufr.c']]], - ['makestab_452',['makestab',['../makestab_8f.html#ad12d047119fdcdeb97ffbced0696b9fb',1,'makestab.f']]], - ['makestab_2ef_453',['makestab.f',['../makestab_8f.html',1,'']]], - ['master_20bufr_20tables_454',['Master BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html',1,'']]], - ['matx_455',['matx',['../namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576',1,'moda_comprs']]], - ['max_5ffxy_5ftableb_456',['MAX_FXY_TABLEB',['../bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858',1,'bufrlib.h']]], - ['max_5fmeaning_5flen_457',['MAX_MEANING_LEN',['../cfe_8c.html#a655e9465dd48c1e8a068b4689748e509',1,'cfe.c']]], - ['maxbyt_458',['maxbyt',['../namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc',1,'moda_bitbuf']]], - ['maxcd_459',['MAXCD',['../bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3',1,'bufrlib.h']]], - ['maxcd_460',['maxcd',['../namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8',1,'modv_maxcd']]], - ['maxjl_461',['maxjl',['../namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61',1,'modv_maxjl']]], - ['maxmem_462',['maxmem',['../namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1',1,'modv_maxmem']]], - ['maxmsg_463',['maxmsg',['../namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46',1,'modv_maxmsg']]], - ['maxnc_464',['MAXNC',['../bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510',1,'bufrlib.h']]], - ['maxnc_465',['maxnc',['../namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e',1,'modv_maxnc']]], - ['maxout_466',['maxout',['../maxout_8f.html#aaa325906c9b2cc1b17852d152d475bcb',1,'maxout.f']]], - ['maxout_2ef_467',['maxout.f',['../maxout_8f.html',1,'']]], - ['maxout_5fc_468',['maxout_c',['../namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42',1,'bufr_c2f_interface']]], - ['maxout_5ff_469',['maxout_f',['../bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3',1,'bufr_interface.h']]], - ['maxss_470',['maxss',['../namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2',1,'modv_maxss']]], - ['maxtab_471',['maxtab',['../namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2',1,'moda_tables']]], - ['maxtba_472',['maxtba',['../namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a',1,'modv_maxtba']]], - ['maxtbb_473',['maxtbb',['../namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2',1,'modv_maxtbb']]], - ['maxtbd_474',['maxtbd',['../namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0',1,'modv_maxtbd']]], - ['mbay_475',['mbay',['../namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050',1,'moda_bitbuf']]], - ['mbit_476',['mbit',['../namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a',1,'moda_usrbit']]], - ['mbyt_477',['mbyt',['../namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a',1,'moda_bitbuf']]], - ['mdx_478',['mdx',['../namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94',1,'moda_msgmem']]], - ['mesgbc_479',['mesgbc',['../mesgbc_8f.html#a94b2ff31250eb562ee4fe3c5c231e98b',1,'mesgbc.f']]], - ['mesgbc_2ef_480',['mesgbc.f',['../mesgbc_8f.html',1,'']]], - ['mesgbf_481',['mesgbf',['../mesgbf_8f.html#a01bf48e41499c9083c3c651d1dd1ee20',1,'mesgbf.f']]], - ['mesgbf_2ef_482',['mesgbf.f',['../mesgbf_8f.html',1,'']]], - ['mgwa_483',['mgwa',['../namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a',1,'moda_mgwa']]], - ['mgwb_484',['mgwb',['../namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa',1,'moda_mgwb']]], - ['min_5ffxy_5frepl_485',['MIN_FXY_REPL',['../bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b',1,'bufrlib.h']]], - ['min_5ffxy_5ftabled_486',['MIN_FXY_TABLED',['../bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c',1,'bufrlib.h']]], - ['minimg_487',['minimg',['../minimg_8f.html#a8a82b46fac7c6c9375ec8b0543de1f0a',1,'minimg.f']]], - ['minimg_2ef_488',['minimg.f',['../minimg_8f.html',1,'']]], - ['mlast_489',['mlast',['../namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9',1,'moda_msgmem']]], - ['moda_5fbitbuf_490',['moda_bitbuf',['../namespacemoda__bitbuf.html',1,'']]], - ['moda_5fbitmaps_491',['moda_bitmaps',['../namespacemoda__bitmaps.html',1,'']]], - ['moda_5fbufrmg_492',['moda_bufrmg',['../namespacemoda__bufrmg.html',1,'']]], - ['moda_5fbufrsr_493',['moda_bufrsr',['../namespacemoda__bufrsr.html',1,'']]], - ['moda_5fcomprs_494',['moda_comprs',['../namespacemoda__comprs.html',1,'']]], - ['moda_5fcomprx_495',['moda_comprx',['../namespacemoda__comprx.html',1,'']]], - ['moda_5fdscach_496',['moda_dscach',['../namespacemoda__dscach.html',1,'']]], - ['moda_5fh4wlc_497',['moda_h4wlc',['../namespacemoda__h4wlc.html',1,'']]], - ['moda_5fidrdm_498',['moda_idrdm',['../namespacemoda__idrdm.html',1,'']]], - ['moda_5fival_499',['moda_ival',['../namespacemoda__ival.html',1,'']]], - ['moda_5fivttmp_500',['moda_ivttmp',['../namespacemoda__ivttmp.html',1,'']]], - ['moda_5flushr_501',['moda_lushr',['../namespacemoda__lushr.html',1,'']]], - ['moda_5fmgwa_502',['moda_mgwa',['../namespacemoda__mgwa.html',1,'']]], - ['moda_5fmgwb_503',['moda_mgwb',['../namespacemoda__mgwb.html',1,'']]], - ['moda_5fmsgcwd_504',['moda_msgcwd',['../namespacemoda__msgcwd.html',1,'']]], - ['moda_5fmsglim_505',['moda_msglim',['../namespacemoda__msglim.html',1,'']]], - ['moda_5fmsgmem_506',['moda_msgmem',['../namespacemoda__msgmem.html',1,'']]], - ['moda_5fmstabs_507',['moda_mstabs',['../namespacemoda__mstabs.html',1,'']]], - ['moda_5fnmikrp_508',['moda_nmikrp',['../namespacemoda__nmikrp.html',1,'']]], - ['moda_5fnrv203_509',['moda_nrv203',['../namespacemoda__nrv203.html',1,'']]], - ['moda_5fnulbfr_510',['moda_nulbfr',['../namespacemoda__nulbfr.html',1,'']]], - ['moda_5frdmtb_511',['moda_rdmtb',['../namespacemoda__rdmtb.html',1,'']]], - ['moda_5frlccmn_512',['moda_rlccmn',['../namespacemoda__rlccmn.html',1,'']]], - ['moda_5fs01cm_513',['moda_s01cm',['../namespacemoda__s01cm.html',1,'']]], - ['moda_5fsc3bfr_514',['moda_sc3bfr',['../namespacemoda__sc3bfr.html',1,'']]], - ['moda_5fstbfr_515',['moda_stbfr',['../namespacemoda__stbfr.html',1,'']]], - ['moda_5fstcode_516',['moda_stcode',['../namespacemoda__stcode.html',1,'']]], - ['moda_5ftababd_517',['moda_tababd',['../namespacemoda__tababd.html',1,'']]], - ['moda_5ftables_518',['moda_tables',['../namespacemoda__tables.html',1,'']]], - ['moda_5fufbcpl_519',['moda_ufbcpl',['../namespacemoda__ufbcpl.html',1,'']]], - ['moda_5funptyp_520',['moda_unptyp',['../namespacemoda__unptyp.html',1,'']]], - ['moda_5fusrbit_521',['moda_usrbit',['../namespacemoda__usrbit.html',1,'']]], - ['moda_5fusrint_522',['moda_usrint',['../namespacemoda__usrint.html',1,'']]], - ['moda_5fusrtmp_523',['moda_usrtmp',['../namespacemoda__usrtmp.html',1,'']]], - ['moda_5fxtab_524',['moda_xtab',['../namespacemoda__xtab.html',1,'']]], - ['modules_5farrs_2ef90_525',['modules_arrs.F90',['../modules__arrs_8F90.html',1,'']]], - ['modules_5fvars_2ef90_526',['modules_vars.F90',['../modules__vars_8F90.html',1,'']]], - ['modv_5fbmiss_527',['modv_bmiss',['../namespacemodv__bmiss.html',1,'']]], - ['modv_5fifopbf_528',['modv_ifopbf',['../namespacemodv__ifopbf.html',1,'']]], - ['modv_5fim8b_529',['modv_im8b',['../namespacemodv__im8b.html',1,'']]], - ['modv_5fmaxcd_530',['modv_maxcd',['../namespacemodv__maxcd.html',1,'']]], - ['modv_5fmaxjl_531',['modv_maxjl',['../namespacemodv__maxjl.html',1,'']]], - ['modv_5fmaxmem_532',['modv_maxmem',['../namespacemodv__maxmem.html',1,'']]], - ['modv_5fmaxmsg_533',['modv_maxmsg',['../namespacemodv__maxmsg.html',1,'']]], - ['modv_5fmaxnc_534',['modv_maxnc',['../namespacemodv__maxnc.html',1,'']]], - ['modv_5fmaxss_535',['modv_maxss',['../namespacemodv__maxss.html',1,'']]], - ['modv_5fmaxtba_536',['modv_maxtba',['../namespacemodv__maxtba.html',1,'']]], - ['modv_5fmaxtbb_537',['modv_maxtbb',['../namespacemodv__maxtbb.html',1,'']]], - ['modv_5fmaxtbd_538',['modv_maxtbd',['../namespacemodv__maxtbd.html',1,'']]], - ['modv_5fmxbtm_539',['modv_mxbtm',['../namespacemodv__mxbtm.html',1,'']]], - ['modv_5fmxbtmse_540',['modv_mxbtmse',['../namespacemodv__mxbtmse.html',1,'']]], - ['modv_5fmxcdv_541',['modv_mxcdv',['../namespacemodv__mxcdv.html',1,'']]], - ['modv_5fmxcnem_542',['modv_mxcnem',['../namespacemodv__mxcnem.html',1,'']]], - ['modv_5fmxcsb_543',['modv_mxcsb',['../namespacemodv__mxcsb.html',1,'']]], - ['modv_5fmxdxts_544',['modv_mxdxts',['../namespacemodv__mxdxts.html',1,'']]], - ['modv_5fmxh4wlc_545',['modv_mxh4wlc',['../namespacemodv__mxh4wlc.html',1,'']]], - ['modv_5fmxlcc_546',['modv_mxlcc',['../namespacemodv__mxlcc.html',1,'']]], - ['modv_5fmxmsgl_547',['modv_mxmsgl',['../namespacemodv__mxmsgl.html',1,'']]], - ['modv_5fmxmtbb_548',['modv_mxmtbb',['../namespacemodv__mxmtbb.html',1,'']]], - ['modv_5fmxmtbd_549',['modv_mxmtbd',['../namespacemodv__mxmtbd.html',1,'']]], - ['modv_5fmxmtbf_550',['modv_mxmtbf',['../namespacemodv__mxmtbf.html',1,'']]], - ['modv_5fmxnaf_551',['modv_mxnaf',['../namespacemodv__mxnaf.html',1,'']]], - ['modv_5fmxnrv_552',['modv_mxnrv',['../namespacemodv__mxnrv.html',1,'']]], - ['modv_5fmxrst_553',['modv_mxrst',['../namespacemodv__mxrst.html',1,'']]], - ['modv_5fmxs_554',['modv_mxs',['../namespacemodv__mxs.html',1,'']]], - ['modv_5fmxs01v_555',['modv_mxs01v',['../namespacemodv__mxs01v.html',1,'']]], - ['modv_5fmxtamc_556',['modv_mxtamc',['../namespacemodv__mxtamc.html',1,'']]], - ['modv_5fmxtco_557',['modv_mxtco',['../namespacemodv__mxtco.html',1,'']]], - ['modv_5fnfiles_558',['modv_nfiles',['../namespacemodv__nfiles.html',1,'']]], - ['mrginv_559',['mrginv',['../mrginv_8f.html#ad2b1b1578991d75d98e005d2678bef78',1,'mrginv.f']]], - ['mrginv_2ef_560',['mrginv.f',['../mrginv_8f.html',1,'']]], - ['msgfull_561',['msgfull',['../msgfull_8f.html#a3808cd2ad652b38673d5ac6906cfe73f',1,'msgfull.f']]], - ['msgfull_2ef_562',['msgfull.f',['../msgfull_8f.html',1,'']]], - ['msgini_563',['msgini',['../msgini_8f.html#ae73a0a9e7bba8f7dfeb673f2bca0820b',1,'msgini.f']]], - ['msgini_2ef_564',['msgini.f',['../msgini_8f.html',1,'']]], - ['msglen_565',['msglen',['../namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211',1,'moda_bufrmg']]], - ['msglim_566',['msglim',['../namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf',1,'moda_msglim']]], - ['msgp_567',['msgp',['../namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2',1,'moda_msgmem']]], - ['msgs_568',['msgs',['../namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227',1,'moda_msgmem']]], - ['msgtxt_569',['msgtxt',['../namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793',1,'moda_bufrmg']]], - ['msgunp_570',['msgunp',['../namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca',1,'moda_unptyp']]], - ['msgupd_571',['msgupd',['../msgupd_8f.html#adf75cb2bc2a217eb33ffc8e45b1a5350',1,'msgupd.f']]], - ['msgupd_2ef_572',['msgupd.f',['../msgupd_8f.html',1,'']]], - ['msgwrt_573',['msgwrt',['../msgwrt_8f.html#ac95ecf1436ba14805a33efd29fab1e5d',1,'msgwrt.f']]], - ['msgwrt_2ef_574',['msgwrt.f',['../msgwrt_8f.html',1,'']]], - ['mstabs_2eh_575',['mstabs.h',['../mstabs_8h.html',1,'']]], - ['msub_576',['msub',['../namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295',1,'moda_msgcwd']]], - ['mtab_577',['mtab',['../namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56',1,'moda_tababd']]], - ['mtfnam_578',['mtfnam',['../mtfnam_8f.html#a9991cbb64b79f8c3f07d1037344ab143',1,'mtfnam.f']]], - ['mtfnam_2ef_579',['mtfnam.f',['../mtfnam_8f.html',1,'']]], - ['mtinfo_580',['mtinfo',['../mtinfo_8f.html#a5bc13da9cf85f0bf6a8010842707d271',1,'mtinfo.f']]], - ['mtinfo_2ef_581',['mtinfo.f',['../mtinfo_8f.html',1,'']]], - ['mtinfo_5fc_582',['mtinfo_c',['../namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364',1,'bufr_c2f_interface']]], - ['mtinfo_5ff_583',['mtinfo_f',['../bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e',1,'bufr_interface.h']]], - ['munit_584',['munit',['../namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc',1,'moda_msgmem']]], - ['mvb_585',['mvb',['../mvb_8f.html#a3fb4ee7c2a5cf7725257dcdd71826ba2',1,'mvb.f']]], - ['mvb_2ef_586',['mvb.f',['../mvb_8f.html',1,'']]], - ['mxbtm_587',['mxbtm',['../namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f',1,'modv_mxbtm']]], - ['mxbtmse_588',['mxbtmse',['../namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac',1,'modv_mxbtmse']]], - ['mxcdv_589',['mxcdv',['../namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7',1,'modv_mxcdv']]], - ['mxcnem_590',['mxcnem',['../namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3',1,'modv_mxcnem']]], - ['mxcsb_591',['mxcsb',['../namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c',1,'modv_mxcsb']]], - ['mxdxm_592',['mxdxm',['../namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd',1,'moda_msgmem']]], - ['mxdxts_593',['mxdxts',['../namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884',1,'modv_mxdxts']]], - ['mxdxw_594',['mxdxw',['../namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142',1,'moda_msgmem']]], - ['mxfnlen_595',['MXFNLEN',['../crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'crwbmg.c']]], - ['mxh4wlc_596',['mxh4wlc',['../namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886',1,'modv_mxh4wlc']]], - ['mxlcc_597',['mxlcc',['../namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af',1,'modv_mxlcc']]], - ['mxmsgl_598',['mxmsgl',['../namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc',1,'modv_mxmsgl']]], - ['mxmsgld4_599',['mxmsgld4',['../namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9',1,'modv_mxmsgl']]], - ['mxmtbb_600',['mxmtbb',['../namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139',1,'modv_mxmtbb']]], - ['mxmtbd_601',['mxmtbd',['../namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea',1,'modv_mxmtbd']]], - ['mxmtbf_602',['mxmtbf',['../cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2',1,'mxmtbf(): cfe.c'],['../namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363',1,'modv_mxmtbf::mxmtbf()']]], - ['mxnaf_603',['mxnaf',['../namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e',1,'modv_mxnaf']]], - ['mxnaf_604',['MXNAF',['../bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f',1,'bufrlib.h']]], - ['mxnrv_605',['mxnrv',['../namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050',1,'modv_mxnrv']]], - ['mxrst_606',['mxrst',['../namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97',1,'modv_mxrst']]], - ['mxs_607',['mxs',['../namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375',1,'modv_mxs']]], - ['mxs01v_608',['mxs01v',['../namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51',1,'modv_mxs01v']]], - ['mxtamc_609',['mxtamc',['../namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11',1,'modv_mxtamc']]], - ['mxtco_610',['mxtco',['../namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81',1,'modv_mxtco']]] + ['main_378',['main',['../xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): xbfmg.c'],['../debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): debufr.c']]], + ['makestab_379',['makestab',['../jumplink_8F90.html#ad12d047119fdcdeb97ffbced0696b9fb',1,'jumplink.F90']]], + ['master_20bufr_20tables_380',['Master BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html',1,'']]], + ['mastertable_2ef90_381',['mastertable.F90',['../mastertable_8F90.html',1,'']]], + ['matx_382',['matx',['../namespacemoda__comprs.html#ac4fd15b3e268548d17edca4e1e5e5675',1,'moda_comprs']]], + ['max_5ffxy_5ftableb_383',['MAX_FXY_TABLEB',['../bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858',1,'bufrlib.h']]], + ['max_5fmeaning_5flen_384',['MAX_MEANING_LEN',['../cfe_8c.html#a655e9465dd48c1e8a068b4689748e509',1,'cfe.c']]], + ['maxbyt_385',['maxbyt',['../namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc',1,'moda_bitbuf']]], + ['maxcd_386',['maxcd',['../modules__vars_8F90.html#ae8a681bd9096d6c9a2466b3c71f6ec7e',1,'modv_vars']]], + ['maxjl_387',['maxjl',['../modules__vars_8F90.html#ad2e54a398ee4fd5c87669a2883e7a37d',1,'modv_vars']]], + ['maxmem_388',['maxmem',['../modules__vars_8F90.html#ab5934a6a2f8cd3e09418203c1d3c20de',1,'modv_vars']]], + ['maxmsg_389',['maxmsg',['../modules__vars_8F90.html#a61162c966b964b3039b9180818d0e7ee',1,'modv_vars']]], + ['maxnc_390',['maxnc',['../modules__vars_8F90.html#a6c14025516cc65ace5f17fc2c4e4a9a3',1,'modv_vars']]], + ['maxout_391',['maxout',['../readwritemg_8F90.html#a1c8cdc47f69010cd4eaa20710e28f53d',1,'readwritemg.F90']]], + ['maxout_5fc_392',['maxout_c',['../namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42',1,'bufr_c2f_interface']]], + ['maxout_5ff_393',['maxout_f',['../bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3',1,'bufr_interface.h']]], + ['maxrcr_394',['maxrcr',['../modules__vars_8F90.html#a656c690a79e927a6d824a1e8cef901e9',1,'modv_vars']]], + ['maxss_395',['maxss',['../modules__vars_8F90.html#adaae2c5fadf243ece139cc7e84688d75',1,'modv_vars']]], + ['maxtba_396',['maxtba',['../modules__vars_8F90.html#aec19b6418a5d88f574f4b196b93a5cf5',1,'modv_vars']]], + ['maxtbb_397',['maxtbb',['../modules__vars_8F90.html#a14452fc0317594bd880c9abba582ae74',1,'modv_vars']]], + ['maxtbd_398',['maxtbd',['../modules__vars_8F90.html#ab5fc7a78bb32e9a0fa7cbb1f402e7528',1,'modv_vars']]], + ['mbay_399',['mbay',['../namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050',1,'moda_bitbuf']]], + ['mbit_400',['mbit',['../namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a',1,'moda_usrbit']]], + ['mbyt_401',['mbyt',['../namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a',1,'moda_bitbuf']]], + ['mdx_402',['mdx',['../namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94',1,'moda_msgmem']]], + ['memmsgs_2ef90_403',['memmsgs.F90',['../memmsgs_8F90.html',1,'']]], + ['mesgbc_404',['mesgbc',['../s013vals_8F90.html#ac3a5070d2415122d7a93471e5f019247',1,'s013vals.F90']]], + ['mesgbf_405',['mesgbf',['../s013vals_8F90.html#a837bd14b4718718edb57b5f53c7bbcbe',1,'s013vals.F90']]], + ['mgwa_406',['mgwa',['../namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a',1,'moda_mgwa']]], + ['mgwb_407',['mgwb',['../namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa',1,'moda_mgwb']]], + ['min_5ffxy_5frepl_408',['MIN_FXY_REPL',['../bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b',1,'bufrlib.h']]], + ['min_5ffxy_5ftabled_409',['MIN_FXY_TABLED',['../bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c',1,'bufrlib.h']]], + ['minimg_410',['minimg',['../s013vals_8F90.html#a70447e085c4523fa53796c5317f63ae8',1,'s013vals.F90']]], + ['misc_2ef90_411',['misc.F90',['../misc_8F90.html',1,'']]], + ['missing_2ef90_412',['missing.F90',['../missing_8F90.html',1,'']]], + ['mlast_413',['mlast',['../namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9',1,'moda_msgmem']]], + ['moda_5fbitbuf_414',['moda_bitbuf',['../namespacemoda__bitbuf.html',1,'']]], + ['moda_5fbitmaps_415',['moda_bitmaps',['../namespacemoda__bitmaps.html',1,'']]], + ['moda_5fbufrmg_416',['moda_bufrmg',['../namespacemoda__bufrmg.html',1,'']]], + ['moda_5fbufrsr_417',['moda_bufrsr',['../namespacemoda__bufrsr.html',1,'']]], + ['moda_5fcomprs_418',['moda_comprs',['../namespacemoda__comprs.html',1,'']]], + ['moda_5fcomprx_419',['moda_comprx',['../namespacemoda__comprx.html',1,'']]], + ['moda_5fdscach_420',['moda_dscach',['../namespacemoda__dscach.html',1,'']]], + ['moda_5fh4wlc_421',['moda_h4wlc',['../namespacemoda__h4wlc.html',1,'']]], + ['moda_5fidrdm_422',['moda_idrdm',['../namespacemoda__idrdm.html',1,'']]], + ['moda_5fival_423',['moda_ival',['../namespacemoda__ival.html',1,'']]], + ['moda_5fivttmp_424',['moda_ivttmp',['../namespacemoda__ivttmp.html',1,'']]], + ['moda_5flushr_425',['moda_lushr',['../namespacemoda__lushr.html',1,'']]], + ['moda_5fmgwa_426',['moda_mgwa',['../namespacemoda__mgwa.html',1,'']]], + ['moda_5fmgwb_427',['moda_mgwb',['../namespacemoda__mgwb.html',1,'']]], + ['moda_5fmsgcmp_428',['moda_msgcmp',['../namespacemoda__msgcmp.html',1,'']]], + ['moda_5fmsgcwd_429',['moda_msgcwd',['../namespacemoda__msgcwd.html',1,'']]], + ['moda_5fmsglim_430',['moda_msglim',['../namespacemoda__msglim.html',1,'']]], + ['moda_5fmsgmem_431',['moda_msgmem',['../namespacemoda__msgmem.html',1,'']]], + ['moda_5fmsgstd_432',['moda_msgstd',['../namespacemoda__msgstd.html',1,'']]], + ['moda_5fmstabs_433',['moda_mstabs',['../namespacemoda__mstabs.html',1,'']]], + ['moda_5fnmikrp_434',['moda_nmikrp',['../namespacemoda__nmikrp.html',1,'']]], + ['moda_5fnrv203_435',['moda_nrv203',['../namespacemoda__nrv203.html',1,'']]], + ['moda_5fnulbfr_436',['moda_nulbfr',['../namespacemoda__nulbfr.html',1,'']]], + ['moda_5frdmtb_437',['moda_rdmtb',['../namespacemoda__rdmtb.html',1,'']]], + ['moda_5frlccmn_438',['moda_rlccmn',['../namespacemoda__rlccmn.html',1,'']]], + ['moda_5fs01cm_439',['moda_s01cm',['../namespacemoda__s01cm.html',1,'']]], + ['moda_5fs3list_440',['moda_s3list',['../namespacemoda__s3list.html',1,'']]], + ['moda_5fsc3bfr_441',['moda_sc3bfr',['../namespacemoda__sc3bfr.html',1,'']]], + ['moda_5fstbfr_442',['moda_stbfr',['../namespacemoda__stbfr.html',1,'']]], + ['moda_5fstcode_443',['moda_stcode',['../namespacemoda__stcode.html',1,'']]], + ['moda_5ftababd_444',['moda_tababd',['../namespacemoda__tababd.html',1,'']]], + ['moda_5ftablef_445',['moda_tablef',['../namespacemoda__tablef.html',1,'']]], + ['moda_5ftables_446',['moda_tables',['../namespacemoda__tables.html',1,'']]], + ['moda_5ftnkrcp_447',['moda_tnkrcp',['../namespacemoda__tnkrcp.html',1,'']]], + ['moda_5fufbcpl_448',['moda_ufbcpl',['../namespacemoda__ufbcpl.html',1,'']]], + ['moda_5funptyp_449',['moda_unptyp',['../namespacemoda__unptyp.html',1,'']]], + ['moda_5fusrbit_450',['moda_usrbit',['../namespacemoda__usrbit.html',1,'']]], + ['moda_5fusrint_451',['moda_usrint',['../namespacemoda__usrint.html',1,'']]], + ['moda_5fusrtmp_452',['moda_usrtmp',['../namespacemoda__usrtmp.html',1,'']]], + ['moda_5fxtab_453',['moda_xtab',['../namespacemoda__xtab.html',1,'']]], + ['modules_5farrs_2ef90_454',['modules_arrs.F90',['../modules__arrs_8F90.html',1,'']]], + ['modules_5fvars_2ef90_455',['modules_vars.F90',['../modules__vars_8F90.html',1,'']]], + ['mrginv_456',['mrginv',['../misc_8F90.html#ad2b1b1578991d75d98e005d2678bef78',1,'misc.F90']]], + ['msgfull_457',['msgfull',['../readwritemg_8F90.html#a47d4a63b5e7276a90eee0ce83237cb60',1,'readwritemg.F90']]], + ['msgini_458',['msgini',['../readwritemg_8F90.html#ae5477034329440d4127a5243305b81e4',1,'readwritemg.F90']]], + ['msglen_459',['msglen',['../namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211',1,'moda_bufrmg']]], + ['msglim_460',['msglim',['../namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf',1,'moda_msglim']]], + ['msgp_461',['msgp',['../namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2',1,'moda_msgmem']]], + ['msgs_462',['msgs',['../namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227',1,'moda_msgmem']]], + ['msgtxt_463',['msgtxt',['../namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793',1,'moda_bufrmg']]], + ['msgunp_464',['msgunp',['../namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca',1,'moda_unptyp']]], + ['msgupd_465',['msgupd',['../readwritesb_8F90.html#a237f33069932c5fae473ac718c2eae9a',1,'readwritesb.F90']]], + ['msgwrt_466',['msgwrt',['../readwritemg_8F90.html#af49a08bdf36b69217da7571dcfc90624',1,'readwritemg.F90']]], + ['mstabs_2eh_467',['mstabs.h',['../mstabs_8h.html',1,'']]], + ['msub_468',['msub',['../namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295',1,'moda_msgcwd']]], + ['mtab_469',['mtab',['../namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56',1,'moda_tababd']]], + ['mtfnam_470',['mtfnam',['../mastertable_8F90.html#a3c167cbcb11e3c1ec0a9abc584e27a57',1,'mastertable.F90']]], + ['mtinfo_471',['mtinfo',['../mastertable_8F90.html#abf69490965212318f1dfee9b0bc4890c',1,'mastertable.F90']]], + ['mtinfo_5fc_472',['mtinfo_c',['../namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364',1,'bufr_c2f_interface']]], + ['mtinfo_5ff_473',['mtinfo_f',['../bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e',1,'bufr_interface.h']]], + ['munit_474',['munit',['../namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc',1,'moda_msgmem']]], + ['mvb_475',['mvb',['../copydata_8F90.html#a4ced98b23d03cd8718d81b357ee4e2c5',1,'copydata.F90']]], + ['mxbtm_476',['mxbtm',['../modules__vars_8F90.html#a9c06e9ba0f47cbeecfb1e6d1972e1e4f',1,'modv_vars']]], + ['mxbtmse_477',['mxbtmse',['../modules__vars_8F90.html#aa7b24da237033a528cb05754d5736cc6',1,'modv_vars']]], + ['mxcdv_478',['mxcdv',['../modules__vars_8F90.html#ae330052e2bcc0a81949c5ef8d6e7cc9e',1,'modv_vars']]], + ['mxcnem_479',['mxcnem',['../modules__vars_8F90.html#ad5cda585f8b55a9e6e3a81808c23630f',1,'modv_vars']]], + ['mxcsb_480',['mxcsb',['../modules__vars_8F90.html#a6780f1f07eeec5333e01ca17588f7d39',1,'modv_vars']]], + ['mxdxm_481',['mxdxm',['../namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd',1,'moda_msgmem']]], + ['mxdxts_482',['mxdxts',['../modules__vars_8F90.html#a179ebe33ab923f74ef05e2851a86d33b',1,'modv_vars']]], + ['mxdxw_483',['mxdxw',['../namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142',1,'moda_msgmem']]], + ['mxfnlen_484',['MXFNLEN',['../crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'crwbmg.c']]], + ['mxh4wlc_485',['mxh4wlc',['../modules__vars_8F90.html#a59f64f9f847d2171ecac822482b2f0a9',1,'modv_vars']]], + ['mxlcc_486',['mxlcc',['../modules__vars_8F90.html#a739ea87803beaa51dd172adb95af9b86',1,'modv_vars']]], + ['mxmsgl_487',['mxmsgl',['../modules__vars_8F90.html#a6062176c0f51fa9f593310f46cc14fe0',1,'modv_vars']]], + ['mxmsgld4_488',['mxmsgld4',['../modules__vars_8F90.html#a5a89be3220392c5b182d4d475d22e3e1',1,'modv_vars']]], + ['mxmtbb_489',['mxmtbb',['../modules__vars_8F90.html#ab2c78405872b159e107674c2fc2a12f7',1,'modv_vars']]], + ['mxmtbd_490',['mxmtbd',['../modules__vars_8F90.html#ae0bf7b02df4e070e72a90672e3eded90',1,'modv_vars']]], + ['mxmtbf_491',['mxmtbf',['../cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2',1,'mxmtbf(): cfe.c'],['../modules__vars_8F90.html#a9242cd091e5ab5d3956740035f6b6207',1,'modv_vars::mxmtbf()']]], + ['mxnaf_492',['mxnaf',['../modules__vars_8F90.html#a7b92c0b0ed1fb2b80b048414fa1e54ce',1,'modv_vars']]], + ['mxnrv_493',['mxnrv',['../modules__vars_8F90.html#a009fea23b90695d1556e33a557d4b7f1',1,'modv_vars']]], + ['mxrst_494',['mxrst',['../modules__vars_8F90.html#ae2e923a33b968adc577317f6cef8f24e',1,'modv_vars']]], + ['mxs_495',['mxs',['../modules__vars_8F90.html#a695fe6ca7714604e88e1fc4d21cc839d',1,'modv_vars']]], + ['mxs01v_496',['mxs01v',['../modules__vars_8F90.html#a61b398d330ce6937423db44f080b93fd',1,'modv_vars']]], + ['mxtamc_497',['mxtamc',['../modules__vars_8F90.html#a85bed6c0b0a9aa339abd8fb7b3a136b5',1,'modv_vars']]], + ['mxtco_498',['mxtco',['../modules__vars_8F90.html#a68ea76a4751743e58280e061b43313e7',1,'modv_vars']]] ]; diff --git a/search/all_d.js b/search/all_d.js index ebe631679..41d713270 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -1,88 +1,70 @@ var searchData= [ - ['nbit_611',['nbit',['../namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7',1,'moda_usrbit']]], - ['nbtm_612',['nbtm',['../namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d',1,'moda_bitmaps']]], - ['nbtmse_613',['nbtmse',['../namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c',1,'moda_bitmaps']]], - ['ncnem_614',['ncnem',['../namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6',1,'moda_dscach']]], - ['ncol_615',['ncol',['../namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133',1,'moda_comprs']]], - ['ndc_616',['ndc',['../namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c',1,'moda_dscach']]], - ['ndelem_617',['ndelem',['../namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1',1,'moda_mstabs']]], - ['ndelem_5fc_618',['ndelem_c',['../mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26',1,'mstabs.h']]], - ['ndxm_619',['ndxm',['../namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637',1,'moda_msgmem']]], - ['ndxts_620',['ndxts',['../namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23',1,'moda_msgmem']]], - ['nem_621',['nem',['../namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3',1,'moda_nmikrp']]], - ['nemdefs_622',['nemdefs',['../nemdefs_8f.html#ac552350372c0023b612907e7f2445434',1,'nemdefs.f']]], - ['nemdefs_2ef_623',['nemdefs.f',['../nemdefs_8f.html',1,'']]], - ['nemdefs_5fc_624',['nemdefs_c',['../namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48',1,'bufr_c2f_interface']]], - ['nemdefs_5ff_625',['nemdefs_f',['../bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c',1,'bufr_interface.h']]], - ['nemo_5fstr_5flen_626',['NEMO_STR_LEN',['../bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0',1,'bufrlib.h']]], - ['nemock_627',['nemock',['../nemock_8f.html#a4cd0d5caf72ff1f2acb4747d11494dd2',1,'nemock.f']]], - ['nemock_2ef_628',['nemock.f',['../nemock_8f.html',1,'']]], - ['nemspecs_629',['nemspecs',['../nemspecs_8f.html#afc40b65878e8f8537a6bd6d804b5b650',1,'nemspecs.f']]], - ['nemspecs_2ef_630',['nemspecs.f',['../nemspecs_8f.html',1,'']]], - ['nemspecs_5fc_631',['nemspecs_c',['../namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55',1,'bufr_c2f_interface']]], - ['nemspecs_5ff_632',['nemspecs_f',['../bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f',1,'bufr_interface.h']]], - ['nemtab_633',['nemtab',['../nemtab_8f.html#a3f3fb5a378c52dac83cb4fce27ceb712',1,'nemtab.f']]], - ['nemtab_2ef_634',['nemtab.f',['../nemtab_8f.html',1,'']]], - ['nemtab_5fc_635',['nemtab_c',['../namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9',1,'bufr_c2f_interface']]], - ['nemtab_5ff_636',['nemtab_f',['../bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c',1,'bufr_interface.h']]], - ['nemtba_637',['nemtba',['../nemtba_8f.html#a1038fd60bc3fa89eff9ff79ed996a7e1',1,'nemtba.f']]], - ['nemtba_2ef_638',['nemtba.f',['../nemtba_8f.html',1,'']]], - ['nemtbax_639',['nemtbax',['../nemtbax_8f.html#adec9ab84d3bc51e082325e710354192e',1,'nemtbax.f']]], - ['nemtbax_2ef_640',['nemtbax.f',['../nemtbax_8f.html',1,'']]], - ['nemtbb_641',['nemtbb',['../nemtbb_8f.html#a6a5cf8bb2726a59eeb87fbbef58764be',1,'nemtbb.f']]], - ['nemtbb_2ef_642',['nemtbb.f',['../nemtbb_8f.html',1,'']]], - ['nemtbb_5fc_643',['nemtbb_c',['../namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2',1,'bufr_c2f_interface']]], - ['nemtbb_5ff_644',['nemtbb_f',['../bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b',1,'bufr_interface.h']]], - ['nemtbd_645',['nemtbd',['../nemtbd_8f.html#ac3fb25908c829f741ccd1d440d6051d9',1,'nemtbd.f']]], - ['nemtbd_2ef_646',['nemtbd.f',['../nemtbd_8f.html',1,'']]], - ['nenubd_647',['nenubd',['../nenubd_8f.html#a41014913489bdc74d7a2af0fa44159ba',1,'nenubd.f']]], - ['nenubd_2ef_648',['nenubd.f',['../nenubd_8f.html',1,'']]], - ['nevn_649',['nevn',['../nevn_8f.html#abcd7250eb3adfa82e54d118e60ad88e3',1,'nevn.f']]], - ['nevn_2ef_650',['nevn.f',['../nevn_8f.html',1,'']]], - ['newwin_651',['newwin',['../newwin_8f.html#a7c72d9d0b9a4769b7d930b705490e057',1,'newwin.f']]], - ['newwin_2ef_652',['newwin.f',['../newwin_8f.html',1,'']]], - ['nfiles_653',['nfiles',['../namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3',1,'modv_nfiles']]], - ['nfiles_654',['NFILES',['../bufrlib_8h.html#a51b267f0e740902752570c1847b99f14',1,'bufrlib.h']]], - ['nh4wlc_655',['nh4wlc',['../namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac',1,'moda_h4wlc']]], - ['nmsg_656',['nmsg',['../namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad',1,'moda_msgcwd']]], - ['nmsub_657',['nmsub',['../nmsub_8f.html#a9813b6374eac55f642fc568b45c7dfe8',1,'nmsub.f']]], - ['nmsub_2ef_658',['nmsub.f',['../nmsub_8f.html',1,'']]], - ['nmtb_659',['nmtb',['../namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95',1,'moda_mstabs']]], - ['nmtb_5fc_660',['nmtb_c',['../mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0',1,'mstabs.h']]], - ['nmtd_661',['nmtd',['../namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae',1,'moda_mstabs']]], - ['nmtd_5fc_662',['nmtd_c',['../mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff',1,'mstabs.h']]], - ['nmtf_663',['nmtf',['../cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b',1,'cfe.c']]], - ['nmwrd_664',['nmwrd',['../nmwrd_8f.html#a462c3b8304f953dff1021ace791b8cc0',1,'nmwrd.f']]], - ['nmwrd_2ef_665',['nmwrd.f',['../nmwrd_8f.html',1,'']]], - ['nnrv_666',['nnrv',['../namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e',1,'moda_nrv203']]], - ['nrfelm_667',['nrfelm',['../namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a',1,'moda_usrint']]], - ['nrow_668',['nrow',['../namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561',1,'moda_comprx']]], - ['nrst_669',['nrst',['../namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f',1,'moda_rlccmn']]], - ['nrv_670',['nrv',['../namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f',1,'moda_nrv203']]], - ['ns01v_671',['ns01v',['../namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888',1,'moda_s01cm']]], - ['nsub_672',['nsub',['../namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59',1,'moda_msgcwd']]], - ['ntab_673',['ntab',['../namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc',1,'moda_tables']]], - ['ntamc_674',['ntamc',['../namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396',1,'moda_bitmaps']]], - ['ntba_675',['ntba',['../namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558',1,'moda_tababd']]], - ['ntbb_676',['ntbb',['../namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f',1,'moda_tababd']]], - ['ntbd_677',['ntbd',['../namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556',1,'moda_tababd']]], - ['ntco_678',['ntco',['../namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404',1,'moda_bitmaps']]], - ['null_679',['null',['../namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526',1,'moda_nulbfr']]], - ['numbck_680',['numbck',['../numbck_8f.html#abfd2a53dd5457f38bb1aa40284f2475a',1,'numbck.f']]], - ['numbck_2ef_681',['numbck.f',['../numbck_8f.html',1,'']]], - ['nummtb_682',['nummtb',['../stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e',1,'stseq.c']]], - ['numtab_683',['numtab',['../numtab_8f.html#abe719d38067d3f869c1b200530fc92f9',1,'numtab.f']]], - ['numtab_2ef_684',['numtab.f',['../numtab_8f.html',1,'']]], - ['numtbd_685',['numtbd',['../numtbd_8f.html#aae71d3919c5fc05ca4915e7b61aa3735',1,'numtbd.f']]], - ['numtbd_2ef_686',['numtbd.f',['../numtbd_8f.html',1,'']]], - ['numtbd_5fc_687',['numtbd_c',['../namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64',1,'bufr_c2f_interface']]], - ['numtbd_5ff_688',['numtbd_f',['../bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a',1,'bufrlib.h']]], - ['nval_689',['nval',['../namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261',1,'moda_usrint']]], - ['nvnwin_690',['nvnwin',['../nvnwin_8f.html#a4f52a9be063d9dd781de4077c5e9f985',1,'nvnwin.f']]], - ['nvnwin_2ef_691',['nvnwin.f',['../nvnwin_8f.html',1,'']]], - ['nwords_692',['nwords',['../nwords_8f.html#ae6b70eaecec6c57bd71c611cb5bb1e8b',1,'nwords.f']]], - ['nwords_2ef_693',['nwords.f',['../nwords_8f.html',1,'']]], - ['nxtwin_694',['nxtwin',['../nxtwin_8f.html#a1b2e79163137c3e4decd8b9219337f27',1,'nxtwin.f']]], - ['nxtwin_2ef_695',['nxtwin.f',['../nxtwin_8f.html',1,'']]] + ['nbit_499',['nbit',['../namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7',1,'moda_usrbit']]], + ['nbitw_500',['nbitw',['../modules__vars_8F90.html#a18a87ef02ab98d62e7fa272b20acd77a',1,'modv_vars']]], + ['nbtm_501',['nbtm',['../namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d',1,'moda_bitmaps']]], + ['nbtmse_502',['nbtmse',['../namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c',1,'moda_bitmaps']]], + ['nbytw_503',['nbytw',['../modules__vars_8F90.html#a2b80f794fded7bf159ff58796ec31a7c',1,'modv_vars']]], + ['ncnem_504',['ncnem',['../namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6',1,'moda_dscach']]], + ['ncol_505',['ncol',['../namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133',1,'moda_comprs']]], + ['ndc_506',['ndc',['../namespacemoda__dscach.html#abbb9e570ae869b4abdf6e18c14475485',1,'moda_dscach']]], + ['ndelem_507',['ndelem',['../namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1',1,'moda_mstabs']]], + ['ndelem_5fc_508',['ndelem_c',['../mstabs_8h.html#ad9af08676809848df12a73ece2a37182',1,'mstabs.h']]], + ['ndxm_509',['ndxm',['../namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637',1,'moda_msgmem']]], + ['ndxts_510',['ndxts',['../namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23',1,'moda_msgmem']]], + ['nem_511',['nem',['../namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3',1,'moda_nmikrp']]], + ['nemdefs_512',['nemdefs',['../dxtable_8F90.html#ad6352a1c1fdec4ba0adb0173781e4542',1,'dxtable.F90']]], + ['nemdefs_5fc_513',['nemdefs_c',['../namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48',1,'bufr_c2f_interface']]], + ['nemdefs_5ff_514',['nemdefs_f',['../bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c',1,'bufr_interface.h']]], + ['nemo_5fstr_5flen_515',['NEMO_STR_LEN',['../bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0',1,'bufrlib.h']]], + ['nemock_516',['nemock',['../mastertable_8F90.html#a4bb75d7258bc23294546f956cfbe2d36',1,'mastertable.F90']]], + ['nemspecs_517',['nemspecs',['../jumplink_8F90.html#a6ec2d1015cdc1315eb384ea92223e620',1,'jumplink.F90']]], + ['nemspecs_5fc_518',['nemspecs_c',['../namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55',1,'bufr_c2f_interface']]], + ['nemspecs_5ff_519',['nemspecs_f',['../bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f',1,'bufr_interface.h']]], + ['nemtab_520',['nemtab',['../fxy_8F90.html#a01efa3bb871b451a8d53bd6d841bb297',1,'fxy.F90']]], + ['nemtab_5fc_521',['nemtab_c',['../namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9',1,'bufr_c2f_interface']]], + ['nemtab_5ff_522',['nemtab_f',['../bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c',1,'bufr_interface.h']]], + ['nemtba_523',['nemtba',['../dxtable_8F90.html#a36f644b9119ebf87f957bfe023e5cc45',1,'dxtable.F90']]], + ['nemtbax_524',['nemtbax',['../dxtable_8F90.html#a8ea33660d62d74dee92cf7bf9541c1cd',1,'dxtable.F90']]], + ['nemtbb_525',['nemtbb',['../dxtable_8F90.html#a21fa5817ff8a6f471dca950fbaa693ba',1,'dxtable.F90']]], + ['nemtbb_5fc_526',['nemtbb_c',['../namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2',1,'bufr_c2f_interface']]], + ['nemtbb_5ff_527',['nemtbb_f',['../bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b',1,'bufr_interface.h']]], + ['nemtbd_528',['nemtbd',['../dxtable_8F90.html#aa0b7269b3a7df645e6917bfd4ba72b32',1,'dxtable.F90']]], + ['nenubd_529',['nenubd',['../dxtable_8F90.html#ae672eaf27f17dc904b894f347d89c233',1,'dxtable.F90']]], + ['nevn_530',['nevn',['../readwriteval_8F90.html#a2017ce90611078ae96c6bc12da4e8e02',1,'readwriteval.F90']]], + ['newwin_531',['newwin',['../jumplink_8F90.html#ab082ab8ef32893928cb10a2876d73af0',1,'jumplink.F90']]], + ['nfiles_532',['nfiles',['../modules__vars_8F90.html#aa9124552f5c640e47f8decc9499688d8',1,'modv_vars']]], + ['nh4wlc_533',['nh4wlc',['../namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac',1,'moda_h4wlc']]], + ['nmsg_534',['nmsg',['../namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad',1,'moda_msgcwd']]], + ['nmsub_535',['nmsub',['../readwritemg_8F90.html#a7430cdcec381d86f72a4b60a6a7db982',1,'readwritemg.F90']]], + ['nmtb_536',['nmtb',['../namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95',1,'moda_mstabs']]], + ['nmtb_5fc_537',['nmtb_c',['../mstabs_8h.html#ad93c9a8906bf4b63fba3143c8d9d5da5',1,'mstabs.h']]], + ['nmtd_538',['nmtd',['../namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae',1,'moda_mstabs']]], + ['nmtd_5fc_539',['nmtd_c',['../mstabs_8h.html#aaa17913e195f9e3cf457d748d2c8f60e',1,'mstabs.h']]], + ['nmtf_540',['nmtf',['../cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b',1,'cfe.c']]], + ['nmwrd_541',['nmwrd',['../readwritemg_8F90.html#a7c7234f006ddb78fb82844c95b608002',1,'readwritemg.F90']]], + ['nnrv_542',['nnrv',['../namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e',1,'moda_nrv203']]], + ['nrfelm_543',['nrfelm',['../namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a',1,'moda_usrint']]], + ['nrow_544',['nrow',['../namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561',1,'moda_comprx']]], + ['nrst_545',['nrst',['../namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f',1,'moda_rlccmn']]], + ['nrv_546',['nrv',['../namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f',1,'moda_nrv203']]], + ['ns01v_547',['ns01v',['../namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888',1,'moda_s01cm']]], + ['nsub_548',['nsub',['../namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59',1,'moda_msgcwd']]], + ['ntab_549',['ntab',['../namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc',1,'moda_tables']]], + ['ntamc_550',['ntamc',['../namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396',1,'moda_bitmaps']]], + ['ntba_551',['ntba',['../namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558',1,'moda_tababd']]], + ['ntbb_552',['ntbb',['../namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f',1,'moda_tababd']]], + ['ntbd_553',['ntbd',['../namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556',1,'moda_tababd']]], + ['ntco_554',['ntco',['../namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404',1,'moda_bitmaps']]], + ['null_555',['null',['../namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526',1,'moda_nulbfr']]], + ['numbck_556',['numbck',['../fxy_8F90.html#a11357abe01c36dc3472be03e950e8fe3',1,'fxy.F90']]], + ['nummtb_557',['nummtb',['../stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e',1,'stseq.c']]], + ['numtab_558',['numtab',['../fxy_8F90.html#ab6ec8c0148ab5d70923831667277b14e',1,'fxy.F90']]], + ['numtbd_559',['numtbd',['../fxy_8F90.html#aca1fae67e284131dfd240d2336e3e77d',1,'fxy.F90']]], + ['numtbd_5fc_560',['numtbd_c',['../namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64',1,'bufr_c2f_interface']]], + ['numtbd_5ff_561',['numtbd_f',['../bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a',1,'bufrlib.h']]], + ['nval_562',['nval',['../namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261',1,'moda_usrint']]], + ['nvnwin_563',['nvnwin',['../jumplink_8F90.html#a32fa4aca38700d53dd9899f93b9b3636',1,'jumplink.F90']]], + ['nwords_564',['nwords',['../readwritesb_8F90.html#a90ab4c66c5564da3a326c66cc42d067f',1,'readwritesb.F90']]], + ['nxtwin_565',['nxtwin',['../jumplink_8F90.html#a8a7a4ff46107f36ae57dd76442bd2447',1,'jumplink.F90']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 2661a5ba0..b95474e04 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -1,23 +1,21 @@ var searchData= [ - ['open_5fc_696',['open_c',['../namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53',1,'bufr_c2f_interface']]], - ['open_5ff_697',['open_f',['../bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0',1,'bufr_interface.h']]], - ['openab_698',['openab',['../bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c'],['../cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c']]], - ['openab_5fc_699',['openab_c',['../interfacebufrlib_1_1openab__c.html',1,'bufrlib::openab_c'],['../interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6',1,'bufrlib::openab_c::openab_c()']]], - ['openbf_700',['openbf',['../openbf_8f.html#abcc4f481b8758da104eb75575431128e',1,'openbf.f']]], - ['openbf_2ef_701',['openbf.f',['../openbf_8f.html',1,'']]], - ['openbf_5fc_702',['openbf_c',['../namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d',1,'bufr_c2f_interface']]], - ['openbf_5ff_703',['openbf_f',['../bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788',1,'bufr_interface.h']]], - ['openbt_704',['openbt',['../openbt_8f.html#a3c78756de851568b7315bb084e1fd152',1,'openbt(LUNDX, MTYP): openbt.f'],['../debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89',1,'openbt(lundx, mtyp): debufr.F90']]], - ['openbt_2ef_705',['openbt.f',['../openbt_8f.html',1,'']]], - ['openmb_706',['openmb',['../openmb_8f.html#aee65c9d9bb626bfd51c3f904c2e4f86c',1,'openmb.f']]], - ['openmb_2ef_707',['openmb.f',['../openmb_8f.html',1,'']]], - ['openmb_5fc_708',['openmb_c',['../namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44',1,'bufr_c2f_interface']]], - ['openmb_5ff_709',['openmb_f',['../bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe',1,'bufr_interface.h']]], - ['openmg_710',['openmg',['../openmg_8f.html#a2408d74e1c5a3dc2bdbe35ec66a5e35c',1,'openmg.f']]], - ['openmg_2ef_711',['openmg.f',['../openmg_8f.html',1,'']]], - ['openrb_712',['openrb',['../bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c'],['../cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c']]], - ['openrb_5fc_713',['openrb_c',['../interfacebufrlib_1_1openrb__c.html',1,'bufrlib::openrb_c'],['../interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626',1,'bufrlib::openrb_c::openrb_c()']]], - ['openwb_714',['openwb',['../cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c']]], - ['openwb_5fc_715',['openwb_c',['../interfacebufrlib_1_1openwb__c.html',1,'bufrlib::openwb_c'],['../interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28',1,'bufrlib::openwb_c::openwb_c()']]] + ['open_5fc_566',['open_c',['../namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53',1,'bufr_c2f_interface']]], + ['open_5ff_567',['open_f',['../bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0',1,'bufr_interface.h']]], + ['openab_568',['openab',['../cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c']]], + ['openab_5fc_569',['openab_c',['../interfacebufrlib_1_1openab__c.html',1,'bufrlib::openab_c'],['../interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6',1,'bufrlib::openab_c::openab_c()']]], + ['openbf_570',['openbf',['../openclosebf_8F90.html#a9dc7e4fb476a5528a958ee132ee6392d',1,'openclosebf.F90']]], + ['openbf_5fc_571',['openbf_c',['../namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d',1,'bufr_c2f_interface']]], + ['openbf_5ff_572',['openbf_f',['../bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788',1,'bufr_interface.h']]], + ['openbt_573',['openbt',['../openbt_8F90.html#a7e64e80a4c6a00f66c7dc1cbdeab96ef',1,'openbt(lundx, mtyp): openbt.F90'],['../debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89',1,'openbt(lundx, mtyp): debufr.F90']]], + ['openbt_2ef90_574',['openbt.F90',['../openbt_8F90.html',1,'']]], + ['openclosebf_2ef90_575',['openclosebf.F90',['../openclosebf_8F90.html',1,'']]], + ['openmb_576',['openmb',['../readwritemg_8F90.html#a5edbefade4e7194e4dd3ee42f394034b',1,'readwritemg.F90']]], + ['openmb_5fc_577',['openmb_c',['../namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44',1,'bufr_c2f_interface']]], + ['openmb_5ff_578',['openmb_f',['../bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe',1,'bufr_interface.h']]], + ['openmg_579',['openmg',['../readwritemg_8F90.html#a493ce59c1a2976e9714c2d9b283bdb11',1,'readwritemg.F90']]], + ['openrb_580',['openrb',['../bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c'],['../cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c']]], + ['openrb_5fc_581',['openrb_c',['../interfacebufrlib_1_1openrb__c.html',1,'bufrlib::openrb_c'],['../interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626',1,'bufrlib::openrb_c::openrb_c()']]], + ['openwb_582',['openwb',['../bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c'],['../cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c']]], + ['openwb_5fc_583',['openwb_c',['../interfacebufrlib_1_1openwb__c.html',1,'bufrlib::openwb_c'],['../interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28',1,'bufrlib::openwb_c::openwb_c()']]] ]; diff --git a/search/all_f.js b/search/all_f.js index 1eff7474b..a2bbd9a11 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,35 +1,22 @@ var searchData= [ - ['pad_716',['pad',['../pad_8f.html#ab92ba263e51623b46cb4a7c9dee641f0',1,'pad.f']]], - ['pad_2ef_717',['pad.f',['../pad_8f.html',1,'']]], - ['padmsg_718',['padmsg',['../padmsg_8f.html#af8c53e62375434d43ee476856388ee1c',1,'padmsg.f']]], - ['padmsg_2ef_719',['padmsg.f',['../padmsg_8f.html',1,'']]], - ['parstr_720',['parstr',['../parstr_8f.html#a3379a342ab3d92dd01eef1f3172f9b86',1,'parstr.f']]], - ['parstr_2ef_721',['parstr.f',['../parstr_8f.html',1,'']]], - ['parusr_722',['parusr',['../parusr_8f.html#a8c7afcc8ef3c345d51b9e902be92f9e5',1,'parusr.f']]], - ['parusr_2ef_723',['parusr.f',['../parusr_8f.html',1,'']]], - ['parutg_724',['parutg',['../parutg_8f.html#a48496d3ac23b5e7d75a524f4ae62e181',1,'parutg.f']]], - ['parutg_2ef_725',['parutg.f',['../parutg_8f.html',1,'']]], - ['pb_726',['pb',['../cread_8h.html#a58db779a0b3c7250a119069bd2e5106c',1,'cread.h']]], - ['pbf_727',['pbf',['../crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193',1,'crwbmg.c']]], - ['pkb_728',['pkb',['../pkb_8f.html#a35aa2e691ff3ad32de9d8721cae613f7',1,'pkb.f']]], - ['pkb_2ef_729',['pkb.f',['../pkb_8f.html',1,'']]], - ['pkb8_730',['pkb8',['../pkb8_8f.html#ad41a6d2e1a35c122af15bbc6dffe8eaa',1,'pkb8.f']]], - ['pkb8_2ef_731',['pkb8.f',['../pkb8_8f.html',1,'']]], - ['pkbs1_732',['pkbs1',['../pkbs1_8f.html#a03b8cfb3af6b1f310462a3e40adc622c',1,'pkbs1.f']]], - ['pkbs1_2ef_733',['pkbs1.f',['../pkbs1_8f.html',1,'']]], - ['pkc_734',['pkc',['../pkc_8f.html#a0376a4af04f7be036484c666ebbb8ef9',1,'pkc.f']]], - ['pkc_2ef_735',['pkc.f',['../pkc_8f.html',1,'']]], - ['pkftbv_736',['pkftbv',['../pkftbv_8f.html#a13ca3b23c3ea896eea3ac3d3dcb1e35f',1,'pkftbv.f']]], - ['pkftbv_2ef_737',['pkftbv.f',['../pkftbv_8f.html',1,'']]], - ['pktdd_738',['pktdd',['../pktdd_8f.html#a5a9bc43ec2b7b51ae5097fd7b828dd84',1,'pktdd.f']]], - ['pktdd_2ef_739',['pktdd.f',['../pktdd_8f.html',1,'']]], - ['pktdd_5fc_740',['pktdd_c',['../namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0',1,'bufr_c2f_interface']]], - ['pktdd_5ff_741',['pktdd_f',['../bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187',1,'bufrlib.h']]], - ['pkvs01_742',['pkvs01',['../pkvs01_8f.html#aa2b468d76d4b2710f7b777bf4ffcb3af',1,'pkvs01.f']]], - ['pkvs01_2ef_743',['pkvs01.f',['../pkvs01_8f.html',1,'']]], - ['posapx_744',['posapx',['../posapx_8f.html#ad32a5730c46c657f5fde47244bd1ebd5',1,'posapx.f']]], - ['posapx_2ef_745',['posapx.f',['../posapx_8f.html',1,'']]], - ['printx_746',['printx',['../readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c',1,'readbp.F90']]], - ['prtusage_747',['prtusage',['../xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): xbfmg.c'],['../debufr_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): debufr.c']]] + ['pad_584',['pad',['../readwritesb_8F90.html#a1ca33013e4c11f3c9d1fe614f9f1d585',1,'readwritesb.F90']]], + ['padmsg_585',['padmsg',['../readwritemg_8F90.html#a127f4e4664445595654494dea28d7d8f',1,'readwritemg.F90']]], + ['parstr_586',['parstr',['../strings_8F90.html#a1d493e7de1c23739a0fcd06089139f35',1,'strings.F90']]], + ['parusr_587',['parusr',['../strings_8F90.html#ae49e5fa3610c743607ca6288d4107d28',1,'strings.F90']]], + ['parutg_588',['parutg',['../strings_8F90.html#a2da1c300ec049ee215d937b5ab545f53',1,'strings.F90']]], + ['pb_589',['pb',['../cread_8h.html#a58db779a0b3c7250a119069bd2e5106c',1,'cread.h']]], + ['pbf_590',['pbf',['../crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193',1,'crwbmg.c']]], + ['pkb_591',['pkb',['../ciencode_8F90.html#a8f795cd39c8f939b486407c65d8959c0',1,'ciencode.F90']]], + ['pkb8_592',['pkb8',['../ciencode_8F90.html#ad41a6d2e1a35c122af15bbc6dffe8eaa',1,'ciencode.F90']]], + ['pkbs1_593',['pkbs1',['../s013vals_8F90.html#a5522b3ec85470f1def91880bbc5df5e6',1,'s013vals.F90']]], + ['pkc_594',['pkc',['../ciencode_8F90.html#a52ae4b28f79718d9b6631d2f7a5a7160',1,'ciencode.F90']]], + ['pkftbv_595',['pkftbv',['../cftbvs_8F90.html#a46efecc01f463c64fe193b800fff9a35',1,'cftbvs.F90']]], + ['pktdd_596',['pktdd',['../dxtable_8F90.html#aae6295132b2eb71f969417879832ed47',1,'dxtable.F90']]], + ['pktdd_5fc_597',['pktdd_c',['../namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0',1,'bufr_c2f_interface']]], + ['pktdd_5ff_598',['pktdd_f',['../bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187',1,'bufrlib.h']]], + ['pkvs01_599',['pkvs01',['../s013vals_8F90.html#ac8fa984389323f08dd1cbd3aa6b57da9',1,'s013vals.F90']]], + ['posapx_600',['posapx',['../openclosebf_8F90.html#aeef6f5d08d9631dbe92c1821a9d02903',1,'openclosebf.F90']]], + ['printx_601',['printx',['../readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c',1,'readbp.F90']]], + ['prtusage_602',['prtusage',['../xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): xbfmg.c'],['../debufr_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): debufr.c']]] ]; diff --git a/search/classes_0.js b/search/classes_0.js index 5f9706f77..9d8ab62a4 100644 --- a/search/classes_0.js +++ b/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['arallocc_5fc_1004',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html',1,'bufrlib']]], - ['ardllocc_5fc_1005',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html',1,'bufrlib']]] + ['arallocc_5fc_770',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html',1,'bufrlib']]], + ['ardllocc_5fc_771',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html',1,'bufrlib']]] ]; diff --git a/search/classes_1.js b/search/classes_1.js index ed50e0fe8..c3d768095 100644 --- a/search/classes_1.js +++ b/search/classes_1.js @@ -1,5 +1,4 @@ var searchData= [ - ['backbufr_5fc_1006',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html',1,'bufrlib']]], - ['bort_5fexit_5fc_1007',['bort_exit_c',['../interfacebufrlib_1_1bort__exit__c.html',1,'bufrlib']]] + ['backbufr_5fc_772',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html',1,'bufrlib']]] ]; diff --git a/search/classes_2.js b/search/classes_2.js index 1588b302c..d94e4f038 100644 --- a/search/classes_2.js +++ b/search/classes_2.js @@ -1,12 +1,12 @@ var searchData= [ - ['ccbfl_5fc_1008',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html',1,'bufr_interface']]], - ['cewind_5fc_1009',['cewind_c',['../interfacebufrlib_1_1cewind__c.html',1,'bufrlib']]], - ['closfb_5fc_1010',['closfb_c',['../interfacebufrlib_1_1closfb__c.html',1,'bufrlib']]], - ['cobfl_5fc_1011',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html',1,'bufr_interface']]], - ['cpmstabs_5fc_1012',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html',1,'bufrlib']]], - ['crbmg_5fc_1013',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html',1,'bufr_interface']]], - ['crdbufr_5fc_1014',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html',1,'bufrlib']]], - ['cwbmg_5fc_1015',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html',1,'bufr_interface']]], - ['cwrbufr_5fc_1016',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html',1,'bufrlib']]] + ['ccbfl_5fc_773',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html',1,'bufr_interface']]], + ['cewind_5fc_774',['cewind_c',['../interfacebufrlib_1_1cewind__c.html',1,'bufrlib']]], + ['closfb_5fc_775',['closfb_c',['../interfacebufrlib_1_1closfb__c.html',1,'bufrlib']]], + ['cobfl_5fc_776',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html',1,'bufr_interface']]], + ['cpmstabs_5fc_777',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html',1,'bufrlib']]], + ['crbmg_5fc_778',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html',1,'bufr_interface']]], + ['crdbufr_5fc_779',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html',1,'bufrlib']]], + ['cwbmg_5fc_780',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html',1,'bufr_interface']]], + ['cwrbufr_5fc_781',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html',1,'bufrlib']]] ]; diff --git a/search/classes_3.js b/search/classes_3.js index 47919947f..9815732cd 100644 --- a/search/classes_3.js +++ b/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['dlloctbf_5fc_1017',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html',1,'bufr_interface']]] + ['dlloctbf_5fc_782',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html',1,'bufr_interface']]] ]; diff --git a/search/classes_4.js b/search/classes_4.js index e74b470b8..96bfd9f67 100644 --- a/search/classes_4.js +++ b/search/classes_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['icvidx_5fc_1018',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html',1,'bufrlib']]], - ['inittbf_5fc_1019',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html',1,'bufrlib']]] + ['icvidx_5fc_783',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html',1,'bufrlib']]], + ['inittbf_5fc_784',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html',1,'bufrlib']]] ]; diff --git a/search/classes_5.js b/search/classes_5.js index 64e13f15e..cdca3fb29 100644 --- a/search/classes_5.js +++ b/search/classes_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['openab_5fc_1020',['openab_c',['../interfacebufrlib_1_1openab__c.html',1,'bufrlib']]], - ['openrb_5fc_1021',['openrb_c',['../interfacebufrlib_1_1openrb__c.html',1,'bufrlib']]], - ['openwb_5fc_1022',['openwb_c',['../interfacebufrlib_1_1openwb__c.html',1,'bufrlib']]] + ['openab_5fc_785',['openab_c',['../interfacebufrlib_1_1openab__c.html',1,'bufrlib']]], + ['openrb_5fc_786',['openrb_c',['../interfacebufrlib_1_1openrb__c.html',1,'bufrlib']]], + ['openwb_5fc_787',['openwb_c',['../interfacebufrlib_1_1openwb__c.html',1,'bufrlib']]] ]; diff --git a/search/classes_6.js b/search/classes_6.js index 20d7b00df..d8fbf7c1d 100644 --- a/search/classes_6.js +++ b/search/classes_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['restd_5fc_1023',['restd_c',['../interfacebufrlib_1_1restd__c.html',1,'bufrlib']]] + ['restd_5fc_788',['restd_c',['../interfacebufrlib_1_1restd__c.html',1,'bufrlib']]] ]; diff --git a/search/classes_7.js b/search/classes_7.js index bb65c15dd..36afda772 100644 --- a/search/classes_7.js +++ b/search/classes_7.js @@ -1,7 +1,7 @@ var searchData= [ - ['sorttbf_5fc_1024',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html',1,'bufrlib']]], - ['srchtbf_5fc_1025',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html',1,'bufrlib']]], - ['strtbfe_5fc_1026',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html',1,'bufrlib']]], - ['stseq_5fc_1027',['stseq_c',['../interfacebufrlib_1_1stseq__c.html',1,'bufrlib']]] + ['sorttbf_5fc_789',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html',1,'bufrlib']]], + ['srchtbf_5fc_790',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html',1,'bufrlib']]], + ['strtbfe_5fc_791',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html',1,'bufrlib']]], + ['stseq_5fc_792',['stseq_c',['../interfacebufrlib_1_1stseq__c.html',1,'bufrlib']]] ]; diff --git a/search/defines_0.js b/search/defines_0.js index c5fa9955c..573c1c04d 100644 --- a/search/defines_0.js +++ b/search/defines_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['fxy_5fstr_5flen_2014',['FXY_STR_LEN',['../bufrlib_8h.html#a320fb202c17784943f8223593c9123dd',1,'bufrlib.h']]] + ['fxy_5fstr_5flen_1549',['FXY_STR_LEN',['../bufrlib_8h.html#a320fb202c17784943f8223593c9123dd',1,'bufrlib.h']]] ]; diff --git a/search/defines_1.js b/search/defines_1.js index 1e287b9f6..ae5829569 100644 --- a/search/defines_1.js +++ b/search/defines_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['in_5farallocc_2015',['IN_ARALLOCC',['../arallocc_8c.html#a99a030277b9ff412087d1e599de3f730',1,'arallocc.c']]] + ['in_5farallocc_1550',['IN_ARALLOCC',['../arallocc_8c.html#a99a030277b9ff412087d1e599de3f730',1,'arallocc.c']]] ]; diff --git a/search/defines_2.js b/search/defines_2.js index 2717ca610..e6d9cc2b7 100644 --- a/search/defines_2.js +++ b/search/defines_2.js @@ -1,11 +1,8 @@ var searchData= [ - ['max_5ffxy_5ftableb_2016',['MAX_FXY_TABLEB',['../bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858',1,'bufrlib.h']]], - ['max_5fmeaning_5flen_2017',['MAX_MEANING_LEN',['../cfe_8c.html#a655e9465dd48c1e8a068b4689748e509',1,'cfe.c']]], - ['maxcd_2018',['MAXCD',['../bufrlib_8h.html#a9a09e95189d5186beb88e6d91f134ff3',1,'bufrlib.h']]], - ['maxnc_2019',['MAXNC',['../bufrlib_8h.html#ae0761ad222ac0baf7add69d41ab53510',1,'bufrlib.h']]], - ['min_5ffxy_5frepl_2020',['MIN_FXY_REPL',['../bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b',1,'bufrlib.h']]], - ['min_5ffxy_5ftabled_2021',['MIN_FXY_TABLED',['../bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c',1,'bufrlib.h']]], - ['mxfnlen_2022',['MXFNLEN',['../crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'crwbmg.c']]], - ['mxnaf_2023',['MXNAF',['../bufrlib_8h.html#a418e7eacd5437694be8d51643e52485f',1,'bufrlib.h']]] + ['max_5ffxy_5ftableb_1551',['MAX_FXY_TABLEB',['../bufrlib_8h.html#ab25c8c36df6eb956d84010bc74002858',1,'bufrlib.h']]], + ['max_5fmeaning_5flen_1552',['MAX_MEANING_LEN',['../cfe_8c.html#a655e9465dd48c1e8a068b4689748e509',1,'cfe.c']]], + ['min_5ffxy_5frepl_1553',['MIN_FXY_REPL',['../bufrlib_8h.html#a6fa6d930bc1885cd5cf30d57dfcc6a4b',1,'bufrlib.h']]], + ['min_5ffxy_5ftabled_1554',['MIN_FXY_TABLED',['../bufrlib_8h.html#a87f18b149395d0c626a9ba310c959e3c',1,'bufrlib.h']]], + ['mxfnlen_1555',['MXFNLEN',['../crwbmg_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'crwbmg.c']]] ]; diff --git a/search/defines_3.js b/search/defines_3.js index 25d587ba6..ca8594cc4 100644 --- a/search/defines_3.js +++ b/search/defines_3.js @@ -1,5 +1,4 @@ var searchData= [ - ['nemo_5fstr_5flen_2024',['NEMO_STR_LEN',['../bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0',1,'bufrlib.h']]], - ['nfiles_2025',['NFILES',['../bufrlib_8h.html#a51b267f0e740902752570c1847b99f14',1,'bufrlib.h']]] + ['nemo_5fstr_5flen_1556',['NEMO_STR_LEN',['../bufrlib_8h.html#aaf134edc1efd697331c03effd4d056e0',1,'bufrlib.h']]] ]; diff --git a/search/defines_4.js b/search/defines_4.js index 33ab378f3..9c8d8e509 100644 --- a/search/defines_4.js +++ b/search/defines_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['unit_5fstr_5flen_2026',['UNIT_STR_LEN',['../bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69',1,'bufrlib.h']]] + ['unit_5fstr_5flen_1557',['UNIT_STR_LEN',['../bufrlib_8h.html#a9043f4f41d0f9e6a276f936a03416f69',1,'bufrlib.h']]] ]; diff --git a/search/defines_5.js b/search/defines_5.js index 50209fee6..d1b5db60a 100644 --- a/search/defines_5.js +++ b/search/defines_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['vers_5fstr_5flen_2027',['VERS_STR_LEN',['../bufrlib_8h.html#a016503c090a3f1ecdac526a2e8f696b0',1,'bufrlib.h']]] + ['vers_5fstr_5flen_1558',['VERS_STR_LEN',['../bufr__interface_8h.html#a016503c090a3f1ecdac526a2e8f696b0',1,'bufr_interface.h']]] ]; diff --git a/search/files_0.js b/search/files_0.js index 40259acf3..e49900d1d 100644 --- a/search/files_0.js +++ b/search/files_0.js @@ -1,9 +1,6 @@ var searchData= [ - ['adn30_2ef_1099',['adn30.f',['../adn30_8f.html',1,'']]], - ['arallocc_2ec_1100',['arallocc.c',['../arallocc_8c.html',1,'']]], - ['arallocf_2ef_1101',['arallocf.f',['../arallocf_8f.html',1,'']]], - ['ardllocc_2ec_1102',['ardllocc.c',['../ardllocc_8c.html',1,'']]], - ['ardllocf_2ef_1103',['ardllocf.f',['../ardllocf_8f.html',1,'']]], - ['atrcpt_2ef_1104',['atrcpt.f',['../atrcpt_8f.html',1,'']]] + ['apxdx_2ef90_837',['apxdx.F90',['../apxdx_8F90.html',1,'']]], + ['arallocc_2ec_838',['arallocc.c',['../arallocc_8c.html',1,'']]], + ['arallocf_2ef90_839',['arallocf.F90',['../arallocf_8F90.html',1,'']]] ]; diff --git a/search/files_1.js b/search/files_1.js index 99677815a..232514e77 100644 --- a/search/files_1.js +++ b/search/files_1.js @@ -1,15 +1,12 @@ var searchData= [ - ['bfrini_2ef90_1105',['bfrini.f90',['../bfrini_8f90.html',1,'']]], - ['binv_2ef90_1106',['binv.f90',['../binv_8f90.html',1,'']]], - ['blocks_2ef_1107',['blocks.f',['../blocks_8f.html',1,'']]], - ['bort_2ef_1108',['bort.f',['../bort_8f.html',1,'']]], - ['bort2_2ef_1109',['bort2.f',['../bort2_8f.html',1,'']]], - ['bort_5fexit_2ec_1110',['bort_exit.c',['../bort__exit_8c.html',1,'']]], - ['bufr_5fc2f_5finterface_2ef90_1111',['bufr_c2f_interface.F90',['../bufr__c2f__interface_8F90.html',1,'']]], - ['bufr_5finterface_2ef90_1112',['bufr_interface.F90',['../bufr__interface_8F90.html',1,'']]], - ['bufr_5finterface_2eh_1113',['bufr_interface.h',['../bufr__interface_8h.html',1,'']]], - ['bufrlib_2ef90_1114',['bufrlib.F90',['../bufrlib_8F90.html',1,'']]], - ['bufrlib_2eh_1115',['bufrlib.h',['../bufrlib_8h.html',1,'']]], - ['bvers_2ef_1116',['bvers.f',['../bvers_8f.html',1,'']]] + ['binv_2ef90_840',['binv.F90',['../binv_8F90.html',1,'']]], + ['bitmaps_2ef90_841',['bitmaps.F90',['../bitmaps_8F90.html',1,'']]], + ['blocks_2ef90_842',['blocks.F90',['../blocks_8F90.html',1,'']]], + ['borts_2ef90_843',['borts.F90',['../borts_8F90.html',1,'']]], + ['bufr_5fc2f_5finterface_2ef90_844',['bufr_c2f_interface.F90',['../bufr__c2f__interface_8F90.html',1,'']]], + ['bufr_5finterface_2ef90_845',['bufr_interface.F90',['../bufr__interface_8F90.html',1,'']]], + ['bufr_5finterface_2eh_846',['bufr_interface.h',['../bufr__interface_8h.html',1,'']]], + ['bufrlib_2ef90_847',['bufrlib.F90',['../bufrlib_8F90.html',1,'']]], + ['bufrlib_2eh_848',['bufrlib.h',['../bufrlib_8h.html',1,'']]] ]; diff --git a/search/files_2.js b/search/files_2.js index 269e7dcb3..460933575 100644 --- a/search/files_2.js +++ b/search/files_2.js @@ -1,27 +1,14 @@ var searchData= [ - ['cadn30_2ef_1117',['cadn30.f',['../cadn30_8f.html',1,'']]], - ['capit_2ef_1118',['capit.f',['../capit_8f.html',1,'']]], - ['cfe_2ec_1119',['cfe.c',['../cfe_8c.html',1,'']]], - ['chekstab_2ef_1120',['chekstab.f',['../chekstab_8f.html',1,'']]], - ['cktaba_2ef_1121',['cktaba.f',['../cktaba_8f.html',1,'']]], - ['closbf_2ef_1122',['closbf.f',['../closbf_8f.html',1,'']]], - ['closmg_2ef_1123',['closmg.f',['../closmg_8f.html',1,'']]], - ['cmpbqm_2ef90_1124',['cmpbqm.F90',['../cmpbqm_8F90.html',1,'']]], - ['cmpmsg_2ef_1125',['cmpmsg.f',['../cmpmsg_8f.html',1,'']]], - ['cmsgini_2ef_1126',['cmsgini.f',['../cmsgini_8f.html',1,'']]], - ['cnved4_2ef_1127',['cnved4.f',['../cnved4_8f.html',1,'']]], - ['codflg_2ef_1128',['codflg.f',['../codflg_8f.html',1,'']]], - ['conwin_2ef_1129',['conwin.f',['../conwin_8f.html',1,'']]], - ['copybf_2ef_1130',['copybf.f',['../copybf_8f.html',1,'']]], - ['copymg_2ef_1131',['copymg.f',['../copymg_8f.html',1,'']]], - ['copysb_2ef_1132',['copysb.f',['../copysb_8f.html',1,'']]], - ['cpbfdx_2ef_1133',['cpbfdx.f',['../cpbfdx_8f.html',1,'']]], - ['cpdxmm_2ef_1134',['cpdxmm.f',['../cpdxmm_8f.html',1,'']]], - ['cpmstabs_2ec_1135',['cpmstabs.c',['../cpmstabs_8c.html',1,'']]], - ['cpymem_2ef_1136',['cpymem.f',['../cpymem_8f.html',1,'']]], - ['cpyupd_2ef_1137',['cpyupd.f',['../cpyupd_8f.html',1,'']]], - ['cread_2ec_1138',['cread.c',['../cread_8c.html',1,'']]], - ['cread_2eh_1139',['cread.h',['../cread_8h.html',1,'']]], - ['crwbmg_2ec_1140',['crwbmg.c',['../crwbmg_8c.html',1,'']]] + ['cfe_2ec_849',['cfe.c',['../cfe_8c.html',1,'']]], + ['cftbvs_2ef90_850',['cftbvs.F90',['../cftbvs_8F90.html',1,'']]], + ['cidecode_2ef90_851',['cidecode.F90',['../cidecode_8F90.html',1,'']]], + ['ciencode_2ef90_852',['ciencode.F90',['../ciencode_8F90.html',1,'']]], + ['cmpbqm_2ef90_853',['cmpbqm.F90',['../cmpbqm_8F90.html',1,'']]], + ['compress_2ef90_854',['compress.F90',['../compress_8F90.html',1,'']]], + ['copydata_2ef90_855',['copydata.F90',['../copydata_8F90.html',1,'']]], + ['cpmstabs_2ec_856',['cpmstabs.c',['../cpmstabs_8c.html',1,'']]], + ['cread_2ec_857',['cread.c',['../cread_8c.html',1,'']]], + ['cread_2eh_858',['cread.h',['../cread_8h.html',1,'']]], + ['crwbmg_2ec_859',['crwbmg.c',['../crwbmg_8c.html',1,'']]] ]; diff --git a/search/files_3.js b/search/files_3.js index 89ca694b2..932b10598 100644 --- a/search/files_3.js +++ b/search/files_3.js @@ -1,14 +1,7 @@ var searchData= [ - ['datebf_2ef_1141',['datebf.f',['../datebf_8f.html',1,'']]], - ['datelen_2ef_1142',['datelen.f',['../datelen_8f.html',1,'']]], - ['debufr_2ec_1143',['debufr.c',['../debufr_8c.html',1,'']]], - ['debufr_2ef90_1144',['debufr.F90',['../debufr_8F90.html',1,'']]], - ['digit_2ef_1145',['digit.f',['../digit_8f.html',1,'']]], - ['drfini_2ef_1146',['drfini.f',['../drfini_8f.html',1,'']]], - ['drstpl_2ef_1147',['drstpl.f',['../drstpl_8f.html',1,'']]], - ['dumpbf_2ef_1148',['dumpbf.f',['../dumpbf_8f.html',1,'']]], - ['dxdump_2ef_1149',['dxdump.f',['../dxdump_8f.html',1,'']]], - ['dxinit_2ef_1150',['dxinit.f',['../dxinit_8f.html',1,'']]], - ['dxmini_2ef_1151',['dxmini.f',['../dxmini_8f.html',1,'']]] + ['debufr_2ec_860',['debufr.c',['../debufr_8c.html',1,'']]], + ['debufr_2ef90_861',['debufr.F90',['../debufr_8F90.html',1,'']]], + ['dumpdata_2ef90_862',['dumpdata.F90',['../dumpdata_8F90.html',1,'']]], + ['dxtable_2ef90_863',['dxtable.F90',['../dxtable_8F90.html',1,'']]] ]; diff --git a/search/files_4.js b/search/files_4.js index 70853fd01..02e3a7c82 100644 --- a/search/files_4.js +++ b/search/files_4.js @@ -1,6 +1,4 @@ var searchData= [ - ['elemdx_2ef_1152',['elemdx.f',['../elemdx_8f.html',1,'']]], - ['errwrt_2ef_1153',['errwrt.f',['../errwrt_8f.html',1,'']]], - ['exitbufr_2ef_1154',['exitbufr.f',['../exitbufr_8f.html',1,'']]] + ['errwrt_2ef90_864',['errwrt.F90',['../errwrt_8F90.html',1,'']]] ]; diff --git a/search/files_5.js b/search/files_5.js index ecf4e8ca1..9aed003e6 100644 --- a/search/files_5.js +++ b/search/files_5.js @@ -1,6 +1,4 @@ var searchData= [ - ['fortran_5fclose_2ef90_1155',['fortran_close.F90',['../fortran__close_8F90.html',1,'']]], - ['fortran_5fopen_2ef90_1156',['fortran_open.F90',['../fortran__open_8F90.html',1,'']]], - ['fstag_2ef_1157',['fstag.f',['../fstag_8f.html',1,'']]] + ['fxy_2ef90_865',['fxy.F90',['../fxy_8F90.html',1,'']]] ]; diff --git a/search/files_6.js b/search/files_6.js index 4e145cbb9..5c715765d 100644 --- a/search/files_6.js +++ b/search/files_6.js @@ -1,15 +1,4 @@ var searchData= [ - ['getabdb_2ef_1158',['getabdb.f',['../getabdb_8f.html',1,'']]], - ['getbmiss_2ef_1159',['getbmiss.f',['../getbmiss_8f.html',1,'']]], - ['getcfmng_2ef_1160',['getcfmng.f',['../getcfmng_8f.html',1,'']]], - ['getlens_2ef_1161',['getlens.f',['../getlens_8f.html',1,'']]], - ['getntbe_2ef_1162',['getntbe.f',['../getntbe_8f.html',1,'']]], - ['gets1loc_2ef_1163',['gets1loc.f',['../gets1loc_8f.html',1,'']]], - ['gettab_2ef90_1164',['gettab.f90',['../gettab_8f90.html',1,'']]], - ['gettagpr_2ef_1165',['gettagpr.f',['../gettagpr_8f.html',1,'']]], - ['gettagre_2ef_1166',['gettagre.f',['../gettagre_8f.html',1,'']]], - ['gettbh_2ef_1167',['gettbh.f',['../gettbh_8f.html',1,'']]], - ['getvalnb_2ef_1168',['getvalnb.f',['../getvalnb_8f.html',1,'']]], - ['getwin_2ef_1169',['getwin.f',['../getwin_8f.html',1,'']]] + ['gettab_2ef90_866',['gettab.F90',['../gettab_8F90.html',1,'']]] ]; diff --git a/search/files_7.js b/search/files_7.js index 44e0d6e7d..db7b4a539 100644 --- a/search/files_7.js +++ b/search/files_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['hold4wlc_2ef_1170',['hold4wlc.f',['../hold4wlc_8f.html',1,'']]] + ['icvidx_2ec_867',['icvidx.c',['../icvidx_8c.html',1,'']]] ]; diff --git a/search/files_8.js b/search/files_8.js index e3ea00f00..6516e1127 100644 --- a/search/files_8.js +++ b/search/files_8.js @@ -1,47 +1,4 @@ var searchData= [ - ['i4dy_2ef_1171',['i4dy.f',['../i4dy_8f.html',1,'']]], - ['ibfms_2ef_1172',['ibfms.f',['../ibfms_8f.html',1,'']]], - ['icbfms_2ef_1173',['icbfms.f',['../icbfms_8f.html',1,'']]], - ['icmpdx_2ef_1174',['icmpdx.f',['../icmpdx_8f.html',1,'']]], - ['icopysb_2ef_1175',['icopysb.f',['../icopysb_8f.html',1,'']]], - ['icvidx_2ec_1176',['icvidx.c',['../icvidx_8c.html',1,'']]], - ['idn30_2ef_1177',['idn30.f',['../idn30_8f.html',1,'']]], - ['idxmsg_2ef_1178',['idxmsg.f',['../idxmsg_8f.html',1,'']]], - ['ifbget_2ef_1179',['ifbget.f',['../ifbget_8f.html',1,'']]], - ['ifxy_2ef_1180',['ifxy.f',['../ifxy_8f.html',1,'']]], - ['igetdate_2ef_1181',['igetdate.f',['../igetdate_8f.html',1,'']]], - ['igetfxy_2ef_1182',['igetfxy.f',['../igetfxy_8f.html',1,'']]], - ['igetmxby_2ef_1183',['igetmxby.f',['../igetmxby_8f.html',1,'']]], - ['igetntbi_2ef_1184',['igetntbi.f',['../igetntbi_8f.html',1,'']]], - ['igetntbl_2ef_1185',['igetntbl.f',['../igetntbl_8f.html',1,'']]], - ['igetprm_2ef_1186',['igetprm.f',['../igetprm_8f.html',1,'']]], - ['igetrfel_2ef_1187',['igetrfel.f',['../igetrfel_8f.html',1,'']]], - ['igetsc_2ef_1188',['igetsc.f',['../igetsc_8f.html',1,'']]], - ['igettdi_2ef_1189',['igettdi.f',['../igettdi_8f.html',1,'']]], - ['imrkopr_2ef_1190',['imrkopr.f',['../imrkopr_8f.html',1,'']]], - ['inctab_2ef_1191',['inctab.f',['../inctab_8f.html',1,'']]], - ['invcon_2ef_1192',['invcon.f',['../invcon_8f.html',1,'']]], - ['invmrg_2ef_1193',['invmrg.f',['../invmrg_8f.html',1,'']]], - ['invtag_2ef_1194',['invtag.f',['../invtag_8f.html',1,'']]], - ['invwin_2ef_1195',['invwin.f',['../invwin_8f.html',1,'']]], - ['iok2cpy_2ef_1196',['iok2cpy.f',['../iok2cpy_8f.html',1,'']]], - ['iokoper_2ef_1197',['iokoper.f',['../iokoper_8f.html',1,'']]], - ['ipkm_2ef_1198',['ipkm.f',['../ipkm_8f.html',1,'']]], - ['ipks_2ef_1199',['ipks.f',['../ipks_8f.html',1,'']]], - ['ireadmg_2ef_1200',['ireadmg.f',['../ireadmg_8f.html',1,'']]], - ['ireadmm_2ef_1201',['ireadmm.f',['../ireadmm_8f.html',1,'']]], - ['ireadmt_2ef_1202',['ireadmt.f',['../ireadmt_8f.html',1,'']]], - ['ireadns_2ef_1203',['ireadns.f',['../ireadns_8f.html',1,'']]], - ['ireadsb_2ef_1204',['ireadsb.f',['../ireadsb_8f.html',1,'']]], - ['irev_2ef_1205',['irev.F',['../irev_8F.html',1,'']]], - ['isetprm_2ef_1206',['isetprm.f',['../isetprm_8f.html',1,'']]], - ['ishrdx_2ef_1207',['ishrdx.f',['../ishrdx_8f.html',1,'']]], - ['isize_2ef_1208',['isize.f',['../isize_8f.html',1,'']]], - ['istdesc_2ef_1209',['istdesc.f',['../istdesc_8f.html',1,'']]], - ['iupb_2ef_1210',['iupb.f',['../iupb_8f.html',1,'']]], - ['iupbs01_2ef_1211',['iupbs01.f',['../iupbs01_8f.html',1,'']]], - ['iupbs3_2ef_1212',['iupbs3.f',['../iupbs3_8f.html',1,'']]], - ['iupm_2ef_1213',['iupm.f',['../iupm_8f.html',1,'']]], - ['iupvs01_2ef_1214',['iupvs01.f',['../iupvs01_8f.html',1,'']]] + ['jumplink_2ef90_868',['jumplink.F90',['../jumplink_8F90.html',1,'']]] ]; diff --git a/search/files_9.js b/search/files_9.js index b9746ae50..79c70da45 100644 --- a/search/files_9.js +++ b/search/files_9.js @@ -1,4 +1,10 @@ var searchData= [ - ['jstnum_2ef_1215',['jstnum.f',['../jstnum_8f.html',1,'']]] + ['mastertable_2ef90_869',['mastertable.F90',['../mastertable_8F90.html',1,'']]], + ['memmsgs_2ef90_870',['memmsgs.F90',['../memmsgs_8F90.html',1,'']]], + ['misc_2ef90_871',['misc.F90',['../misc_8F90.html',1,'']]], + ['missing_2ef90_872',['missing.F90',['../missing_8F90.html',1,'']]], + ['modules_5farrs_2ef90_873',['modules_arrs.F90',['../modules__arrs_8F90.html',1,'']]], + ['modules_5fvars_2ef90_874',['modules_vars.F90',['../modules__vars_8F90.html',1,'']]], + ['mstabs_2eh_875',['mstabs.h',['../mstabs_8h.html',1,'']]] ]; diff --git a/search/files_a.js b/search/files_a.js index bf4fdeb63..cddc5554f 100644 --- a/search/files_a.js +++ b/search/files_a.js @@ -1,6 +1,5 @@ var searchData= [ - ['lcmgdf_2ef_1216',['lcmgdf.f',['../lcmgdf_8f.html',1,'']]], - ['lmsg_2ef_1217',['lmsg.f',['../lmsg_8f.html',1,'']]], - ['lstjpb_2ef_1218',['lstjpb.f',['../lstjpb_8f.html',1,'']]] + ['openbt_2ef90_876',['openbt.F90',['../openbt_8F90.html',1,'']]], + ['openclosebf_2ef90_877',['openclosebf.F90',['../openclosebf_8F90.html',1,'']]] ]; diff --git a/search/files_b.js b/search/files_b.js index 475416a50..8b56a4b83 100644 --- a/search/files_b.js +++ b/search/files_b.js @@ -1,19 +1,9 @@ var searchData= [ - ['makestab_2ef_1219',['makestab.f',['../makestab_8f.html',1,'']]], - ['maxout_2ef_1220',['maxout.f',['../maxout_8f.html',1,'']]], - ['mesgbc_2ef_1221',['mesgbc.f',['../mesgbc_8f.html',1,'']]], - ['mesgbf_2ef_1222',['mesgbf.f',['../mesgbf_8f.html',1,'']]], - ['minimg_2ef_1223',['minimg.f',['../minimg_8f.html',1,'']]], - ['modules_5farrs_2ef90_1224',['modules_arrs.F90',['../modules__arrs_8F90.html',1,'']]], - ['modules_5fvars_2ef90_1225',['modules_vars.F90',['../modules__vars_8F90.html',1,'']]], - ['mrginv_2ef_1226',['mrginv.f',['../mrginv_8f.html',1,'']]], - ['msgfull_2ef_1227',['msgfull.f',['../msgfull_8f.html',1,'']]], - ['msgini_2ef_1228',['msgini.f',['../msgini_8f.html',1,'']]], - ['msgupd_2ef_1229',['msgupd.f',['../msgupd_8f.html',1,'']]], - ['msgwrt_2ef_1230',['msgwrt.f',['../msgwrt_8f.html',1,'']]], - ['mstabs_2eh_1231',['mstabs.h',['../mstabs_8h.html',1,'']]], - ['mtfnam_2ef_1232',['mtfnam.f',['../mtfnam_8f.html',1,'']]], - ['mtinfo_2ef_1233',['mtinfo.f',['../mtinfo_8f.html',1,'']]], - ['mvb_2ef_1234',['mvb.f',['../mvb_8f.html',1,'']]] + ['readbp_2ef90_878',['readbp.F90',['../readbp_8F90.html',1,'']]], + ['readmp_2ef90_879',['readmp.F90',['../readmp_8F90.html',1,'']]], + ['readwritemg_2ef90_880',['readwritemg.F90',['../readwritemg_8F90.html',1,'']]], + ['readwritesb_2ef90_881',['readwritesb.F90',['../readwritesb_8F90.html',1,'']]], + ['readwriteval_2ef90_882',['readwriteval.F90',['../readwriteval_8F90.html',1,'']]], + ['restd_2ec_883',['restd.c',['../restd_8c.html',1,'']]] ]; diff --git a/search/files_c.js b/search/files_c.js index 3d8889750..0cc033470 100644 --- a/search/files_c.js +++ b/search/files_c.js @@ -1,22 +1,9 @@ var searchData= [ - ['nemdefs_2ef_1235',['nemdefs.f',['../nemdefs_8f.html',1,'']]], - ['nemock_2ef_1236',['nemock.f',['../nemock_8f.html',1,'']]], - ['nemspecs_2ef_1237',['nemspecs.f',['../nemspecs_8f.html',1,'']]], - ['nemtab_2ef_1238',['nemtab.f',['../nemtab_8f.html',1,'']]], - ['nemtba_2ef_1239',['nemtba.f',['../nemtba_8f.html',1,'']]], - ['nemtbax_2ef_1240',['nemtbax.f',['../nemtbax_8f.html',1,'']]], - ['nemtbb_2ef_1241',['nemtbb.f',['../nemtbb_8f.html',1,'']]], - ['nemtbd_2ef_1242',['nemtbd.f',['../nemtbd_8f.html',1,'']]], - ['nenubd_2ef_1243',['nenubd.f',['../nenubd_8f.html',1,'']]], - ['nevn_2ef_1244',['nevn.f',['../nevn_8f.html',1,'']]], - ['newwin_2ef_1245',['newwin.f',['../newwin_8f.html',1,'']]], - ['nmsub_2ef_1246',['nmsub.f',['../nmsub_8f.html',1,'']]], - ['nmwrd_2ef_1247',['nmwrd.f',['../nmwrd_8f.html',1,'']]], - ['numbck_2ef_1248',['numbck.f',['../numbck_8f.html',1,'']]], - ['numtab_2ef_1249',['numtab.f',['../numtab_8f.html',1,'']]], - ['numtbd_2ef_1250',['numtbd.f',['../numtbd_8f.html',1,'']]], - ['nvnwin_2ef_1251',['nvnwin.f',['../nvnwin_8f.html',1,'']]], - ['nwords_2ef_1252',['nwords.f',['../nwords_8f.html',1,'']]], - ['nxtwin_2ef_1253',['nxtwin.f',['../nxtwin_8f.html',1,'']]] + ['s013vals_2ef90_884',['s013vals.F90',['../s013vals_8F90.html',1,'']]], + ['sinv_2ef90_885',['sinv.F90',['../sinv_8F90.html',1,'']]], + ['split_5fby_5fsubset_2ef90_886',['split_by_subset.F90',['../split__by__subset_8F90.html',1,'']]], + ['standard_2ef90_887',['standard.F90',['../standard_8F90.html',1,'']]], + ['strings_2ef90_888',['strings.F90',['../strings_8F90.html',1,'']]], + ['stseq_2ec_889',['stseq.c',['../stseq_8c.html',1,'']]] ]; diff --git a/search/files_d.js b/search/files_d.js index 0fcdbdb22..707a43b75 100644 --- a/search/files_d.js +++ b/search/files_d.js @@ -1,7 +1,4 @@ var searchData= [ - ['openbf_2ef_1254',['openbf.f',['../openbf_8f.html',1,'']]], - ['openbt_2ef_1255',['openbt.f',['../openbt_8f.html',1,'']]], - ['openmb_2ef_1256',['openmb.f',['../openmb_8f.html',1,'']]], - ['openmg_2ef_1257',['openmg.f',['../openmg_8f.html',1,'']]] + ['tankrcpt_2ef90_890',['tankrcpt.F90',['../tankrcpt_8F90.html',1,'']]] ]; diff --git a/search/files_e.js b/search/files_e.js index 848f5b382..d545991a1 100644 --- a/search/files_e.js +++ b/search/files_e.js @@ -1,16 +1,5 @@ var searchData= [ - ['pad_2ef_1258',['pad.f',['../pad_8f.html',1,'']]], - ['padmsg_2ef_1259',['padmsg.f',['../padmsg_8f.html',1,'']]], - ['parstr_2ef_1260',['parstr.f',['../parstr_8f.html',1,'']]], - ['parusr_2ef_1261',['parusr.f',['../parusr_8f.html',1,'']]], - ['parutg_2ef_1262',['parutg.f',['../parutg_8f.html',1,'']]], - ['pkb_2ef_1263',['pkb.f',['../pkb_8f.html',1,'']]], - ['pkb8_2ef_1264',['pkb8.f',['../pkb8_8f.html',1,'']]], - ['pkbs1_2ef_1265',['pkbs1.f',['../pkbs1_8f.html',1,'']]], - ['pkc_2ef_1266',['pkc.f',['../pkc_8f.html',1,'']]], - ['pkftbv_2ef_1267',['pkftbv.f',['../pkftbv_8f.html',1,'']]], - ['pktdd_2ef_1268',['pktdd.f',['../pktdd_8f.html',1,'']]], - ['pkvs01_2ef_1269',['pkvs01.f',['../pkvs01_8f.html',1,'']]], - ['posapx_2ef_1270',['posapx.f',['../posapx_8f.html',1,'']]] + ['x4884_2ef90_891',['x4884.F90',['../x4884_8F90.html',1,'']]], + ['xbfmg_2ec_892',['xbfmg.c',['../xbfmg_8c.html',1,'']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index 4e724793d..91aff8ba0 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,11 +1,12 @@ var searchData= [ - ['adn30_1375',['adn30',['../adn30_8f.html#a1e96adbf45bd49facbf0ef30ae375db4',1,'adn30.f']]], - ['arallocc_1376',['arallocc',['../arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c'],['../bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c']]], - ['arallocc_5fc_1377',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d',1,'bufrlib::arallocc_c']]], - ['arallocf_1378',['arallocf',['../arallocf_8f.html#a2b64630033a9306be25da1f6b28d913f',1,'arallocf.f']]], - ['ardllocc_1379',['ardllocc',['../ardllocc_8c.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c'],['../bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): ardllocc.c']]], - ['ardllocc_5fc_1380',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e',1,'bufrlib::ardllocc_c']]], - ['ardllocf_1381',['ardllocf',['../ardllocf_8f.html#a7b3e4d5498fedd9e94ac45b69fc04b58',1,'ardllocf.f']]], - ['atrcpt_1382',['atrcpt',['../atrcpt_8f.html#aa3ebac87755e88a9f03f5e9fddda7760',1,'atrcpt.f']]] + ['adn30_893',['adn30',['../fxy_8F90.html#af1ec2f8fc15418f1238413201f3e075c',1,'fxy.F90']]], + ['apxdx_894',['apxdx',['../apxdx_8F90.html#ae072f0fa8326c098de4e6dfe2deef450',1,'apxdx.F90']]], + ['arallocc_895',['arallocc',['../arallocc_8c.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c'],['../bufrlib_8h.html#a98efd59b32b1d2ed2c060d2564824e28',1,'arallocc(void): arallocc.c']]], + ['arallocc_5fc_896',['arallocc_c',['../interfacebufrlib_1_1arallocc__c.html#a59657ce8014f439d0bdd18713ee7788d',1,'bufrlib::arallocc_c']]], + ['arallocf_897',['arallocf',['../arallocf_8F90.html#a2b64630033a9306be25da1f6b28d913f',1,'arallocf.F90']]], + ['ardllocc_898',['ardllocc',['../arallocc_8c.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): arallocc.c'],['../bufrlib_8h.html#ac283516a1391fee0635b01beffdad7cb',1,'ardllocc(void): arallocc.c']]], + ['ardllocc_5fc_899',['ardllocc_c',['../interfacebufrlib_1_1ardllocc__c.html#a3ca3c885757d7df2b1837e46443b318e',1,'bufrlib::ardllocc_c']]], + ['ardllocf_900',['ardllocf',['../arallocf_8F90.html#a7b3e4d5498fedd9e94ac45b69fc04b58',1,'arallocf.F90']]], + ['atrcpt_901',['atrcpt',['../tankrcpt_8F90.html#adca31c0fc592e5bf04c10572b26c85b1',1,'tankrcpt.F90']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index cc9605e42..93a20a615 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,17 +1,15 @@ var searchData= [ - ['backbufr_1383',['backbufr',['../cread_8c.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c'],['../bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c']]], - ['backbufr_5fc_1384',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832',1,'bufrlib::backbufr_c']]], - ['bfrini_1385',['bfrini',['../bfrini_8f90.html#ab3f045cc170403305543e34e30b87001',1,'bfrini.f90']]], - ['binv_1386',['binv',['../binv_8f90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5',1,'binv.f90']]], - ['blocks_1387',['blocks',['../blocks_8f.html#a58e616c094fc6ddcdf5e33554105c3d4',1,'blocks.f']]], - ['bort_1388',['bort',['../bort_8f.html#a488d3a8cf930fb592a9fdaefcfa04ac4',1,'bort.f']]], - ['bort2_1389',['bort2',['../bort2_8f.html#a50f605cc96a22ffce20206c2d254b9c3',1,'bort2.f']]], - ['bort_5fc_1390',['bort_c',['../namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f',1,'bufr_c2f_interface']]], - ['bort_5fexit_1391',['bort_exit',['../bort__exit_8c.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c'],['../bufrlib_8h.html#a0f6c0efb4e258f8dc7550620b2536b60',1,'bort_exit(void): bort_exit.c']]], - ['bort_5fexit_5fc_1392',['bort_exit_c',['../interfacebufrlib_1_1bort__exit__c.html#acd1feaa07c688929a6fb0e722df5619e',1,'bufrlib::bort_exit_c']]], - ['bort_5ff_1393',['bort_f',['../bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447',1,'bufrlib.h']]], - ['bvers_1394',['bvers',['../bvers_8f.html#a210e17eb5b254e38f27e129304d4eae7',1,'bvers.f']]], - ['bvers_5fc_1395',['bvers_c',['../namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0',1,'bufr_c2f_interface']]], - ['bvers_5ff_1396',['bvers_f',['../bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b',1,'bufr_interface.h']]] + ['backbufr_902',['backbufr',['../bufrlib_8h.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c'],['../cread_8c.html#ad5429d7ed327f515c880227bb795162b',1,'backbufr(int nfile): cread.c']]], + ['backbufr_5fc_903',['backbufr_c',['../interfacebufrlib_1_1backbufr__c.html#ad9e1b123389021319f06f8e95c34d832',1,'bufrlib::backbufr_c']]], + ['bfrini_904',['bfrini',['../misc_8F90.html#ab3f045cc170403305543e34e30b87001',1,'misc.F90']]], + ['binv_905',['binv',['../binv_8F90.html#a7633b528a2b5299a4e2aa1c6f7e6e2e5',1,'binv.F90']]], + ['blocks_906',['blocks',['../blocks_8F90.html#a540b970b11e7da5147889d566c49b681',1,'blocks.F90']]], + ['bort_907',['bort',['../borts_8F90.html#adc4659c5e9171f22248cf61e054ddd17',1,'borts.F90']]], + ['bort2_908',['bort2',['../borts_8F90.html#afef28b5a86909cc8999fad7d98b11f00',1,'borts.F90']]], + ['bort_5fc_909',['bort_c',['../namespacebufr__c2f__interface.html#a70b99a494d9f5ef152ec115a139b1c1f',1,'bufr_c2f_interface']]], + ['bort_5ff_910',['bort_f',['../bufrlib_8h.html#a4bd8daccf2564da21968a531b87bf447',1,'bufrlib.h']]], + ['bvers_911',['bvers',['../misc_8F90.html#a76aaeb3402158be94f735c166f93a527',1,'misc.F90']]], + ['bvers_5fc_912',['bvers_c',['../namespacebufr__c2f__interface.html#adc050cbf79f756c7db30f7c4c6b129a0',1,'bufr_c2f_interface']]], + ['bvers_5ff_913',['bvers_f',['../bufr__interface_8h.html#ada9f732c49c87976c31f215c9c040d2b',1,'bufr_interface.h']]] ]; diff --git a/search/functions_10.js b/search/functions_10.js index 38f1b0601..a4a5f0acb 100644 --- a/search/functions_10.js +++ b/search/functions_10.js @@ -1,40 +1,41 @@ var searchData= [ - ['satcode_1695',['satcode',['../sinv_8f90.html#a4ab4fad455062f4d66f23adb61d13c7c',1,'sinv.f90']]], - ['seqsdx_1696',['seqsdx',['../seqsdx_8f.html#ae2dcc6ee54e54657a7b2be4c73e8154f',1,'seqsdx.f']]], - ['setblock_1697',['setblock',['../setblock_8f.html#af78b606039fc7944c42bf0be875579ee',1,'setblock.f']]], - ['setbmiss_1698',['setbmiss',['../setbmiss_8f.html#a9b4bbfdb1ac28c9b42b23c81f2367647',1,'setbmiss.f']]], - ['setim8b_1699',['setim8b',['../setim8b_8F90.html#a156e77d86141acd042efd97146dd18cf',1,'setim8b.F90']]], - ['setvalnb_1700',['setvalnb',['../setvalnb_8f.html#a83372f0085cb453664147c516b69c6b3',1,'setvalnb.f']]], - ['sinv_1701',['sinv',['../sinv_8f90.html#add80e304e2ffa251811ac6a19162f807',1,'sinv.f90']]], - ['sntbbe_1702',['sntbbe',['../sntbbe_8f.html#ae308430ece0bc88b4f8239cfbc13fe1e',1,'sntbbe.f']]], - ['sntbde_1703',['sntbde',['../sntbde_8f.html#ae7338a521f1a0879429886018b9c3e00',1,'sntbde.f']]], - ['sntbfe_1704',['sntbfe',['../sntbfe_8f.html#a447e4b94518009bd41934a6837bb135c',1,'sntbfe.f']]], - ['sorttbf_1705',['sorttbf',['../cfe_8c.html#af9bdd990bf256341aa36e1f0611132de',1,'cfe.c']]], - ['sorttbf_5fc_1706',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb',1,'bufrlib::sorttbf_c']]], - ['split_5fby_5fsubset_1707',['split_by_subset',['../split__by__subset_8f90.html#ae5d45e2086aa783d8ca85e2fd47c8118',1,'split_by_subset.f90']]], - ['srchtbf_1708',['srchtbf',['../cfe_8c.html#aba549e6acf16abcbe89193cb72d94287',1,'cfe.c']]], - ['srchtbf_5fc_1709',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc',1,'bufrlib::srchtbf_c']]], - ['status_1710',['status',['../status_8f.html#a6ec202af21064f4b61058df6b5880d3e',1,'status.f']]], - ['status_5fc_1711',['status_c',['../namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0',1,'bufr_c2f_interface']]], - ['status_5ff_1712',['status_f',['../bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d',1,'bufr_interface.h']]], - ['stbfdx_1713',['stbfdx',['../stbfdx_8f.html#a35d346baad722c9be56532c38d43f8a0',1,'stbfdx.f']]], - ['stdmsg_1714',['stdmsg',['../stdmsg_8f.html#abcb573ae105505deb6d3c0ad55abbce2',1,'stdmsg.f']]], - ['stndrd_1715',['stndrd',['../stndrd_8f.html#ac1fdb2d6ec4e856eb99cfb5fef331c19',1,'stndrd.f']]], - ['stntbi_1716',['stntbi',['../stntbi_8f.html#ad26b48825c877d44d1223a3f4e4051ed',1,'stntbi.f']]], - ['stntbi_5fc_1717',['stntbi_c',['../namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6',1,'bufr_c2f_interface']]], - ['stntbi_5ff_1718',['stntbi_f',['../bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f',1,'bufrlib.h']]], - ['stntbia_1719',['stntbia',['../stntbia_8f.html#afe5b7799490cf671bd2d13730f97fa39',1,'stntbia.f']]], - ['strbtm_1720',['strbtm',['../strbtm_8f.html#af07cb67caa4e62d680d319515c2ad94b',1,'strbtm.f']]], - ['strcln_1721',['strcln',['../strcln_8f.html#a19c92d247281ffcad8aab45d7debb54f',1,'strcln.f']]], - ['strcpt_1722',['strcpt',['../strcpt_8f.html#a9fdadc7a2e8a73b188c9111901faaafc',1,'strcpt.f']]], - ['string_1723',['string',['../string_8f.html#ad5386a1e671ead372f1c087994b68438',1,'string.f']]], - ['strnum_1724',['strnum',['../strnum_8F90.html#a93d704d3c84005bb12c261225445a99e',1,'strnum.F90']]], - ['strnum_5fc_1725',['strnum_c',['../namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2',1,'bufr_c2f_interface']]], - ['strnum_5ff_1726',['strnum_f',['../bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11',1,'bufrlib.h']]], - ['strsuc_1727',['strsuc',['../strsuc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28',1,'strsuc.F90']]], - ['strtbfe_1728',['strtbfe',['../cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76',1,'cfe.c']]], - ['strtbfe_5fc_1729',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5',1,'bufrlib::strtbfe_c']]], - ['stseq_1730',['stseq',['../stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c'],['../bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c']]], - ['stseq_5fc_1731',['stseq_c',['../interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870',1,'bufrlib::stseq_c']]] + ['satcode_1209',['satcode',['../sinv_8F90.html#a4ab4fad455062f4d66f23adb61d13c7c',1,'sinv.F90']]], + ['seqsdx_1210',['seqsdx',['../dxtable_8F90.html#a591d4a2752e5c69299905fb910f7fcc7',1,'dxtable.F90']]], + ['setblock_1211',['setblock',['../blocks_8F90.html#a552eedeacbddeccff86792eb99dad12f',1,'blocks.F90']]], + ['setbmiss_1212',['setbmiss',['../missing_8F90.html#a65fba06ac4fb69670084ee11746bdd9f',1,'missing.F90']]], + ['setim8b_1213',['setim8b',['../x4884_8F90.html#a156e77d86141acd042efd97146dd18cf',1,'x4884.F90']]], + ['setvalnb_1214',['setvalnb',['../readwriteval_8F90.html#ac8bbcb32a65a5acdf50e0f5d835c6ac2',1,'readwriteval.F90']]], + ['sinv_1215',['sinv',['../sinv_8F90.html#add80e304e2ffa251811ac6a19162f807',1,'sinv.F90']]], + ['sntbbe_1216',['sntbbe',['../mastertable_8F90.html#a4bc18eda6239cb2cd797dc63e12060d6',1,'mastertable.F90']]], + ['sntbde_1217',['sntbde',['../mastertable_8F90.html#a07132e14b98ae1942199d2f9f89f1dfd',1,'mastertable.F90']]], + ['sntbestr_1218',['sntbestr',['../mastertable_8F90.html#a1a035df49f8cbaee159153af0d3fb818',1,'mastertable.F90']]], + ['sntbfe_1219',['sntbfe',['../mastertable_8F90.html#a13fd8c1d3695fab378b46cd2a6c23d4c',1,'mastertable.F90']]], + ['sorttbf_1220',['sorttbf',['../cfe_8c.html#af9bdd990bf256341aa36e1f0611132de',1,'cfe.c']]], + ['sorttbf_5fc_1221',['sorttbf_c',['../interfacebufrlib_1_1sorttbf__c.html#a32d698730c2323056301d57bf65265cb',1,'bufrlib::sorttbf_c']]], + ['split_5fby_5fsubset_1222',['split_by_subset',['../split__by__subset_8F90.html#ae5d45e2086aa783d8ca85e2fd47c8118',1,'split_by_subset.F90']]], + ['srchtbf_1223',['srchtbf',['../cfe_8c.html#aba549e6acf16abcbe89193cb72d94287',1,'cfe.c']]], + ['srchtbf_5fc_1224',['srchtbf_c',['../interfacebufrlib_1_1srchtbf__c.html#a81ef463e26669eaf234956ffd027b3dc',1,'bufrlib::srchtbf_c']]], + ['status_1225',['status',['../openclosebf_8F90.html#abceda08f9c29378d3ddadeb46e823d00',1,'openclosebf.F90']]], + ['status_5fc_1226',['status_c',['../namespacebufr__c2f__interface.html#a233844a8f03de391d28d20a7bd5d8ef0',1,'bufr_c2f_interface']]], + ['status_5ff_1227',['status_f',['../bufr__interface_8h.html#a8864263871383e72d19ac4a57031be7d',1,'bufr_interface.h']]], + ['stbfdx_1228',['stbfdx',['../dxtable_8F90.html#ac59d8db430cbb1cbe7ced7ebc386ef4a',1,'dxtable.F90']]], + ['stdmsg_1229',['stdmsg',['../standard_8F90.html#a1f7f89920afdd318ec3ff39559c42ecd',1,'standard.F90']]], + ['stndrd_1230',['stndrd',['../standard_8F90.html#a543c53880e96f04934213352ea77a7ab',1,'standard.F90']]], + ['stntbi_1231',['stntbi',['../dxtable_8F90.html#aaa433680a14847a3fd64a6fa1b877211',1,'dxtable.F90']]], + ['stntbi_5fc_1232',['stntbi_c',['../namespacebufr__c2f__interface.html#a1c04fd789a555e4a08d798172a07b2e6',1,'bufr_c2f_interface']]], + ['stntbi_5ff_1233',['stntbi_f',['../bufrlib_8h.html#a6d361bdabcb605e7677b9c29cf7ba10f',1,'bufrlib.h']]], + ['stntbia_1234',['stntbia',['../dxtable_8F90.html#ac0b4a9cb7d5c89dfe084698b9bb4042e',1,'dxtable.F90']]], + ['strbtm_1235',['strbtm',['../bitmaps_8F90.html#a81f55f4b1f740f3ac6e3f56ee0a06dee',1,'bitmaps.F90']]], + ['strcln_1236',['strcln',['../strings_8F90.html#a19c92d247281ffcad8aab45d7debb54f',1,'strings.F90']]], + ['strcpt_1237',['strcpt',['../tankrcpt_8F90.html#a24ba916e2d398ca162381b0d8b3f54fe',1,'tankrcpt.F90']]], + ['string_1238',['string',['../strings_8F90.html#aa3112b3661ec475fe7949d9ae5bafb40',1,'strings.F90']]], + ['strnum_1239',['strnum',['../misc_8F90.html#a93d704d3c84005bb12c261225445a99e',1,'misc.F90']]], + ['strnum_5fc_1240',['strnum_c',['../namespacebufr__c2f__interface.html#af9137b87796fbc3395e596227515c4f2',1,'bufr_c2f_interface']]], + ['strnum_5ff_1241',['strnum_f',['../bufrlib_8h.html#aac0f5146bfdbf7042ac39e515475ba11',1,'bufrlib.h']]], + ['strsuc_1242',['strsuc',['../misc_8F90.html#ab18db8197d0e5256ff5dfd2f26304d28',1,'misc.F90']]], + ['strtbfe_1243',['strtbfe',['../cfe_8c.html#adae7e8dfb5a605b8e8be2c96f3e2be76',1,'cfe.c']]], + ['strtbfe_5fc_1244',['strtbfe_c',['../interfacebufrlib_1_1strtbfe__c.html#ae5f703fa8d04510d2cb00d0ee8a22bc5',1,'bufrlib::strtbfe_c']]], + ['stseq_1245',['stseq',['../bufrlib_8h.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c'],['../stseq_8c.html#a4f4c37daea8a69385e280d60265f9d40',1,'stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc): stseq.c']]], + ['stseq_5fc_1246',['stseq_c',['../interfacebufrlib_1_1stseq__c.html#aab86c1ca1259592cf56c72ac5f4f8870',1,'bufrlib::stseq_c']]] ]; diff --git a/search/functions_11.js b/search/functions_11.js index e4687c8c5..6f028e434 100644 --- a/search/functions_11.js +++ b/search/functions_11.js @@ -1,6 +1,6 @@ var searchData= [ - ['tabent_1732',['tabent',['../tabent_8f.html#a93eed61bdc169fa276366154d660f959',1,'tabent.f']]], - ['tabsub_1733',['tabsub',['../tabsub_8f.html#a6ad60d6ecdf6a230ccb11e112ecc84ce',1,'tabsub.f']]], - ['trybump_1734',['trybump',['../trybump_8f.html#a7df827415ef9d772ed5bb27bb7a82adf',1,'trybump.f']]] + ['tabent_1247',['tabent',['../jumplink_8F90.html#a68d977aaaf6f7869b2048ca79723c838',1,'jumplink.F90']]], + ['tabsub_1248',['tabsub',['../jumplink_8F90.html#af1d16fa71d84a333e3448d1081214d2f',1,'jumplink.F90']]], + ['trybump_1249',['trybump',['../readwriteval_8F90.html#a79d01683a99ab7e6a31359c00c317bd8',1,'readwriteval.F90']]] ]; diff --git a/search/functions_12.js b/search/functions_12.js index 3686c3b66..0b6be3366 100644 --- a/search/functions_12.js +++ b/search/functions_12.js @@ -1,48 +1,48 @@ var searchData= [ - ['ufbcnt_1735',['ufbcnt',['../ufbcnt_8f.html#afada6ea85af96e5751b5d82d28f807d4',1,'ufbcnt.f']]], - ['ufbcpy_1736',['ufbcpy',['../ufbcpy_8f.html#ac1f15281ef59f8b415f26ab9338a1700',1,'ufbcpy.f']]], - ['ufbcup_1737',['ufbcup',['../ufbcup_8f.html#a634b4974ecc6ef3dfe0f4ee27084305b',1,'ufbcup.f']]], - ['ufbdmp_1738',['ufbdmp',['../ufbdmp_8f.html#a03f00a8e30364f2d9a29718a1296c698',1,'ufbdmp.f']]], - ['ufbevn_1739',['ufbevn',['../ufbevn_8f.html#a630c533559c08a5e7206499d174dedeb',1,'ufbevn.f']]], - ['ufbget_1740',['ufbget',['../ufbget_8f.html#ac8ce7862a6f53cee02ad052d341247e4',1,'ufbget.f']]], - ['ufbin3_1741',['ufbin3',['../ufbin3_8f.html#a8f7e7d94420398251429218892f6ca48',1,'ufbin3.f']]], - ['ufbint_1742',['ufbint',['../ufbint_8f.html#aacc479c23b54cc29eecc78d22e56916b',1,'ufbint.f']]], - ['ufbint_5fc_1743',['ufbint_c',['../namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67',1,'bufr_c2f_interface']]], - ['ufbint_5ff_1744',['ufbint_f',['../bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075',1,'bufr_interface.h']]], - ['ufbinx_1745',['ufbinx',['../ufbinx_8f.html#a4014acd8639acf687abe1cd69efad1d4',1,'ufbinx.f']]], - ['ufbmem_1746',['ufbmem',['../ufbmem_8f.html#aef2048739b26a0efc96a38bda24809a4',1,'ufbmem.f']]], - ['ufbmex_1747',['ufbmex',['../ufbmex_8f.html#a1c3895e1770738efa9108c74d09aac41',1,'ufbmex.f']]], - ['ufbmms_1748',['ufbmms',['../ufbmms_8f.html#a142b387ea3b4861114dd8299375e933b',1,'ufbmms.f']]], - ['ufbmns_1749',['ufbmns',['../ufbmns_8f.html#a8c47d293077b6ef8a0d87a5bda532992',1,'ufbmns.f']]], - ['ufbovr_1750',['ufbovr',['../ufbovr_8f.html#a329577a745ed0bd9d6dcee2e3adac859',1,'ufbovr.f']]], - ['ufbpos_1751',['ufbpos',['../ufbpos_8f.html#a36fae2a842d9b540891fa080cc61b716',1,'ufbpos.f']]], - ['ufbqcd_1752',['ufbqcd',['../ufbqcd_8f.html#a65c0f87b2a9c7666057a269631f1bae7',1,'ufbqcd.f']]], - ['ufbqcp_1753',['ufbqcp',['../ufbqcp_8f.html#a39595280220d52ec11fc213be006d8be',1,'ufbqcp.f']]], - ['ufbrep_1754',['ufbrep',['../ufbrep_8f.html#a8dafd734f4271f895722c7750cf6e9ed',1,'ufbrep.f']]], - ['ufbrep_5fc_1755',['ufbrep_c',['../namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93',1,'bufr_c2f_interface']]], - ['ufbrep_5ff_1756',['ufbrep_f',['../bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce',1,'bufr_interface.h']]], - ['ufbrms_1757',['ufbrms',['../ufbrms_8f.html#aef165d34e315795e76a05ce6b4e79306',1,'ufbrms.f']]], - ['ufbrp_1758',['ufbrp',['../ufbrp_8f.html#a0caf28e523ac9dbea5d5bd592cd40b39',1,'ufbrp.f']]], - ['ufbrw_1759',['ufbrw',['../ufbrw_8f.html#abc239f0ea4f858cccb770bad22d04f02',1,'ufbrw.f']]], - ['ufbseq_1760',['ufbseq',['../ufbseq_8f.html#ad50785c4e565749fa08ec3bdddacc6fd',1,'ufbseq.f']]], - ['ufbseq_5fc_1761',['ufbseq_c',['../namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca',1,'bufr_c2f_interface']]], - ['ufbseq_5ff_1762',['ufbseq_f',['../bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16',1,'bufr_interface.h']]], - ['ufbsp_1763',['ufbsp',['../ufbsp_8f.html#a9e01a96271d067c20bac5606efd53560',1,'ufbsp.f']]], - ['ufbstp_1764',['ufbstp',['../ufbstp_8f.html#a2bee29e854e5de7c143b2395f2b91558',1,'ufbstp.f']]], - ['ufbtab_1765',['ufbtab',['../ufbtab_8f.html#a5e4e72f944670059a938e246717e5ad9',1,'ufbtab.f']]], - ['ufbtam_1766',['ufbtam',['../ufbtam_8f.html#ab057894a02fafc40f351dfb23707f9a1',1,'ufbtam.f']]], - ['ufdump_1767',['ufdump',['../ufdump_8f.html#ac6ded614847f96968e12c9600a7d51ba',1,'ufdump.f']]], - ['up8_1768',['up8',['../up8_8f.html#a9934a3d9c66ea78c7c132066798583f9',1,'up8.f']]], - ['upb_1769',['upb',['../upb_8f.html#aae09b58b06877db63e95889f67c146c0',1,'upb.f']]], - ['upb8_1770',['upb8',['../upb8_8f.html#a25ce428c1ae2bcb567fc2762fabf4317',1,'upb8.f']]], - ['upbb_1771',['upbb',['../upbb_8f.html#a92f5b8055d7eae17ed04e1300e741a39',1,'upbb.f']]], - ['upc_1772',['upc',['../upc_8f.html#ae2afdf50d0bf4063426faeae29515208',1,'upc.f']]], - ['upds3_1773',['upds3',['../upds3_8f.html#ab3f8934add8a578800472069a91d33d6',1,'upds3.f']]], - ['upftbv_1774',['upftbv',['../upftbv_8f.html#a1474a49dffc36e1517bc71c734d36837',1,'upftbv.f']]], - ['ups_1775',['ups',['../ups_8f.html#aea2e26fceeecb31aa90ae7811fa1c361',1,'ups.f']]], - ['uptdd_1776',['uptdd',['../uptdd_8f.html#a560d41b7c906a6cb2dc1f53259261dd4',1,'uptdd.f']]], - ['uptdd_5fc_1777',['uptdd_c',['../namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea',1,'bufr_c2f_interface']]], - ['uptdd_5ff_1778',['uptdd_f',['../bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b',1,'bufrlib.h']]], - ['usrtpl_1779',['usrtpl',['../usrtpl_8f.html#a677bf700a4a6f0626a41921cd66d8ed9',1,'usrtpl.f']]] + ['ufbcnt_1250',['ufbcnt',['../openclosebf_8F90.html#aac1b87fbbb688e4f5e2120012eaee382',1,'openclosebf.F90']]], + ['ufbcpy_1251',['ufbcpy',['../copydata_8F90.html#aed892e851f07fc9bf94a2c58c809c09c',1,'copydata.F90']]], + ['ufbcup_1252',['ufbcup',['../copydata_8F90.html#a6ec0c8f23e362f62f78ba314d6fa8f33',1,'copydata.F90']]], + ['ufbdmp_1253',['ufbdmp',['../dumpdata_8F90.html#ad4fdbfc4ae3890133d9204a881541a1a',1,'dumpdata.F90']]], + ['ufbevn_1254',['ufbevn',['../readwriteval_8F90.html#ad0c9f5c0f8e4dc0e1ebd7c685b9a5ba9',1,'readwriteval.F90']]], + ['ufbget_1255',['ufbget',['../readwriteval_8F90.html#aee2899967d88055f73e4d5ad954d7b5a',1,'readwriteval.F90']]], + ['ufbin3_1256',['ufbin3',['../readwriteval_8F90.html#a1ac6ef2be222bff2bab58e3f58f5d67e',1,'readwriteval.F90']]], + ['ufbint_1257',['ufbint',['../readwriteval_8F90.html#a6eb38e7aa610c36787b90e50b290eea7',1,'readwriteval.F90']]], + ['ufbint_5fc_1258',['ufbint_c',['../namespacebufr__c2f__interface.html#a4d3f0201945123b06c7d198065cf2f67',1,'bufr_c2f_interface']]], + ['ufbint_5ff_1259',['ufbint_f',['../bufr__interface_8h.html#ab6cd4669f077cf7c939d9241614bc075',1,'bufr_interface.h']]], + ['ufbinx_1260',['ufbinx',['../readwriteval_8F90.html#a1d88d30e5ee23d6d86cbfb66537b512f',1,'readwriteval.F90']]], + ['ufbmem_1261',['ufbmem',['../memmsgs_8F90.html#a4959c5f16b679cf4f90b2d5dcfe74247',1,'memmsgs.F90']]], + ['ufbmex_1262',['ufbmex',['../memmsgs_8F90.html#a9072ba79bf636849068780fa6467282c',1,'memmsgs.F90']]], + ['ufbmms_1263',['ufbmms',['../memmsgs_8F90.html#af0432ae9b24903a84c35bcdbbab9b0f6',1,'memmsgs.F90']]], + ['ufbmns_1264',['ufbmns',['../memmsgs_8F90.html#ab44b6a9dd950697675861504ccb24a83',1,'memmsgs.F90']]], + ['ufbovr_1265',['ufbovr',['../readwriteval_8F90.html#a62aacb5a102aaf1ee01deef68c63cdb8',1,'readwriteval.F90']]], + ['ufbpos_1266',['ufbpos',['../readwritesb_8F90.html#a178ebc9cfe70d3119632799fc3db25de',1,'readwritesb.F90']]], + ['ufbqcd_1267',['ufbqcd',['../cftbvs_8F90.html#aa1388284ca8a4e435989e8a6eb551935',1,'cftbvs.F90']]], + ['ufbqcp_1268',['ufbqcp',['../cftbvs_8F90.html#abf6e01afd6c876d1319e25f9d591315b',1,'cftbvs.F90']]], + ['ufbrep_1269',['ufbrep',['../readwriteval_8F90.html#af46dec3ef4cc6f467323b40eb14a4024',1,'readwriteval.F90']]], + ['ufbrep_5fc_1270',['ufbrep_c',['../namespacebufr__c2f__interface.html#a57a1b4956a89ed60a934a02d4140eb93',1,'bufr_c2f_interface']]], + ['ufbrep_5ff_1271',['ufbrep_f',['../bufr__interface_8h.html#a14f7b7994cfecdfa6481cbfd39aed3ce',1,'bufr_interface.h']]], + ['ufbrms_1272',['ufbrms',['../memmsgs_8F90.html#ae3e462b1a3f2d5af01807bdcded6a745',1,'memmsgs.F90']]], + ['ufbrp_1273',['ufbrp',['../readwriteval_8F90.html#a3f676e2267d902f8bc913a6d9d1a6aac',1,'readwriteval.F90']]], + ['ufbrw_1274',['ufbrw',['../readwriteval_8F90.html#a543d19ccf3a36ded022cbbe8db66ee85',1,'readwriteval.F90']]], + ['ufbseq_1275',['ufbseq',['../readwriteval_8F90.html#a4895b24addb0b3e23f5bd92fd891656e',1,'readwriteval.F90']]], + ['ufbseq_5fc_1276',['ufbseq_c',['../namespacebufr__c2f__interface.html#af0b721af91340e7a261e8014455bd6ca',1,'bufr_c2f_interface']]], + ['ufbseq_5ff_1277',['ufbseq_f',['../bufr__interface_8h.html#a6415176e3b48b1de4e98f12ea1baec16',1,'bufr_interface.h']]], + ['ufbsp_1278',['ufbsp',['../readwriteval_8F90.html#a7281bf7fbd6efa3a9be946f7d63cffad',1,'readwriteval.F90']]], + ['ufbstp_1279',['ufbstp',['../readwriteval_8F90.html#a921e4820b81e9f33e28a0d0452785a14',1,'readwriteval.F90']]], + ['ufbtab_1280',['ufbtab',['../openclosebf_8F90.html#ae88bf9794ed98ec79e9de0faff0093af',1,'openclosebf.F90']]], + ['ufbtam_1281',['ufbtam',['../memmsgs_8F90.html#aef5cd104e2b7ce86e852e4878c8efc9d',1,'memmsgs.F90']]], + ['ufdump_1282',['ufdump',['../dumpdata_8F90.html#a20fa33f6e0fcb0816c4b070c73362539',1,'dumpdata.F90']]], + ['up8_1283',['up8',['../cidecode_8F90.html#a9934a3d9c66ea78c7c132066798583f9',1,'cidecode.F90']]], + ['upb_1284',['upb',['../cidecode_8F90.html#a07dda20577f7480095dff261d11241f8',1,'cidecode.F90']]], + ['upb8_1285',['upb8',['../cidecode_8F90.html#a25ce428c1ae2bcb567fc2762fabf4317',1,'cidecode.F90']]], + ['upbb_1286',['upbb',['../cidecode_8F90.html#a243e1ab84f5a36179c0ac05056574257',1,'cidecode.F90']]], + ['upc_1287',['upc',['../cidecode_8F90.html#afef1c199ce8e69b085435b74d68cd337',1,'cidecode.F90']]], + ['upds3_1288',['upds3',['../s013vals_8F90.html#a7bf4d22f9bb27412a9d041f7a5d7bca6',1,'s013vals.F90']]], + ['upftbv_1289',['upftbv',['../cftbvs_8F90.html#ac7a8caa03ed8a2ac40a541762ca7e917',1,'cftbvs.F90']]], + ['ups_1290',['ups',['../cidecode_8F90.html#a414b81ace5368c9bb43fdd19442ebaa5',1,'cidecode.F90']]], + ['uptdd_1291',['uptdd',['../dxtable_8F90.html#aeec2544ee0e0d8587c6687cda7023e54',1,'dxtable.F90']]], + ['uptdd_5fc_1292',['uptdd_c',['../namespacebufr__c2f__interface.html#aa3ea9ef5bab8e3ceb1118f0e8cafaeea',1,'bufr_c2f_interface']]], + ['uptdd_5ff_1293',['uptdd_f',['../bufrlib_8h.html#af730245754e061e8dd5f7d77f0310f8b',1,'bufrlib.h']]], + ['usrtpl_1294',['usrtpl',['../readwritesb_8F90.html#a470af56bdf10d0b31292b0edac067597',1,'readwritesb.F90']]] ]; diff --git a/search/functions_13.js b/search/functions_13.js index 86f3fcbcf..2c6f21325 100644 --- a/search/functions_13.js +++ b/search/functions_13.js @@ -1,16 +1,13 @@ var searchData= [ - ['wrcmps_1780',['wrcmps',['../wrcmps_8f.html#a8b333832f77606059ec94ba8b80d4e8d',1,'wrcmps.f']]], - ['wrdesc_1781',['wrdesc',['../wrdesc_8c.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c'],['../bufrlib_8h.html#ad577f07ffa884eec9638dadffdb34997',1,'wrdesc(int desc, int *descary, int *ndescary): wrdesc.c']]], - ['wrdlen_1782',['wrdlen',['../wrdlen_8F.html#afb746f29272671c842018de69b277685',1,'wrdlen.F']]], - ['wrdlen_5fc_1783',['wrdlen_c',['../namespacebufr__c2f__interface.html#acf751dae4f6ef06f7340984fc5f0bec1',1,'bufr_c2f_interface']]], - ['wrdlen_5ff_1784',['wrdlen_f',['../bufrlib_8h.html#a080eec815db985d32c88720a303f53c4',1,'bufrlib.h']]], - ['wrdxtb_1785',['wrdxtb',['../wrdxtb_8f.html#a89d9a5cf1716a40206ce1684c3eb9415',1,'wrdxtb.f']]], - ['writcp_1786',['writcp',['../writcp_8f.html#a0746c543fb40ce7630bb60775ddb048f',1,'writcp.f']]], - ['writdx_1787',['writdx',['../writdx_8f.html#aeefeb67236c767bcd39c0b2bc03fa390',1,'writdx.f']]], - ['writlc_1788',['writlc',['../writlc_8f.html#a618f82746b2f00c524529cf9c477656a',1,'writlc.f']]], - ['writsa_1789',['writsa',['../writsa_8f.html#a15907b29d7777574ebc34b491e2df0ee',1,'writsa.f']]], - ['writsb_1790',['writsb',['../writsb_8f.html#a9123f1d55a95142381a9eb7402d37b05',1,'writsb.f']]], - ['wrtree_1791',['wrtree',['../wrtree_8f.html#a0700f04d89a10a24b1acb184f6022c77',1,'wrtree.f']]], - ['wtstat_1792',['wtstat',['../wtstat_8f.html#a82676f83ff365e03ad827ed5ba0af1ae',1,'wtstat.f']]] + ['wrcmps_1295',['wrcmps',['../compress_8F90.html#a6936aeb7f52ecaaa76047564005946d9',1,'compress.F90']]], + ['wrdesc_1296',['wrdesc',['../restd_8c.html#ab9426972c9b597e6b7382b00416dd572',1,'restd.c']]], + ['wrdxtb_1297',['wrdxtb',['../dxtable_8F90.html#a81ea6d2408950b5728790bc8f8c80261',1,'dxtable.F90']]], + ['writcp_1298',['writcp',['../compress_8F90.html#a52810a80e6afe9d44c454fe1c81a7f81',1,'compress.F90']]], + ['writdx_1299',['writdx',['../dxtable_8F90.html#ac8141d6ac66d21c3fd2be3251a6a40c3',1,'dxtable.F90']]], + ['writlc_1300',['writlc',['../readwriteval_8F90.html#aecfa08f631e1af46b472c007b93b2955',1,'readwriteval.F90']]], + ['writsa_1301',['writsa',['../readwritesb_8F90.html#a4b62a40d2c2860279670bf59a68e8204',1,'readwritesb.F90']]], + ['writsb_1302',['writsb',['../readwritesb_8F90.html#aa2218d1cd25f8d558448bdc3061b3a04',1,'readwritesb.F90']]], + ['wrtree_1303',['wrtree',['../readwritesb_8F90.html#a2324e7f253ba3ad6209d7ab0fce5bc0e',1,'readwritesb.F90']]], + ['wtstat_1304',['wtstat',['../openclosebf_8F90.html#ada4363a068f7df043d75b4519c55142f',1,'openclosebf.F90']]] ]; diff --git a/search/functions_14.js b/search/functions_14.js index fee4ad829..e9e85d94b 100644 --- a/search/functions_14.js +++ b/search/functions_14.js @@ -1,5 +1,5 @@ var searchData= [ - ['x48_1793',['x48',['../x48_8F.html#a268214fc42b428a9fb25656b5d6a4eb3',1,'x48.F']]], - ['x84_1794',['x84',['../x84_8F.html#a26ff906219363c677693bd4de86c5912',1,'x84.F']]] + ['x48_1305',['x48',['../x4884_8F90.html#a5b19b8932da48639e6bcaeefc4d03bfb',1,'x4884.F90']]], + ['x84_1306',['x84',['../x4884_8F90.html#aa1e012dbd8da45797592cc65a399d71d',1,'x4884.F90']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index a82e72a38..6052c5827 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,50 +1,50 @@ var searchData= [ - ['cadn30_1397',['cadn30',['../cadn30_8f.html#a62b50a0be6585c53b6604953e5f39ad1',1,'cadn30.f']]], - ['cadn30_5fc_1398',['cadn30_c',['../namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5',1,'bufr_c2f_interface']]], - ['cadn30_5ff_1399',['cadn30_f',['../bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9',1,'bufrlib.h']]], - ['capit_1400',['capit',['../capit_8f.html#acade976948fae8afa1a8301ff9272f56',1,'capit.f']]], - ['ccbfl_1401',['ccbfl',['../crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c'],['../bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c']]], - ['ccbfl_5fc_1402',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8',1,'bufr_interface::ccbfl_c']]], - ['cewind_1403',['cewind',['../bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c'],['../cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c']]], - ['cewind_5fc_1404',['cewind_c',['../interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b',1,'bufrlib::cewind_c']]], - ['chekstab_1405',['chekstab',['../chekstab_8f.html#aab7a156a89f4b58d3ef31ab946485e50',1,'chekstab.f']]], - ['cktaba_1406',['cktaba',['../cktaba_8f.html#a137108e58830be769ba5b28072cf1b4c',1,'cktaba.f']]], - ['closbf_1407',['closbf',['../closbf_8f.html#ad55dd3a551ae12718de0ac459c8f45c0',1,'closbf.f']]], - ['closbf_5fc_1408',['closbf_c',['../namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d',1,'bufr_c2f_interface']]], - ['closbf_5ff_1409',['closbf_f',['../bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a',1,'bufr_interface.h']]], - ['close_5fc_1410',['close_c',['../namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3',1,'bufr_c2f_interface']]], - ['close_5ff_1411',['close_f',['../bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249',1,'bufr_interface.h']]], - ['closfb_1412',['closfb',['../cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c'],['../bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c']]], - ['closfb_5fc_1413',['closfb_c',['../interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f',1,'bufrlib::closfb_c']]], - ['closmg_1414',['closmg',['../closmg_8f.html#a613caf939b486d5820aad9111383921b',1,'closmg.f']]], - ['cmpbqm_1415',['cmpbqm',['../cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da',1,'cmpbqm.F90']]], - ['cmpia_1416',['cmpia',['../stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29',1,'stseq.c']]], - ['cmpmsg_1417',['cmpmsg',['../cmpmsg_8f.html#a75b2d1dfd1dedb519205399a8087fd56',1,'cmpmsg.f']]], - ['cmpmsg_5ff_1418',['cmpmsg_f',['../bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128',1,'bufr_interface.h']]], - ['cmpstia1_1419',['cmpstia1',['../cfe_8c.html#a7211d196317c36365a40a128875d5041',1,'cfe.c']]], - ['cmpstia2_1420',['cmpstia2',['../cfe_8c.html#a54e09962aa43b61717212a2702be33c8',1,'cfe.c']]], - ['cmsgini_1421',['cmsgini',['../cmsgini_8f.html#ace74c243976a7546e92121317b36f9de',1,'cmsgini.f']]], - ['cnved4_1422',['cnved4',['../cnved4_8f.html#a7d89a1cf9282ca0f978a4da923369226',1,'cnved4.f']]], - ['cobfl_1423',['cobfl',['../bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c'],['../crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c']]], - ['cobfl_5fc_1424',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e',1,'bufr_interface::cobfl_c']]], - ['codflg_1425',['codflg',['../codflg_8f.html#af415643ef31f484c879e7a770fa69ff9',1,'codflg.f']]], - ['conwin_1426',['conwin',['../conwin_8f.html#a550d792705db407874c5eedd94a603aa',1,'conwin.f']]], - ['copybf_1427',['copybf',['../copybf_8f.html#a598d71f903b83187540ce568459cd8a0',1,'copybf.f']]], - ['copymg_1428',['copymg',['../copymg_8f.html#a2f6e668a0784a60fa7aa078d10223590',1,'copymg.f']]], - ['copysb_1429',['copysb',['../copysb_8f.html#a7982baa3c1084a33dfa8aec297782978',1,'copysb.f']]], - ['cpbfdx_1430',['cpbfdx',['../cpbfdx_8f.html#a3ab4a857b6a0b1e03f6cb2058712279a',1,'cpbfdx.f']]], - ['cpdxmm_1431',['cpdxmm',['../cpdxmm_8f.html#a48f353028fb8bf77255b4dae476b9da7',1,'cpdxmm.f']]], - ['cpmstabs_1432',['cpmstabs',['../cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c',1,'cpmstabs.c']]], - ['cpmstabs_5fc_1433',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d',1,'bufrlib::cpmstabs_c']]], - ['cpymem_1434',['cpymem',['../cpymem_8f.html#abf683322bb0f02c5fe1d2aed27c997a9',1,'cpymem.f']]], - ['cpyupd_1435',['cpyupd',['../cpyupd_8f.html#a129651d2e47b6c8986c1fc4dd73d87c9',1,'cpyupd.f']]], - ['crbmg_1436',['crbmg',['../bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c']]], - ['crbmg_5fc_1437',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311',1,'bufr_interface::crbmg_c']]], - ['crdbufr_1438',['crdbufr',['../cread_8c.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c'],['../bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c']]], - ['crdbufr_5fc_1439',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9',1,'bufrlib::crdbufr_c']]], - ['cwbmg_1440',['cwbmg',['../bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c']]], - ['cwbmg_5fc_1441',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113',1,'bufr_interface::cwbmg_c']]], - ['cwrbufr_1442',['cwrbufr',['../cread_8c.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c'],['../bufrlib_8h.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c']]], - ['cwrbufr_5fc_1443',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978',1,'bufrlib::cwrbufr_c']]] + ['cadn30_914',['cadn30',['../fxy_8F90.html#a438b8634d4f1308ee086a8f323662d2c',1,'fxy.F90']]], + ['cadn30_5fc_915',['cadn30_c',['../namespacebufr__c2f__interface.html#a6a463f38336dcbedb5f125a242f69eb5',1,'bufr_c2f_interface']]], + ['cadn30_5ff_916',['cadn30_f',['../bufrlib_8h.html#a039293342a5ca4fe52a09992db5e42c9',1,'bufrlib.h']]], + ['capit_917',['capit',['../misc_8F90.html#abb1e33496bab2eb5a1c93f44173f57ea',1,'misc.F90']]], + ['ccbfl_918',['ccbfl',['../crwbmg_8c.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c'],['../bufr__interface_8h.html#ab66668ab9633ce3b475416f6a9899802',1,'ccbfl(void): crwbmg.c']]], + ['ccbfl_5fc_919',['ccbfl_c',['../interfacebufr__interface_1_1ccbfl__c.html#a465bb0ca48168a8a39e63a8a6389fbe8',1,'bufr_interface::ccbfl_c']]], + ['cewind_920',['cewind',['../cread_8c.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c'],['../bufrlib_8h.html#afffb1b48f2c7d82abebcf2564d47438a',1,'cewind(int nfile): cread.c']]], + ['cewind_5fc_921',['cewind_c',['../interfacebufrlib_1_1cewind__c.html#ade24db84a56b90d1c86b15e87191155b',1,'bufrlib::cewind_c']]], + ['chekstab_922',['chekstab',['../jumplink_8F90.html#aca151bb247903f60a7b1a76578db1ed5',1,'jumplink.F90']]], + ['cktaba_923',['cktaba',['../s013vals_8F90.html#a1f8f8b7d0f3b0eb6042e170c0c84c18f',1,'s013vals.F90']]], + ['closbf_924',['closbf',['../openclosebf_8F90.html#a48a49bb82348400c1ba6af00c0138ab3',1,'openclosebf.F90']]], + ['closbf_5fc_925',['closbf_c',['../namespacebufr__c2f__interface.html#a3ac93c0105f2d2e934b5fa1f6581c02d',1,'bufr_c2f_interface']]], + ['closbf_5ff_926',['closbf_f',['../bufr__interface_8h.html#a019047beca19815d95ea0a78993b7e2a',1,'bufr_interface.h']]], + ['close_5fc_927',['close_c',['../namespacebufr__c2f__interface.html#a3c7ddfd5eb36a9904e9886e2d04bfdf3',1,'bufr_c2f_interface']]], + ['close_5ff_928',['close_f',['../bufr__interface_8h.html#ab0f41346d672e0fb0311bd658b867249',1,'bufr_interface.h']]], + ['closfb_929',['closfb',['../bufrlib_8h.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c'],['../cread_8c.html#a7b13da152c5a09e0fc1c92d8eb41154b',1,'closfb(int nfile): cread.c']]], + ['closfb_5fc_930',['closfb_c',['../interfacebufrlib_1_1closfb__c.html#ae18afec62d70c123a3224c75919c533f',1,'bufrlib::closfb_c']]], + ['closmg_931',['closmg',['../readwritemg_8F90.html#a63b37b74d9833df9d99e3937a2fa293a',1,'readwritemg.F90']]], + ['cmpbqm_932',['cmpbqm',['../cmpbqm_8F90.html#a757321e44a7c476abf5e5fb85384b7da',1,'cmpbqm.F90']]], + ['cmpia_933',['cmpia',['../stseq_8c.html#afe9ff1cb9d09192a6d0c76f58c2e3f29',1,'stseq.c']]], + ['cmpmsg_934',['cmpmsg',['../compress_8F90.html#a8d1905b269c7cd75ff1a451a0550a84e',1,'compress.F90']]], + ['cmpmsg_5ff_935',['cmpmsg_f',['../bufr__interface_8h.html#afcec73b988e42cfd8d10f734f6606128',1,'bufr_interface.h']]], + ['cmpstia1_936',['cmpstia1',['../cfe_8c.html#a7211d196317c36365a40a128875d5041',1,'cfe.c']]], + ['cmpstia2_937',['cmpstia2',['../cfe_8c.html#a54e09962aa43b61717212a2702be33c8',1,'cfe.c']]], + ['cmsgini_938',['cmsgini',['../compress_8F90.html#a3475e3a5a5079d96f47d2e49db98a1a6',1,'compress.F90']]], + ['cnved4_939',['cnved4',['../readwritemg_8F90.html#adc65969dd9c1cedbab0425827e241963',1,'readwritemg.F90']]], + ['cobfl_940',['cobfl',['../bufr__interface_8h.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c'],['../crwbmg_8c.html#a1a79689096002f6f3c125abc59c2143d',1,'cobfl(char *bfl, char io): crwbmg.c']]], + ['cobfl_5fc_941',['cobfl_c',['../interfacebufr__interface_1_1cobfl__c.html#ae36eb00a741323dd644b1d59eaa2d20e',1,'bufr_interface::cobfl_c']]], + ['codflg_942',['codflg',['../mastertable_8F90.html#a4721c745ebeb6be54c825cd1f53ec107',1,'mastertable.F90']]], + ['conwin_943',['conwin',['../jumplink_8F90.html#ac33dc42cbccbf054fa1c72b4bed5e90e',1,'jumplink.F90']]], + ['copybf_944',['copybf',['../copydata_8F90.html#a6df688983642d7845688aba3819c847e',1,'copydata.F90']]], + ['copymg_945',['copymg',['../copydata_8F90.html#aedfe2559c1f9c59ec85c11993b378e7e',1,'copydata.F90']]], + ['copysb_946',['copysb',['../copydata_8F90.html#a81eba6ff34f0a5020bf311ccf24d8efc',1,'copydata.F90']]], + ['cpbfdx_947',['cpbfdx',['../copydata_8F90.html#a352b4ac3adf31bada79d4d8672f0b800',1,'copydata.F90']]], + ['cpdxmm_948',['cpdxmm',['../memmsgs_8F90.html#a28854648f33f49aaeb3b2209e00c0ae7',1,'memmsgs.F90']]], + ['cpmstabs_949',['cpmstabs',['../cpmstabs_8c.html#ab993a0c7a1d8c4c04fb7006f6253025c',1,'cpmstabs.c']]], + ['cpmstabs_5fc_950',['cpmstabs_c',['../interfacebufrlib_1_1cpmstabs__c.html#a92cd23a27aa89d15a186d93a87c3973d',1,'bufrlib::cpmstabs_c']]], + ['cpymem_951',['cpymem',['../copydata_8F90.html#ad102179380a6543e1ec7af4c1ba1fdde',1,'copydata.F90']]], + ['cpyupd_952',['cpyupd',['../copydata_8F90.html#a9441a5be99c4a359ce4f2798037a2ea1',1,'copydata.F90']]], + ['crbmg_953',['crbmg',['../bufr__interface_8h.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a8e937daaf4fe2e1c74c3f8754bcce048',1,'crbmg(char *bmg, int mxmb, int *nmb, int *iret): crwbmg.c']]], + ['crbmg_5fc_954',['crbmg_c',['../interfacebufr__interface_1_1crbmg__c.html#a2032b00ac9a4d3230ce8f78b127f3311',1,'bufr_interface::crbmg_c']]], + ['crdbufr_955',['crdbufr',['../bufrlib_8h.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c'],['../cread_8c.html#a8b09f32462059d646e44ea6098a08edc',1,'crdbufr(int nfile, int *bufr, int mxwrd): cread.c']]], + ['crdbufr_5fc_956',['crdbufr_c',['../interfacebufrlib_1_1crdbufr__c.html#a76d41777024e3548a35d948dd9a1c5b9',1,'bufrlib::crdbufr_c']]], + ['cwbmg_957',['cwbmg',['../bufr__interface_8h.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c'],['../crwbmg_8c.html#a3ccf1d9c69d9b23a3906d3f7b5ab743d',1,'cwbmg(char *bmg, int nmb, int *iret): crwbmg.c']]], + ['cwbmg_5fc_958',['cwbmg_c',['../interfacebufr__interface_1_1cwbmg__c.html#a239dcd549ee24ca912e161e76619e113',1,'bufr_interface::cwbmg_c']]], + ['cwrbufr_959',['cwrbufr',['../bufrlib_8h.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c'],['../cread_8c.html#a95bc32869561911e9ca020628802edc5',1,'cwrbufr(int nfile, int *bufr, int nwrd): cread.c']]], + ['cwrbufr_5fc_960',['cwrbufr_c',['../interfacebufrlib_1_1cwrbufr__c.html#a1d2dfb6006e32a86cdfb81aab4693978',1,'bufrlib::cwrbufr_c']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index eab387aa8..a621cef38 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,16 +1,15 @@ var searchData= [ - ['datebf_1444',['datebf',['../datebf_8f.html#ad2a5fe76a797b9a857c7eba08f161dda',1,'datebf.f']]], - ['datelen_1445',['datelen',['../datelen_8f.html#a2b79b38439baa89e2b34b0614449d579',1,'datelen.f']]], - ['delete_5ftable_5fdata_5fc_1446',['delete_table_data_c',['../namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e',1,'bufr_c2f_interface']]], - ['delete_5ftable_5fdata_5ff_1447',['delete_table_data_f',['../bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426',1,'bufr_interface.h']]], - ['digit_1448',['digit',['../digit_8f.html#a794db0c45d8412136ea5cd66506c9ec2',1,'digit.f']]], - ['dlloctbf_1449',['dlloctbf',['../cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583',1,'cfe.c']]], - ['dlloctbf_5fc_1450',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6',1,'bufr_interface::dlloctbf_c']]], - ['drfini_1451',['drfini',['../drfini_8f.html#a22bf08213641695f90d64c04429064a8',1,'drfini.f']]], - ['drstpl_1452',['drstpl',['../drstpl_8f.html#a665ed582f0160b2112ca37fe79457d5f',1,'drstpl.f']]], - ['dumpbf_1453',['dumpbf',['../dumpbf_8f.html#a8c87e3d6aa6b01c5ca52fd57d7095826',1,'dumpbf.f']]], - ['dxdump_1454',['dxdump',['../dxdump_8f.html#a42bdc5a58d0586fd8e9bc1b755602aeb',1,'dxdump.f']]], - ['dxinit_1455',['dxinit',['../dxinit_8f.html#a5a104b88a6655ba06336b2c8ab7fb98e',1,'dxinit.f']]], - ['dxmini_1456',['dxmini',['../dxmini_8f.html#af50329e45cba835812b5522f4516f558',1,'dxmini.f']]] + ['datebf_961',['datebf',['../s013vals_8F90.html#a311f8836440703db774ee651425337b4',1,'s013vals.F90']]], + ['datelen_962',['datelen',['../s013vals_8F90.html#aadd84c217cf5fab0d94564da3f377ebe',1,'s013vals.F90']]], + ['delete_5ftable_5fdata_5fc_963',['delete_table_data_c',['../namespacebufr__c2f__interface.html#ab653ca4701372fddd02deddbd1b8d88e',1,'bufr_c2f_interface']]], + ['delete_5ftable_5fdata_5ff_964',['delete_table_data_f',['../bufr__interface_8h.html#ad6cb83d29d8f619e380f8a098b2c6426',1,'bufr_interface.h']]], + ['dlloctbf_965',['dlloctbf',['../cfe_8c.html#a1242c4d43753a37cdb9abfb3f01e5583',1,'cfe.c']]], + ['dlloctbf_5fc_966',['dlloctbf_c',['../interfacebufr__interface_1_1dlloctbf__c.html#a1391c5c6cddcc5daba0327f8a1b563e6',1,'bufr_interface::dlloctbf_c']]], + ['drfini_967',['drfini',['../readwriteval_8F90.html#a8a84d615371869d93f16c8617575dee2',1,'readwriteval.F90']]], + ['drstpl_968',['drstpl',['../jumplink_8F90.html#a1f74d80135fda2ac50f57d99645d2853',1,'jumplink.F90']]], + ['dumpbf_969',['dumpbf',['../s013vals_8F90.html#ac2e40c9d462d2855dd693d9498f55342',1,'s013vals.F90']]], + ['dxdump_970',['dxdump',['../dumpdata_8F90.html#ac693ae3d5af0a71505d5f9305c86fdb8',1,'dumpdata.F90']]], + ['dxinit_971',['dxinit',['../dxtable_8F90.html#ae1a2a7cf7f60579fa9e9399a25f4930b',1,'dxtable.F90']]], + ['dxmini_972',['dxmini',['../dxtable_8F90.html#a30167b1b9b52074ad5db11d45665d551',1,'dxtable.F90']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index c36dc10cd..8862d5f74 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,10 +1,10 @@ var searchData= [ - ['elemdx_1457',['elemdx',['../elemdx_8f.html#adfd6de0f5d3b01918ea50186bf208a2d',1,'elemdx.f']]], - ['elemdx_5fc_1458',['elemdx_c',['../namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241',1,'bufr_c2f_interface']]], - ['elemdx_5ff_1459',['elemdx_f',['../bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c',1,'bufrlib.h']]], - ['errwrt_1460',['errwrt',['../errwrt_8f.html#a65626d9a772648676146b62b596c2764',1,'errwrt.f']]], - ['exitbufr_1461',['exitbufr',['../exitbufr_8f.html#acd1669ed5957ebab6c98ac974b2a1bf8',1,'exitbufr.f']]], - ['exitbufr_5fc_1462',['exitbufr_c',['../namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab',1,'bufr_c2f_interface']]], - ['exitbufr_5ff_1463',['exitbufr_f',['../bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6',1,'bufr_interface.h']]] + ['elemdx_973',['elemdx',['../dxtable_8F90.html#a0669d7561ae99961babcdb2022073052',1,'dxtable.F90']]], + ['elemdx_5fc_974',['elemdx_c',['../namespacebufr__c2f__interface.html#a9f5656efe692227be66cfc8e50e24241',1,'bufr_c2f_interface']]], + ['elemdx_5ff_975',['elemdx_f',['../bufrlib_8h.html#a39fc8b2494bb5f754c2d800c4b5a2f1c',1,'bufrlib.h']]], + ['errwrt_976',['errwrt',['../errwrt_8F90.html#a9c4c22af6c77235db8ddd7f41594f543',1,'errwrt.F90']]], + ['exitbufr_977',['exitbufr',['../arallocf_8F90.html#a355f094d616febcea2820cf547cbff8e',1,'arallocf.F90']]], + ['exitbufr_5fc_978',['exitbufr_c',['../namespacebufr__c2f__interface.html#a5fc80078fb40ff91f250dbb9edb247ab',1,'bufr_c2f_interface']]], + ['exitbufr_5ff_979',['exitbufr_f',['../bufr__interface_8h.html#ac29807d9e7404a4602d03a04a9d4f2a6',1,'bufr_interface.h']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index ae44e83dd..bda2733dd 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,8 +1,8 @@ var searchData= [ - ['fdebufr_5fc_1464',['fdebufr_c',['../debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b',1,'debufr.F90']]], - ['fdebufr_5ff_1465',['fdebufr_f',['../debufr_8c.html#a6de65da278ddb78092e873c2ec2dc5b6',1,'debufr.c']]], - ['fortran_5fclose_1466',['fortran_close',['../fortran__close_8F90.html#aa585324fae3ecf559d6f39507dde6715',1,'fortran_close.F90']]], - ['fortran_5fopen_1467',['fortran_open',['../fortran__open_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a',1,'fortran_open.F90']]], - ['fstag_1468',['fstag',['../fstag_8f.html#a4086d332625381684867dd7ec13a20e5',1,'fstag.f']]] + ['fdebufr_5fc_980',['fdebufr_c',['../debufr_8F90.html#abd70421a18d899bec6fbdade1262dd0b',1,'debufr.F90']]], + ['fdebufr_5ff_981',['fdebufr_f',['../debufr_8c.html#a834922eb8174316cd235a552c2456279',1,'debufr.c']]], + ['fortran_5fclose_982',['fortran_close',['../openclosebf_8F90.html#aa585324fae3ecf559d6f39507dde6715',1,'openclosebf.F90']]], + ['fortran_5fopen_983',['fortran_open',['../openclosebf_8F90.html#a80df0d62e629b094edd2b3682a7d9e3a',1,'openclosebf.F90']]], + ['fstag_984',['fstag',['../jumplink_8F90.html#a1587e1818caf4b04f1afc556c5c9813b',1,'jumplink.F90']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 163876526..b8230adc0 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,37 +1,37 @@ var searchData= [ - ['get_5finode_5fc_1469',['get_inode_c',['../namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f',1,'bufr_c2f_interface']]], - ['get_5finode_5ff_1470',['get_inode_f',['../bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d',1,'bufr_interface.h']]], - ['get_5finv_5fc_1471',['get_inv_c',['../namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6',1,'bufr_c2f_interface']]], - ['get_5finv_5ff_1472',['get_inv_f',['../bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992',1,'bufr_interface.h']]], - ['get_5firf_5fc_1473',['get_irf_c',['../namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252',1,'bufr_c2f_interface']]], - ['get_5firf_5ff_1474',['get_irf_f',['../bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5',1,'bufr_interface.h']]], - ['get_5fisc_5fc_1475',['get_isc_c',['../namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102',1,'bufr_c2f_interface']]], - ['get_5fisc_5ff_1476',['get_isc_f',['../bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e',1,'bufr_interface.h']]], - ['get_5fitp_5fc_1477',['get_itp_c',['../namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d',1,'bufr_c2f_interface']]], - ['get_5fitp_5ff_1478',['get_itp_f',['../bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3',1,'bufr_interface.h']]], - ['get_5fjmpb_5fc_1479',['get_jmpb_c',['../namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f',1,'bufr_c2f_interface']]], - ['get_5fjmpb_5ff_1480',['get_jmpb_f',['../bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e',1,'bufr_interface.h']]], - ['get_5flink_5fc_1481',['get_link_c',['../namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9',1,'bufr_c2f_interface']]], - ['get_5flink_5ff_1482',['get_link_f',['../bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88',1,'bufr_interface.h']]], - ['get_5fnval_5fc_1483',['get_nval_c',['../namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503',1,'bufr_c2f_interface']]], - ['get_5fnval_5ff_1484',['get_nval_f',['../bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2',1,'bufr_interface.h']]], - ['get_5ftag_5fc_1485',['get_tag_c',['../namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a',1,'bufr_c2f_interface']]], - ['get_5ftag_5ff_1486',['get_tag_f',['../bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca',1,'bufr_interface.h']]], - ['get_5ftyp_5fc_1487',['get_typ_c',['../namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102',1,'bufr_c2f_interface']]], - ['get_5ftyp_5ff_1488',['get_typ_f',['../bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3',1,'bufr_interface.h']]], - ['get_5fval_5fc_1489',['get_val_c',['../namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54',1,'bufr_c2f_interface']]], - ['get_5fval_5ff_1490',['get_val_f',['../bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1',1,'bufr_interface.h']]], - ['getabdb_1491',['getabdb',['../getabdb_8f.html#a5a224df0ff920fff5ce7adc7a78ccf39',1,'getabdb.f']]], - ['getbmiss_1492',['getbmiss',['../getbmiss_8f.html#ab344899ae36140147a28f17ec36649d4',1,'getbmiss.f']]], - ['getcfmng_1493',['getcfmng',['../getcfmng_8f.html#a79cc79e9e059a171f8d55fcc481b6f17',1,'getcfmng.f']]], - ['getlens_1494',['getlens',['../getlens_8f.html#a685789badbea7a0251067101a43b1379',1,'getlens.f']]], - ['getntbe_1495',['getntbe',['../getntbe_8f.html#a114eb13cc332b1a370f5d4bc81b43417',1,'getntbe.f']]], - ['gets1loc_1496',['gets1loc',['../gets1loc_8f.html#a9d00101f324f421d08d82185bd6bda5a',1,'gets1loc.f']]], - ['gettab_1497',['gettab',['../gettab_8f90.html#ac9eda42ec8bf46baae0a4f34cd517813',1,'gettab.f90']]], - ['gettagpr_1498',['gettagpr',['../gettagpr_8f.html#afa95ba65c1f04061bcc67bfc42f2591e',1,'gettagpr.f']]], - ['gettagre_1499',['gettagre',['../gettagre_8f.html#ac403696207f08e85eb2cbfdb2260d8c8',1,'gettagre.f']]], - ['gettbh_1500',['gettbh',['../gettbh_8f.html#afdf05d8351efc21966d1667b09e397e3',1,'gettbh.f']]], - ['getvalnb_1501',['getvalnb',['../getvalnb_8f.html#a64c2899499c1da1b24ee62414eaf4ad6',1,'getvalnb.f']]], - ['getwin_1502',['getwin',['../getwin_8f.html#a379c23a5975d8a605b4747586726f5b1',1,'getwin.f']]] + ['get_5finode_5fc_985',['get_inode_c',['../namespacebufr__c2f__interface.html#ab1ced3757361e769756fee2f722de32f',1,'bufr_c2f_interface']]], + ['get_5finode_5ff_986',['get_inode_f',['../bufr__interface_8h.html#a199803bddb330f484dd49b72c75dc32d',1,'bufr_interface.h']]], + ['get_5finv_5fc_987',['get_inv_c',['../namespacebufr__c2f__interface.html#a60f38d89e2da19b4396ca8c3ec8ffff6',1,'bufr_c2f_interface']]], + ['get_5finv_5ff_988',['get_inv_f',['../bufr__interface_8h.html#a8346d95d25b2f8c7437ee96419020992',1,'bufr_interface.h']]], + ['get_5firf_5fc_989',['get_irf_c',['../namespacebufr__c2f__interface.html#af73382fa68e368c201131fd89d1be252',1,'bufr_c2f_interface']]], + ['get_5firf_5ff_990',['get_irf_f',['../bufr__interface_8h.html#aec42e6ee4877ea5fc031677127869ec5',1,'bufr_interface.h']]], + ['get_5fisc_5fc_991',['get_isc_c',['../namespacebufr__c2f__interface.html#a020cf7bcf489ecc2ade71dfa4b7db102',1,'bufr_c2f_interface']]], + ['get_5fisc_5ff_992',['get_isc_f',['../bufr__interface_8h.html#aa13a0b52198dfc0dad84648ef917a68e',1,'bufr_interface.h']]], + ['get_5fitp_5fc_993',['get_itp_c',['../namespacebufr__c2f__interface.html#adffb9acbdd17d4ef3f35baee918c733d',1,'bufr_c2f_interface']]], + ['get_5fitp_5ff_994',['get_itp_f',['../bufr__interface_8h.html#aef4319ad66d2549ac7b1dd8e1bfad1e3',1,'bufr_interface.h']]], + ['get_5fjmpb_5fc_995',['get_jmpb_c',['../namespacebufr__c2f__interface.html#aa9ab4e0c2b6bc184aa70d7a36ac6114f',1,'bufr_c2f_interface']]], + ['get_5fjmpb_5ff_996',['get_jmpb_f',['../bufr__interface_8h.html#a0770faf842091c86b98ebb982d307e3e',1,'bufr_interface.h']]], + ['get_5flink_5fc_997',['get_link_c',['../namespacebufr__c2f__interface.html#ac9e08232d75383f1f64a36b9834598c9',1,'bufr_c2f_interface']]], + ['get_5flink_5ff_998',['get_link_f',['../bufr__interface_8h.html#a8ccb25b1780ea712c9842f31eeb8ac88',1,'bufr_interface.h']]], + ['get_5fnval_5fc_999',['get_nval_c',['../namespacebufr__c2f__interface.html#a124b885560b4d31170993c7921f55503',1,'bufr_c2f_interface']]], + ['get_5fnval_5ff_1000',['get_nval_f',['../bufr__interface_8h.html#a16e731ede9b1aa2a2bf7c1c3c86825e2',1,'bufr_interface.h']]], + ['get_5ftag_5fc_1001',['get_tag_c',['../namespacebufr__c2f__interface.html#a6515df3d0f5fdcccd422fcac3b2f700a',1,'bufr_c2f_interface']]], + ['get_5ftag_5ff_1002',['get_tag_f',['../bufr__interface_8h.html#a82130f6d92d0df75a5cbc7f834a11cca',1,'bufr_interface.h']]], + ['get_5ftyp_5fc_1003',['get_typ_c',['../namespacebufr__c2f__interface.html#a86ce772b48d76dc923f9ae87dfd44102',1,'bufr_c2f_interface']]], + ['get_5ftyp_5ff_1004',['get_typ_f',['../bufr__interface_8h.html#a8bb1e631318d1ae291e22ba3df7989b3',1,'bufr_interface.h']]], + ['get_5fval_5fc_1005',['get_val_c',['../namespacebufr__c2f__interface.html#af7e6742b654813bd1922947049c42a54',1,'bufr_c2f_interface']]], + ['get_5fval_5ff_1006',['get_val_f',['../bufr__interface_8h.html#a420c47e8f063dcea1d5dd909567d65e1',1,'bufr_interface.h']]], + ['getabdb_1007',['getabdb',['../dumpdata_8F90.html#aa267dbf23e18a201eec17e2fa48238d7',1,'dumpdata.F90']]], + ['getbmiss_1008',['getbmiss',['../missing_8F90.html#a2e6035695a459284e0592a2452b2f168',1,'missing.F90']]], + ['getcfmng_1009',['getcfmng',['../cftbvs_8F90.html#af113e7ee7e2023cd466c2b28616cd64a',1,'cftbvs.F90']]], + ['getlens_1010',['getlens',['../readwritemg_8F90.html#ab6c6c3d1925977e2c4013b3da342dc37',1,'readwritemg.F90']]], + ['getntbe_1011',['getntbe',['../mastertable_8F90.html#a57b7efae38f8e79ba76fe5c8fff18f2a',1,'mastertable.F90']]], + ['gets1loc_1012',['gets1loc',['../s013vals_8F90.html#a867795708832230010199b5a31f687a8',1,'s013vals.F90']]], + ['gettab_1013',['gettab',['../gettab_8F90.html#ac9eda42ec8bf46baae0a4f34cd517813',1,'gettab.F90']]], + ['gettagpr_1014',['gettagpr',['../jumplink_8F90.html#aff303b3e9951ce71da6c66ae5e0d76bf',1,'jumplink.F90']]], + ['gettagre_1015',['gettagre',['../bitmaps_8F90.html#a867a81be072effc2a9d2de0d6031e264',1,'bitmaps.F90']]], + ['gettbh_1016',['gettbh',['../mastertable_8F90.html#ab8f682eb706037e99550eeedb3e8c963',1,'mastertable.F90']]], + ['getvalnb_1017',['getvalnb',['../readwriteval_8F90.html#a10cd831e6dc0a773534c5c2787da56c8',1,'readwriteval.F90']]], + ['getwin_1018',['getwin',['../jumplink_8F90.html#af10a8f5f84135d80474c70f06be65b73',1,'jumplink.F90']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index 611e45356..477aa1dae 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['hold4wlc_1503',['hold4wlc',['../hold4wlc_8f.html#a91458ffa3b29d47b043110a8e87ddf50',1,'hold4wlc.f']]] + ['hold4wlc_1019',['hold4wlc',['../readwriteval_8F90.html#a551fbe590397eacf06bb471b738dd6a5',1,'readwriteval.F90']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index 15391dc9b..f4a2856a9 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -1,78 +1,76 @@ var searchData= [ - ['i4dy_1504',['i4dy',['../i4dy_8f.html#a69dc21255ba388e6aad80e812971f9a2',1,'i4dy.f']]], - ['ibfms_1505',['ibfms',['../ibfms_8f.html#a0f7ba3ed6f17e76d912b4f13ea70967e',1,'ibfms.f']]], - ['ibfms_5fc_1506',['ibfms_c',['../namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c',1,'bufr_c2f_interface']]], - ['ibfms_5ff_1507',['ibfms_f',['../bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c',1,'bufr_interface.h']]], - ['icbfms_1508',['icbfms',['../icbfms_8f.html#af741f019421045a66605fb0bf993e69a',1,'icbfms.f']]], - ['icmpdx_1509',['icmpdx',['../icmpdx_8f.html#a3d484cf9a060c1a81ab132a4356d1b9c',1,'icmpdx.f']]], - ['icopysb_1510',['icopysb',['../icopysb_8f.html#abb76c9e1ce4ec5d6ffd88e44c669e56b',1,'icopysb.f']]], - ['icvidx_1511',['icvidx',['../bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c'],['../icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c']]], - ['icvidx_5fc_1512',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0',1,'bufrlib::icvidx_c']]], - ['idn30_1513',['idn30',['../idn30_8f.html#a69a1bd958e896bf2f1d6e23159d82713',1,'idn30.f']]], - ['idxmsg_1514',['idxmsg',['../idxmsg_8f.html#adb63cdbd7f55f3d36a03e9ffb41bddfc',1,'idxmsg.f']]], - ['ifbget_1515',['ifbget',['../ifbget_8f.html#a02c005f3f5bbddec11cdfee46beaa12f',1,'ifbget.f']]], - ['ifxy_1516',['ifxy',['../ifxy_8f.html#ac971a6f6d644344a5b09d50175498074',1,'ifxy.f']]], - ['ifxy_5fc_1517',['ifxy_c',['../namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6',1,'bufr_c2f_interface']]], - ['ifxy_5ff_1518',['ifxy_f',['../bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24',1,'bufrlib.h']]], - ['igetdate_1519',['igetdate',['../igetdate_8f.html#ade0adb8723f6e1db7a8a6f81d2da4b50',1,'igetdate.f']]], - ['igetfxy_1520',['igetfxy',['../igetfxy_8f.html#a438cad6ce6a5db1ef32ee2fcc3869aa5',1,'igetfxy.f']]], - ['igetmxby_1521',['igetmxby',['../igetmxby_8f.html#a2e158576710c771847a84db8cd00d13b',1,'igetmxby.f']]], - ['igetmxby_5fc_1522',['igetmxby_c',['../namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb',1,'bufr_c2f_interface']]], - ['igetmxby_5ff_1523',['igetmxby_f',['../bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4',1,'bufr_interface.h']]], - ['igetntbi_1524',['igetntbi',['../igetntbi_8f.html#aa62d319cf10b3a98796b583619d8b599',1,'igetntbi.f']]], - ['igetntbi_5fc_1525',['igetntbi_c',['../namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e',1,'bufr_c2f_interface']]], - ['igetntbi_5ff_1526',['igetntbi_f',['../bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131',1,'bufrlib.h']]], - ['igetntbl_1527',['igetntbl',['../igetntbl_8f.html#a5ef5df8d628be06a161f7973fa839795',1,'igetntbl.f']]], - ['igetprm_1528',['igetprm',['../igetprm_8f.html#a6c225e0b5fe6fa21cfd8e46bd2834d9f',1,'igetprm.f']]], - ['igetprm_5fc_1529',['igetprm_c',['../namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b',1,'bufr_c2f_interface']]], - ['igetprm_5ff_1530',['igetprm_f',['../bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb',1,'bufr_interface.h']]], - ['igetrfel_1531',['igetrfel',['../igetrfel_8f.html#a764a4e5ff62c66fcaae4b2b1d806e88c',1,'igetrfel.f']]], - ['igetsc_1532',['igetsc',['../igetsc_8f.html#a256ecb8846572acf465d2483ee42f521',1,'igetsc.f']]], - ['igettdi_1533',['igettdi',['../igettdi_8f.html#a2c1b3d34feef0ad9297be7f4f666a5f1',1,'igettdi.f']]], - ['igettdi_5fc_1534',['igettdi_c',['../namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d',1,'bufr_c2f_interface']]], - ['igettdi_5ff_1535',['igettdi_f',['../bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2',1,'bufrlib.h']]], - ['imrkopr_1536',['imrkopr',['../imrkopr_8f.html#a15297118e0926da9adec4d745b72effe',1,'imrkopr.f']]], - ['imrkopr_5fc_1537',['imrkopr_c',['../namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f',1,'bufr_c2f_interface']]], - ['imrkopr_5ff_1538',['imrkopr_f',['../bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47',1,'bufrlib.h']]], - ['inctab_1539',['inctab',['../inctab_8f.html#ab4d95e791ea67fccbade97e247ed5646',1,'inctab.f']]], - ['inittbf_1540',['inittbf',['../cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e',1,'cfe.c']]], - ['inittbf_5fc_1541',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8',1,'bufrlib::inittbf_c']]], - ['invcon_1542',['invcon',['../invcon_8f.html#afe1aa702b7e243216ea8bfa12394b16c',1,'invcon.f']]], - ['invmrg_1543',['invmrg',['../invmrg_8f.html#a11b608bddc0c6ad660ff50ed461d5266',1,'invmrg.f']]], - ['invtag_1544',['invtag',['../invtag_8f.html#a307883c6492d9e7dab968c16ac0fb673',1,'invtag.f']]], - ['invwin_1545',['invwin',['../invwin_8f.html#ac26ae485efa93dee816efb648bdfcc8b',1,'invwin.f']]], - ['iok2cpy_1546',['iok2cpy',['../iok2cpy_8f.html#adb475e8aa22ff44804298c5119a98b9d',1,'iok2cpy.f']]], - ['iokoper_1547',['iokoper',['../iokoper_8f.html#a4d41730266c35e121d915b729c741bd0',1,'iokoper.f']]], - ['ipkm_1548',['ipkm',['../ipkm_8f.html#a554d822943222b129ddb21f204393665',1,'ipkm.f']]], - ['ipks_1549',['ipks',['../ipks_8f.html#a12376c3561b8a14e09b20d8736b91d82',1,'ipks.f']]], - ['ireadmg_1550',['ireadmg',['../ireadmg_8f.html#a3a275abe52521fa780c379ed69e1c994',1,'ireadmg.f']]], - ['ireadmg_5fc_1551',['ireadmg_c',['../namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b',1,'bufr_c2f_interface']]], - ['ireadmg_5ff_1552',['ireadmg_f',['../bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96',1,'bufr_interface.h']]], - ['ireadmm_1553',['ireadmm',['../ireadmm_8f.html#ae23e9668d28c463649cb18cccd1b6248',1,'ireadmm.f']]], - ['ireadmt_1554',['ireadmt',['../ireadmt_8f.html#aa695ad6da4ed98ed6ef6fc3666f7d7bc',1,'ireadmt.f']]], - ['ireadns_1555',['ireadns',['../ireadns_8f.html#a711f30e52fdc3cafd8800a57f6865449',1,'ireadns.f']]], - ['ireadns_5fc_1556',['ireadns_c',['../namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7',1,'bufr_c2f_interface']]], - ['ireadns_5ff_1557',['ireadns_f',['../bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f',1,'bufr_interface.h']]], - ['ireadsb_1558',['ireadsb',['../ireadsb_8f.html#a778c5b1e6c129932b733bc25ecc27f07',1,'ireadsb.f']]], - ['ireadsb_5fc_1559',['ireadsb_c',['../namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1',1,'bufr_c2f_interface']]], - ['ireadsb_5ff_1560',['ireadsb_f',['../bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb',1,'bufr_interface.h']]], - ['irev_1561',['irev',['../irev_8F.html#a4a8512777ba30c1c919646c7a6a637f5',1,'irev.F']]], - ['isetprm_1562',['isetprm',['../isetprm_8f.html#ae592be54b0568225433b6d66798ddce6',1,'isetprm.f']]], - ['isetprm_5fc_1563',['isetprm_c',['../namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490',1,'bufr_c2f_interface']]], - ['isetprm_5ff_1564',['isetprm_f',['../bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c',1,'bufr_interface.h']]], - ['ishrdx_1565',['ishrdx',['../ishrdx_8f.html#a1426a2d409a3cc93b1ee0c073ad49907',1,'ishrdx.f']]], - ['isize_1566',['isize',['../isize_8f.html#ada463fda3cd15b7615b0dd0cfa415eb9',1,'isize.f']]], - ['istdesc_1567',['istdesc',['../istdesc_8f.html#a8cf4d2f75a7094c482f39dec47f37175',1,'istdesc.f']]], - ['istdesc_5fc_1568',['istdesc_c',['../namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae',1,'bufr_c2f_interface']]], - ['istdesc_5ff_1569',['istdesc_f',['../bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d',1,'bufrlib.h']]], - ['iupb_1570',['iupb',['../iupb_8f.html#abf2490cec5a3d07fd22e1b25c9aee046',1,'iupb.f']]], - ['iupb_5fc_1571',['iupb_c',['../namespacebufr__c2f__interface.html#acd15fc54e3efbf1964f4216b8a2065fe',1,'bufr_c2f_interface']]], - ['iupb_5ff_1572',['iupb_f',['../bufrlib_8h.html#ab91c93ac09046c9494c46b3138b11edc',1,'bufrlib.h']]], - ['iupbs01_1573',['iupbs01',['../iupbs01_8f.html#a656ed063ebbcd600fcfa2810411dbf5e',1,'iupbs01.f']]], - ['iupbs01_5fc_1574',['iupbs01_c',['../namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd',1,'bufr_c2f_interface']]], - ['iupbs01_5ff_1575',['iupbs01_f',['../bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f',1,'bufr_interface.h']]], - ['iupbs3_1576',['iupbs3',['../iupbs3_8f.html#a09bc8c4de10677c94cfb411a9155bc99',1,'iupbs3.f']]], - ['iupm_1577',['iupm',['../iupm_8f.html#ae519ea0e87bfdd4b22e78f81ad5cb23f',1,'iupm.f']]], - ['iupvs01_1578',['iupvs01',['../iupvs01_8f.html#a77200fe9b0146973c1a0116ade2e70ad',1,'iupvs01.f']]] + ['i4dy_1020',['i4dy',['../s013vals_8F90.html#ada4930358eb16c05c65c2df068db90c1',1,'s013vals.F90']]], + ['ibfms_1021',['ibfms',['../missing_8F90.html#a7dd66484c8bf4dd8d8e3791d02715e86',1,'missing.F90']]], + ['ibfms_5fc_1022',['ibfms_c',['../namespacebufr__c2f__interface.html#a437d60612140092ed5cea7516b5b093c',1,'bufr_c2f_interface']]], + ['ibfms_5ff_1023',['ibfms_f',['../bufr__interface_8h.html#a94577bfb670f48d514886ffa9476277c',1,'bufr_interface.h']]], + ['icbfms_1024',['icbfms',['../missing_8F90.html#a5f3cd824b4ddd60e635ec591d285b23f',1,'missing.F90']]], + ['icmpdx_1025',['icmpdx',['../jumplink_8F90.html#aa8ae055da512a9259d4f248b3ccdb5e8',1,'jumplink.F90']]], + ['icopysb_1026',['icopysb',['../copydata_8F90.html#a31b6d67aacae28998cab9d130d39e7a2',1,'copydata.F90']]], + ['icvidx_1027',['icvidx',['../icvidx_8c.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c'],['../bufrlib_8h.html#ab3b665adb5a53a4c82d3c5caadbb2c38',1,'icvidx(int ii, int jj, int numjj): icvidx.c']]], + ['icvidx_5fc_1028',['icvidx_c',['../interfacebufrlib_1_1icvidx__c.html#a9e16a712324edc13188f650d138f0ec0',1,'bufrlib::icvidx_c']]], + ['idn30_1029',['idn30',['../fxy_8F90.html#ac17b9bb050c7279594284b063390dc55',1,'fxy.F90']]], + ['idxmsg_1030',['idxmsg',['../dxtable_8F90.html#aea259cd399ca3121a66475a2ea73ec65',1,'dxtable.F90']]], + ['ifbget_1031',['ifbget',['../readwritemg_8F90.html#abb1acb6092b6e1f49737498c1f76f0d0',1,'readwritemg.F90']]], + ['ifxy_1032',['ifxy',['../fxy_8F90.html#ae3b70fcfea3c6201ad415fad4c4d375e',1,'fxy.F90']]], + ['ifxy_5fc_1033',['ifxy_c',['../namespacebufr__c2f__interface.html#a081831085335c5a2d1a60040bf4a68b6',1,'bufr_c2f_interface']]], + ['ifxy_5ff_1034',['ifxy_f',['../bufrlib_8h.html#a9941f6596dafba1e4361eb2f5e173f24',1,'bufrlib.h']]], + ['igetdate_1035',['igetdate',['../s013vals_8F90.html#aedbe120baa1a1058174325c5e2d0e487',1,'s013vals.F90']]], + ['igetfxy_1036',['igetfxy',['../fxy_8F90.html#ad6db7a4654e1d26530c1fe4bdfb29ad9',1,'fxy.F90']]], + ['igetmxby_1037',['igetmxby',['../readwritemg_8F90.html#a87f1117bcbbc713c95bdca6f1bb1214c',1,'readwritemg.F90']]], + ['igetmxby_5fc_1038',['igetmxby_c',['../namespacebufr__c2f__interface.html#af1cdfa1f4b3b097464a0bcd4da3ddeeb',1,'bufr_c2f_interface']]], + ['igetmxby_5ff_1039',['igetmxby_f',['../bufr__interface_8h.html#a6d0a0985ac16769f70756c7a741184d4',1,'bufr_interface.h']]], + ['igetntbi_1040',['igetntbi',['../dxtable_8F90.html#ad7abde76f89f036b69d944c260fbe2d4',1,'dxtable.F90']]], + ['igetntbi_5fc_1041',['igetntbi_c',['../namespacebufr__c2f__interface.html#a558946e761c0246444bcd3c2fcdcb37e',1,'bufr_c2f_interface']]], + ['igetntbi_5ff_1042',['igetntbi_f',['../bufrlib_8h.html#ad32acb7e25a0763d1ecfa201884bc131',1,'bufrlib.h']]], + ['igetntbl_1043',['igetntbl',['../mastertable_8F90.html#a8d9fae4a86fb1a4db715788bd73071cf',1,'mastertable.F90']]], + ['igetprm_1044',['igetprm',['../arallocf_8F90.html#a222fe99cf2ad84fe3166a498ef20c9ce',1,'arallocf.F90']]], + ['igetprm_5fc_1045',['igetprm_c',['../namespacebufr__c2f__interface.html#a32a449b5c117d53b4b4374dd0e8bea8b',1,'bufr_c2f_interface']]], + ['igetprm_5ff_1046',['igetprm_f',['../bufr__interface_8h.html#a0b06d7dc9ae1ba6147ad0f1ea3d359bb',1,'bufr_interface.h']]], + ['igetrfel_1047',['igetrfel',['../bitmaps_8F90.html#a2dd600ba6cd71e06a19d88956337781b',1,'bitmaps.F90']]], + ['igetsc_1048',['igetsc',['../misc_8F90.html#a5b379fcc508f3f50fa71042b8e3645af',1,'misc.F90']]], + ['igettdi_1049',['igettdi',['../mastertable_8F90.html#a5ef341975ece8b54885d7518d30d7a99',1,'mastertable.F90']]], + ['igettdi_5fc_1050',['igettdi_c',['../namespacebufr__c2f__interface.html#a606519361d6b6db6e153fd809387399d',1,'bufr_c2f_interface']]], + ['igettdi_5ff_1051',['igettdi_f',['../bufrlib_8h.html#a0320e66350174c1e05f30babd13d52c2',1,'bufrlib.h']]], + ['imrkopr_1052',['imrkopr',['../bitmaps_8F90.html#ad95571bf5308d6b64163d3bcc7ea3512',1,'bitmaps.F90']]], + ['imrkopr_5fc_1053',['imrkopr_c',['../namespacebufr__c2f__interface.html#aa7df2e3f4575affeab5df95d00aad75f',1,'bufr_c2f_interface']]], + ['imrkopr_5ff_1054',['imrkopr_f',['../bufrlib_8h.html#a3e533930a6aa9c6fc76c89d14e54cf47',1,'bufrlib.h']]], + ['inctab_1055',['inctab',['../jumplink_8F90.html#a5459f5cd4813acaa5e695c650a77eeca',1,'jumplink.F90']]], + ['inittbf_1056',['inittbf',['../cfe_8c.html#aa06057bdd5b8456df9b33ec96a5cc57e',1,'cfe.c']]], + ['inittbf_5fc_1057',['inittbf_c',['../interfacebufrlib_1_1inittbf__c.html#af4870e73ac56c18850786a9c6f5d6ff8',1,'bufrlib::inittbf_c']]], + ['invcon_1058',['invcon',['../jumplink_8F90.html#a44e33584f368731a2373831f207a527d',1,'jumplink.F90']]], + ['invmrg_1059',['invmrg',['../readwritesb_8F90.html#aa926be9632b9da3990e2591f0386ee94',1,'readwritesb.F90']]], + ['invtag_1060',['invtag',['../jumplink_8F90.html#a77a6346a03867a7e65e984ee34de3d91',1,'jumplink.F90']]], + ['invwin_1061',['invwin',['../jumplink_8F90.html#ab4cc1160c451fcd8709a46f32515ca3c',1,'jumplink.F90']]], + ['iok2cpy_1062',['iok2cpy',['../copydata_8F90.html#a23f9925bf37d99fd855fd80cf5750ee2',1,'copydata.F90']]], + ['iokoper_1063',['iokoper',['../misc_8F90.html#a1bc01a10f226d09971ab1a3b0d3734bf',1,'misc.F90']]], + ['ipkm_1064',['ipkm',['../ciencode_8F90.html#a8e976b63f679f03590d7c3cb5b5dee59',1,'ciencode.F90']]], + ['ipks_1065',['ipks',['../ciencode_8F90.html#a7501045242bc6174585e20be99d3d269',1,'ciencode.F90']]], + ['ireadmg_1066',['ireadmg',['../readwritemg_8F90.html#ae023a7cc381f488ac7669dc3e3ee8236',1,'readwritemg.F90']]], + ['ireadmg_5fc_1067',['ireadmg_c',['../namespacebufr__c2f__interface.html#a31bb70cc0fe1b242d4dee68ed843391b',1,'bufr_c2f_interface']]], + ['ireadmg_5ff_1068',['ireadmg_f',['../bufr__interface_8h.html#a9217e24780915325fb8fdea549015c96',1,'bufr_interface.h']]], + ['ireadmm_1069',['ireadmm',['../memmsgs_8F90.html#afa09c66c60b22359e9642fa6eee8fcbb',1,'memmsgs.F90']]], + ['ireadmt_1070',['ireadmt',['../mastertable_8F90.html#adde6acff18af3673cd9ef45b7ec12833',1,'mastertable.F90']]], + ['ireadns_1071',['ireadns',['../readwritesb_8F90.html#a8a621b1996440ed233c796e49c8971f3',1,'readwritesb.F90']]], + ['ireadns_5fc_1072',['ireadns_c',['../namespacebufr__c2f__interface.html#a89153453f5db4c56685d3b309a517da7',1,'bufr_c2f_interface']]], + ['ireadns_5ff_1073',['ireadns_f',['../bufr__interface_8h.html#ac23fc2c4b19fcc7f617e17d93c59eb7f',1,'bufr_interface.h']]], + ['ireadsb_1074',['ireadsb',['../readwritesb_8F90.html#aae33d6dd74331ba0a2a34ba22e8e56ab',1,'readwritesb.F90']]], + ['ireadsb_5fc_1075',['ireadsb_c',['../namespacebufr__c2f__interface.html#ac349c058a2cd324d8cfe5a85ebf2acb1',1,'bufr_c2f_interface']]], + ['ireadsb_5ff_1076',['ireadsb_f',['../bufr__interface_8h.html#a707ed94f1807e145055b97b19f5b3fcb',1,'bufr_interface.h']]], + ['irev_1077',['irev',['../misc_8F90.html#a1cd5e68cc460b388986ba7273abdd689',1,'misc.F90']]], + ['isetprm_1078',['isetprm',['../arallocf_8F90.html#a4a77f5d91e7900692757350632f71ff0',1,'arallocf.F90']]], + ['isetprm_5fc_1079',['isetprm_c',['../namespacebufr__c2f__interface.html#ad1dcef9962b409b6448c928d0dfb9490',1,'bufr_c2f_interface']]], + ['isetprm_5ff_1080',['isetprm_f',['../bufr__interface_8h.html#a0795b7713ffc4ca11e692932d807038c',1,'bufr_interface.h']]], + ['ishrdx_1081',['ishrdx',['../jumplink_8F90.html#af13fb1da5f3cb8bafd2c305b6c7234db',1,'jumplink.F90']]], + ['isize_1082',['isize',['../misc_8F90.html#ac720bf9bc96336f8e4bf8120852f094e',1,'misc.F90']]], + ['istdesc_1083',['istdesc',['../standard_8F90.html#af4f78acf5cbb9eda9a8ef03d03030aaf',1,'standard.F90']]], + ['istdesc_5fc_1084',['istdesc_c',['../namespacebufr__c2f__interface.html#a7968999c9eda822f79eec9178762a2ae',1,'bufr_c2f_interface']]], + ['istdesc_5ff_1085',['istdesc_f',['../bufrlib_8h.html#af98949e6ee91a0b77a8f24509401ed2d',1,'bufrlib.h']]], + ['iupb_1086',['iupb',['../cidecode_8F90.html#a73f371d0af1f65ff546e0484ee97238f',1,'cidecode.F90']]], + ['iupbs01_1087',['iupbs01',['../s013vals_8F90.html#a28944a4d73587a3943964a95619cb8a2',1,'s013vals.F90']]], + ['iupbs01_5fc_1088',['iupbs01_c',['../namespacebufr__c2f__interface.html#a583019d0b109031d8f8aedb4d48e2afd',1,'bufr_c2f_interface']]], + ['iupbs01_5ff_1089',['iupbs01_f',['../bufr__interface_8h.html#a45c55e3a4c3b8179f7e3a89714a05d7f',1,'bufr_interface.h']]], + ['iupbs3_1090',['iupbs3',['../s013vals_8F90.html#a6060b7b617646ee396097f20317e2f4d',1,'s013vals.F90']]], + ['iupm_1091',['iupm',['../cidecode_8F90.html#a79f34b3a9df0eedb64115bca8c65ebaa',1,'cidecode.F90']]], + ['iupvs01_1092',['iupvs01',['../s013vals_8F90.html#a3b1a6e580f306826c680ff0a71d883f8',1,'s013vals.F90']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index 0a7fe5c3b..ef2ab077e 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['jstnum_1579',['jstnum',['../jstnum_8f.html#aed41312e53ed76174fb87c3b62ac0b45',1,'jstnum.f']]] + ['jstnum_1093',['jstnum',['../misc_8F90.html#a0e7d4106a679cae0404866a8781a7651',1,'misc.F90']]] ]; diff --git a/search/functions_a.js b/search/functions_a.js index cdfa4ea3a..0034c736b 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,6 +1,6 @@ var searchData= [ - ['lcmgdf_1580',['lcmgdf',['../lcmgdf_8f.html#a46d9546ede10e6b90d9b44e4b789027e',1,'lcmgdf.f']]], - ['lmsg_1581',['lmsg',['../lmsg_8f.html#ad99ef4c2da4682ebd250ba4ea2a426c8',1,'lmsg.f']]], - ['lstjpb_1582',['lstjpb',['../lstjpb_8f.html#a0a74db325c227fe8ee3b77bd7dfd7baf',1,'lstjpb.f']]] + ['lcmgdf_1094',['lcmgdf',['../readwritesb_8F90.html#acd820000e0fca0bc8d4ca0abac7b81fd',1,'readwritesb.F90']]], + ['lmsg_1095',['lmsg',['../readwritemg_8F90.html#a44d876e69afb2688f364d8bdd0ca2400',1,'readwritemg.F90']]], + ['lstjpb_1096',['lstjpb',['../jumplink_8F90.html#a46ebb8c05619d2580397218ff36f4a9b',1,'jumplink.F90']]] ]; diff --git a/search/functions_b.js b/search/functions_b.js index e3a2e097f..2daff379a 100644 --- a/search/functions_b.js +++ b/search/functions_b.js @@ -1,21 +1,21 @@ var searchData= [ - ['main_1583',['main',['../debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): debufr.c'],['../xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): xbfmg.c']]], - ['makestab_1584',['makestab',['../makestab_8f.html#ad12d047119fdcdeb97ffbced0696b9fb',1,'makestab.f']]], - ['maxout_1585',['maxout',['../maxout_8f.html#aaa325906c9b2cc1b17852d152d475bcb',1,'maxout.f']]], - ['maxout_5fc_1586',['maxout_c',['../namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42',1,'bufr_c2f_interface']]], - ['maxout_5ff_1587',['maxout_f',['../bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3',1,'bufr_interface.h']]], - ['mesgbc_1588',['mesgbc',['../mesgbc_8f.html#a94b2ff31250eb562ee4fe3c5c231e98b',1,'mesgbc.f']]], - ['mesgbf_1589',['mesgbf',['../mesgbf_8f.html#a01bf48e41499c9083c3c651d1dd1ee20',1,'mesgbf.f']]], - ['minimg_1590',['minimg',['../minimg_8f.html#a8a82b46fac7c6c9375ec8b0543de1f0a',1,'minimg.f']]], - ['mrginv_1591',['mrginv',['../mrginv_8f.html#ad2b1b1578991d75d98e005d2678bef78',1,'mrginv.f']]], - ['msgfull_1592',['msgfull',['../msgfull_8f.html#a3808cd2ad652b38673d5ac6906cfe73f',1,'msgfull.f']]], - ['msgini_1593',['msgini',['../msgini_8f.html#ae73a0a9e7bba8f7dfeb673f2bca0820b',1,'msgini.f']]], - ['msgupd_1594',['msgupd',['../msgupd_8f.html#adf75cb2bc2a217eb33ffc8e45b1a5350',1,'msgupd.f']]], - ['msgwrt_1595',['msgwrt',['../msgwrt_8f.html#ac95ecf1436ba14805a33efd29fab1e5d',1,'msgwrt.f']]], - ['mtfnam_1596',['mtfnam',['../mtfnam_8f.html#a9991cbb64b79f8c3f07d1037344ab143',1,'mtfnam.f']]], - ['mtinfo_1597',['mtinfo',['../mtinfo_8f.html#a5bc13da9cf85f0bf6a8010842707d271',1,'mtinfo.f']]], - ['mtinfo_5fc_1598',['mtinfo_c',['../namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364',1,'bufr_c2f_interface']]], - ['mtinfo_5ff_1599',['mtinfo_f',['../bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e',1,'bufr_interface.h']]], - ['mvb_1600',['mvb',['../mvb_8f.html#a3fb4ee7c2a5cf7725257dcdd71826ba2',1,'mvb.f']]] + ['main_1097',['main',['../debufr_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): debufr.c'],['../xbfmg_8c.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): xbfmg.c']]], + ['makestab_1098',['makestab',['../jumplink_8F90.html#ad12d047119fdcdeb97ffbced0696b9fb',1,'jumplink.F90']]], + ['maxout_1099',['maxout',['../readwritemg_8F90.html#a1c8cdc47f69010cd4eaa20710e28f53d',1,'readwritemg.F90']]], + ['maxout_5fc_1100',['maxout_c',['../namespacebufr__c2f__interface.html#aa7f319cef617f458cbaf40cdeea42d42',1,'bufr_c2f_interface']]], + ['maxout_5ff_1101',['maxout_f',['../bufr__interface_8h.html#a6e947358c5c4833a4c2b30a68d0fdfa3',1,'bufr_interface.h']]], + ['mesgbc_1102',['mesgbc',['../s013vals_8F90.html#ac3a5070d2415122d7a93471e5f019247',1,'s013vals.F90']]], + ['mesgbf_1103',['mesgbf',['../s013vals_8F90.html#a837bd14b4718718edb57b5f53c7bbcbe',1,'s013vals.F90']]], + ['minimg_1104',['minimg',['../s013vals_8F90.html#a70447e085c4523fa53796c5317f63ae8',1,'s013vals.F90']]], + ['mrginv_1105',['mrginv',['../misc_8F90.html#ad2b1b1578991d75d98e005d2678bef78',1,'misc.F90']]], + ['msgfull_1106',['msgfull',['../readwritemg_8F90.html#a47d4a63b5e7276a90eee0ce83237cb60',1,'readwritemg.F90']]], + ['msgini_1107',['msgini',['../readwritemg_8F90.html#ae5477034329440d4127a5243305b81e4',1,'readwritemg.F90']]], + ['msgupd_1108',['msgupd',['../readwritesb_8F90.html#a237f33069932c5fae473ac718c2eae9a',1,'readwritesb.F90']]], + ['msgwrt_1109',['msgwrt',['../readwritemg_8F90.html#af49a08bdf36b69217da7571dcfc90624',1,'readwritemg.F90']]], + ['mtfnam_1110',['mtfnam',['../mastertable_8F90.html#a3c167cbcb11e3c1ec0a9abc584e27a57',1,'mastertable.F90']]], + ['mtinfo_1111',['mtinfo',['../mastertable_8F90.html#abf69490965212318f1dfee9b0bc4890c',1,'mastertable.F90']]], + ['mtinfo_5fc_1112',['mtinfo_c',['../namespacebufr__c2f__interface.html#a550c1c61605eca9fa6cf04aba7612364',1,'bufr_c2f_interface']]], + ['mtinfo_5ff_1113',['mtinfo_f',['../bufr__interface_8h.html#aa865d9e85dab5e85a1816ec02f94cb6e',1,'bufr_interface.h']]], + ['mvb_1114',['mvb',['../copydata_8F90.html#a4ced98b23d03cd8718d81b357ee4e2c5',1,'copydata.F90']]] ]; diff --git a/search/functions_c.js b/search/functions_c.js index 70d5d7c47..a802b3333 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -1,33 +1,33 @@ var searchData= [ - ['nemdefs_1601',['nemdefs',['../nemdefs_8f.html#ac552350372c0023b612907e7f2445434',1,'nemdefs.f']]], - ['nemdefs_5fc_1602',['nemdefs_c',['../namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48',1,'bufr_c2f_interface']]], - ['nemdefs_5ff_1603',['nemdefs_f',['../bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c',1,'bufr_interface.h']]], - ['nemock_1604',['nemock',['../nemock_8f.html#a4cd0d5caf72ff1f2acb4747d11494dd2',1,'nemock.f']]], - ['nemspecs_1605',['nemspecs',['../nemspecs_8f.html#afc40b65878e8f8537a6bd6d804b5b650',1,'nemspecs.f']]], - ['nemspecs_5fc_1606',['nemspecs_c',['../namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55',1,'bufr_c2f_interface']]], - ['nemspecs_5ff_1607',['nemspecs_f',['../bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f',1,'bufr_interface.h']]], - ['nemtab_1608',['nemtab',['../nemtab_8f.html#a3f3fb5a378c52dac83cb4fce27ceb712',1,'nemtab.f']]], - ['nemtab_5fc_1609',['nemtab_c',['../namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9',1,'bufr_c2f_interface']]], - ['nemtab_5ff_1610',['nemtab_f',['../bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c',1,'bufr_interface.h']]], - ['nemtba_1611',['nemtba',['../nemtba_8f.html#a1038fd60bc3fa89eff9ff79ed996a7e1',1,'nemtba.f']]], - ['nemtbax_1612',['nemtbax',['../nemtbax_8f.html#adec9ab84d3bc51e082325e710354192e',1,'nemtbax.f']]], - ['nemtbb_1613',['nemtbb',['../nemtbb_8f.html#a6a5cf8bb2726a59eeb87fbbef58764be',1,'nemtbb.f']]], - ['nemtbb_5fc_1614',['nemtbb_c',['../namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2',1,'bufr_c2f_interface']]], - ['nemtbb_5ff_1615',['nemtbb_f',['../bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b',1,'bufr_interface.h']]], - ['nemtbd_1616',['nemtbd',['../nemtbd_8f.html#ac3fb25908c829f741ccd1d440d6051d9',1,'nemtbd.f']]], - ['nenubd_1617',['nenubd',['../nenubd_8f.html#a41014913489bdc74d7a2af0fa44159ba',1,'nenubd.f']]], - ['nevn_1618',['nevn',['../nevn_8f.html#abcd7250eb3adfa82e54d118e60ad88e3',1,'nevn.f']]], - ['newwin_1619',['newwin',['../newwin_8f.html#a7c72d9d0b9a4769b7d930b705490e057',1,'newwin.f']]], - ['nmsub_1620',['nmsub',['../nmsub_8f.html#a9813b6374eac55f642fc568b45c7dfe8',1,'nmsub.f']]], - ['nmwrd_1621',['nmwrd',['../nmwrd_8f.html#a462c3b8304f953dff1021ace791b8cc0',1,'nmwrd.f']]], - ['numbck_1622',['numbck',['../numbck_8f.html#abfd2a53dd5457f38bb1aa40284f2475a',1,'numbck.f']]], - ['nummtb_1623',['nummtb',['../stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e',1,'stseq.c']]], - ['numtab_1624',['numtab',['../numtab_8f.html#abe719d38067d3f869c1b200530fc92f9',1,'numtab.f']]], - ['numtbd_1625',['numtbd',['../numtbd_8f.html#aae71d3919c5fc05ca4915e7b61aa3735',1,'numtbd.f']]], - ['numtbd_5fc_1626',['numtbd_c',['../namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64',1,'bufr_c2f_interface']]], - ['numtbd_5ff_1627',['numtbd_f',['../bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a',1,'bufrlib.h']]], - ['nvnwin_1628',['nvnwin',['../nvnwin_8f.html#a4f52a9be063d9dd781de4077c5e9f985',1,'nvnwin.f']]], - ['nwords_1629',['nwords',['../nwords_8f.html#ae6b70eaecec6c57bd71c611cb5bb1e8b',1,'nwords.f']]], - ['nxtwin_1630',['nxtwin',['../nxtwin_8f.html#a1b2e79163137c3e4decd8b9219337f27',1,'nxtwin.f']]] + ['nemdefs_1115',['nemdefs',['../dxtable_8F90.html#ad6352a1c1fdec4ba0adb0173781e4542',1,'dxtable.F90']]], + ['nemdefs_5fc_1116',['nemdefs_c',['../namespacebufr__c2f__interface.html#a7ee256962a48d99336f255aad04abf48',1,'bufr_c2f_interface']]], + ['nemdefs_5ff_1117',['nemdefs_f',['../bufr__interface_8h.html#aa913369b92645e3d69658c0ef902f29c',1,'bufr_interface.h']]], + ['nemock_1118',['nemock',['../mastertable_8F90.html#a4bb75d7258bc23294546f956cfbe2d36',1,'mastertable.F90']]], + ['nemspecs_1119',['nemspecs',['../jumplink_8F90.html#a6ec2d1015cdc1315eb384ea92223e620',1,'jumplink.F90']]], + ['nemspecs_5fc_1120',['nemspecs_c',['../namespacebufr__c2f__interface.html#a5b9e80deaefcabb2b18ecbf55cbc2c55',1,'bufr_c2f_interface']]], + ['nemspecs_5ff_1121',['nemspecs_f',['../bufr__interface_8h.html#a85a42b5881da22246e5bb302c883777f',1,'bufr_interface.h']]], + ['nemtab_1122',['nemtab',['../fxy_8F90.html#a01efa3bb871b451a8d53bd6d841bb297',1,'fxy.F90']]], + ['nemtab_5fc_1123',['nemtab_c',['../namespacebufr__c2f__interface.html#ac07a6f6ec1555c09041853d4c81081e9',1,'bufr_c2f_interface']]], + ['nemtab_5ff_1124',['nemtab_f',['../bufr__interface_8h.html#ad75bcdd935567fd79e3385c94b78284c',1,'bufr_interface.h']]], + ['nemtba_1125',['nemtba',['../dxtable_8F90.html#a36f644b9119ebf87f957bfe023e5cc45',1,'dxtable.F90']]], + ['nemtbax_1126',['nemtbax',['../dxtable_8F90.html#a8ea33660d62d74dee92cf7bf9541c1cd',1,'dxtable.F90']]], + ['nemtbb_1127',['nemtbb',['../dxtable_8F90.html#a21fa5817ff8a6f471dca950fbaa693ba',1,'dxtable.F90']]], + ['nemtbb_5fc_1128',['nemtbb_c',['../namespacebufr__c2f__interface.html#ae352def57bda0cd117486a03a8594cf2',1,'bufr_c2f_interface']]], + ['nemtbb_5ff_1129',['nemtbb_f',['../bufr__interface_8h.html#ac9a3eafcb7e3802e5c8a39de95b1726b',1,'bufr_interface.h']]], + ['nemtbd_1130',['nemtbd',['../dxtable_8F90.html#aa0b7269b3a7df645e6917bfd4ba72b32',1,'dxtable.F90']]], + ['nenubd_1131',['nenubd',['../dxtable_8F90.html#ae672eaf27f17dc904b894f347d89c233',1,'dxtable.F90']]], + ['nevn_1132',['nevn',['../readwriteval_8F90.html#a2017ce90611078ae96c6bc12da4e8e02',1,'readwriteval.F90']]], + ['newwin_1133',['newwin',['../jumplink_8F90.html#ab082ab8ef32893928cb10a2876d73af0',1,'jumplink.F90']]], + ['nmsub_1134',['nmsub',['../readwritemg_8F90.html#a7430cdcec381d86f72a4b60a6a7db982',1,'readwritemg.F90']]], + ['nmwrd_1135',['nmwrd',['../readwritemg_8F90.html#a7c7234f006ddb78fb82844c95b608002',1,'readwritemg.F90']]], + ['numbck_1136',['numbck',['../fxy_8F90.html#a11357abe01c36dc3472be03e950e8fe3',1,'fxy.F90']]], + ['nummtb_1137',['nummtb',['../stseq_8c.html#a340a16a2c0d988d37fbc2e92974b2b5e',1,'stseq.c']]], + ['numtab_1138',['numtab',['../fxy_8F90.html#ab6ec8c0148ab5d70923831667277b14e',1,'fxy.F90']]], + ['numtbd_1139',['numtbd',['../fxy_8F90.html#aca1fae67e284131dfd240d2336e3e77d',1,'fxy.F90']]], + ['numtbd_5fc_1140',['numtbd_c',['../namespacebufr__c2f__interface.html#ab70a5dfe76eb5f9bce5015c3bce3bf64',1,'bufr_c2f_interface']]], + ['numtbd_5ff_1141',['numtbd_f',['../bufrlib_8h.html#a45c023844f35d35ee3c5e77e60fdb18a',1,'bufrlib.h']]], + ['nvnwin_1142',['nvnwin',['../jumplink_8F90.html#a32fa4aca38700d53dd9899f93b9b3636',1,'jumplink.F90']]], + ['nwords_1143',['nwords',['../readwritesb_8F90.html#a90ab4c66c5564da3a326c66cc42d067f',1,'readwritesb.F90']]], + ['nxtwin_1144',['nxtwin',['../jumplink_8F90.html#a8a7a4ff46107f36ae57dd76442bd2447',1,'jumplink.F90']]] ]; diff --git a/search/functions_d.js b/search/functions_d.js index 39fcaf6ed..d1ad21aa2 100644 --- a/search/functions_d.js +++ b/search/functions_d.js @@ -1,19 +1,19 @@ var searchData= [ - ['open_5fc_1631',['open_c',['../namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53',1,'bufr_c2f_interface']]], - ['open_5ff_1632',['open_f',['../bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0',1,'bufr_interface.h']]], - ['openab_1633',['openab',['../cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c']]], - ['openab_5fc_1634',['openab_c',['../interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6',1,'bufrlib::openab_c']]], - ['openbf_1635',['openbf',['../openbf_8f.html#abcc4f481b8758da104eb75575431128e',1,'openbf.f']]], - ['openbf_5fc_1636',['openbf_c',['../namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d',1,'bufr_c2f_interface']]], - ['openbf_5ff_1637',['openbf_f',['../bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788',1,'bufr_interface.h']]], - ['openbt_1638',['openbt',['../openbt_8f.html#a3c78756de851568b7315bb084e1fd152',1,'openbt(LUNDX, MTYP): openbt.f'],['../debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89',1,'openbt(lundx, mtyp): debufr.F90']]], - ['openmb_1639',['openmb',['../openmb_8f.html#aee65c9d9bb626bfd51c3f904c2e4f86c',1,'openmb.f']]], - ['openmb_5fc_1640',['openmb_c',['../namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44',1,'bufr_c2f_interface']]], - ['openmb_5ff_1641',['openmb_f',['../bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe',1,'bufr_interface.h']]], - ['openmg_1642',['openmg',['../openmg_8f.html#a2408d74e1c5a3dc2bdbe35ec66a5e35c',1,'openmg.f']]], - ['openrb_1643',['openrb',['../bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c'],['../cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c']]], - ['openrb_5fc_1644',['openrb_c',['../interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626',1,'bufrlib::openrb_c']]], - ['openwb_1645',['openwb',['../cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c']]], - ['openwb_5fc_1646',['openwb_c',['../interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28',1,'bufrlib::openwb_c']]] + ['open_5fc_1145',['open_c',['../namespacebufr__c2f__interface.html#a05ac8542818be260a3c1dc15d5dc2f53',1,'bufr_c2f_interface']]], + ['open_5ff_1146',['open_f',['../bufr__interface_8h.html#accefcb852f45e506cac79e92a52b93a0',1,'bufr_interface.h']]], + ['openab_1147',['openab',['../bufrlib_8h.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c'],['../cread_8c.html#a8eb759a820f7f12a3b75e92473db3c78',1,'openab(int nfile, char *ufile): cread.c']]], + ['openab_5fc_1148',['openab_c',['../interfacebufrlib_1_1openab__c.html#a840a75512f0193e8b8538cfc9d6562c6',1,'bufrlib::openab_c']]], + ['openbf_1149',['openbf',['../openclosebf_8F90.html#a9dc7e4fb476a5528a958ee132ee6392d',1,'openclosebf.F90']]], + ['openbf_5fc_1150',['openbf_c',['../namespacebufr__c2f__interface.html#a6a97fe37e5caced81c5c6b769644832d',1,'bufr_c2f_interface']]], + ['openbf_5ff_1151',['openbf_f',['../bufr__interface_8h.html#a750d83d2c9745f46cccb75dc9fec3788',1,'bufr_interface.h']]], + ['openbt_1152',['openbt',['../openbt_8F90.html#a7e64e80a4c6a00f66c7dc1cbdeab96ef',1,'openbt(lundx, mtyp): openbt.F90'],['../debufr_8F90.html#a8dbba5dc66c2e09ccdd8065dda184f89',1,'openbt(lundx, mtyp): debufr.F90']]], + ['openmb_1153',['openmb',['../readwritemg_8F90.html#a5edbefade4e7194e4dd3ee42f394034b',1,'readwritemg.F90']]], + ['openmb_5fc_1154',['openmb_c',['../namespacebufr__c2f__interface.html#aad56de517eff0435b805addbf0692f44',1,'bufr_c2f_interface']]], + ['openmb_5ff_1155',['openmb_f',['../bufr__interface_8h.html#ab062d9a7aad917f9937c577bab7f86fe',1,'bufr_interface.h']]], + ['openmg_1156',['openmg',['../readwritemg_8F90.html#a493ce59c1a2976e9714c2d9b283bdb11',1,'readwritemg.F90']]], + ['openrb_1157',['openrb',['../cread_8c.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c'],['../bufrlib_8h.html#ab18be8cbb2bdbdb682adce89dd1a9c69',1,'openrb(int nfile, char *ufile): cread.c']]], + ['openrb_5fc_1158',['openrb_c',['../interfacebufrlib_1_1openrb__c.html#a705b951ea4f72a0aa1654e77a2379626',1,'bufrlib::openrb_c']]], + ['openwb_1159',['openwb',['../bufrlib_8h.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c'],['../cread_8c.html#aa7b36dfb6c0fe0f9a1104d34c5acfa5e',1,'openwb(int nfile, char *ufile): cread.c']]], + ['openwb_5fc_1160',['openwb_c',['../interfacebufrlib_1_1openwb__c.html#a7859316c1cfa913d54d3fc36b619cb28',1,'bufrlib::openwb_c']]] ]; diff --git a/search/functions_e.js b/search/functions_e.js index b2110d6ac..e80c7e6c4 100644 --- a/search/functions_e.js +++ b/search/functions_e.js @@ -1,20 +1,20 @@ var searchData= [ - ['pad_1647',['pad',['../pad_8f.html#ab92ba263e51623b46cb4a7c9dee641f0',1,'pad.f']]], - ['padmsg_1648',['padmsg',['../padmsg_8f.html#af8c53e62375434d43ee476856388ee1c',1,'padmsg.f']]], - ['parstr_1649',['parstr',['../parstr_8f.html#a3379a342ab3d92dd01eef1f3172f9b86',1,'parstr.f']]], - ['parusr_1650',['parusr',['../parusr_8f.html#a8c7afcc8ef3c345d51b9e902be92f9e5',1,'parusr.f']]], - ['parutg_1651',['parutg',['../parutg_8f.html#a48496d3ac23b5e7d75a524f4ae62e181',1,'parutg.f']]], - ['pkb_1652',['pkb',['../pkb_8f.html#a35aa2e691ff3ad32de9d8721cae613f7',1,'pkb.f']]], - ['pkb8_1653',['pkb8',['../pkb8_8f.html#ad41a6d2e1a35c122af15bbc6dffe8eaa',1,'pkb8.f']]], - ['pkbs1_1654',['pkbs1',['../pkbs1_8f.html#a03b8cfb3af6b1f310462a3e40adc622c',1,'pkbs1.f']]], - ['pkc_1655',['pkc',['../pkc_8f.html#a0376a4af04f7be036484c666ebbb8ef9',1,'pkc.f']]], - ['pkftbv_1656',['pkftbv',['../pkftbv_8f.html#a13ca3b23c3ea896eea3ac3d3dcb1e35f',1,'pkftbv.f']]], - ['pktdd_1657',['pktdd',['../pktdd_8f.html#a5a9bc43ec2b7b51ae5097fd7b828dd84',1,'pktdd.f']]], - ['pktdd_5fc_1658',['pktdd_c',['../namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0',1,'bufr_c2f_interface']]], - ['pktdd_5ff_1659',['pktdd_f',['../bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187',1,'bufrlib.h']]], - ['pkvs01_1660',['pkvs01',['../pkvs01_8f.html#aa2b468d76d4b2710f7b777bf4ffcb3af',1,'pkvs01.f']]], - ['posapx_1661',['posapx',['../posapx_8f.html#ad32a5730c46c657f5fde47244bd1ebd5',1,'posapx.f']]], - ['printx_1662',['printx',['../readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c',1,'readbp.F90']]], - ['prtusage_1663',['prtusage',['../xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): xbfmg.c'],['../debufr_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): debufr.c']]] + ['pad_1161',['pad',['../readwritesb_8F90.html#a1ca33013e4c11f3c9d1fe614f9f1d585',1,'readwritesb.F90']]], + ['padmsg_1162',['padmsg',['../readwritemg_8F90.html#a127f4e4664445595654494dea28d7d8f',1,'readwritemg.F90']]], + ['parstr_1163',['parstr',['../strings_8F90.html#a1d493e7de1c23739a0fcd06089139f35',1,'strings.F90']]], + ['parusr_1164',['parusr',['../strings_8F90.html#ae49e5fa3610c743607ca6288d4107d28',1,'strings.F90']]], + ['parutg_1165',['parutg',['../strings_8F90.html#a2da1c300ec049ee215d937b5ab545f53',1,'strings.F90']]], + ['pkb_1166',['pkb',['../ciencode_8F90.html#a8f795cd39c8f939b486407c65d8959c0',1,'ciencode.F90']]], + ['pkb8_1167',['pkb8',['../ciencode_8F90.html#ad41a6d2e1a35c122af15bbc6dffe8eaa',1,'ciencode.F90']]], + ['pkbs1_1168',['pkbs1',['../s013vals_8F90.html#a5522b3ec85470f1def91880bbc5df5e6',1,'s013vals.F90']]], + ['pkc_1169',['pkc',['../ciencode_8F90.html#a52ae4b28f79718d9b6631d2f7a5a7160',1,'ciencode.F90']]], + ['pkftbv_1170',['pkftbv',['../cftbvs_8F90.html#a46efecc01f463c64fe193b800fff9a35',1,'cftbvs.F90']]], + ['pktdd_1171',['pktdd',['../dxtable_8F90.html#aae6295132b2eb71f969417879832ed47',1,'dxtable.F90']]], + ['pktdd_5fc_1172',['pktdd_c',['../namespacebufr__c2f__interface.html#a9a8d8f66405c9b1679e92e0d908877e0',1,'bufr_c2f_interface']]], + ['pktdd_5ff_1173',['pktdd_f',['../bufrlib_8h.html#ac68117670f91ed84a5edf1bf074bc187',1,'bufrlib.h']]], + ['pkvs01_1174',['pkvs01',['../s013vals_8F90.html#ac8fa984389323f08dd1cbd3aa6b57da9',1,'s013vals.F90']]], + ['posapx_1175',['posapx',['../openclosebf_8F90.html#aeef6f5d08d9631dbe92c1821a9d02903',1,'openclosebf.F90']]], + ['printx_1176',['printx',['../readbp_8F90.html#a20f66afc4b9a6ab619111b0d614e452c',1,'readbp.F90']]], + ['prtusage_1177',['prtusage',['../xbfmg_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): xbfmg.c'],['../debufr_8c.html#a54cbb8b652032605c043b18a134cd85d',1,'prtusage(char *prgnam): debufr.c']]] ]; diff --git a/search/functions_f.js b/search/functions_f.js index 41019ed0e..3d3c3768a 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -1,34 +1,34 @@ var searchData= [ - ['rbytes_1664',['rbytes',['../crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae',1,'crwbmg.c']]], - ['rcstpl_1665',['rcstpl',['../rcstpl_8f.html#a6051cb3fd10cab351aaade691f06ffd1',1,'rcstpl.f']]], - ['rdbfdx_1666',['rdbfdx',['../rdbfdx_8f.html#a7d7beabef509022d4d98ebfb79f06dec',1,'rdbfdx.f']]], - ['rdcmps_1667',['rdcmps',['../rdcmps_8f.html#a4592f4f71832d5bc80939cfd8095ad09',1,'rdcmps.f']]], - ['rdmemm_1668',['rdmemm',['../rdmemm_8f.html#acdadcefdf7f3d9e0a9271ece060ec193',1,'rdmemm.f']]], - ['rdmems_1669',['rdmems',['../rdmems_8f.html#a4af6fe463b8e15affa23de1f1ac4358e',1,'rdmems.f']]], - ['rdmgsb_1670',['rdmgsb',['../rdmgsb_8f.html#ae4f5dbd64255fa37c9616ff72289897c',1,'rdmgsb.f']]], - ['rdmsgw_1671',['rdmsgw',['../rdmsgw_8F90.html#ac23041847910e299fa2c89962597a312',1,'rdmsgw.F90']]], - ['rdmtbb_1672',['rdmtbb',['../rdmtbb_8f.html#a500535fb51e5caae61f0fd3627a211da',1,'rdmtbb.f']]], - ['rdmtbd_1673',['rdmtbd',['../rdmtbd_8f.html#a46cfbed2b4e693c0bc7e4792c47d5692',1,'rdmtbd.f']]], - ['rdmtbf_1674',['rdmtbf',['../rdmtbf_8f.html#a5ca890fe454d0615933e8b535e28ac00',1,'rdmtbf.f']]], - ['rdtree_1675',['rdtree',['../rdtree_8f.html#a517c48e080eadc5e9a88fff47ffe4c34',1,'rdtree.f']]], - ['rdusdx_1676',['rdusdx',['../rdusdx_8f.html#ab4869b52a96f03ad2eb5328e71c25764',1,'rdusdx.f']]], - ['readbp_1677',['readbp',['../readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b',1,'readbp.F90']]], - ['readdx_1678',['readdx',['../readdx_8f.html#aa40c216c00c44fefb183a3d2641f5077',1,'readdx.f']]], - ['readerme_1679',['readerme',['../readerme_8f.html#a3d8860f8a5fe519e8d84afbe68dc67b5',1,'readerme.f']]], - ['readlc_1680',['readlc',['../readlc_8f.html#a6ab327a73098c106cbad611b396ea2f1',1,'readlc.f']]], - ['readlc_5fc_1681',['readlc_c',['../namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc',1,'bufr_c2f_interface']]], - ['readlc_5ff_1682',['readlc_f',['../bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97',1,'bufr_interface.h']]], - ['readmg_1683',['readmg',['../readmg_8f.html#a6471e41b4b7e505d6659c1fd45cc195d',1,'readmg.f']]], - ['readmm_1684',['readmm',['../readmm_8f.html#aa4e6aa0249e0a5d5b56698c8cd39806c',1,'readmm.f']]], - ['readmp_1685',['readmp',['../readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650',1,'readmp.F90']]], - ['readns_1686',['readns',['../readns_8f.html#acfb34cc5575782a332a5490cb07ef700',1,'readns.f']]], - ['reads3_1687',['reads3',['../reads3_8f.html#a57a4b386c104472c2df89ca9217d0d4b',1,'reads3.f']]], - ['readsb_1688',['readsb',['../readsb_8f.html#a7487962744f372041e729f0b754b7a92',1,'readsb.f']]], - ['restd_1689',['restd',['../restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3',1,'restd(int lun, int tddesc, int *nctddesc, int *ctddesc): restd.c'],['../bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c',1,'restd(int lunb, int tddesc, int *nctddesc, int *ctddesc): restd.c']]], - ['restd_5fc_1690',['restd_c',['../interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d',1,'bufrlib::restd_c']]], - ['rewnbf_1691',['rewnbf',['../rewnbf_8f.html#a70ac3a628bb020054246ff3fb8392a96',1,'rewnbf.f']]], - ['rsvfvm_1692',['rsvfvm',['../rsvfvm_8f.html#a8c60cd821f7b68a7f79ebd393e58f978',1,'rsvfvm.f']]], - ['rtrcpt_1693',['rtrcpt',['../rtrcpt_8f.html#a7bcf788ea62da2fb181b12e609a28ef4',1,'rtrcpt.f']]], - ['rtrcptb_1694',['rtrcptb',['../rtrcptb_8f.html#a5eb0f5be603cf24d61416442d0a7444c',1,'rtrcptb.f']]] + ['rbytes_1178',['rbytes',['../crwbmg_8c.html#a6dbaed2f330cb936df41084b4d8a5aae',1,'crwbmg.c']]], + ['rcstpl_1179',['rcstpl',['../readwritesb_8F90.html#abb101b31fac13895d22320a918215372',1,'readwritesb.F90']]], + ['rdbfdx_1180',['rdbfdx',['../dxtable_8F90.html#aef89e4de1387c4bcdeda0a64e8c6d308',1,'dxtable.F90']]], + ['rdcmps_1181',['rdcmps',['../compress_8F90.html#a1cb1b8bdef41e7ff3420a543e590fde8',1,'compress.F90']]], + ['rdmemm_1182',['rdmemm',['../memmsgs_8F90.html#a379c2ad518735b00eecff6ddcf32b278',1,'memmsgs.F90']]], + ['rdmems_1183',['rdmems',['../memmsgs_8F90.html#a2687d7372647fc32c4713c7e9eb6d268',1,'memmsgs.F90']]], + ['rdmgsb_1184',['rdmgsb',['../readwritesb_8F90.html#ad3f468fd2fbb1a36ebfff82d32674953',1,'readwritesb.F90']]], + ['rdmsgw_1185',['rdmsgw',['../readwritemg_8F90.html#ac23041847910e299fa2c89962597a312',1,'readwritemg.F90']]], + ['rdmtbb_1186',['rdmtbb',['../mastertable_8F90.html#a62d8d7c9946282d7797030e67c737543',1,'mastertable.F90']]], + ['rdmtbd_1187',['rdmtbd',['../mastertable_8F90.html#a2def0dba3a44cc77e6dd716ad8aa238f',1,'mastertable.F90']]], + ['rdmtbf_1188',['rdmtbf',['../mastertable_8F90.html#acc76006ba6b47ca59a5343caacb12af9',1,'mastertable.F90']]], + ['rdtree_1189',['rdtree',['../readwritesb_8F90.html#a1dab1c658cb8511cfd1cc6a360221da8',1,'readwritesb.F90']]], + ['rdusdx_1190',['rdusdx',['../dxtable_8F90.html#a3c5a3be625c365b782f36c0cb772ae35',1,'dxtable.F90']]], + ['readbp_1191',['readbp',['../readbp_8F90.html#ac55f7a6af2af963791bb395c6dcc331b',1,'readbp.F90']]], + ['readdx_1192',['readdx',['../dxtable_8F90.html#adc51a45a8d628c17cd4d749733df506b',1,'dxtable.F90']]], + ['readerme_1193',['readerme',['../readwritemg_8F90.html#aa2a7bf49cad422b474a24edd3a1cb232',1,'readwritemg.F90']]], + ['readlc_1194',['readlc',['../readwriteval_8F90.html#aad0d9cae550b97bc950c739ff44ca6b2',1,'readwriteval.F90']]], + ['readlc_5fc_1195',['readlc_c',['../namespacebufr__c2f__interface.html#acce5eddf8c8e56d5b47d45251ac75abc',1,'bufr_c2f_interface']]], + ['readlc_5ff_1196',['readlc_f',['../bufr__interface_8h.html#ab9a086f1cd4cb622107c96608279eb97',1,'bufr_interface.h']]], + ['readmg_1197',['readmg',['../readwritemg_8F90.html#aad947e23951efbcba54930d6f309e0a8',1,'readwritemg.F90']]], + ['readmm_1198',['readmm',['../memmsgs_8F90.html#a6bbcaf22a939d766b7de35ff855531c5',1,'memmsgs.F90']]], + ['readmp_1199',['readmp',['../readmp_8F90.html#a0b84a15ad24b7d8dfbef402295b8b650',1,'readmp.F90']]], + ['readns_1200',['readns',['../readwritesb_8F90.html#aeb1fdb4af8ca100d3d80c52a221f1de8',1,'readwritesb.F90']]], + ['reads3_1201',['reads3',['../s013vals_8F90.html#ac96e5200de4ecc84f79caa98177e60f6',1,'s013vals.F90']]], + ['readsb_1202',['readsb',['../readwritesb_8F90.html#ab4b6c52feffa76d2a4d8fab6e3547f3c',1,'readwritesb.F90']]], + ['restd_1203',['restd',['../bufrlib_8h.html#a9fab66c5a028abf354d075040dde317c',1,'restd(int lunb, int tddesc, int *nctddesc, int *ctddesc): restd.c'],['../restd_8c.html#ad5e16b436141e02ca2b1a8def406a1d3',1,'restd(int lun, int tddesc, int *nctddesc, int *ctddesc): restd.c']]], + ['restd_5fc_1204',['restd_c',['../interfacebufrlib_1_1restd__c.html#a29d35bad7067374462ec58d70f489a8d',1,'bufrlib::restd_c']]], + ['rewnbf_1205',['rewnbf',['../openclosebf_8F90.html#a56b33c6538a8c0abf1b6a31584c68494',1,'openclosebf.F90']]], + ['rsvfvm_1206',['rsvfvm',['../dxtable_8F90.html#a437a4acba1f5e0b3173da0cafc101e9c',1,'dxtable.F90']]], + ['rtrcpt_1207',['rtrcpt',['../tankrcpt_8F90.html#a5d6fa241d34622347252bf41b73d8610',1,'tankrcpt.F90']]], + ['rtrcptb_1208',['rtrcptb',['../tankrcpt_8F90.html#a9ae992beefc572ef3ae02a330b221ffa',1,'tankrcpt.F90']]] ]; diff --git a/search/namespaces_0.js b/search/namespaces_0.js index 5e96898b3..65e63345e 100644 --- a/search/namespaces_0.js +++ b/search/namespaces_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['bufr_5fc2f_5finterface_1028',['bufr_c2f_interface',['../namespacebufr__c2f__interface.html',1,'']]], - ['bufr_5finterface_1029',['bufr_interface',['../namespacebufr__interface.html',1,'']]], - ['bufrlib_1030',['bufrlib',['../namespacebufrlib.html',1,'']]] + ['bufr_5fc2f_5finterface_793',['bufr_c2f_interface',['../namespacebufr__c2f__interface.html',1,'']]], + ['bufr_5finterface_794',['bufr_interface',['../namespacebufr__interface.html',1,'']]], + ['bufrlib_795',['bufrlib',['../namespacebufrlib.html',1,'']]] ]; diff --git a/search/namespaces_1.js b/search/namespaces_1.js index bc5ddb75e..ab312b6f9 100644 --- a/search/namespaces_1.js +++ b/search/namespaces_1.js @@ -1,70 +1,43 @@ var searchData= [ - ['moda_5fbitbuf_1031',['moda_bitbuf',['../namespacemoda__bitbuf.html',1,'']]], - ['moda_5fbitmaps_1032',['moda_bitmaps',['../namespacemoda__bitmaps.html',1,'']]], - ['moda_5fbufrmg_1033',['moda_bufrmg',['../namespacemoda__bufrmg.html',1,'']]], - ['moda_5fbufrsr_1034',['moda_bufrsr',['../namespacemoda__bufrsr.html',1,'']]], - ['moda_5fcomprs_1035',['moda_comprs',['../namespacemoda__comprs.html',1,'']]], - ['moda_5fcomprx_1036',['moda_comprx',['../namespacemoda__comprx.html',1,'']]], - ['moda_5fdscach_1037',['moda_dscach',['../namespacemoda__dscach.html',1,'']]], - ['moda_5fh4wlc_1038',['moda_h4wlc',['../namespacemoda__h4wlc.html',1,'']]], - ['moda_5fidrdm_1039',['moda_idrdm',['../namespacemoda__idrdm.html',1,'']]], - ['moda_5fival_1040',['moda_ival',['../namespacemoda__ival.html',1,'']]], - ['moda_5fivttmp_1041',['moda_ivttmp',['../namespacemoda__ivttmp.html',1,'']]], - ['moda_5flushr_1042',['moda_lushr',['../namespacemoda__lushr.html',1,'']]], - ['moda_5fmgwa_1043',['moda_mgwa',['../namespacemoda__mgwa.html',1,'']]], - ['moda_5fmgwb_1044',['moda_mgwb',['../namespacemoda__mgwb.html',1,'']]], - ['moda_5fmsgcwd_1045',['moda_msgcwd',['../namespacemoda__msgcwd.html',1,'']]], - ['moda_5fmsglim_1046',['moda_msglim',['../namespacemoda__msglim.html',1,'']]], - ['moda_5fmsgmem_1047',['moda_msgmem',['../namespacemoda__msgmem.html',1,'']]], - ['moda_5fmstabs_1048',['moda_mstabs',['../namespacemoda__mstabs.html',1,'']]], - ['moda_5fnmikrp_1049',['moda_nmikrp',['../namespacemoda__nmikrp.html',1,'']]], - ['moda_5fnrv203_1050',['moda_nrv203',['../namespacemoda__nrv203.html',1,'']]], - ['moda_5fnulbfr_1051',['moda_nulbfr',['../namespacemoda__nulbfr.html',1,'']]], - ['moda_5frdmtb_1052',['moda_rdmtb',['../namespacemoda__rdmtb.html',1,'']]], - ['moda_5frlccmn_1053',['moda_rlccmn',['../namespacemoda__rlccmn.html',1,'']]], - ['moda_5fs01cm_1054',['moda_s01cm',['../namespacemoda__s01cm.html',1,'']]], - ['moda_5fsc3bfr_1055',['moda_sc3bfr',['../namespacemoda__sc3bfr.html',1,'']]], - ['moda_5fstbfr_1056',['moda_stbfr',['../namespacemoda__stbfr.html',1,'']]], - ['moda_5fstcode_1057',['moda_stcode',['../namespacemoda__stcode.html',1,'']]], - ['moda_5ftababd_1058',['moda_tababd',['../namespacemoda__tababd.html',1,'']]], - ['moda_5ftables_1059',['moda_tables',['../namespacemoda__tables.html',1,'']]], - ['moda_5fufbcpl_1060',['moda_ufbcpl',['../namespacemoda__ufbcpl.html',1,'']]], - ['moda_5funptyp_1061',['moda_unptyp',['../namespacemoda__unptyp.html',1,'']]], - ['moda_5fusrbit_1062',['moda_usrbit',['../namespacemoda__usrbit.html',1,'']]], - ['moda_5fusrint_1063',['moda_usrint',['../namespacemoda__usrint.html',1,'']]], - ['moda_5fusrtmp_1064',['moda_usrtmp',['../namespacemoda__usrtmp.html',1,'']]], - ['moda_5fxtab_1065',['moda_xtab',['../namespacemoda__xtab.html',1,'']]], - ['modv_5fbmiss_1066',['modv_bmiss',['../namespacemodv__bmiss.html',1,'']]], - ['modv_5fifopbf_1067',['modv_ifopbf',['../namespacemodv__ifopbf.html',1,'']]], - ['modv_5fim8b_1068',['modv_im8b',['../namespacemodv__im8b.html',1,'']]], - ['modv_5fmaxcd_1069',['modv_maxcd',['../namespacemodv__maxcd.html',1,'']]], - ['modv_5fmaxjl_1070',['modv_maxjl',['../namespacemodv__maxjl.html',1,'']]], - ['modv_5fmaxmem_1071',['modv_maxmem',['../namespacemodv__maxmem.html',1,'']]], - ['modv_5fmaxmsg_1072',['modv_maxmsg',['../namespacemodv__maxmsg.html',1,'']]], - ['modv_5fmaxnc_1073',['modv_maxnc',['../namespacemodv__maxnc.html',1,'']]], - ['modv_5fmaxss_1074',['modv_maxss',['../namespacemodv__maxss.html',1,'']]], - ['modv_5fmaxtba_1075',['modv_maxtba',['../namespacemodv__maxtba.html',1,'']]], - ['modv_5fmaxtbb_1076',['modv_maxtbb',['../namespacemodv__maxtbb.html',1,'']]], - ['modv_5fmaxtbd_1077',['modv_maxtbd',['../namespacemodv__maxtbd.html',1,'']]], - ['modv_5fmxbtm_1078',['modv_mxbtm',['../namespacemodv__mxbtm.html',1,'']]], - ['modv_5fmxbtmse_1079',['modv_mxbtmse',['../namespacemodv__mxbtmse.html',1,'']]], - ['modv_5fmxcdv_1080',['modv_mxcdv',['../namespacemodv__mxcdv.html',1,'']]], - ['modv_5fmxcnem_1081',['modv_mxcnem',['../namespacemodv__mxcnem.html',1,'']]], - ['modv_5fmxcsb_1082',['modv_mxcsb',['../namespacemodv__mxcsb.html',1,'']]], - ['modv_5fmxdxts_1083',['modv_mxdxts',['../namespacemodv__mxdxts.html',1,'']]], - ['modv_5fmxh4wlc_1084',['modv_mxh4wlc',['../namespacemodv__mxh4wlc.html',1,'']]], - ['modv_5fmxlcc_1085',['modv_mxlcc',['../namespacemodv__mxlcc.html',1,'']]], - ['modv_5fmxmsgl_1086',['modv_mxmsgl',['../namespacemodv__mxmsgl.html',1,'']]], - ['modv_5fmxmtbb_1087',['modv_mxmtbb',['../namespacemodv__mxmtbb.html',1,'']]], - ['modv_5fmxmtbd_1088',['modv_mxmtbd',['../namespacemodv__mxmtbd.html',1,'']]], - ['modv_5fmxmtbf_1089',['modv_mxmtbf',['../namespacemodv__mxmtbf.html',1,'']]], - ['modv_5fmxnaf_1090',['modv_mxnaf',['../namespacemodv__mxnaf.html',1,'']]], - ['modv_5fmxnrv_1091',['modv_mxnrv',['../namespacemodv__mxnrv.html',1,'']]], - ['modv_5fmxrst_1092',['modv_mxrst',['../namespacemodv__mxrst.html',1,'']]], - ['modv_5fmxs_1093',['modv_mxs',['../namespacemodv__mxs.html',1,'']]], - ['modv_5fmxs01v_1094',['modv_mxs01v',['../namespacemodv__mxs01v.html',1,'']]], - ['modv_5fmxtamc_1095',['modv_mxtamc',['../namespacemodv__mxtamc.html',1,'']]], - ['modv_5fmxtco_1096',['modv_mxtco',['../namespacemodv__mxtco.html',1,'']]], - ['modv_5fnfiles_1097',['modv_nfiles',['../namespacemodv__nfiles.html',1,'']]] + ['moda_5fbitbuf_796',['moda_bitbuf',['../namespacemoda__bitbuf.html',1,'']]], + ['moda_5fbitmaps_797',['moda_bitmaps',['../namespacemoda__bitmaps.html',1,'']]], + ['moda_5fbufrmg_798',['moda_bufrmg',['../namespacemoda__bufrmg.html',1,'']]], + ['moda_5fbufrsr_799',['moda_bufrsr',['../namespacemoda__bufrsr.html',1,'']]], + ['moda_5fcomprs_800',['moda_comprs',['../namespacemoda__comprs.html',1,'']]], + ['moda_5fcomprx_801',['moda_comprx',['../namespacemoda__comprx.html',1,'']]], + ['moda_5fdscach_802',['moda_dscach',['../namespacemoda__dscach.html',1,'']]], + ['moda_5fh4wlc_803',['moda_h4wlc',['../namespacemoda__h4wlc.html',1,'']]], + ['moda_5fidrdm_804',['moda_idrdm',['../namespacemoda__idrdm.html',1,'']]], + ['moda_5fival_805',['moda_ival',['../namespacemoda__ival.html',1,'']]], + ['moda_5fivttmp_806',['moda_ivttmp',['../namespacemoda__ivttmp.html',1,'']]], + ['moda_5flushr_807',['moda_lushr',['../namespacemoda__lushr.html',1,'']]], + ['moda_5fmgwa_808',['moda_mgwa',['../namespacemoda__mgwa.html',1,'']]], + ['moda_5fmgwb_809',['moda_mgwb',['../namespacemoda__mgwb.html',1,'']]], + ['moda_5fmsgcmp_810',['moda_msgcmp',['../namespacemoda__msgcmp.html',1,'']]], + ['moda_5fmsgcwd_811',['moda_msgcwd',['../namespacemoda__msgcwd.html',1,'']]], + ['moda_5fmsglim_812',['moda_msglim',['../namespacemoda__msglim.html',1,'']]], + ['moda_5fmsgmem_813',['moda_msgmem',['../namespacemoda__msgmem.html',1,'']]], + ['moda_5fmsgstd_814',['moda_msgstd',['../namespacemoda__msgstd.html',1,'']]], + ['moda_5fmstabs_815',['moda_mstabs',['../namespacemoda__mstabs.html',1,'']]], + ['moda_5fnmikrp_816',['moda_nmikrp',['../namespacemoda__nmikrp.html',1,'']]], + ['moda_5fnrv203_817',['moda_nrv203',['../namespacemoda__nrv203.html',1,'']]], + ['moda_5fnulbfr_818',['moda_nulbfr',['../namespacemoda__nulbfr.html',1,'']]], + ['moda_5frdmtb_819',['moda_rdmtb',['../namespacemoda__rdmtb.html',1,'']]], + ['moda_5frlccmn_820',['moda_rlccmn',['../namespacemoda__rlccmn.html',1,'']]], + ['moda_5fs01cm_821',['moda_s01cm',['../namespacemoda__s01cm.html',1,'']]], + ['moda_5fs3list_822',['moda_s3list',['../namespacemoda__s3list.html',1,'']]], + ['moda_5fsc3bfr_823',['moda_sc3bfr',['../namespacemoda__sc3bfr.html',1,'']]], + ['moda_5fstbfr_824',['moda_stbfr',['../namespacemoda__stbfr.html',1,'']]], + ['moda_5fstcode_825',['moda_stcode',['../namespacemoda__stcode.html',1,'']]], + ['moda_5ftababd_826',['moda_tababd',['../namespacemoda__tababd.html',1,'']]], + ['moda_5ftablef_827',['moda_tablef',['../namespacemoda__tablef.html',1,'']]], + ['moda_5ftables_828',['moda_tables',['../namespacemoda__tables.html',1,'']]], + ['moda_5ftnkrcp_829',['moda_tnkrcp',['../namespacemoda__tnkrcp.html',1,'']]], + ['moda_5fufbcpl_830',['moda_ufbcpl',['../namespacemoda__ufbcpl.html',1,'']]], + ['moda_5funptyp_831',['moda_unptyp',['../namespacemoda__unptyp.html',1,'']]], + ['moda_5fusrbit_832',['moda_usrbit',['../namespacemoda__usrbit.html',1,'']]], + ['moda_5fusrint_833',['moda_usrint',['../namespacemoda__usrint.html',1,'']]], + ['moda_5fusrtmp_834',['moda_usrtmp',['../namespacemoda__usrtmp.html',1,'']]], + ['moda_5fxtab_835',['moda_xtab',['../namespacemoda__xtab.html',1,'']]] ]; diff --git a/search/namespaces_2.js b/search/namespaces_2.js index c88f87468..e40982268 100644 --- a/search/namespaces_2.js +++ b/search/namespaces_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['share_5ftable_5finfo_1098',['share_table_info',['../namespaceshare__table__info.html',1,'']]] + ['share_5ftable_5finfo_836',['share_table_info',['../namespaceshare__table__info.html',1,'']]] ]; diff --git a/search/pages_0.js b/search/pages_0.js index f6a856191..dfc073586 100644 --- a/search/pages_0.js +++ b/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['dx_20bufr_20tables_2028',['DX BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html',1,'']]] + ['dx_20bufr_20tables_1559',['DX BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_dx_tables.html',1,'']]] ]; diff --git a/search/pages_1.js b/search/pages_1.js index 1e24e2e57..c575debf4 100644 --- a/search/pages_1.js +++ b/search/pages_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['master_20bufr_20tables_2029',['Master BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html',1,'']]] + ['master_20bufr_20tables_1560',['Master BUFR Tables',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_master_tables.html',1,'']]] ]; diff --git a/search/pages_2.js b/search/pages_2.js index cebe077aa..26097fdbb 100644 --- a/search/pages_2.js +++ b/search/pages_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['release_20notes_2030',['Release Notes',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html',1,'']]] + ['release_20notes_1561',['Release Notes',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_ReleaseNotes.html',1,'']]] ]; diff --git a/search/pages_3.js b/search/pages_3.js index 0a9a19503..23d2708de 100644 --- a/search/pages_3.js +++ b/search/pages_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['utilities_2031',['Utilities',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html',1,'']]] + ['utilities_1562',['Utilities',['../md__home_runner_work_NCEPLIBS_bufr_NCEPLIBS_bufr_bufr_docs_utils.html',1,'']]] ]; diff --git a/search/searchdata.js b/search/searchdata.js index 8d4a8e45c..899e0e280 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -3,9 +3,9 @@ var indexSectionsWithContent = 0: "abcdefghijklmnoprstuvwx", 1: "abcdiors", 2: "bms", - 3: "abcdefghijlmnoprstuwx", + 3: "abcdefgijmorstx", 4: "abcdefghijlmnoprstuwx", - 5: "bcfijklmnpstvwx", + 5: "abcfijklmnprstvwx", 6: "fimnuv", 7: "dmru" }; diff --git a/search/variables_0.js b/search/variables_0.js index c7183dc7a..479a6e1dd 100644 --- a/search/variables_0.js +++ b/search/variables_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['bmiss_1795',['bmiss',['../namespacemodv__bmiss.html#a765c07216d8fe91b2876890e540f1519',1,'modv_bmiss']]] + ['adsn_1307',['adsn',['../modules__vars_8F90.html#a7a129734d8b06649619e8e9ee42eca62',1,'modv_vars']]] ]; diff --git a/search/variables_1.js b/search/variables_1.js index c0ce3c02a..f30f93a74 100644 --- a/search/variables_1.js +++ b/search/variables_1.js @@ -1,30 +1,4 @@ var searchData= [ - ['catx_1796',['catx',['../namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937',1,'moda_comprs']]], - ['cbbw_1797',['cbbw',['../namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a',1,'moda_mstabs']]], - ['cbbw_5fc_1798',['cbbw_c',['../mstabs_8h.html#a848b6568e0bfab92d85132d05dc937e0',1,'mstabs.h']]], - ['cbelem_1799',['cbelem',['../namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7',1,'moda_mstabs']]], - ['cbelem_5fc_1800',['cbelem_c',['../mstabs_8h.html#a4e2c71282979073fdf1770f63936a12d',1,'mstabs.h']]], - ['cbmnem_1801',['cbmnem',['../namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa',1,'moda_mstabs']]], - ['cbmnem_5fc_1802',['cbmnem_c',['../mstabs_8h.html#ae356bdcf12736c877e631cbfc2cdeb6b',1,'mstabs.h']]], - ['cbscl_1803',['cbscl',['../namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea',1,'moda_mstabs']]], - ['cbscl_5fc_1804',['cbscl_c',['../mstabs_8h.html#ac78573bf16971ee302c96eaaea497d47',1,'mstabs.h']]], - ['cbsref_1805',['cbsref',['../namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0',1,'moda_mstabs']]], - ['cbsref_5fc_1806',['cbsref_c',['../mstabs_8h.html#a944736d6f549e144e77482a27d57d54f',1,'mstabs.h']]], - ['cbunit_1807',['cbunit',['../namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b',1,'moda_mstabs']]], - ['cbunit_5fc_1808',['cbunit_c',['../mstabs_8h.html#a0a3641906334121bb919eeebae00c2dc',1,'mstabs.h']]], - ['cdmnem_1809',['cdmnem',['../namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168',1,'moda_mstabs']]], - ['cdmnem_5fc_1810',['cdmnem_c',['../mstabs_8h.html#a435c8f4a1ebe7966a2cd0e0a980dab51',1,'mstabs.h']]], - ['cdseq_1811',['cdseq',['../namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7',1,'moda_mstabs']]], - ['cdseq_5fc_1812',['cdseq_c',['../mstabs_8h.html#a9a27f1ec866a82df459f4d17893b9df2',1,'mstabs.h']]], - ['ceelem_1813',['ceelem',['../namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653',1,'moda_rdmtb']]], - ['cfe_1814',['cfe',['../cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16',1,'cfe.c']]], - ['chh4wlc_1815',['chh4wlc',['../namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75',1,'moda_h4wlc']]], - ['cmdscb_1816',['cmdscb',['../namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055',1,'moda_rdmtb']]], - ['cmdscd_1817',['cmdscd',['../namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f',1,'moda_rdmtb']]], - ['cmnem_1818',['cmnem',['../namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7',1,'moda_s01cm']]], - ['cnem_1819',['cnem',['../namespacemoda__dscach.html#a0ba1605c1f5ecd4655b010b52dab6c2a',1,'moda_dscach']]], - ['crtag_1820',['crtag',['../namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1',1,'moda_rlccmn']]], - ['cstr_1821',['cstr',['../namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf',1,'moda_comprx']]], - ['ctco_1822',['ctco',['../namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753',1,'moda_bitmaps']]] + ['bmiss_1308',['bmiss',['../modules__vars_8F90.html#a745e8be4bf52246db47090996854736b',1,'modv_vars']]] ]; diff --git a/search/variables_10.html b/search/variables_10.html new file mode 100644 index 000000000..dc9920b6d --- /dev/null +++ b/search/variables_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                    +
                                    Loading...
                                    +
                                    + +
                                    Searching...
                                    +
                                    No Matches
                                    + +
                                    + + diff --git a/search/variables_10.js b/search/variables_10.js new file mode 100644 index 000000000..497639cae --- /dev/null +++ b/search/variables_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['xtab_1548',['xtab',['../namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d',1,'moda_xtab']]] +]; diff --git a/search/variables_2.js b/search/variables_2.js index c026229df..f86149a17 100644 --- a/search/variables_2.js +++ b/search/variables_2.js @@ -1,4 +1,35 @@ var searchData= [ - ['flush_1823',['flush',['../namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7',1,'moda_comprx']]] + ['catx_1309',['catx',['../namespacemoda__comprs.html#a94ea2c3cfc88079d837ac29324d61937',1,'moda_comprs']]], + ['cbbw_1310',['cbbw',['../namespacemoda__mstabs.html#a31164f84ab9d27493a19afee2fda502a',1,'moda_mstabs']]], + ['cbbw_5fc_1311',['cbbw_c',['../mstabs_8h.html#aa0f8eb7c3a1ca9a66a0933d97a3422ab',1,'mstabs.h']]], + ['cbelem_1312',['cbelem',['../namespacemoda__mstabs.html#aa842e38ba6243a4ff1ab1e56404c2cb7',1,'moda_mstabs']]], + ['cbelem_5fc_1313',['cbelem_c',['../mstabs_8h.html#a19c8207a7b2c18f50438f51f066bad7b',1,'mstabs.h']]], + ['cbmnem_1314',['cbmnem',['../namespacemoda__mstabs.html#a4c761088ff4243b661ec78773c07adaa',1,'moda_mstabs']]], + ['cbmnem_5fc_1315',['cbmnem_c',['../mstabs_8h.html#a7c0149a5419b96753491953e92ce35b0',1,'mstabs.h']]], + ['cbscl_1316',['cbscl',['../namespacemoda__mstabs.html#aab2cc4c7c57e7c7d111f49187aff44ea',1,'moda_mstabs']]], + ['cbscl_5fc_1317',['cbscl_c',['../mstabs_8h.html#a49e37dddeae6e1e71da2444d40c6d232',1,'mstabs.h']]], + ['cbsref_1318',['cbsref',['../namespacemoda__mstabs.html#ac34001b0c39f1c7b156214adaf3381d0',1,'moda_mstabs']]], + ['cbsref_5fc_1319',['cbsref_c',['../mstabs_8h.html#a1209038da13334a450146c0caa5ae9ad',1,'mstabs.h']]], + ['cbunit_1320',['cbunit',['../namespacemoda__mstabs.html#a0ccfcc43067ef6debce2218ad50abb0b',1,'moda_mstabs']]], + ['cbunit_5fc_1321',['cbunit_c',['../mstabs_8h.html#a558051c0c39c5c6181019fb4231797d1',1,'mstabs.h']]], + ['ccmf_1322',['ccmf',['../namespacemoda__msgcmp.html#a748ff156e2c817957765b05119f74270',1,'moda_msgcmp']]], + ['cdmf_1323',['cdmf',['../namespacemoda__tablef.html#a61847a8129d1a6c6909c2ea4727d67f6',1,'moda_tablef']]], + ['cdmnem_1324',['cdmnem',['../namespacemoda__mstabs.html#ab2e77035e8e8a5f8e6a2f544279ab168',1,'moda_mstabs']]], + ['cdmnem_5fc_1325',['cdmnem_c',['../mstabs_8h.html#a309b9730283bc44b297b44f4e32db7f1',1,'mstabs.h']]], + ['cds3_1326',['cds3',['../namespacemoda__s3list.html#a2ceee9741718460b614f37fb6b976259',1,'moda_s3list']]], + ['cdseq_1327',['cdseq',['../namespacemoda__mstabs.html#a37a325646f12fe6d0dd3ae3c341f20d7',1,'moda_mstabs']]], + ['cdseq_5fc_1328',['cdseq_c',['../mstabs_8h.html#a3e8f3bcd901b3809309c431d2825d636',1,'mstabs.h']]], + ['ceelem_1329',['ceelem',['../namespacemoda__rdmtb.html#a1152389e5fc9eadddbea89bd76abc653',1,'moda_rdmtb']]], + ['cfe_1330',['cfe',['../cfe_8c.html#ac86272345dff43f22ed1365dbc9f1e16',1,'cfe.c']]], + ['chh4wlc_1331',['chh4wlc',['../namespacemoda__h4wlc.html#afbc0cd7c0f91147bca16c7fd909a0d75',1,'moda_h4wlc']]], + ['cmdscb_1332',['cmdscb',['../namespacemoda__rdmtb.html#a21983afeacfaf7e7755271343aca9055',1,'moda_rdmtb']]], + ['cmdscd_1333',['cmdscd',['../namespacemoda__rdmtb.html#ab8fe0a01ea7ba06916fd450273c1c38f',1,'moda_rdmtb']]], + ['cmnem_1334',['cmnem',['../namespacemoda__s01cm.html#ab7e403dca694be4ae4d4c3803e7bc4c7',1,'moda_s01cm']]], + ['cnem_1335',['cnem',['../namespacemoda__dscach.html#a141173c549e506cd4637af33c4efdece',1,'moda_dscach']]], + ['crtag_1336',['crtag',['../namespacemoda__rlccmn.html#acaa72aa1ab54d9a7a82f83e58c8aeed1',1,'moda_rlccmn']]], + ['csmf_1337',['csmf',['../namespacemoda__msgstd.html#a23356dfd7172ae4d2ff05d657234d6ab',1,'moda_msgstd']]], + ['cstr_1338',['cstr',['../namespacemoda__comprx.html#a07c74b931e7ddbba553f8391b8e24aaf',1,'moda_comprx']]], + ['ctco_1339',['ctco',['../namespacemoda__bitmaps.html#adbe38c29980443a65ff0bb0cfa1bb753',1,'moda_bitmaps']]], + ['ctrt_1340',['ctrt',['../namespacemoda__tnkrcp.html#aba2ec73dacc32807332a7c1e38468f38',1,'moda_tnkrcp']]] ]; diff --git a/search/variables_3.js b/search/variables_3.js index 306f83e38..d35885e4f 100644 --- a/search/variables_3.js +++ b/search/variables_3.js @@ -1,55 +1,4 @@ var searchData= [ - ['ibay_1824',['ibay',['../namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434',1,'moda_bitbuf']]], - ['ibfxyn_1825',['ibfxyn',['../namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38',1,'moda_mstabs']]], - ['ibfxyn_5fc_1826',['ibfxyn_c',['../mstabs_8h.html#aaea63eb1ccee165b800fa110084801ad',1,'mstabs.h']]], - ['ibit_1827',['ibit',['../namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9',1,'moda_bitbuf']]], - ['ibt_1828',['ibt',['../namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2',1,'moda_tables']]], - ['ibtmse_1829',['ibtmse',['../namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a',1,'moda_bitmaps']]], - ['ibtnrv_1830',['ibtnrv',['../namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d',1,'moda_nrv203']]], - ['icdxts_1831',['icdxts',['../namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab',1,'moda_msgmem']]], - ['idate_1832',['idate',['../namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b',1,'moda_msgcwd']]], - ['idcach_1833',['idcach',['../namespacemoda__dscach.html#a7d18bfabd11b41f2510a9bdd180976d3',1,'moda_dscach']]], - ['idefxy_1834',['idefxy',['../namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24',1,'moda_mstabs']]], - ['idefxy_5fc_1835',['idefxy_c',['../mstabs_8h.html#a821ed028f82d3597bc27927ec4b1aac0',1,'mstabs.h']]], - ['idfxyn_1836',['idfxyn',['../namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049',1,'moda_mstabs']]], - ['idfxyn_5fc_1837',['idfxyn_c',['../mstabs_8h.html#a0fc52a9b3d9391ecd70298b2d89450ab',1,'mstabs.h']]], - ['idna_1838',['idna',['../namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca',1,'moda_tababd']]], - ['idnb_1839',['idnb',['../namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5',1,'moda_tababd']]], - ['idnd_1840',['idnd',['../namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e',1,'moda_tababd']]], - ['idrdm_1841',['idrdm',['../namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6',1,'moda_idrdm']]], - ['iefxyn_1842',['iefxyn',['../namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93',1,'moda_rdmtb']]], - ['ienrv_1843',['ienrv',['../namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1',1,'moda_nrv203']]], - ['ifdxts_1844',['ifdxts',['../namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74',1,'moda_msgmem']]], - ['ifopbf_1845',['ifopbf',['../namespacemodv__ifopbf.html#a39326be0f9fc667b811dbe4f49588e71',1,'modv_ifopbf']]], - ['im8b_1846',['im8b',['../namespacemodv__im8b.html#af89ce869fc472b48531a4356395ca8af',1,'modv_im8b']]], - ['incr_1847',['incr',['../namespacemoda__comprs.html#a5a26b3bab3a4964256b56ff2a1522b27',1,'moda_comprs']]], - ['inode_1848',['inode',['../namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa',1,'moda_msgcwd']]], - ['inodnrv_1849',['inodnrv',['../namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f',1,'moda_nrv203']]], - ['inodtamc_1850',['inodtamc',['../namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458',1,'moda_bitmaps']]], - ['inodtco_1851',['inodtco',['../namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf',1,'moda_bitmaps']]], - ['inv_1852',['inv',['../namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e',1,'moda_usrint']]], - ['iolun_1853',['iolun',['../namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99',1,'moda_stbfr']]], - ['iomsg_1854',['iomsg',['../namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7',1,'moda_stbfr']]], - ['ipdxm_1855',['ipdxm',['../namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db',1,'moda_msgmem']]], - ['ipfnrv_1856',['ipfnrv',['../namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7',1,'moda_nrv203']]], - ['ipmsgs_1857',['ipmsgs',['../namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536',1,'moda_msgmem']]], - ['irbit_1858',['irbit',['../namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca',1,'moda_rlccmn']]], - ['irf_1859',['irf',['../namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599',1,'moda_tables']]], - ['irnch_1860',['irnch',['../namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd',1,'moda_rlccmn']]], - ['irp_1861',['irp',['../namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812',1,'moda_nmikrp']]], - ['isc_1862',['isc',['../namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e',1,'moda_tables']]], - ['isc3_1863',['isc3',['../namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a',1,'moda_sc3bfr']]], - ['iscodes_1864',['iscodes',['../namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e',1,'moda_stcode']]], - ['iseq_1865',['iseq',['../namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901',1,'moda_tables']]], - ['isnrv_1866',['isnrv',['../namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602',1,'moda_nrv203']]], - ['istbtm_1867',['istbtm',['../namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965',1,'moda_bitmaps']]], - ['iszbtm_1868',['iszbtm',['../namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574',1,'moda_bitmaps']]], - ['itmp_1869',['itmp',['../namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785',1,'moda_ivttmp']]], - ['itp_1870',['itp',['../namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251',1,'moda_tables']]], - ['ityp_1871',['ityp',['../namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522',1,'moda_comprx']]], - ['iutmp_1872',['iutmp',['../namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30',1,'moda_usrtmp']]], - ['ival_1873',['ival',['../namespacemoda__ival.html#a5b960a10512f7450b54e1b728770bd58',1,'moda_ival']]], - ['ivmnem_1874',['ivmnem',['../namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655',1,'moda_s01cm']]], - ['iwid_1875',['iwid',['../namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808',1,'moda_comprx']]] + ['flush_1341',['flush',['../namespacemoda__comprx.html#a47438a5eff5e61065fce0dc3df1694a7',1,'moda_comprx']]] ]; diff --git a/search/variables_4.js b/search/variables_4.js index 67b7492cc..54ef7f1ab 100644 --- a/search/variables_4.js +++ b/search/variables_4.js @@ -1,17 +1,68 @@ var searchData= [ - ['jbay_1876',['jbay',['../namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856',1,'moda_bufrsr']]], - ['jbit_1877',['jbit',['../namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08',1,'moda_bufrsr']]], - ['jbyt_1878',['jbyt',['../namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07',1,'moda_bufrsr']]], - ['jdat_1879',['jdat',['../namespacemoda__bufrsr.html#a6ed2bbddb1fe31a67e91755a97327a47',1,'moda_bufrsr']]], - ['jill_1880',['jill',['../namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06',1,'moda_bufrsr']]], - ['jimm_1881',['jimm',['../namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c',1,'moda_bufrsr']]], - ['jmpb_1882',['jmpb',['../namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb',1,'moda_tables']]], - ['jmsg_1883',['jmsg',['../namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0',1,'moda_bufrsr']]], - ['jnod_1884',['jnod',['../namespacemoda__bufrsr.html#a80378e3ec74ac01799783b12a2d93218',1,'moda_bufrsr']]], - ['jseq_1885',['jseq',['../namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6',1,'moda_tables']]], - ['jsr_1886',['jsr',['../namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51',1,'moda_bufrsr']]], - ['jsub_1887',['jsub',['../namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0',1,'moda_bufrsr']]], - ['jump_1888',['jump',['../namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36',1,'moda_tables']]], - ['junn_1889',['junn',['../namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d',1,'moda_bufrsr']]] + ['iac_1342',['iac',['../modules__vars_8F90.html#a7db5428bb409dc91391908e3f6005da0',1,'modv_vars']]], + ['iafpk_1343',['iafpk',['../mstabs_8h.html#aaa7c3e504e98938c63caeb866c071c59',1,'mstabs.h']]], + ['ibay_1344',['ibay',['../namespacemoda__bitbuf.html#a4910f483014af612d37ea34a1f477434',1,'moda_bitbuf']]], + ['ibfxyn_1345',['ibfxyn',['../namespacemoda__mstabs.html#af0d2b78411b01dc1aabe9baf6c946b38',1,'moda_mstabs']]], + ['ibfxyn_5fc_1346',['ibfxyn_c',['../mstabs_8h.html#acdfc509abed04b3bc643a4171c419fa4',1,'mstabs.h']]], + ['ibit_1347',['ibit',['../namespacemoda__bitbuf.html#a8c052fc732472f6f329209ac2db75cf9',1,'moda_bitbuf']]], + ['iblock_1348',['iblock',['../modules__vars_8F90.html#a8623e746f63272cf61b014607d998345',1,'modv_vars']]], + ['ibt_1349',['ibt',['../namespacemoda__tables.html#a1ff254e3c0f169340a16225a17c5a2c2',1,'moda_tables']]], + ['ibtmse_1350',['ibtmse',['../namespacemoda__bitmaps.html#ab3096b8b9d713e5183ac8275305e002a',1,'moda_bitmaps']]], + ['ibtnrv_1351',['ibtnrv',['../namespacemoda__nrv203.html#af1ca5281543dc4ce645d861f7f744c6d',1,'moda_nrv203']]], + ['icdxts_1352',['icdxts',['../namespacemoda__msgmem.html#a52a37b6bcc7ed3492325f47e1f8018ab',1,'moda_msgmem']]], + ['idate_1353',['idate',['../namespacemoda__msgcwd.html#a37df9d6a60023612be784db0b759da3b',1,'moda_msgcwd']]], + ['idcach_1354',['idcach',['../namespacemoda__dscach.html#ab79409e1e5c6d8e2542bac564283a5ef',1,'moda_dscach']]], + ['idefxy_1355',['idefxy',['../namespacemoda__mstabs.html#aeabc918978c598efc0231fc59d2bfd24',1,'moda_mstabs']]], + ['idefxy_5fc_1356',['idefxy_c',['../mstabs_8h.html#a006ec50bbb9f20fad017eb980cc7afa0',1,'mstabs.h']]], + ['idfxyn_1357',['idfxyn',['../namespacemoda__mstabs.html#a089cf80d582ff75c6596063d0ed8c049',1,'moda_mstabs']]], + ['idfxyn_5fc_1358',['idfxyn_c',['../mstabs_8h.html#a2798d24f3443eeee2999eddf34d24c19',1,'mstabs.h']]], + ['idna_1359',['idna',['../namespacemoda__tababd.html#a6e28d53baf8dce1d6a5c4b91546cfcca',1,'moda_tababd']]], + ['idnb_1360',['idnb',['../namespacemoda__tababd.html#ab09abac79a48acf677cf36764ffe5db5',1,'moda_tababd']]], + ['idnd_1361',['idnd',['../namespacemoda__tababd.html#a9e14841d9a084410d3ee7d5d08d3bf5e',1,'moda_tababd']]], + ['idnr_1362',['idnr',['../modules__vars_8F90.html#a181516c96f53bedb9774c83ebfeb0a23',1,'modv_vars']]], + ['idrdm_1363',['idrdm',['../namespacemoda__idrdm.html#a24e12e5c288360f0e7e6483094773db6',1,'moda_idrdm']]], + ['ids3_1364',['ids3',['../namespacemoda__s3list.html#a07f44b4772abffacaba7e9be5fbb7fda',1,'moda_s3list']]], + ['iefxyn_1365',['iefxyn',['../namespacemoda__rdmtb.html#ab26bcc9dccfa0b250af20392755adf93',1,'moda_rdmtb']]], + ['ienrv_1366',['ienrv',['../namespacemoda__nrv203.html#a2784f03b6c19452c601b1377a3ed59a1',1,'moda_nrv203']]], + ['ifdxts_1367',['ifdxts',['../namespacemoda__msgmem.html#a55020aca1118bb6f09f8b3d1f68a5c74',1,'moda_msgmem']]], + ['ifopbf_1368',['ifopbf',['../modules__vars_8F90.html#a6007e8a5d98440d7bb16ce63bbf007e6',1,'modv_vars']]], + ['im8b_1369',['im8b',['../modules__vars_8F90.html#a4ff59bf9f9ee31e187bf7f8ecb61f4dd',1,'modv_vars']]], + ['imiss_1370',['imiss',['../namespacemoda__comprx.html#a7a0967a79c236a16f1fa11ebb8f99b0f',1,'moda_comprx']]], + ['incr_1371',['incr',['../namespacemoda__comprs.html#a7e5d5589bde01337616f2527beed519f',1,'moda_comprs']]], + ['inode_1372',['inode',['../namespacemoda__msgcwd.html#a034d50224d3416c855472ead1043b1aa',1,'moda_msgcwd']]], + ['inodnrv_1373',['inodnrv',['../namespacemoda__nrv203.html#ad4299c9b916b83272f07cba8d2d22d4f',1,'moda_nrv203']]], + ['inodtamc_1374',['inodtamc',['../namespacemoda__bitmaps.html#a6ab1ee23535fd8b352c4f5d863a1c458',1,'moda_bitmaps']]], + ['inodtco_1375',['inodtco',['../namespacemoda__bitmaps.html#a481c60320ac88f9d5b5d85d1af3a60cf',1,'moda_bitmaps']]], + ['inv_1376',['inv',['../namespacemoda__usrint.html#a7e27d4bdf5a372fd7dac8ede033f969e',1,'moda_usrint']]], + ['iolun_1377',['iolun',['../namespacemoda__stbfr.html#aa6ed42f02eb5933c83e7acf1422b8d99',1,'moda_stbfr']]], + ['iomsg_1378',['iomsg',['../namespacemoda__stbfr.html#ac23d0e71777440374b51773ab34d31c7',1,'moda_stbfr']]], + ['iordbe_1379',['iordbe',['../modules__vars_8F90.html#a2588ca33cb30f0316759c9ca7735bbb3',1,'modv_vars']]], + ['iordle_1380',['iordle',['../modules__vars_8F90.html#a7376f8406ce5e5e420d4d012aea93416',1,'modv_vars']]], + ['ipdxm_1381',['ipdxm',['../namespacemoda__msgmem.html#af55ccb71d40a6980f3e18dee2ea3a9db',1,'moda_msgmem']]], + ['ipfnrv_1382',['ipfnrv',['../namespacemoda__nrv203.html#aadd51c4f00c0c4a12b922aace0ed04f7',1,'moda_nrv203']]], + ['ipmsgs_1383',['ipmsgs',['../namespacemoda__msgmem.html#a07ee8cbf949167ffea7e2ac9ceddd536',1,'moda_msgmem']]], + ['irbit_1384',['irbit',['../namespacemoda__rlccmn.html#a90cc348c7156330efc75a45e5e5860ca',1,'moda_rlccmn']]], + ['irf_1385',['irf',['../namespacemoda__tables.html#a17c04e8d3d8d361463e3f2fc0b3dd599',1,'moda_tables']]], + ['irnch_1386',['irnch',['../namespacemoda__rlccmn.html#a76b8845911215f91b5a91128facb7cbd',1,'moda_rlccmn']]], + ['irp_1387',['irp',['../namespacemoda__nmikrp.html#a6e3f292bfc1ab7b63b783bdf0266c812',1,'moda_nmikrp']]], + ['isc_1388',['isc',['../namespacemoda__tables.html#a1c370e229cc62002283ca2462296273e',1,'moda_tables']]], + ['isc3_1389',['isc3',['../namespacemoda__sc3bfr.html#ac3bbd45f25c8071e161bf7898230695a',1,'moda_sc3bfr']]], + ['iscodes_1390',['iscodes',['../namespacemoda__stcode.html#a81b647a972ded879adf10cb98bfaab2e',1,'moda_stcode']]], + ['iseq_1391',['iseq',['../namespacemoda__tables.html#a18e681f9bedbaadf3526641e19598901',1,'moda_tables']]], + ['isnrv_1392',['isnrv',['../namespacemoda__nrv203.html#a61eaac2cb0e3dd6de4d02e9986cab602',1,'moda_nrv203']]], + ['istbtm_1393',['istbtm',['../namespacemoda__bitmaps.html#a5a7267a967fec712c56a680893698965',1,'moda_bitmaps']]], + ['iszbtm_1394',['iszbtm',['../namespacemoda__bitmaps.html#a2648b6b58fd6cf4c983b5c4c23b29574',1,'moda_bitmaps']]], + ['itmp_1395',['itmp',['../namespacemoda__ivttmp.html#af59d63e63df8f925e55a922d70a37785',1,'moda_ivttmp']]], + ['itp_1396',['itp',['../namespacemoda__tables.html#ab12171885e93720ae2716b4b1ecae251',1,'moda_tables']]], + ['itrdy_1397',['itrdy',['../namespacemoda__tnkrcp.html#a97f45bd4e10b6016c9ef17bbd0efc2ca',1,'moda_tnkrcp']]], + ['itrhr_1398',['itrhr',['../namespacemoda__tnkrcp.html#a12d35afcaacac53905061f928377d92b',1,'moda_tnkrcp']]], + ['itrmi_1399',['itrmi',['../namespacemoda__tnkrcp.html#aceb65be824d657fa109be2d9059a3a2b',1,'moda_tnkrcp']]], + ['itrmo_1400',['itrmo',['../namespacemoda__tnkrcp.html#af081362974b0ae4f5be67c4bea20bae6',1,'moda_tnkrcp']]], + ['itryr_1401',['itryr',['../namespacemoda__tnkrcp.html#a3f402734944f1438bc986b0d877a0bd7',1,'moda_tnkrcp']]], + ['ityp_1402',['ityp',['../namespacemoda__comprx.html#a8ecc5d87d79c8c3aa778665041bcb522',1,'moda_comprx']]], + ['iutmp_1403',['iutmp',['../namespacemoda__usrtmp.html#a77349b5f0a6f8916850dcb253aee1f30',1,'moda_usrtmp']]], + ['ival_1404',['ival',['../namespacemoda__ival.html#a354161b574c84bfd3401bc0b287335c7',1,'moda_ival']]], + ['ivmnem_1405',['ivmnem',['../namespacemoda__s01cm.html#a320a25005a0063e8a0713fc66973b655',1,'moda_s01cm']]], + ['iwid_1406',['iwid',['../namespacemoda__comprx.html#aa945d27bc1c5cf32ea5ba624ef289808',1,'moda_comprx']]] ]; diff --git a/search/variables_5.js b/search/variables_5.js index a23b70a9b..24eb6c47a 100644 --- a/search/variables_5.js +++ b/search/variables_5.js @@ -1,12 +1,16 @@ var searchData= [ - ['kbit_1890',['kbit',['../namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147',1,'moda_comprx']]], - ['kbyt_1891',['kbyt',['../namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8',1,'moda_comprx']]], - ['kmax_1892',['kmax',['../namespacemoda__comprx.html#a1ffd4baa8c4d960216a59e8c900c6a71',1,'moda_comprx']]], - ['kmin_1893',['kmin',['../namespacemoda__comprx.html#ad51ebce67c88b36c4ad4a07ee1a49732',1,'moda_comprx']]], - ['kmis_1894',['kmis',['../namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1',1,'moda_comprx']]], - ['knt_1895',['knt',['../namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b',1,'moda_tables']]], - ['knti_1896',['knti',['../namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3',1,'moda_tables']]], - ['krp_1897',['krp',['../namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876',1,'moda_nmikrp']]], - ['ksub_1898',['ksub',['../namespacemoda__bufrsr.html#ab0dfe362eac51af76fd38ba7ecd3bbc6',1,'moda_bufrsr']]] + ['jbay_1407',['jbay',['../namespacemoda__bufrsr.html#adff426f406bb1f795e94c0af6d68d856',1,'moda_bufrsr']]], + ['jbit_1408',['jbit',['../namespacemoda__bufrsr.html#a80dd6be1ed3b93e6cb6fcfef1e87ee08',1,'moda_bufrsr']]], + ['jbyt_1409',['jbyt',['../namespacemoda__bufrsr.html#ab23685bcce40ee0d9f71f881bdfa0d07',1,'moda_bufrsr']]], + ['jill_1410',['jill',['../namespacemoda__bufrsr.html#a157bb0cb25913753748822ce3c384b06',1,'moda_bufrsr']]], + ['jimm_1411',['jimm',['../namespacemoda__bufrsr.html#a225d75cc454938f8da4ed39857ff2c5c',1,'moda_bufrsr']]], + ['jlnode_1412',['jlnode',['../namespacemoda__comprx.html#a7caf741d65ff0b68932fa7d207c689ba',1,'moda_comprx']]], + ['jmpb_1413',['jmpb',['../namespacemoda__tables.html#a5a1f71e4a27babbf5eadd01f7b3dcdcb',1,'moda_tables']]], + ['jmsg_1414',['jmsg',['../namespacemoda__bufrsr.html#a4971d723fe9c86ed7741f7cfae61f2f0',1,'moda_bufrsr']]], + ['jseq_1415',['jseq',['../namespacemoda__tables.html#a0b8b25c6365505c5045ab473f54e03f6',1,'moda_tables']]], + ['jsr_1416',['jsr',['../namespacemoda__bufrsr.html#a38470e8cca9ad2afce56dd577ddd5b51',1,'moda_bufrsr']]], + ['jsub_1417',['jsub',['../namespacemoda__bufrsr.html#a821fcf75cf865aaebdba3527d04190e0',1,'moda_bufrsr']]], + ['jump_1418',['jump',['../namespacemoda__tables.html#a945fc956c1c6ba8c37bfe63c04837b36',1,'moda_tables']]], + ['junn_1419',['junn',['../namespacemoda__bufrsr.html#a9ec76b10297b2e9521682a1e2014370d',1,'moda_bufrsr']]] ]; diff --git a/search/variables_6.js b/search/variables_6.js index 179277b93..48b720efe 100644 --- a/search/variables_6.js +++ b/search/variables_6.js @@ -1,16 +1,11 @@ var searchData= [ - ['ldxm_1899',['ldxm',['../namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5',1,'moda_msgmem']]], - ['ldxts_1900',['ldxts',['../namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f',1,'moda_msgmem']]], - ['linbtm_1901',['linbtm',['../namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80',1,'moda_bitmaps']]], - ['link_1902',['link',['../namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c',1,'moda_tables']]], - ['lstnod_1903',['lstnod',['../namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d',1,'moda_bitmaps']]], - ['lstnodct_1904',['lstnodct',['../namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e',1,'moda_bitmaps']]], - ['lstpos_1905',['lstpos',['../cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0',1,'cread.h']]], - ['ltbd_1906',['ltbd',['../namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c',1,'share_table_info']]], - ['ludx_1907',['ludx',['../namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f',1,'share_table_info']]], - ['luh4wlc_1908',['luh4wlc',['../namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71',1,'moda_h4wlc']]], - ['lunc_1909',['lunc',['../namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3',1,'moda_comprx']]], - ['luncpy_1910',['luncpy',['../namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf',1,'moda_ufbcpl']]], - ['lus_1911',['lus',['../namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6',1,'moda_lushr']]] + ['kbit_1420',['kbit',['../namespacemoda__comprx.html#ad9b27559a7e05f9939764fa6688d7147',1,'moda_comprx']]], + ['kbyt_1421',['kbyt',['../namespacemoda__comprx.html#a243a2baa283f951be51ea9466cca35b8',1,'moda_comprx']]], + ['kmax_1422',['kmax',['../namespacemoda__comprx.html#a7c3104f9c9731b91a8a105bcc5212542',1,'moda_comprx']]], + ['kmin_1423',['kmin',['../namespacemoda__comprx.html#af3c2aa97661a37d85840d480e611695e',1,'moda_comprx']]], + ['kmis_1424',['kmis',['../namespacemoda__comprx.html#aedf59ef218e980c24d128aa7bc8884b1',1,'moda_comprx']]], + ['knt_1425',['knt',['../namespacemoda__tables.html#a28b0f02b81a535890fc64ec13fdfc35b',1,'moda_tables']]], + ['knti_1426',['knti',['../namespacemoda__tables.html#af5a5b5688cbfbea4a3d5d0705172fba3',1,'moda_tables']]], + ['krp_1427',['krp',['../namespacemoda__nmikrp.html#a547378be8180b17844161916eca1e876',1,'moda_nmikrp']]] ]; diff --git a/search/variables_7.js b/search/variables_7.js index 2a69383e5..be4cd93f5 100644 --- a/search/variables_7.js +++ b/search/variables_7.js @@ -1,53 +1,18 @@ var searchData= [ - ['matx_1912',['matx',['../namespacemoda__comprs.html#a7797aca7884ff0e46979d4a5c120a576',1,'moda_comprs']]], - ['maxbyt_1913',['maxbyt',['../namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc',1,'moda_bitbuf']]], - ['maxcd_1914',['maxcd',['../namespacemodv__maxcd.html#a9de0bfc19c54f103e9edb2864d8778f8',1,'modv_maxcd']]], - ['maxjl_1915',['maxjl',['../namespacemodv__maxjl.html#adb7e2a387689aae3a964d3f379e14d61',1,'modv_maxjl']]], - ['maxmem_1916',['maxmem',['../namespacemodv__maxmem.html#a25bac0a9ac9ec7e2385b2c0d7b860ee1',1,'modv_maxmem']]], - ['maxmsg_1917',['maxmsg',['../namespacemodv__maxmsg.html#a00da6b40b76b72a75b2948b026e8ad46',1,'modv_maxmsg']]], - ['maxnc_1918',['maxnc',['../namespacemodv__maxnc.html#a9ba251d03efb6ce30eb35ccefa5fee1e',1,'modv_maxnc']]], - ['maxss_1919',['maxss',['../namespacemodv__maxss.html#a0109e3f912cb9a045bd0bdbc2c3599a2',1,'modv_maxss']]], - ['maxtab_1920',['maxtab',['../namespacemoda__tables.html#a36137a9a943b036fa381924821caf8e2',1,'moda_tables']]], - ['maxtba_1921',['maxtba',['../namespacemodv__maxtba.html#ac5b7bef2c4078bf74e81a1773767624a',1,'modv_maxtba']]], - ['maxtbb_1922',['maxtbb',['../namespacemodv__maxtbb.html#a64a2fe94d8f8c4459f811370e8ff71f2',1,'modv_maxtbb']]], - ['maxtbd_1923',['maxtbd',['../namespacemodv__maxtbd.html#af0bace2fd3fb04c6d0243ca4004616e0',1,'modv_maxtbd']]], - ['mbay_1924',['mbay',['../namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050',1,'moda_bitbuf']]], - ['mbit_1925',['mbit',['../namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a',1,'moda_usrbit']]], - ['mbyt_1926',['mbyt',['../namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a',1,'moda_bitbuf']]], - ['mdx_1927',['mdx',['../namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94',1,'moda_msgmem']]], - ['mgwa_1928',['mgwa',['../namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a',1,'moda_mgwa']]], - ['mgwb_1929',['mgwb',['../namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa',1,'moda_mgwb']]], - ['mlast_1930',['mlast',['../namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9',1,'moda_msgmem']]], - ['msglen_1931',['msglen',['../namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211',1,'moda_bufrmg']]], - ['msglim_1932',['msglim',['../namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf',1,'moda_msglim']]], - ['msgp_1933',['msgp',['../namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2',1,'moda_msgmem']]], - ['msgs_1934',['msgs',['../namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227',1,'moda_msgmem']]], - ['msgtxt_1935',['msgtxt',['../namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793',1,'moda_bufrmg']]], - ['msgunp_1936',['msgunp',['../namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca',1,'moda_unptyp']]], - ['msub_1937',['msub',['../namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295',1,'moda_msgcwd']]], - ['mtab_1938',['mtab',['../namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56',1,'moda_tababd']]], - ['munit_1939',['munit',['../namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc',1,'moda_msgmem']]], - ['mxbtm_1940',['mxbtm',['../namespacemodv__mxbtm.html#ab4a909f2f76ec550ae2776645a8df46f',1,'modv_mxbtm']]], - ['mxbtmse_1941',['mxbtmse',['../namespacemodv__mxbtmse.html#a5cbb45a528e6d0aa7c0920ad894d51ac',1,'modv_mxbtmse']]], - ['mxcdv_1942',['mxcdv',['../namespacemodv__mxcdv.html#a4a04738aa454a7cad1dbc581f50d0ff7',1,'modv_mxcdv']]], - ['mxcnem_1943',['mxcnem',['../namespacemodv__mxcnem.html#aa365d7315624259a7a21adeb3a628cd3',1,'modv_mxcnem']]], - ['mxcsb_1944',['mxcsb',['../namespacemodv__mxcsb.html#a32acff1af258eba800833e352391e17c',1,'modv_mxcsb']]], - ['mxdxm_1945',['mxdxm',['../namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd',1,'moda_msgmem']]], - ['mxdxts_1946',['mxdxts',['../namespacemodv__mxdxts.html#a5f1a9fea4a54d99b9967c8aec183f884',1,'modv_mxdxts']]], - ['mxdxw_1947',['mxdxw',['../namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142',1,'moda_msgmem']]], - ['mxh4wlc_1948',['mxh4wlc',['../namespacemodv__mxh4wlc.html#a5f5b13fe947cc288f30e436dd890b886',1,'modv_mxh4wlc']]], - ['mxlcc_1949',['mxlcc',['../namespacemodv__mxlcc.html#aae993775b8e9aac22197a7636a31b8af',1,'modv_mxlcc']]], - ['mxmsgl_1950',['mxmsgl',['../namespacemodv__mxmsgl.html#af27eca23c1db9f9eaa447523aacb9ccc',1,'modv_mxmsgl']]], - ['mxmsgld4_1951',['mxmsgld4',['../namespacemodv__mxmsgl.html#a2f7d0410150f8171819ce9dd08a04ce9',1,'modv_mxmsgl']]], - ['mxmtbb_1952',['mxmtbb',['../namespacemodv__mxmtbb.html#a5485fe7cfc03d43037332374b6978139',1,'modv_mxmtbb']]], - ['mxmtbd_1953',['mxmtbd',['../namespacemodv__mxmtbd.html#a9a0e83b3c30a94df1f775cbac21909ea',1,'modv_mxmtbd']]], - ['mxmtbf_1954',['mxmtbf',['../cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2',1,'mxmtbf(): cfe.c'],['../namespacemodv__mxmtbf.html#a1d1180c7ebc57b9027adad1c8416b363',1,'modv_mxmtbf::mxmtbf()']]], - ['mxnaf_1955',['mxnaf',['../namespacemodv__mxnaf.html#a4bcae72ec91bf4e2aa24ded587ee0b2e',1,'modv_mxnaf']]], - ['mxnrv_1956',['mxnrv',['../namespacemodv__mxnrv.html#ad92fefa0c5524719c3c05092dbc55050',1,'modv_mxnrv']]], - ['mxrst_1957',['mxrst',['../namespacemodv__mxrst.html#a73203ec7925d5389a84367c937d3da97',1,'modv_mxrst']]], - ['mxs_1958',['mxs',['../namespacemodv__mxs.html#a72f17d1827d2fafc9ea4f8fc4effe375',1,'modv_mxs']]], - ['mxs01v_1959',['mxs01v',['../namespacemodv__mxs01v.html#a23decd12e10b603556fb90d309b32f51',1,'modv_mxs01v']]], - ['mxtamc_1960',['mxtamc',['../namespacemodv__mxtamc.html#ade76aa5db387438d3bd279e599df3e11',1,'modv_mxtamc']]], - ['mxtco_1961',['mxtco',['../namespacemodv__mxtco.html#a9a6ec441e7b71d30945ad61d917eda81',1,'modv_mxtco']]] + ['ldxm_1428',['ldxm',['../namespacemoda__msgmem.html#a79bdd90460fa467a8e9130089d7963a5',1,'moda_msgmem']]], + ['ldxts_1429',['ldxts',['../namespacemoda__msgmem.html#aa92c2a9b9faf87958775d45a00ee866f',1,'moda_msgmem']]], + ['lendat_1430',['lendat',['../modules__vars_8F90.html#a9776bd15698bdb2c211a2326f0ca61dc',1,'modv_vars']]], + ['lens_1431',['lens',['../modules__vars_8F90.html#a3eaffbddfb28ae6f90cff4ec580463c1',1,'modv_vars']]], + ['linbtm_1432',['linbtm',['../namespacemoda__bitmaps.html#acd6cd1e5190bdc17381e81624a7e2e80',1,'moda_bitmaps']]], + ['link_1433',['link',['../namespacemoda__tables.html#ac0c5953da2d8867d81acad1800fec53c',1,'moda_tables']]], + ['lstnod_1434',['lstnod',['../namespacemoda__bitmaps.html#a352a33aaf989dcaab7646f86aa41e27d',1,'moda_bitmaps']]], + ['lstnodct_1435',['lstnodct',['../namespacemoda__bitmaps.html#accaa0826b48e876c29f6bb8ebe21c83e',1,'moda_bitmaps']]], + ['lstpos_1436',['lstpos',['../cread_8h.html#af3681883f8ef0fe1771afc9aeb072eb0',1,'cread.h']]], + ['ltbd_1437',['ltbd',['../namespaceshare__table__info.html#a9cb558bc60eed8b777532f56fff8a08c',1,'share_table_info']]], + ['ludx_1438',['ludx',['../namespaceshare__table__info.html#a88fbe3e8e14e3810e1dc3f1560d1c51f',1,'share_table_info']]], + ['luh4wlc_1439',['luh4wlc',['../namespacemoda__h4wlc.html#aec0b91e9c09fffd506b27ea574b7da71',1,'moda_h4wlc']]], + ['lunc_1440',['lunc',['../namespacemoda__comprx.html#ac17dd8dc0aeb695a1046a884673b1fc3',1,'moda_comprx']]], + ['luncpy_1441',['luncpy',['../namespacemoda__ufbcpl.html#abf94758379c91be61fcf18f6c9dae5cf',1,'moda_ufbcpl']]], + ['lus_1442',['lus',['../namespacemoda__lushr.html#a3baea9191da6d91a8590cba5181493a6',1,'moda_lushr']]] ]; diff --git a/search/variables_8.js b/search/variables_8.js index e5bc9e78f..4eaf867ca 100644 --- a/search/variables_8.js +++ b/search/variables_8.js @@ -1,37 +1,53 @@ var searchData= [ - ['nbit_1962',['nbit',['../namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7',1,'moda_usrbit']]], - ['nbtm_1963',['nbtm',['../namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d',1,'moda_bitmaps']]], - ['nbtmse_1964',['nbtmse',['../namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c',1,'moda_bitmaps']]], - ['ncnem_1965',['ncnem',['../namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6',1,'moda_dscach']]], - ['ncol_1966',['ncol',['../namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133',1,'moda_comprs']]], - ['ndc_1967',['ndc',['../namespacemoda__dscach.html#af3bfb995ad7362f75b23ef21cc384e3c',1,'moda_dscach']]], - ['ndelem_1968',['ndelem',['../namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1',1,'moda_mstabs']]], - ['ndelem_5fc_1969',['ndelem_c',['../mstabs_8h.html#a6532afa4b2089e3b39acda01f93a1c26',1,'mstabs.h']]], - ['ndxm_1970',['ndxm',['../namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637',1,'moda_msgmem']]], - ['ndxts_1971',['ndxts',['../namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23',1,'moda_msgmem']]], - ['nem_1972',['nem',['../namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3',1,'moda_nmikrp']]], - ['nfiles_1973',['nfiles',['../namespacemodv__nfiles.html#a0523fa736e5303f831ba35f28f0e12e3',1,'modv_nfiles']]], - ['nh4wlc_1974',['nh4wlc',['../namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac',1,'moda_h4wlc']]], - ['nmsg_1975',['nmsg',['../namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad',1,'moda_msgcwd']]], - ['nmtb_1976',['nmtb',['../namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95',1,'moda_mstabs']]], - ['nmtb_5fc_1977',['nmtb_c',['../mstabs_8h.html#ab67e167996fc7e0e53306b46e3f224b0',1,'mstabs.h']]], - ['nmtd_1978',['nmtd',['../namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae',1,'moda_mstabs']]], - ['nmtd_5fc_1979',['nmtd_c',['../mstabs_8h.html#a80391270601339cad20bf1a9ddffd9ff',1,'mstabs.h']]], - ['nmtf_1980',['nmtf',['../cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b',1,'cfe.c']]], - ['nnrv_1981',['nnrv',['../namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e',1,'moda_nrv203']]], - ['nrfelm_1982',['nrfelm',['../namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a',1,'moda_usrint']]], - ['nrow_1983',['nrow',['../namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561',1,'moda_comprx']]], - ['nrst_1984',['nrst',['../namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f',1,'moda_rlccmn']]], - ['nrv_1985',['nrv',['../namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f',1,'moda_nrv203']]], - ['ns01v_1986',['ns01v',['../namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888',1,'moda_s01cm']]], - ['nsub_1987',['nsub',['../namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59',1,'moda_msgcwd']]], - ['ntab_1988',['ntab',['../namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc',1,'moda_tables']]], - ['ntamc_1989',['ntamc',['../namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396',1,'moda_bitmaps']]], - ['ntba_1990',['ntba',['../namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558',1,'moda_tababd']]], - ['ntbb_1991',['ntbb',['../namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f',1,'moda_tababd']]], - ['ntbd_1992',['ntbd',['../namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556',1,'moda_tababd']]], - ['ntco_1993',['ntco',['../namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404',1,'moda_bitmaps']]], - ['null_1994',['null',['../namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526',1,'moda_nulbfr']]], - ['nval_1995',['nval',['../namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261',1,'moda_usrint']]] + ['matx_1443',['matx',['../namespacemoda__comprs.html#ac4fd15b3e268548d17edca4e1e5e5675',1,'moda_comprs']]], + ['maxbyt_1444',['maxbyt',['../namespacemoda__bitbuf.html#aeb00e574adb63bf7cc809d540d5a02bc',1,'moda_bitbuf']]], + ['maxcd_1445',['maxcd',['../modules__vars_8F90.html#ae8a681bd9096d6c9a2466b3c71f6ec7e',1,'modv_vars']]], + ['maxjl_1446',['maxjl',['../modules__vars_8F90.html#ad2e54a398ee4fd5c87669a2883e7a37d',1,'modv_vars']]], + ['maxmem_1447',['maxmem',['../modules__vars_8F90.html#ab5934a6a2f8cd3e09418203c1d3c20de',1,'modv_vars']]], + ['maxmsg_1448',['maxmsg',['../modules__vars_8F90.html#a61162c966b964b3039b9180818d0e7ee',1,'modv_vars']]], + ['maxnc_1449',['maxnc',['../modules__vars_8F90.html#a6c14025516cc65ace5f17fc2c4e4a9a3',1,'modv_vars']]], + ['maxrcr_1450',['maxrcr',['../modules__vars_8F90.html#a656c690a79e927a6d824a1e8cef901e9',1,'modv_vars']]], + ['maxss_1451',['maxss',['../modules__vars_8F90.html#adaae2c5fadf243ece139cc7e84688d75',1,'modv_vars']]], + ['maxtba_1452',['maxtba',['../modules__vars_8F90.html#aec19b6418a5d88f574f4b196b93a5cf5',1,'modv_vars']]], + ['maxtbb_1453',['maxtbb',['../modules__vars_8F90.html#a14452fc0317594bd880c9abba582ae74',1,'modv_vars']]], + ['maxtbd_1454',['maxtbd',['../modules__vars_8F90.html#ab5fc7a78bb32e9a0fa7cbb1f402e7528',1,'modv_vars']]], + ['mbay_1455',['mbay',['../namespacemoda__bitbuf.html#aad8a1595878ac1a9907c708067c4c050',1,'moda_bitbuf']]], + ['mbit_1456',['mbit',['../namespacemoda__usrbit.html#ab5ade5e51c2620a6e6be9cad890baf7a',1,'moda_usrbit']]], + ['mbyt_1457',['mbyt',['../namespacemoda__bitbuf.html#acfcd2b4391b00ae43bdb026de8573c7a',1,'moda_bitbuf']]], + ['mdx_1458',['mdx',['../namespacemoda__msgmem.html#ab991cce44554fb17b1c1cd0474929a94',1,'moda_msgmem']]], + ['mgwa_1459',['mgwa',['../namespacemoda__mgwa.html#abe572c04d3aa498e8135d20e656d0e6a',1,'moda_mgwa']]], + ['mgwb_1460',['mgwb',['../namespacemoda__mgwb.html#ac38651460e5e05dd70fe8c19fc1a9caa',1,'moda_mgwb']]], + ['mlast_1461',['mlast',['../namespacemoda__msgmem.html#a9905d8bc2ddc7681086ea0319442d0d9',1,'moda_msgmem']]], + ['msglen_1462',['msglen',['../namespacemoda__bufrmg.html#a2514f74da635c6ba7047ec108ce4e211',1,'moda_bufrmg']]], + ['msglim_1463',['msglim',['../namespacemoda__msglim.html#abe63e3ddf9a739b073e8dd5b01460ddf',1,'moda_msglim']]], + ['msgp_1464',['msgp',['../namespacemoda__msgmem.html#a030ff35af84549af17fe0b0e4315ebf2',1,'moda_msgmem']]], + ['msgs_1465',['msgs',['../namespacemoda__msgmem.html#a0db33f8017f2c46947f0a5589ba98227',1,'moda_msgmem']]], + ['msgtxt_1466',['msgtxt',['../namespacemoda__bufrmg.html#a67590bc418c6aeb7792572c11a6bc793',1,'moda_bufrmg']]], + ['msgunp_1467',['msgunp',['../namespacemoda__unptyp.html#abc7e7be12befacea858a7f249c9425ca',1,'moda_unptyp']]], + ['msub_1468',['msub',['../namespacemoda__msgcwd.html#aaf25479459e35ef12ce20eecfc632295',1,'moda_msgcwd']]], + ['mtab_1469',['mtab',['../namespacemoda__tababd.html#a29788f9aef200e10d2f557c16abfaa56',1,'moda_tababd']]], + ['munit_1470',['munit',['../namespacemoda__msgmem.html#a5ac2ef8f11fcf81b55a5353dbfda18cc',1,'moda_msgmem']]], + ['mxbtm_1471',['mxbtm',['../modules__vars_8F90.html#a9c06e9ba0f47cbeecfb1e6d1972e1e4f',1,'modv_vars']]], + ['mxbtmse_1472',['mxbtmse',['../modules__vars_8F90.html#aa7b24da237033a528cb05754d5736cc6',1,'modv_vars']]], + ['mxcdv_1473',['mxcdv',['../modules__vars_8F90.html#ae330052e2bcc0a81949c5ef8d6e7cc9e',1,'modv_vars']]], + ['mxcnem_1474',['mxcnem',['../modules__vars_8F90.html#ad5cda585f8b55a9e6e3a81808c23630f',1,'modv_vars']]], + ['mxcsb_1475',['mxcsb',['../modules__vars_8F90.html#a6780f1f07eeec5333e01ca17588f7d39',1,'modv_vars']]], + ['mxdxm_1476',['mxdxm',['../namespacemoda__msgmem.html#a549e012729bbc3cb18894d34380ce5bd',1,'moda_msgmem']]], + ['mxdxts_1477',['mxdxts',['../modules__vars_8F90.html#a179ebe33ab923f74ef05e2851a86d33b',1,'modv_vars']]], + ['mxdxw_1478',['mxdxw',['../namespacemoda__msgmem.html#af2710ff69575fa7a323c654e7998e142',1,'moda_msgmem']]], + ['mxh4wlc_1479',['mxh4wlc',['../modules__vars_8F90.html#a59f64f9f847d2171ecac822482b2f0a9',1,'modv_vars']]], + ['mxlcc_1480',['mxlcc',['../modules__vars_8F90.html#a739ea87803beaa51dd172adb95af9b86',1,'modv_vars']]], + ['mxmsgl_1481',['mxmsgl',['../modules__vars_8F90.html#a6062176c0f51fa9f593310f46cc14fe0',1,'modv_vars']]], + ['mxmsgld4_1482',['mxmsgld4',['../modules__vars_8F90.html#a5a89be3220392c5b182d4d475d22e3e1',1,'modv_vars']]], + ['mxmtbb_1483',['mxmtbb',['../modules__vars_8F90.html#ab2c78405872b159e107674c2fc2a12f7',1,'modv_vars']]], + ['mxmtbd_1484',['mxmtbd',['../modules__vars_8F90.html#ae0bf7b02df4e070e72a90672e3eded90',1,'modv_vars']]], + ['mxmtbf_1485',['mxmtbf',['../cfe_8c.html#ada229859d4369f2b51b268c2a3bf4ea2',1,'mxmtbf(): cfe.c'],['../modules__vars_8F90.html#a9242cd091e5ab5d3956740035f6b6207',1,'modv_vars::mxmtbf()']]], + ['mxnaf_1486',['mxnaf',['../modules__vars_8F90.html#a7b92c0b0ed1fb2b80b048414fa1e54ce',1,'modv_vars']]], + ['mxnrv_1487',['mxnrv',['../modules__vars_8F90.html#a009fea23b90695d1556e33a557d4b7f1',1,'modv_vars']]], + ['mxrst_1488',['mxrst',['../modules__vars_8F90.html#ae2e923a33b968adc577317f6cef8f24e',1,'modv_vars']]], + ['mxs_1489',['mxs',['../modules__vars_8F90.html#a695fe6ca7714604e88e1fc4d21cc839d',1,'modv_vars']]], + ['mxs01v_1490',['mxs01v',['../modules__vars_8F90.html#a61b398d330ce6937423db44f080b93fd',1,'modv_vars']]], + ['mxtamc_1491',['mxtamc',['../modules__vars_8F90.html#a85bed6c0b0a9aa339abd8fb7b3a136b5',1,'modv_vars']]], + ['mxtco_1492',['mxtco',['../modules__vars_8F90.html#a68ea76a4751743e58280e061b43313e7',1,'modv_vars']]] ]; diff --git a/search/variables_9.js b/search/variables_9.js index 8d19d3083..10baae3bc 100644 --- a/search/variables_9.js +++ b/search/variables_9.js @@ -1,5 +1,39 @@ var searchData= [ - ['pb_1996',['pb',['../cread_8h.html#a58db779a0b3c7250a119069bd2e5106c',1,'cread.h']]], - ['pbf_1997',['pbf',['../crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193',1,'crwbmg.c']]] + ['nbit_1493',['nbit',['../namespacemoda__usrbit.html#a99268fc2b9168fcbbd5f8ab70e6da0b7',1,'moda_usrbit']]], + ['nbitw_1494',['nbitw',['../modules__vars_8F90.html#a18a87ef02ab98d62e7fa272b20acd77a',1,'modv_vars']]], + ['nbtm_1495',['nbtm',['../namespacemoda__bitmaps.html#a6530eb70f0a9131f659c61a74652c93d',1,'moda_bitmaps']]], + ['nbtmse_1496',['nbtmse',['../namespacemoda__bitmaps.html#ad03b1bbbb4eb8366a77af6da12f0793c',1,'moda_bitmaps']]], + ['nbytw_1497',['nbytw',['../modules__vars_8F90.html#a2b80f794fded7bf159ff58796ec31a7c',1,'modv_vars']]], + ['ncnem_1498',['ncnem',['../namespacemoda__dscach.html#aa768890377f016eaae82cb56404ecdc6',1,'moda_dscach']]], + ['ncol_1499',['ncol',['../namespacemoda__comprs.html#a0bab4a779995493580b46f231516e133',1,'moda_comprs']]], + ['ndc_1500',['ndc',['../namespacemoda__dscach.html#abbb9e570ae869b4abdf6e18c14475485',1,'moda_dscach']]], + ['ndelem_1501',['ndelem',['../namespacemoda__mstabs.html#a5f77a3f33df1fc46f007160428b674d1',1,'moda_mstabs']]], + ['ndelem_5fc_1502',['ndelem_c',['../mstabs_8h.html#ad9af08676809848df12a73ece2a37182',1,'mstabs.h']]], + ['ndxm_1503',['ndxm',['../namespacemoda__msgmem.html#a6e754cd1cdefe0c8c93ab497fcb33637',1,'moda_msgmem']]], + ['ndxts_1504',['ndxts',['../namespacemoda__msgmem.html#ab1873371ca3b5f3e44a5d19ebf30af23',1,'moda_msgmem']]], + ['nem_1505',['nem',['../namespacemoda__nmikrp.html#a94ad19bfc71bbfcd6f1caf4a744d5eb3',1,'moda_nmikrp']]], + ['nfiles_1506',['nfiles',['../modules__vars_8F90.html#aa9124552f5c640e47f8decc9499688d8',1,'modv_vars']]], + ['nh4wlc_1507',['nh4wlc',['../namespacemoda__h4wlc.html#a013b7b1f0e72002222c0ee2ae5a3dcac',1,'moda_h4wlc']]], + ['nmsg_1508',['nmsg',['../namespacemoda__msgcwd.html#a43a1031d5c017c6f61ba6deabe22daad',1,'moda_msgcwd']]], + ['nmtb_1509',['nmtb',['../namespacemoda__mstabs.html#a2861db4fcd6083b5f6d194c92e873c95',1,'moda_mstabs']]], + ['nmtb_5fc_1510',['nmtb_c',['../mstabs_8h.html#ad93c9a8906bf4b63fba3143c8d9d5da5',1,'mstabs.h']]], + ['nmtd_1511',['nmtd',['../namespacemoda__mstabs.html#ae8e13371b82ad223284aeac9d6ad9aae',1,'moda_mstabs']]], + ['nmtd_5fc_1512',['nmtd_c',['../mstabs_8h.html#aaa17913e195f9e3cf457d748d2c8f60e',1,'mstabs.h']]], + ['nmtf_1513',['nmtf',['../cfe_8c.html#aeade079cc5207ec44fe26e6a90c38d3b',1,'cfe.c']]], + ['nnrv_1514',['nnrv',['../namespacemoda__nrv203.html#a7f37665c0422638e65824c8b9183169e',1,'moda_nrv203']]], + ['nrfelm_1515',['nrfelm',['../namespacemoda__usrint.html#ab05877244c7131b445de4326efd8aa8a',1,'moda_usrint']]], + ['nrow_1516',['nrow',['../namespacemoda__comprx.html#a574b3c666f5e8aa725910e20a739f561',1,'moda_comprx']]], + ['nrst_1517',['nrst',['../namespacemoda__rlccmn.html#a6ee3ae8f4cfb91d15189834b8b62d41f',1,'moda_rlccmn']]], + ['nrv_1518',['nrv',['../namespacemoda__nrv203.html#a9c4d7ff754fd79feb908c6858f7e4e5f',1,'moda_nrv203']]], + ['ns01v_1519',['ns01v',['../namespacemoda__s01cm.html#a7dfdd248050c7cc36f38933711526888',1,'moda_s01cm']]], + ['nsub_1520',['nsub',['../namespacemoda__msgcwd.html#ac477545b5d44685da84af7f23d7baa59',1,'moda_msgcwd']]], + ['ntab_1521',['ntab',['../namespacemoda__tables.html#a74976394b2b70036d27222507ba4bfcc',1,'moda_tables']]], + ['ntamc_1522',['ntamc',['../namespacemoda__bitmaps.html#a4dfbf13c3d38b007276cb0f5c5418396',1,'moda_bitmaps']]], + ['ntba_1523',['ntba',['../namespacemoda__tababd.html#a02ea2421e524ac9f2f8e213dd0151558',1,'moda_tababd']]], + ['ntbb_1524',['ntbb',['../namespacemoda__tababd.html#a8f322e3d7724bb96f7ce06beec989c0f',1,'moda_tababd']]], + ['ntbd_1525',['ntbd',['../namespacemoda__tababd.html#a875c0ff90cd5fdc88e3f10ae7b5bc556',1,'moda_tababd']]], + ['ntco_1526',['ntco',['../namespacemoda__bitmaps.html#aef82673973ab814f34658d9a1e5f3404',1,'moda_bitmaps']]], + ['null_1527',['null',['../namespacemoda__nulbfr.html#a1b6c0eaf2305df7abddd8c6c66723526',1,'moda_nulbfr']]], + ['nval_1528',['nval',['../namespacemoda__usrint.html#a2269ddd572fded029ca62080b38f6261',1,'moda_usrint']]] ]; diff --git a/search/variables_a.js b/search/variables_a.js index 84effb5be..d293e692a 100644 --- a/search/variables_a.js +++ b/search/variables_a.js @@ -1,4 +1,5 @@ var searchData= [ - ['sth4wlc_1998',['sth4wlc',['../namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889',1,'moda_h4wlc']]] + ['pb_1529',['pb',['../cread_8h.html#a58db779a0b3c7250a119069bd2e5106c',1,'cread.h']]], + ['pbf_1530',['pbf',['../crwbmg_8c.html#ae17af2b55406347c25aca1cb56d7b193',1,'crwbmg.c']]] ]; diff --git a/search/variables_b.js b/search/variables_b.js index 63546f902..e171c2503 100644 --- a/search/variables_b.js +++ b/search/variables_b.js @@ -1,12 +1,4 @@ var searchData= [ - ['taba_1999',['taba',['../namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65',1,'moda_tababd']]], - ['tabb_2000',['tabb',['../namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c',1,'moda_tababd']]], - ['tabd_2001',['tabd',['../namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c',1,'moda_tababd']]], - ['tag_2002',['tag',['../namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4',1,'moda_tables']]], - ['tagnrv_2003',['tagnrv',['../namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de',1,'moda_nrv203']]], - ['tamnem_2004',['tamnem',['../namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584',1,'moda_sc3bfr']]], - ['tbldir_5ff_2005',['tbldir_f',['../namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02',1,'share_table_info']]], - ['ttmp_2006',['ttmp',['../namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e',1,'moda_ivttmp']]], - ['typ_2007',['typ',['../namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c',1,'moda_tables']]] + ['reps_1531',['reps',['../modules__vars_8F90.html#a5b163d0f13c16e94bdac566d2495faf7',1,'modv_vars']]] ]; diff --git a/search/variables_c.js b/search/variables_c.js index 6f9211f51..f9873cc2e 100644 --- a/search/variables_c.js +++ b/search/variables_c.js @@ -1,7 +1,4 @@ var searchData= [ - ['val_2008',['val',['../namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486',1,'moda_usrint']]], - ['vali_2009',['vali',['../namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed',1,'moda_tables']]], - ['vtmp_2010',['vtmp',['../namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b',1,'moda_ivttmp']]], - ['vutmp_2011',['vutmp',['../namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973',1,'moda_usrtmp']]] + ['sth4wlc_1532',['sth4wlc',['../namespacemoda__h4wlc.html#a25deca91911dc2223155e55c8b47f889',1,'moda_h4wlc']]] ]; diff --git a/search/variables_d.js b/search/variables_d.js index 705d51dd2..808964d56 100644 --- a/search/variables_d.js +++ b/search/variables_d.js @@ -1,4 +1,13 @@ var searchData= [ - ['writ1_2012',['writ1',['../namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02',1,'moda_comprx']]] + ['taba_1533',['taba',['../namespacemoda__tababd.html#a21f38471f40c0eaecdf011d5b594de65',1,'moda_tababd']]], + ['tabb_1534',['tabb',['../namespacemoda__tababd.html#ad3fddde254d512cae401fc3f5532fe7c',1,'moda_tababd']]], + ['tabd_1535',['tabd',['../namespacemoda__tababd.html#a043c64825f8bdb44c4e6b69d2f5c253c',1,'moda_tababd']]], + ['tag_1536',['tag',['../namespacemoda__tables.html#a5f03be0ecd3fa7e059b9c74fb67cd4e4',1,'moda_tables']]], + ['tagnrv_1537',['tagnrv',['../namespacemoda__nrv203.html#a5f80cd868154c06f202e5886d40750de',1,'moda_nrv203']]], + ['tamnem_1538',['tamnem',['../namespacemoda__sc3bfr.html#aa480a82940946343d0d30d8f65c27584',1,'moda_sc3bfr']]], + ['tbldir_5ff_1539',['tbldir_f',['../namespaceshare__table__info.html#ad7e71b6c16362d8d65d97662bcdd7d02',1,'share_table_info']]], + ['ttmp_1540',['ttmp',['../namespacemoda__ivttmp.html#a126e6cfde8da74741042004b33f48a9e',1,'moda_ivttmp']]], + ['typ_1541',['typ',['../namespacemoda__tables.html#a4ff0c6b9328407caa52c08dd22d7525c',1,'moda_tables']]], + ['typs_1542',['typs',['../modules__vars_8F90.html#a9d4bd8b03fd20102645f0a43d8867bff',1,'modv_vars']]] ]; diff --git a/search/variables_e.js b/search/variables_e.js index e6636854d..7c1e730a6 100644 --- a/search/variables_e.js +++ b/search/variables_e.js @@ -1,4 +1,7 @@ var searchData= [ - ['xtab_2013',['xtab',['../namespacemoda__xtab.html#ada2721216de79b6527d89323df61956d',1,'moda_xtab']]] + ['val_1543',['val',['../namespacemoda__usrint.html#a7ad9ef51fc135aad9fcecba2a636f486',1,'moda_usrint']]], + ['vali_1544',['vali',['../namespacemoda__tables.html#a2a706219ab0edde0511570bfa32093ed',1,'moda_tables']]], + ['vtmp_1545',['vtmp',['../namespacemoda__ivttmp.html#ad4937a8d8159f5b7fff9d51b59c6324b',1,'moda_ivttmp']]], + ['vutmp_1546',['vutmp',['../namespacemoda__usrtmp.html#afcc556a5fac9b693f0be507fafccf973',1,'moda_usrtmp']]] ]; diff --git a/search/variables_f.html b/search/variables_f.html new file mode 100644 index 000000000..d97920d08 --- /dev/null +++ b/search/variables_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                    +
                                    Loading...
                                    +
                                    + +
                                    Searching...
                                    +
                                    No Matches
                                    + +
                                    + + diff --git a/search/variables_f.js b/search/variables_f.js new file mode 100644 index 000000000..421c6346f --- /dev/null +++ b/search/variables_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['writ1_1547',['writ1',['../namespacemoda__comprx.html#a8be10a997d67944a328d256bfc60bf02',1,'moda_comprx']]] +]; diff --git a/sinv_8F90.html b/sinv_8F90.html new file mode 100644 index 000000000..c3f7d078e --- /dev/null +++ b/sinv_8F90.html @@ -0,0 +1,213 @@ + + + + + + + +NCEPLIBS-bufr: sinv.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    sinv.F90 File Reference
                                    +
                                    +
                                    + +

                                    Produces a BUFR file inventory by satellite type. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + +

                                    +Functions/Subroutines

                                    subroutine satcode (lunit, icode, csad, jcode, csid)
                                     This subroutine looks in the master BUFR tables for meaning strings associated with specified code figures for the satellite platform and instrument. More...
                                     
                                    program sinv
                                     Usage: sinv <satbufrfile> will print inventory of satellites by platform and instrument. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Produces a BUFR file inventory by satellite type.

                                    +

                                    Looks in the BUFR tables to get meaning strings for satellite platform and instrument codes.

                                    +
                                    Author
                                    J Woollen
                                    +
                                    Date
                                    2010
                                    + +

                                    Definition in file sinv.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ satcode()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine satcode ( lunit,
                                     icode,
                                    character(16) csad,
                                     jcode,
                                    character(80) csid 
                                    )
                                    +
                                    + +

                                    This subroutine looks in the master BUFR tables for meaning strings associated with specified code figures for the satellite platform and instrument.

                                    +
                                    Parameters
                                    + + + + + + +
                                    [in]lunit- integer: Fortran logical unit number for BUFR file
                                    [in]icode- integer: satellite platform code
                                    [out]csad- character*16: meaning string associated with icode
                                    [in]jcode- integer: satellite instrument code
                                    [out]csid- character*80: meaning string associated with jcode
                                    +
                                    +
                                    +
                                    Author
                                    J Woollen
                                    +
                                    Date
                                    2010
                                    + +

                                    Definition at line 119 of file sinv.F90.

                                    + +

                                    References getcfmng().

                                    + +

                                    Referenced by sinv().

                                    + +
                                    +
                                    + +

                                    ◆ sinv()

                                    + +
                                    +
                                    + + + + +
                                    program sinv
                                    +
                                    + +

                                    Usage: sinv <satbufrfile> will print inventory of satellites by platform and instrument.

                                    +
                                    Returns
                                    0 for success, error message otherwise.
                                    +
                                    Author
                                    J Woollen
                                    +
                                    Date
                                    2010
                                    + +

                                    Definition at line 11 of file sinv.F90.

                                    + +

                                    References bort(), codflg(), mtinfo(), openbf(), readmg(), satcode(), and ufbtab().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/sinv_8F90.js b/sinv_8F90.js new file mode 100644 index 000000000..26b325701 --- /dev/null +++ b/sinv_8F90.js @@ -0,0 +1,5 @@ +var sinv_8F90 = +[ + [ "satcode", "sinv_8F90.html#a4ab4fad455062f4d66f23adb61d13c7c", null ], + [ "sinv", "sinv_8F90.html#add80e304e2ffa251811ac6a19162f807", null ] +]; \ No newline at end of file diff --git a/sinv_8F90_source.html b/sinv_8F90_source.html new file mode 100644 index 000000000..d2437c3ce --- /dev/null +++ b/sinv_8F90_source.html @@ -0,0 +1,224 @@ + + + + + + + +NCEPLIBS-bufr: sinv.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    sinv.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    11 program sinv
                                    +
                                    12 
                                    +
                                    13  parameter(maxa=16000000)
                                    +
                                    14  parameter(maxs=1000)
                                    +
                                    15 
                                    +
                                    16  character(255) file
                                    +
                                    17  character(240) cmtdir,tbldir
                                    +
                                    18  character(8) subset
                                    +
                                    19  character ci*16,cj*80
                                    +
                                    20  dimension isat(0:maxs,0:maxs)
                                    +
                                    21  real(8) said(maxa),siid(maxa)
                                    +
                                    22  logical exist
                                    +
                                    23 
                                    +
                                    24  data lunbf /20/
                                    +
                                    25 
                                    +
                                    26  !-----------------------------------------------------------------------
                                    +
                                    27  !-----------------------------------------------------------------------
                                    +
                                    28 
                                    +
                                    29  isat=0
                                    +
                                    30  jsat=0
                                    +
                                    31  said=0
                                    +
                                    32  ssid=0
                                    +
                                    33 
                                    +
                                    34  ! get filename argument
                                    +
                                    35 
                                    +
                                    36  narg=command_argument_count()
                                    +
                                    37  if(narg<1) then
                                    +
                                    38  write(*,*)'Usage: sinv <satbufrfile> will print inventory of satellites by platform and instrument'
                                    +
                                    39  call exit(2)
                                    +
                                    40  endif
                                    +
                                    41  call get_command_argument(1,file)
                                    +
                                    42  file = trim(adjustl(file))
                                    +
                                    43  inquire(file=file,exist=exist)
                                    +
                                    44  if (.not.exist) call bort(trim(file)//' does not exist')
                                    +
                                    45 
                                    +
                                    46  ! define master table directory
                                    +
                                    47 
                                    +
                                    48  ! Before calling mtinfo, make an initial call to openbf so that bfrini is called internally.
                                    +
                                    49  ! Otherwise, if we wait until later to make the initial call to openbf, then the internal call
                                    +
                                    50  ! to bfrini will end up overwriting the master table directory that we pass in during either
                                    +
                                    51  ! of the following calls to mtinfo.
                                    +
                                    52  call openbf(lunbf,'FIRST',lunbf)
                                    +
                                    53  if(narg==2) then ! arg 2 would be a user defined table dir
                                    +
                                    54  call get_command_argument(2,tbldir)
                                    +
                                    55  call mtinfo(tbldir,3,4)
                                    +
                                    56  else ! otherwise default table dir is used
                                    +
                                    57  cmtdir = '/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build-doc' // &
                                    +
                                    58 's/install/tables'
                                    +
                                    59  call mtinfo(cmtdir,3,4)
                                    +
                                    60  endif
                                    +
                                    61 
                                    +
                                    62  ! read through the file and collect counts of satid and sat inst combinations
                                    +
                                    63 
                                    +
                                    64  open(lunbf,file=file,form='unformatted')
                                    +
                                    65  call ufbtab(lunbf,said,1,maxa,nret,'SAID')
                                    +
                                    66  call ufbtab(lunbf,siid,1,maxa,nrex,'SIID')
                                    +
                                    67 
                                    +
                                    68  ! need to open the bufrfile with the satellites of interest
                                    +
                                    69 
                                    +
                                    70  open(lunbf,file=file,form='unformatted')
                                    +
                                    71  call openbf(lunbf,'IN',lunbf)
                                    +
                                    72  call readmg(lunbf,subset,idate,iret)
                                    +
                                    73  call codflg('Y')
                                    +
                                    74 
                                    +
                                    75  ! make a table of sat ids and sat instruments
                                    +
                                    76 
                                    +
                                    77  do n=1,max(nret,nrex)
                                    +
                                    78  i = nint(said(n))
                                    +
                                    79  j = nint(siid(n))
                                    +
                                    80  if(i>maxs.or.i<0) i=0
                                    +
                                    81  if(j>maxs.or.j<0) j=0
                                    +
                                    82  isat(i,j) = isat(i,j)+1
                                    +
                                    83  enddo
                                    +
                                    84 
                                    +
                                    85  ! print the summary of satid and sat inst combinations
                                    +
                                    86 
                                    +
                                    87  write(*,*)
                                    +
                                    88  write(*,'(a14,12x,a14,4x,a10)') 'id satellite', 'subsets id ', 'instrument'
                                    +
                                    89  write(*,*)
                                    +
                                    90  do i=0,1000
                                    +
                                    91  do j=0,1000
                                    +
                                    92  if(isat(i,j)>0) then
                                    +
                                    93  jsat=jsat+isat(i,j)
                                    +
                                    94  call satcode(lunbf,i,ci,j,cj)
                                    +
                                    95  write(*,'(i3.3,2x,a,2x,i10,2x,i3.3,6x,a)')i,ci,isat(i,j),j,trim(adjustl(cj))
                                    +
                                    96  endif
                                    +
                                    97  enddo
                                    +
                                    98  enddo
                                    +
                                    99 
                                    +
                                    100  write(*,'(/23x,i10/)') jsat
                                    +
                                    101 
                                    +
                                    102 end program sinv
                                    +
                                    107 
                                    +
                                    118 
                                    +
                                    119 subroutine satcode(lunit,icode,csad,jcode,csid)
                                    +
                                    120 
                                    +
                                    121  character(16) :: csad
                                    +
                                    122  character(80) :: csid
                                    +
                                    123  character(255) :: str
                                    +
                                    124 
                                    +
                                    125  csad(1:16)=' '; csid(1:80)=' '
                                    +
                                    126 
                                    +
                                    127  ! call routines to look up the said and siid
                                    +
                                    128 
                                    +
                                    129  if(icode>0) then
                                    +
                                    130  str=repeat(' ',255)
                                    +
                                    131  call getcfmng(lunit,'SAID',icode,' ',-1,str,len,iret); csad=str(1:16)
                                    +
                                    132  endif
                                    +
                                    133  if(jcode>0) then
                                    +
                                    134  str=repeat(' ',255)
                                    +
                                    135  call getcfmng(lunit,'SIID',jcode,' ',-1,str,len,iret); csid=str(1:80)
                                    +
                                    136  endif
                                    +
                                    137 
                                    +
                                    138 end subroutine satcode
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    recursive subroutine getcfmng(lunit, nemoi, ivali, nemod, ivald, cmeang, lnmng, iret)
                                    Decode the meaning of a numerical value from a code or flag table.
                                    Definition: cftbvs.F90:220
                                    +
                                    subroutine codflg(cf)
                                    Specify whether or not code and flag table information should be included during all future reads of ...
                                    +
                                    recursive subroutine mtinfo(cmtdir, lunmt1, lunmt2)
                                    Specify the directory location and Fortran logical unit numbers to be used when reading master BUFR t...
                                    Definition: mastertable.F90:35
                                    +
                                    recursive subroutine openbf(lunit, io, lundx)
                                    Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                    +
                                    recursive subroutine ufbtab(lunin, tab, i1, i2, iret, str)
                                    Read through every data subset in a BUFR file and return one or more specified data values from each ...
                                    +
                                    recursive subroutine readmg(lunxx, subset, jdate, iret)
                                    Read the next BUFR message from logical unit abs(lunxx) into internal arrays.
                                    Definition: readwritemg.F90:44
                                    +
                                    subroutine satcode(lunit, icode, csad, jcode, csid)
                                    This subroutine looks in the master BUFR tables for meaning strings associated with specified code fi...
                                    Definition: sinv.F90:120
                                    +
                                    program sinv
                                    Usage: sinv <satbufrfile> will print inventory of satellites by platform and instrument.
                                    Definition: sinv.F90:11
                                    +
                                    +
                                    + + + + diff --git a/split__by__subset_8F90.html b/split__by__subset_8F90.html new file mode 100644 index 000000000..4d64d352b --- /dev/null +++ b/split__by__subset_8F90.html @@ -0,0 +1,144 @@ + + + + + + + +NCEPLIBS-bufr: split_by_subset.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    split_by_subset.F90 File Reference
                                    +
                                    +
                                    + +

                                    Split a BUFR file into separate BUFR files by subset type. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + +

                                    +Functions/Subroutines

                                    program split_by_subset
                                     Read BUFR file messages, collating them into output files by message type/subtype (eg NC001002, aka subset type). More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Split a BUFR file into separate BUFR files by subset type.

                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    2000-01-01
                                    + +

                                    Definition in file split_by_subset.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ split_by_subset()

                                    + +
                                    +
                                    + + + + +
                                    program split_by_subset
                                    +
                                    + +

                                    Read BUFR file messages, collating them into output files by message type/subtype (eg NC001002, aka subset type).

                                    +

                                    This is the opposite of combfr.f, which concatenates BUFR messages from listed input files.

                                    +
                                    Returns
                                    0 for success, error code otherwise.
                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    2000-01-01
                                    + +

                                    Definition at line 15 of file split_by_subset.F90.

                                    + +

                                    References bort(), closbf(), copymg(), ireadmg(), iupvs01(), maxout(), nmsub(), and openbf().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/split__by__subset_8F90.js b/split__by__subset_8F90.js new file mode 100644 index 000000000..0b69d44a2 --- /dev/null +++ b/split__by__subset_8F90.js @@ -0,0 +1,4 @@ +var split__by__subset_8F90 = +[ + [ "split_by_subset", "split__by__subset_8F90.html#ae5d45e2086aa783d8ca85e2fd47c8118", null ] +]; \ No newline at end of file diff --git a/split__by__subset_8F90_source.html b/split__by__subset_8F90_source.html new file mode 100644 index 000000000..54ed13c7c --- /dev/null +++ b/split__by__subset_8F90_source.html @@ -0,0 +1,203 @@ + + + + + + + +NCEPLIBS-bufr: split_by_subset.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    split_by_subset.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    14 
                                    + +
                                    16 
                                    +
                                    17  implicit none
                                    +
                                    18 
                                    +
                                    19  integer, parameter :: maxsub = 100
                                    +
                                    20  integer, parameter :: lunit = 20
                                    +
                                    21  real(8), parameter :: bmiss = 10e10
                                    +
                                    22 
                                    +
                                    23  character(len=255) :: finput
                                    +
                                    24  character(len=8) :: subset, sub(maxsub)
                                    +
                                    25  integer(4), dimension(3, maxsub) :: ninv
                                    +
                                    26  integer(4) :: idate
                                    +
                                    27  integer(4) :: ireadmg, nmsub, iupvs01
                                    +
                                    28  integer :: nsub, isub, ii, jj
                                    +
                                    29  logical :: file_exists
                                    +
                                    30  integer, dimension(maxsub) :: lsubunit
                                    +
                                    31 
                                    +
                                    33 
                                    +
                                    34  if(command_argument_count()==1) then
                                    +
                                    35  call get_command_argument(1, finput)
                                    +
                                    36  inquire(file=trim(adjustl(finput)), exist=file_exists)
                                    +
                                    37  if (file_exists) then
                                    +
                                    38  open(lunit, file=trim(adjustl(finput)), form='unformatted')
                                    +
                                    39  call openbf(lunit,'IN',lunit)
                                    +
                                    40  else
                                    +
                                    41  write(6,'(a)') 'File ' // trim(adjustl(finput)) // ' does not exist'
                                    +
                                    42  call exit(1)
                                    +
                                    43  endif
                                    +
                                    44  else
                                    +
                                    45  write(6,'(a)') 'Usage: split_by_subset <bufrfile> will split a BUFR file into subsets'
                                    +
                                    46  call exit(2)
                                    +
                                    47  endif
                                    +
                                    48 
                                    +
                                    50  ninv = 0
                                    +
                                    51  nsub = 0
                                    +
                                    52  lsubunit = 50
                                    +
                                    53 
                                    +
                                    55  ireadmg_loop: do while(ireadmg(lunit, subset, idate) == 0)
                                    +
                                    56 
                                    +
                                    58  isub = 0
                                    +
                                    59  do ii = 1, nsub
                                    +
                                    60  if (subset == sub(ii)) then
                                    +
                                    61  isub = ii
                                    +
                                    62  continue
                                    +
                                    63  endif
                                    +
                                    64  enddo
                                    +
                                    65 
                                    +
                                    67  new_subset: if (isub == 0) then
                                    +
                                    69  if (nsub+1 > maxsub) call bort('nsub too big')
                                    +
                                    70  sub(nsub+1) = subset
                                    +
                                    71  isub = nsub+1
                                    +
                                    72  lsubunit(isub) = 50+isub
                                    +
                                    73 
                                    +
                                    75  open(lsubunit(isub), file=trim(adjustl(subset)), form='unformatted')
                                    +
                                    76  call openbf(lsubunit(isub), 'OUT', lunit)
                                    +
                                    77  if (nsub == 0) call maxout(20000)
                                    +
                                    78  nsub = nsub+1
                                    +
                                    79  endif new_subset
                                    +
                                    80 
                                    +
                                    82  ninv(1, isub) = ninv(1, isub) + 1
                                    +
                                    83  ninv(2, isub) = ninv(2, isub) + nmsub(lunit)
                                    +
                                    84  ninv(3, isub) = ninv(3, isub) + iupvs01(lunit, 'LENM')
                                    +
                                    85 
                                    +
                                    87  call copymg(lunit, lsubunit(isub))
                                    +
                                    88 
                                    +
                                    89  enddo ireadmg_loop
                                    +
                                    90 
                                    +
                                    92  do ii = 1,nsub
                                    +
                                    93  call closbf(lsubunit(50+ii))
                                    +
                                    94  enddo
                                    +
                                    95 
                                    +
                                    97  write(6,'(a)') repeat('#',48)
                                    +
                                    98  write(6,101) 'TYPE', 'MESSAGES', 'SUBSETS', 'BYTES'
                                    +
                                    99  write(6,'(a)') repeat('#',48)
                                    +
                                    100  do ii=1,nsub
                                    +
                                    101  write(6,102) sub(ii), (ninv(jj,ii),jj=1,3)
                                    +
                                    102  if (ii > 1) then
                                    +
                                    103  ninv(1,1) = ninv(1,1)+ninv(1,ii)
                                    +
                                    104  ninv(2,1) = ninv(2,1)+ninv(2,ii)
                                    +
                                    105  ninv(3,1) = ninv(3,1)+ninv(3,ii)
                                    +
                                    106  endif
                                    +
                                    107  enddo
                                    +
                                    108  write(6,'(a)') repeat('-',48)
                                    +
                                    109  write(6,102) 'TOTAL', (ninv(jj,1),jj=1,3)
                                    +
                                    110  write(6,'(a)') repeat('#',48)
                                    +
                                    111 
                                    +
                                    112 101 format(a8,2x,3(a10,4x))
                                    +
                                    113 102 format(a8,2x,3(i10,4x))
                                    +
                                    114 
                                    +
                                    115  stop
                                    +
                                    116 end program split_by_subset
                                    +
                                    117 
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    recursive subroutine copymg(lunin, lunot)
                                    Copy a BUFR message from one file to another.
                                    Definition: copydata.F90:108
                                    +
                                    recursive subroutine closbf(lunit)
                                    Close the connection between logical unit lunit and the NCEPLIBS-bufr software.
                                    +
                                    recursive subroutine openbf(lunit, io, lundx)
                                    Connect a new file to the NCEPLIBS-bufr software for input or output operations, or initialize the li...
                                    +
                                    recursive subroutine maxout(maxo)
                                    Specify the maximum length of a BUFR message that can be written to any output file by the NCEPLIBS-b...
                                    +
                                    recursive integer function nmsub(lunit)
                                    Get the total number of data subsets available within the BUFR message that was most recently opened ...
                                    +
                                    recursive integer function ireadmg(lunit, subset, idate)
                                    Call subroutine readmg() and pass back its return code as the function value.
                                    +
                                    recursive integer function iupvs01(lunit, s01mnem)
                                    Read a specified value from within Section 0 or 1 of a BUFR message.
                                    Definition: s013vals.F90:443
                                    +
                                    program split_by_subset
                                    Read BUFR file messages, collating them into output files by message type/subtype (eg NC001002,...
                                    +
                                    +
                                    + + + + diff --git a/standard_8F90.html b/standard_8F90.html new file mode 100644 index 000000000..ebbfd87c0 --- /dev/null +++ b/standard_8F90.html @@ -0,0 +1,269 @@ + + + + + + + +NCEPLIBS-bufr: standard.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    standard.F90 File Reference
                                    +
                                    +
                                    + +

                                    Write WMO-standard BUFR messages. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    integer function istdesc (idn)
                                     Given the WMO bit-wise representation of an FXY value for a descriptor, check whether the descriptor is WMO-standard. More...
                                     
                                    subroutine stdmsg (cf)
                                     Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writing subroutines should be internally reformatted to remove all NCEPLIBS-bufr software extensions to the WMO standard, prior to actually writing each message. More...
                                     
                                    recursive subroutine stndrd (lunit, msgin, lmsgot, msgot)
                                     Standardize a BUFR message. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Write WMO-standard BUFR messages.

                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2004-08-18
                                    + +

                                    Definition in file standard.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ istdesc()

                                    + +
                                    +
                                    + + + + + + + + +
                                    integer function istdesc (integer, intent(in) idn)
                                    +
                                    + +

                                    Given the WMO bit-wise representation of an FXY value for a descriptor, check whether the descriptor is WMO-standard.

                                    +

                                    If a descriptor is not WMO-standard, then by definition it is a local descriptor.

                                    +
                                    Parameters
                                    + + +
                                    idn- WMO bit-wise representation of FXY value for descriptor
                                    +
                                    +
                                    +
                                    Returns
                                    istdesc - Flag indicating whether idn is a WMO-standard descriptor:
                                      +
                                    • 0 = No
                                    • +
                                    • 1 = Yes
                                    • +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2004-08-18
                                    + +

                                    Definition at line 297 of file standard.F90.

                                    + +

                                    References adn30(), and iokoper().

                                    + +

                                    Referenced by ireadmt(), bufr_c2f_interface::istdesc_c(), and stndrd().

                                    + +
                                    +
                                    + +

                                    ◆ stdmsg()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine stdmsg (character*1, intent(in) cf)
                                    +
                                    + +

                                    Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writing subroutines should be internally reformatted to remove all NCEPLIBS-bufr software extensions to the WMO standard, prior to actually writing each message.

                                    +

                                    It is strongly recommended to use this subroutine (or, alternatively, subroutine stndrd() for messages which already exist in memory arrays) whenever BUFR messages are being written that will potentially be read using software other than the NCEPLIBS-bufr software. Otherwise, by default the output messages will contain a number of extensions to allow for faster reading and more efficient storage, but which will be encoded using non-standard descriptors in Section 3, and therefore likely be unrecognizable to other software packages.

                                    +

                                    The specified value for cf will remain in effect for all future calls to message-writing subroutines and subset-writing subroutines for all Fortran logical units that are open for output within the application program, unless a subsequent call is made to this subroutine to reset the value of cf again. If this subroutine is never called, a default value of 'N' is used for cf.

                                    +
                                    Parameters
                                    + + +
                                    cf- Flag indicating whether future BUFR output messages are to be standardized:
                                      +
                                    • 'N' = No (the default)
                                    • +
                                    • 'Y' = Yes
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2004-08-18
                                    + +

                                    Definition at line 35 of file standard.F90.

                                    + +

                                    References bort(), capit(), and moda_msgstd::csmf.

                                    + +
                                    +
                                    + +

                                    ◆ stndrd()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine stndrd (integer, intent(in) lunit,
                                    integer, dimension(*), intent(in) msgin,
                                    integer, intent(in) lmsgot,
                                    integer, dimension(*), intent(out) msgot 
                                    )
                                    +
                                    + +

                                    Standardize a BUFR message.

                                    +

                                    This subroutine performs the same function as subroutine stdmsg(), except that it operates on a BUFR message passed in via a memory array and returns its output via a separate memory array, whereas stdmsg() operates on BUFR messages stored internally within the software.

                                    +
                                    Remarks
                                      +
                                    • msgin and msgot must be separate arrays
                                    • +
                                    • Standardized messages are usually longer in length than their non-standard counterparts, so it's a good idea to allow for extra space when allocating msgot within the application program
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    msgin- BUFR message
                                    lmsgot- Dimensioned size (in integers) of msgot; used by the subroutine to ensure that it doesn't overflow the msgot array
                                    msgot- Standardized copy of msgin
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2004-08-18
                                    + +

                                    Definition at line 72 of file standard.F90.

                                    + +

                                    References bort(), getlens(), moda_s3list::ids3, istdesc(), iupb(), iupbs01(), iupbs3(), mvb(), nemtbax(), numtab(), pkb(), pkc(), status(), upb(), upc(), and x84().

                                    + +

                                    Referenced by msgwrt().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/standard_8F90.js b/standard_8F90.js new file mode 100644 index 000000000..e405d74e2 --- /dev/null +++ b/standard_8F90.js @@ -0,0 +1,6 @@ +var standard_8F90 = +[ + [ "istdesc", "standard_8F90.html#af4f78acf5cbb9eda9a8ef03d03030aaf", null ], + [ "stdmsg", "standard_8F90.html#a1f7f89920afdd318ec3ff39559c42ecd", null ], + [ "stndrd", "standard_8F90.html#a543c53880e96f04934213352ea77a7ab", null ] +]; \ No newline at end of file diff --git a/standard_8F90_source.html b/standard_8F90_source.html new file mode 100644 index 000000000..0c0067747 --- /dev/null +++ b/standard_8F90_source.html @@ -0,0 +1,387 @@ + + + + + + + +NCEPLIBS-bufr: standard.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    standard.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    35 subroutine stdmsg(cf)
                                    +
                                    36 
                                    +
                                    37  use moda_msgstd
                                    +
                                    38 
                                    +
                                    39  implicit none
                                    +
                                    40 
                                    +
                                    41  character*1, intent(in) :: cf
                                    +
                                    42  character*128 bort_str
                                    +
                                    43 
                                    +
                                    44  call capit(cf)
                                    +
                                    45  if(cf/='Y'.and. cf/='N') then
                                    +
                                    46  write(bort_str,'("BUFRLIB: STDMSG - INPUT ARGUMENT IS ",A1,", IT MUST BE EITHER Y OR N")') cf
                                    +
                                    47  call bort(bort_str)
                                    +
                                    48  endif
                                    +
                                    49  csmf = cf
                                    +
                                    50 
                                    +
                                    51  return
                                    +
                                    52 end subroutine stdmsg
                                    +
                                    53 
                                    +
                                    72 recursive subroutine stndrd(lunit,msgin,lmsgot,msgot)
                                    +
                                    73 
                                    +
                                    74  use bufrlib
                                    +
                                    75 
                                    +
                                    76  use modv_vars, only: im8b, nbytw
                                    +
                                    77 
                                    +
                                    78  use moda_s3list
                                    +
                                    79 
                                    +
                                    80  implicit none
                                    +
                                    81 
                                    +
                                    82  integer, intent(in) :: msgin(*), lunit, lmsgot
                                    +
                                    83  integer, intent(out) :: msgot(*)
                                    +
                                    84  integer my_lunit, my_lmsgot, lun, il, im, len0, len1, len2, len3, len4, len5
                                    +
                                    85  integer iad3, iad4, lenn, lenm, iupbs01, iupbs3, iupb, mxbyto, lbyto, ii, isub, itab, mtyp, msbt, inod
                                    +
                                    86  integer istdesc, ncd, iben, ibit, jbit, kbit, mbit, nad4, lsub, nsub, islen, kval, nval, i, k, l, n
                                    +
                                    87 
                                    +
                                    88  character*128 bort_str
                                    +
                                    89  character*8 subset
                                    +
                                    90  character*4 sevn
                                    +
                                    91  character*1 tab
                                    +
                                    92  character*(*), parameter :: bort_arrayoverflow = &
                                    +
                                    93  'BUFRLIB: STNDRD - OVERFLOW OF OUTPUT (STANDARD) MESSAGE ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY'
                                    +
                                    94 
                                    +
                                    95  logical found
                                    +
                                    96 
                                    +
                                    97  ! Check for I8 integers.
                                    +
                                    98 
                                    +
                                    99  if(im8b) then
                                    +
                                    100  im8b=.false.
                                    +
                                    101 
                                    +
                                    102  call x84 ( lunit, my_lunit, 1 )
                                    +
                                    103  call x84 ( lmsgot, my_lmsgot, 1 )
                                    +
                                    104  call stndrd ( my_lunit, msgin, my_lmsgot*2, msgot )
                                    +
                                    105 
                                    +
                                    106  im8b=.true.
                                    +
                                    107  return
                                    +
                                    108  endif
                                    +
                                    109 
                                    +
                                    110  ! lunit must point to an open bufr file.
                                    +
                                    111 
                                    +
                                    112  call status(lunit,lun,il,im)
                                    +
                                    113  if(il==0) call bort('BUFRLIB: STNDRD - BUFR FILE IS CLOSED, IT MUST BE OPEN')
                                    +
                                    114 
                                    +
                                    115  ! Identify the section lengths and addresses in msgin.
                                    +
                                    116 
                                    +
                                    117  call getlens(msgin,5,len0,len1,len2,len3,len4,len5)
                                    +
                                    118 
                                    +
                                    119  iad3 = len0+len1+len2
                                    +
                                    120  iad4 = iad3+len3
                                    +
                                    121 
                                    +
                                    122  lenn = len0+len1+len2+len3+len4+len5
                                    +
                                    123 
                                    +
                                    124  lenm = iupbs01(msgin,'LENM')
                                    +
                                    125 
                                    +
                                    126  if(lenn/=lenm) then
                                    +
                                    127  write(bort_str,'("BUFRLIB: STNDRD - INPUT MESSAGE LENGTH FROM SECTION 0",I6," DOES NOT EQUAL SUM OF ALL INDIVIDUAL '// &
                                    +
                                    128  'SECTION LENGTHS (",I6,")")') lenm,lenn
                                    +
                                    129  call bort(bort_str)
                                    +
                                    130  endif
                                    +
                                    131 
                                    +
                                    132  mbit = (lenn-4)*8
                                    +
                                    133  call upc(sevn,4,msgin,mbit,.true.)
                                    +
                                    134  if(sevn/='7777') then
                                    +
                                    135  write(bort_str,'("BUFRLIB: STNDRD - INPUT MESSAGE DOES NOT END WITH ""7777"" (ENDS WITH ",A)') sevn
                                    +
                                    136  call bort(bort_str)
                                    +
                                    137  endif
                                    +
                                    138 
                                    +
                                    139  ! Copy Sections 0 through part of Section 3 into msgot.
                                    +
                                    140 
                                    +
                                    141  mxbyto = (lmsgot*nbytw) - 8
                                    +
                                    142 
                                    +
                                    143  lbyto = iad3+7
                                    +
                                    144  if(lbyto>mxbyto) call bort(bort_arrayoverflow)
                                    +
                                    145  call mvb(msgin,1,msgot,1,lbyto)
                                    +
                                    146 
                                    +
                                    147  ! Rewrite new Section 3 in a standard form. First, locate the top-level Table A descriptor.
                                    +
                                    148 
                                    +
                                    149  found = .false.
                                    +
                                    150  ii = 10
                                    +
                                    151  do while ((.not.found).and.(ii>=8))
                                    +
                                    152  isub = iupb(msgin,iad3+ii,16)
                                    +
                                    153  call numtab(lun,isub,subset,tab,itab)
                                    +
                                    154  if((itab/=0).and.(tab=='D')) then
                                    +
                                    155  call nemtbax(lun,subset,mtyp,msbt,inod)
                                    +
                                    156  if(inod/=0) found = .true.
                                    +
                                    157  endif
                                    +
                                    158  ii = ii - 2
                                    +
                                    159  enddo
                                    +
                                    160  if(.not.found) call bort('BUFRLIB: STNDRD - TABLE A SUBSET DESCRIPTOR NOT FOUND')
                                    +
                                    161 
                                    +
                                    162  if (istdesc(isub)==0) then
                                    +
                                    163  ! isub is a non-standard Table A descriptor and needs to be expanded into an equivalent standard sequence
                                    +
                                    164  call restd_c(lun,isub,ncd,ids3)
                                    +
                                    165  else
                                    +
                                    166  ! isub is already a standard descriptor, so just copy it "as is" into the new Section 3 (i.e. no expansion is necessary)
                                    +
                                    167  ncd = 1
                                    +
                                    168  ids3(ncd) = isub
                                    +
                                    169  endif
                                    +
                                    170 
                                    +
                                    171  ! Use the edition number to determine the length of the new Section 3.
                                    +
                                    172 
                                    +
                                    173  len3 = 7+(ncd*2)
                                    +
                                    174  iben = iupbs01(msgin,'BEN')
                                    +
                                    175  if(iben<4) then
                                    +
                                    176  len3 = len3+1
                                    +
                                    177  endif
                                    +
                                    178  lbyto = lbyto + len3 - 7
                                    +
                                    179  if(lbyto>mxbyto) call bort(bort_arrayoverflow)
                                    +
                                    180 
                                    +
                                    181  ! Store the descriptors into the new Section 3.
                                    +
                                    182 
                                    +
                                    183  ibit = (iad3+7)*8
                                    +
                                    184  do n=1,ncd
                                    +
                                    185  call pkb(ids3(n),16,msgot,ibit)
                                    +
                                    186  enddo
                                    +
                                    187 
                                    +
                                    188  ! Depending on the edition number, pad out the new Section 3 with an additional zeroed-out byte to ensure an even byte count.
                                    +
                                    189 
                                    +
                                    190  if(iben<4) then
                                    +
                                    191  call pkb(0,8,msgot,ibit)
                                    +
                                    192  endif
                                    +
                                    193 
                                    +
                                    194  ! Store the length of the new Section 3.
                                    +
                                    195 
                                    +
                                    196  ibit = iad3*8
                                    +
                                    197  call pkb(len3,24,msgot,ibit)
                                    +
                                    198 
                                    +
                                    199  ! Now the tricky part - new Section 4.
                                    +
                                    200 
                                    +
                                    201  if(iupbs3(msgin,'ICMP')==1) then
                                    +
                                    202 
                                    +
                                    203  ! The data in Section 4 is compressed and is therefore already standardized, so copy it "as is" into the new Section 4.
                                    +
                                    204 
                                    +
                                    205  if((lbyto+len4+4)>mxbyto) call bort(bort_arrayoverflow)
                                    +
                                    206 
                                    +
                                    207  call mvb(msgin,iad4+1,msgot,lbyto+1,len4)
                                    +
                                    208  jbit = (lbyto+len4)*8
                                    +
                                    209 
                                    +
                                    210  else
                                    +
                                    211 
                                    +
                                    212  nad4 = iad3+len3
                                    +
                                    213 
                                    +
                                    214  ibit = (iad4+4)*8
                                    +
                                    215  jbit = (nad4+4)*8
                                    +
                                    216 
                                    +
                                    217  lbyto = lbyto + 4
                                    +
                                    218 
                                    +
                                    219  ! Copy the subsets, minus the byte counters and bit pads, into the new Section 4.
                                    +
                                    220 
                                    +
                                    221  nsub = iupbs3(msgin,'NSUB')
                                    +
                                    222 
                                    +
                                    223  subset_copy: do i=1,nsub
                                    +
                                    224  call upb(lsub,16,msgin,ibit)
                                    +
                                    225  if(nsub>1) then
                                    +
                                    226  ! Use the byte counter to copy this subset.
                                    +
                                    227  islen = lsub-2
                                    +
                                    228  else
                                    +
                                    229  ! This is the only subset in the message, and it could possibly be an overlarge (> 65530 bytes) subset, in
                                    +
                                    230  ! which case we can't rely on the value stored in the byte counter. either way, we don't really need it.
                                    +
                                    231  islen = iad4+len4-(ibit/8)
                                    +
                                    232  if (mod(len4,2)==0) islen = islen - 1
                                    +
                                    233  endif
                                    +
                                    234  do l=1,islen
                                    +
                                    235  call upb(nval,8,msgin,ibit)
                                    +
                                    236  lbyto = lbyto + 1
                                    +
                                    237  if(lbyto>mxbyto) call bort(bort_arrayoverflow)
                                    +
                                    238  call pkb(nval,8,msgot,jbit)
                                    +
                                    239  enddo
                                    +
                                    240  do k=1,8
                                    +
                                    241  kbit = ibit-k-8
                                    +
                                    242  call upb(kval,8,msgin,kbit)
                                    +
                                    243  if(kval==k) then
                                    +
                                    244  jbit = jbit-k-8
                                    +
                                    245  cycle subset_copy
                                    +
                                    246  endif
                                    +
                                    247  enddo
                                    +
                                    248  call bort('BUFRLIB: STNDRD - BIT MISMATCH COPYING SECTION 4 FROM INPUT TO OUTPUT (STANDARD) MESSAGE')
                                    +
                                    249  enddo subset_copy
                                    +
                                    250 
                                    +
                                    251  ! From this point on, we will need (at most) 6 more bytes of space within msgot in order to be able to store the entire
                                    +
                                    252  ! standardized message (i.e. we will need (at most) 2 more zeroed-out bytes in Section 4, plus the 4 bytes '7777' in
                                    +
                                    253  ! Section 5), so do a final msgot overflow check now.
                                    +
                                    254 
                                    +
                                    255  if(lbyto+6>mxbyto) call bort(bort_arrayoverflow)
                                    +
                                    256 
                                    +
                                    257  ! Pad the new Section 4 with zeroes up to the next whole byte boundary.
                                    +
                                    258 
                                    +
                                    259  do while(.not.(mod(jbit,8)==0))
                                    +
                                    260  call pkb(0,1,msgot,jbit)
                                    +
                                    261  enddo
                                    +
                                    262 
                                    +
                                    263  ! Depending on the edition number, we may need to further pad the new Section 4 with an additional zeroed-out byte in
                                    +
                                    264  ! order to ensure that the padding is up to an even byte boundary.
                                    +
                                    265 
                                    +
                                    266  if( (iben<4) .and. (mod(jbit/8,2)/=0) ) then
                                    +
                                    267  call pkb(0,8,msgot,jbit)
                                    +
                                    268  endif
                                    +
                                    269 
                                    +
                                    270  ibit = nad4*8
                                    +
                                    271  len4 = jbit/8 - nad4
                                    +
                                    272  call pkb(len4,24,msgot,ibit)
                                    +
                                    273  call pkb(0,8,msgot,ibit)
                                    +
                                    274  endif
                                    +
                                    275 
                                    +
                                    276  ! Finish the new message with an updated section 0 byte count.
                                    +
                                    277 
                                    +
                                    278  ibit = 32
                                    +
                                    279  lenn = len0+len1+len2+len3+len4+len5
                                    +
                                    280  call pkb(lenn,24,msgot,ibit)
                                    +
                                    281 
                                    +
                                    282  call pkc('7777',4,msgot,jbit)
                                    +
                                    283 
                                    +
                                    284  return
                                    +
                                    285 end subroutine stndrd
                                    +
                                    286 
                                    +
                                    297 integer function istdesc( idn ) result( iret )
                                    +
                                    298 
                                    +
                                    299  implicit none
                                    +
                                    300 
                                    +
                                    301  integer, intent(in) :: idn
                                    +
                                    302  integer if, ix, iy, iokoper
                                    +
                                    303 
                                    +
                                    304  character*6 adsc, adn30
                                    +
                                    305 
                                    +
                                    306  adsc = adn30( idn, 6 )
                                    +
                                    307 
                                    +
                                    308  read(adsc,'(I1,I2,I3)') if,ix,iy
                                    +
                                    309  if ( if == 1 ) then
                                    +
                                    310  ! adsc is a replication descriptor and therefore standard by default
                                    +
                                    311  iret = 1
                                    +
                                    312  else if ( if == 2 ) then
                                    +
                                    313  ! adsc is an operator descriptor
                                    +
                                    314  iret = iokoper( adsc )
                                    +
                                    315  else if ( ( ix < 48 ) .and. ( iy < 192 ) ) then
                                    +
                                    316  iret = 1
                                    +
                                    317  else
                                    +
                                    318  iret = 0
                                    +
                                    319  end if
                                    +
                                    320 
                                    +
                                    321  return
                                    +
                                    322 end function istdesc
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    subroutine upb(nval, nbits, ibay, ibit)
                                    Decode an integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:202
                                    +
                                    recursive integer function iupb(mbay, nbyt, nbit)
                                    Decode an integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:226
                                    +
                                    subroutine upc(chr, nchr, ibay, ibit, cnvnull)
                                    Decode a character string from within a specified number of bytes of an integer array,...
                                    Definition: cidecode.F90:26
                                    +
                                    subroutine pkc(chr, nchr, ibay, ibit)
                                    Encode a character string within a specified number of bytes of an integer array, starting at the bit...
                                    Definition: ciencode.F90:25
                                    +
                                    subroutine pkb(nval, nbits, ibay, ibit)
                                    Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
                                    Definition: ciencode.F90:140
                                    +
                                    subroutine mvb(ib1, nb1, ib2, nb2, nbm)
                                    Copy a specified number of bytes from one packed binary array to another.
                                    Definition: copydata.F90:731
                                    +
                                    subroutine nemtbax(lun, nemo, mtyp, msbt, inod)
                                    Get information about a Table A descriptor from the internal DX BUFR tables.
                                    Definition: dxtable.F90:1197
                                    +
                                    subroutine numtab(lun, idn, nemo, tab, iret)
                                    Get information about a descriptor, based on the WMO bit-wise representation of an FXY value.
                                    Definition: fxy.F90:357
                                    +
                                    character *(*) function adn30(idn, ldn)
                                    Convert an FXY value from its WMO bit-wise representation to a character string of length 5 or 6.
                                    Definition: fxy.F90:18
                                    + +
                                    integer function iokoper(nemo)
                                    Check whether a specified mnemonic is a Table C operator supported by the NCEPLIBS-bufr software.
                                    Definition: misc.F90:484
                                    +
                                    subroutine capit(str)
                                    Capitalize all of the alphabetic characters in a string.
                                    Definition: misc.F90:355
                                    +
                                    Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
                                    Definition: bufrlib.F90:11
                                    +
                                    Declare a variable used to indicate whether output BUFR messages should be standardized.
                                    +
                                    character csmf
                                    Flag indicating whether BUFR output messages are to be standardized; this variable is initialized to ...
                                    +
                                    Declare arrays used by various subroutines and functions to hold a temporary working copy of a Sectio...
                                    +
                                    integer, dimension(:), allocatable ids3
                                    Temporary working copy of Section 3 descriptor list in integer form.
                                    +
                                    recursive subroutine status(lunit, lun, il, im)
                                    Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                    +
                                    recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
                                    Read the section lengths of a BUFR message, up to a specified point in the message.
                                    +
                                    recursive integer function iupbs01(mbay, s01mnem)
                                    Read a specified value from within Section 0 or Section 1 of a BUFR message.
                                    Definition: s013vals.F90:247
                                    +
                                    recursive integer function iupbs3(mbay, s3mnem)
                                    Read a specified value from within Section 3 of a BUFR message.
                                    Definition: s013vals.F90:349
                                    +
                                    subroutine stdmsg(cf)
                                    Specify whether BUFR messages output by future calls to message-writing subroutines and subset-writin...
                                    Definition: standard.F90:36
                                    +
                                    recursive subroutine stndrd(lunit, msgin, lmsgot, msgot)
                                    Standardize a BUFR message.
                                    Definition: standard.F90:73
                                    +
                                    integer function istdesc(idn)
                                    Given the WMO bit-wise representation of an FXY value for a descriptor, check whether the descriptor ...
                                    Definition: standard.F90:298
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/strings_8F90.html b/strings_8F90.html new file mode 100644 index 000000000..424e74b5b --- /dev/null +++ b/strings_8F90.html @@ -0,0 +1,471 @@ + + + + + + + +NCEPLIBS-bufr: strings.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    strings.F90 File Reference
                                    +
                                    +
                                    + +

                                    Process mnemonic strings. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    subroutine parstr (str, tags, mtag, ntag, sep, limit80)
                                     Parse a string containing one or more substrings into an array of substrings. More...
                                     
                                    subroutine parusr (str, lun, i1, io)
                                     Initiate the process to parse out mnemonics from a user-specified character string, then separate them into store and condition nodes. More...
                                     
                                    subroutine parutg (lun, io, utg, nod, kon, val)
                                     Parse a mnemonic from a character string. More...
                                     
                                    subroutine strcln
                                     Reset the internal mnemonic string cache. More...
                                     
                                    subroutine string (str, lun, i1, io)
                                     Check whether a string is in the internal mnemonic string cache. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Process mnemonic strings.

                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition in file strings.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ parstr()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine parstr (character*(*), intent(in) str,
                                    character*(*), dimension(mtag), intent(out) tags,
                                    integer, intent(in) mtag,
                                    integer, intent(out) ntag,
                                    character, intent(in) sep,
                                    logical, intent(in) limit80 
                                    )
                                    +
                                    + +

                                    Parse a string containing one or more substrings into an array of substrings.

                                    +

                                    The separator for the substrings is specified during input, and multiple adjacent occurrences of this character will be treated as a single occurrence when the string is actually parsed.

                                    +
                                    Parameters
                                    + + + + + + + +
                                    str- String
                                    tags- Array of substrings
                                    mtag- Dimensioned size of tags within calling program; used by the subroutine to make sure it doesn't overflow the tags array
                                    ntag- Number of substrings returned in tags
                                    sep- Separator character for substrings
                                    limit80- .true. if an abort should occur when str is longer than 80 characters
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2007-01-19
                                    + +

                                    Definition at line 472 of file strings.F90.

                                    + +

                                    References bort2().

                                    + +

                                    Referenced by fdebufr_c(), fstag(), getcfmng(), getntbe(), gettbh(), parusr(), readlc(), seqsdx(), sntbbe(), sntbde(), sntbfe(), ufbseq(), ufbtab(), ufbtam(), and writlc().

                                    + +
                                    +
                                    + +

                                    ◆ parusr()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine parusr (character*(*), intent(in) str,
                                    integer, intent(in) lun,
                                    integer, intent(in) i1,
                                    integer, intent(in) io 
                                    )
                                    +
                                    + +

                                    Initiate the process to parse out mnemonics from a user-specified character string, then separate them into store and condition nodes.

                                    +

                                    Information about the string mnemonics is stored in arrays in common block /usrstr/. Condition nodes are sorted in the order expected in the internal jump/link tables and several checks are performed on them.

                                    +
                                    Parameters
                                    + + + + + +
                                    str- String of blank-separated mnemonics
                                    lun- File ID
                                    i1- A number greater than or equal to the number of blank-separated mnemonics in str
                                    iO- Status indicator for BUFR file associated with lun:
                                      +
                                    • 0 = Input file
                                    • +
                                    • 1 = Output file
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 148 of file strings.F90.

                                    + +

                                    References bort2(), parstr(), and parutg().

                                    + +

                                    Referenced by string().

                                    + +
                                    +
                                    + +

                                    ◆ parutg()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine parutg (integer, intent(in) lun,
                                    integer, intent(in) io,
                                    character*(*), intent(in) utg,
                                    integer, intent(out) nod,
                                    integer, intent(out) kon,
                                    real, intent(out) val 
                                    )
                                    +
                                    + +

                                    Parse a mnemonic from a character string.

                                    +

                                    Parse a user-specified tag (mnemonic) utg that represents a value either being decoded from a BUFR file (if it is being read) or encoded into a BUFR file (if it is being written). This subroutine first checks to see if the tag contains a condition character ('=', '!', '<', '>', '^' or '#'). If it does not, nothing happens at this point. If it does, then the type of condition character is noted and the tag is stripped of all characters at and beyond the condition character. In either event, the resultant tag is checked against those in the internal jump/ link subset table (in module moda_tables). If found, the node associated with the tag is returned (and it is either a "condition" node or a "store" node depending of the presence or absence of a condition character in utg). Otherwise the node is returned as zero. If the tag represents a condition node, then the condition value (numeric characters beyond the condition character in the user-specified tag input here) is returned.

                                    +

                                    As an example of condition character usage, consider the following example of a call to ufbint():

                                    +
                                    real*8 usr(4,50)
                                    +
                                    ....
                                    +
                                    ....
                                    +
                                    call ufbint(lunin,usr,4,50,iret,'PRLC<50000 TMDB WDIR WSPD')
                                    +
                                    recursive subroutine ufbint(lunin, usr, i1, i2, iret, str)
                                    Read or write one or more data values from or to a data subset.
                                    +

                                    Assuming that lunin points to a BUFR file open for input (reading), then the usr array now contains iret levels of data (up to a maximum of 50) where the value of PRLC is/was less than 50000, along with the corresponding values for TMDB, WDIR and WSPD at those levels.

                                    +

                                    As another example, consider the following example of a call to readlc() for a long character string:

                                    +
                                    character*200 lchr
                                    +
                                    ....
                                    +
                                    ....
                                    +
                                    call readlc(lunin,lchr,'NUMID#3')
                                    +

                                    Assuming that lunin points to a BUFR file open for input (reading), then the lchr string now contains the value corresponding to the third occurrence of NUMID within the current subset.

                                    +

                                    Valid condition codes include:

                                      +
                                    • '<' - less than
                                    • +
                                    • '>' - greater than
                                    • +
                                    • '=' - equal to
                                    • +
                                    • '!' - not equal to
                                    • +
                                    • '#' - ordinal identifier for a particular occurrence of a long character string
                                    • +
                                    +
                                    Parameters
                                    + + + + + + + +
                                    lun- File ID
                                    io- Status indicator for BUFR file associated with lun:
                                      +
                                    • 0 = Input file
                                    • +
                                    • 1 = Output file
                                    • +
                                    +
                                    utg- User-supplied tag representing a value to be encoded/decoded to/from BUFR file
                                    nod- Positional index in internal jump/link subset table for utg:
                                      +
                                    • 0 = utg not found in table
                                    • +
                                    +
                                    kon- Indicator for type of condition character found in UTG:
                                      +
                                    • 0 = No condition character found (nod is a store node)
                                    • +
                                    • 1 = Character '=' found (nod is a condition node)
                                    • +
                                    • 2 = Character '!' found (nod is a condition node)
                                    • +
                                    • 3 = Character '<' found (nod is a condition node)
                                    • +
                                    • 4 = Character '>' found (nod is a condition node)
                                    • +
                                    • 5 = Character '^' found (nod is a condition node; specifically, a "bump" node)
                                    • +
                                    • 6 = Character '#' found (nod is a condition node)
                                    • +
                                    +
                                    val- Condition value associated with condition character found in utg:
                                      +
                                    • 0 = utg does not have a condition character
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 348 of file strings.F90.

                                    + +

                                    References bort(), bort2(), moda_msgcwd::inode, moda_tables::isc, strnum(), moda_tables::tag, and moda_tables::typ.

                                    + +

                                    Referenced by parusr(), readlc(), and writlc().

                                    + +
                                    +
                                    + +

                                    ◆ strcln()

                                    + +
                                    +
                                    + + + + +
                                    subroutine strcln
                                    +
                                    + +

                                    Reset the internal mnemonic string cache.

                                    +

                                    The string cache is a performance-enhancing feature which saves processing time when the same mnemonics are encountered repeatedly.

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 115 of file strings.F90.

                                    + +

                                    Referenced by makestab().

                                    + +
                                    +
                                    + +

                                    ◆ string()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine string (character*(*), intent(in) str,
                                    integer, intent(in) lun,
                                    integer, intent(in) i1,
                                    integer, intent(in) io 
                                    )
                                    +
                                    + +

                                    Check whether a string is in the internal mnemonic string cache.

                                    +

                                    Check to see if a user-specified character string is already in the internal cache (arrays in common blocks /stcach/ and /stords/). If not, then call subroutine parusr() to perform the task of separating and checking the individual mnemonics so that they can then be added to the cache.

                                    +

                                    The mnemonic string cache is a performance enhancing device which saves time when the same mnemonic strings are repeatedly encountered within an application program.

                                    +
                                    Parameters
                                    + + + + + +
                                    str- String of blank-separated mnemonics
                                    lun- File ID
                                    i1- A number greater than or equal to the number of blank-separated mnemonics in str
                                    io- Status indicator for BUFR file associated with lun:
                                      +
                                    • 0 = Input file
                                    • +
                                    • 1 = Output file
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    Woollen
                                    +
                                    Date
                                    1994-01-06
                                    + +

                                    Definition at line 24 of file strings.F90.

                                    + +

                                    References bort2(), moda_msgcwd::inode, and parusr().

                                    + +

                                    Referenced by ufbevn(), ufbget(), ufbin3(), ufbint(), ufbovr(), ufbrep(), ufbstp(), ufbtab(), and ufbtam().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/strings_8F90.js b/strings_8F90.js new file mode 100644 index 000000000..4ae670d8d --- /dev/null +++ b/strings_8F90.js @@ -0,0 +1,8 @@ +var strings_8F90 = +[ + [ "parstr", "strings_8F90.html#a1d493e7de1c23739a0fcd06089139f35", null ], + [ "parusr", "strings_8F90.html#ae49e5fa3610c743607ca6288d4107d28", null ], + [ "parutg", "strings_8F90.html#a2da1c300ec049ee215d937b5ab545f53", null ], + [ "strcln", "strings_8F90.html#a19c92d247281ffcad8aab45d7debb54f", null ], + [ "string", "strings_8F90.html#aa3112b3661ec475fe7949d9ae5bafb40", null ] +]; \ No newline at end of file diff --git a/strings_8F90_source.html b/strings_8F90_source.html new file mode 100644 index 000000000..aac504a04 --- /dev/null +++ b/strings_8F90_source.html @@ -0,0 +1,507 @@ + + + + + + + +NCEPLIBS-bufr: strings.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    strings.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    24 subroutine string(str,lun,i1,io)
                                    +
                                    25 
                                    +
                                    26  use modv_vars, only: mxs
                                    +
                                    27 
                                    +
                                    28  use moda_msgcwd
                                    +
                                    29 
                                    +
                                    30  implicit none
                                    +
                                    31 
                                    +
                                    32  character*(*), intent(in) :: str
                                    +
                                    33  character*128 bort_str1, bort_str2
                                    +
                                    34  character*80 usr, ust
                                    +
                                    35 
                                    +
                                    36  integer, intent(in) :: lun, i1, io
                                    +
                                    37  integer, parameter :: jcons = 52
                                    +
                                    38  integer mstr, nstr, lstr, lux, icon, jcon, iord, iorx, nxt, ind, j, n
                                    +
                                    39 
                                    +
                                    40  logical incache
                                    +
                                    41 
                                    +
                                    42  ! Note that lstr, mstr and nstr were initialized via a prior call to subroutine strcln(), which itself was called by
                                    +
                                    43  ! subroutine makestab().
                                    +
                                    44  common /stcach/ mstr, nstr, lstr, lux(mxs,2), usr(mxs), icon(jcons,mxs)
                                    +
                                    45  common /usrstr/ jcon(jcons)
                                    +
                                    46  common /stords/ iord(mxs), iorx(mxs)
                                    +
                                    47 
                                    +
                                    48  nxt = 0
                                    +
                                    49  ust = str
                                    +
                                    50  ind = inode(lun)
                                    +
                                    51  if(len(str)>80) then
                                    +
                                    52  write(bort_str1,'("BUFRLIB: STRING - INPUT STRING (",A,") HAS")') str
                                    +
                                    53  write(bort_str2,'(18X,"LENGTH (",I4,"), > LIMIT OF 80 CHAR.")') len(str)
                                    +
                                    54  call bort2(bort_str1,bort_str2)
                                    +
                                    55  endif
                                    +
                                    56 
                                    +
                                    57  ! See if the string is already in the cache
                                    +
                                    58 
                                    +
                                    59  incache = .false.
                                    +
                                    60  do n=1,nstr
                                    +
                                    61  if(lux(iord(n),2)==ind) then
                                    +
                                    62  iorx(nxt+1) = iord(n)
                                    +
                                    63  nxt = nxt+1
                                    +
                                    64  endif
                                    +
                                    65  enddo
                                    +
                                    66  do n=1,nxt
                                    +
                                    67  if(ust==usr(iorx(n))) then
                                    +
                                    68 
                                    +
                                    69  ! Yes, so copy parameters from the cache
                                    +
                                    70 
                                    +
                                    71  incache = .true.
                                    +
                                    72  do j=1,jcons
                                    +
                                    73  jcon(j) = icon(j,iorx(n))
                                    +
                                    74  enddo
                                    +
                                    75  exit
                                    +
                                    76  endif
                                    +
                                    77  enddo
                                    +
                                    78  if (.not.incache) then
                                    +
                                    79 
                                    +
                                    80  ! No, so add it to the cache
                                    +
                                    81 
                                    +
                                    82  call parusr(str,lun,i1,io)
                                    +
                                    83  lstr = max(mod(lstr+1,mstr+1),1)
                                    +
                                    84  nstr = min(nstr+1,mstr)
                                    +
                                    85  lux(lstr,1) = lun
                                    +
                                    86  lux(lstr,2) = ind
                                    +
                                    87  usr(lstr) = str
                                    +
                                    88  do j=1,jcons
                                    +
                                    89  icon(j,lstr) = jcon(j)
                                    +
                                    90  enddo
                                    +
                                    91 
                                    +
                                    92  ! Rearrange the cache order following this update
                                    +
                                    93 
                                    +
                                    94  do n=nstr,2,-1
                                    +
                                    95  iord(n) = iord(n-1)
                                    +
                                    96  enddo
                                    +
                                    97  iord(1) = lstr
                                    +
                                    98  endif
                                    +
                                    99 
                                    +
                                    100  if(jcon(1)>i1) then
                                    +
                                    101  write(bort_str1,'("BUFRLIB: STRING - INPUT STRING (",A,")")') str
                                    +
                                    102  write(bort_str2,'(18X,"HAS",I5," STORE NODES (MNEMONICS) - THE LIMIT (THIRD INPUT ARGUMENT) IS",I5)') jcon(1), i1
                                    +
                                    103  call bort2(bort_str1,bort_str2)
                                    +
                                    104  endif
                                    +
                                    105 
                                    +
                                    106  return
                                    +
                                    107 end subroutine string
                                    +
                                    108 
                                    +
                                    115 subroutine strcln
                                    +
                                    116 
                                    +
                                    117  use modv_vars, only: mxs
                                    +
                                    118 
                                    +
                                    119  implicit none
                                    +
                                    120 
                                    +
                                    121  integer mstr, nstr, lstr, luns, icon
                                    +
                                    122 
                                    +
                                    123  character*80 usrs
                                    +
                                    124 
                                    +
                                    125  common /stcach/ mstr, nstr, lstr, luns(mxs,2), usrs(mxs), icon(52,mxs)
                                    +
                                    126 
                                    +
                                    127  mstr = mxs
                                    +
                                    128  nstr = 0
                                    +
                                    129  lstr = 0
                                    +
                                    130 
                                    +
                                    131  return
                                    +
                                    132 end subroutine strcln
                                    +
                                    133 
                                    +
                                    148 subroutine parusr(str,lun,i1,io)
                                    +
                                    149 
                                    +
                                    150  use modv_vars, only: iac
                                    +
                                    151 
                                    +
                                    152  implicit none
                                    +
                                    153 
                                    +
                                    154  integer, intent(in) :: lun, i1, io
                                    +
                                    155  integer, parameter :: maxusr = 30, maxnod = 20, maxcon = 10
                                    +
                                    156  integer nnod, ncon, nods, nodc, ivls, kons, i, j, n, ntot, nod, kon, irpc, lstjpb
                                    +
                                    157 
                                    +
                                    158  character*(*), intent(in) :: str
                                    +
                                    159  character*128 bort_str1, bort_str2
                                    +
                                    160  character*80 ust
                                    +
                                    161  character*20 utg(maxusr)
                                    +
                                    162 
                                    +
                                    163  real val
                                    +
                                    164 
                                    +
                                    165  logical bump
                                    +
                                    166 
                                    +
                                    167  common /usrstr/ nnod, ncon, nods(maxnod), nodc(maxcon), ivls(maxcon), kons(maxcon)
                                    +
                                    168 
                                    +
                                    169  ust = str
                                    +
                                    170  if(len(str)>80) then
                                    +
                                    171  write(bort_str1,'("BUFRLIB: PARUSR - INPUT STRING (",A,") HAS ")') str
                                    +
                                    172  write(bort_str2,'(18X,"LENGTH (",I4,"), > LIMIT OF 80 CHAR.")') len(str)
                                    +
                                    173  call bort2(bort_str1,bort_str2)
                                    +
                                    174  endif
                                    +
                                    175 
                                    +
                                    176  ncon = 0
                                    +
                                    177  nnod = 0
                                    +
                                    178 
                                    +
                                    179  ! Parse the string
                                    +
                                    180 
                                    +
                                    181  call parstr(ust,utg,maxusr,ntot,' ',.true.)
                                    +
                                    182 
                                    +
                                    183  do n=1,ntot
                                    +
                                    184  ! For each mnemonic, determine if it's a condition node or a store node
                                    +
                                    185  call parutg(lun,io,utg(n),nod,kon,val)
                                    +
                                    186  if(kon/=0) then
                                    +
                                    187  ! It's a condition node
                                    +
                                    188  ncon = ncon+1
                                    +
                                    189  if(ncon>maxcon) then
                                    +
                                    190  write(bort_str1,'("BUFRLIB: PARUSR - THE NUMBER OF CONDITION NODES IN INPUT STRING")')
                                    +
                                    191  write(bort_str2,'(18X,A,") EXCEEDS THE MAXIMUM (",I3,")")') str,maxcon
                                    +
                                    192  call bort2(bort_str1,bort_str2)
                                    +
                                    193  endif
                                    +
                                    194  nodc(ncon) = nod
                                    +
                                    195  kons(ncon) = kon
                                    +
                                    196  ivls(ncon) = nint(val)
                                    +
                                    197  else
                                    +
                                    198  ! It's a store node
                                    +
                                    199  nnod = nnod+1
                                    +
                                    200  if(nnod>maxnod) then
                                    +
                                    201  write(bort_str1,'("BUFRLIB: PARUSR - THE NUMBER OF STORE NODES IN INPUT STRING")')
                                    +
                                    202  write(bort_str2,'(18X,A,") EXCEEDS THE MAXIMUM (",I3,")")') str,maxnod
                                    +
                                    203  call bort2(bort_str1,bort_str2)
                                    +
                                    204  endif
                                    +
                                    205  nods(nnod) = nod
                                    +
                                    206  endif
                                    +
                                    207  enddo
                                    +
                                    208 
                                    +
                                    209  ! Sort condition nodes in jump/link table order
                                    +
                                    210 
                                    +
                                    211  do i=1,ncon
                                    +
                                    212  do j=i+1,ncon
                                    +
                                    213  if(nodc(i)>nodc(j)) then
                                    +
                                    214  nod = nodc(i)
                                    +
                                    215  nodc(i) = nodc(j)
                                    +
                                    216  nodc(j) = nod
                                    +
                                    217  kon = kons(i)
                                    +
                                    218  kons(i) = kons(j)
                                    +
                                    219  kons(j) = kon
                                    +
                                    220  val = ivls(i)
                                    +
                                    221  ivls(i) = ivls(j)
                                    +
                                    222  ivls(j) = nint(val)
                                    +
                                    223  endif
                                    +
                                    224  enddo
                                    +
                                    225  enddo
                                    +
                                    226 
                                    +
                                    227  ! Check on special rules for conditional nodes that are bump nodes
                                    +
                                    228 
                                    +
                                    229  bump = .false.
                                    +
                                    230  do n=1,ncon
                                    +
                                    231  if(kons(n)==5) then
                                    +
                                    232  if(io==0) then
                                    +
                                    233  write(bort_str1,'("BUFRLIB: PARUSR - BUMP NODE (^ IN INPUT STRING ",A)') str
                                    +
                                    234  write(bort_str2,'(18X,"IS SPECIFIED FOR A BUFR FILE OPEN FOR INPUT, THE BUFR FILE MUST BE OPEN FOR OUTPUT")')
                                    +
                                    235  call bort2(bort_str1,bort_str2)
                                    +
                                    236  endif
                                    +
                                    237  if(n/=ncon) then
                                    +
                                    238  write(bort_str1,'("BUFRLIB: PARUSR - INPUT STRING (",A,") CONTAINS")') str
                                    +
                                    239  write(bort_str2,'(18X,"CONDITIONAL NODES IN ADDITION TO BUMP NODE - THE BUMP MUST BE ON THE INNER NODE")')
                                    +
                                    240  call bort2(bort_str1,bort_str2)
                                    +
                                    241  endif
                                    +
                                    242  bump = .true.
                                    +
                                    243  endif
                                    +
                                    244  enddo
                                    +
                                    245 
                                    +
                                    246  ! Check store node count and alignment
                                    +
                                    247 
                                    +
                                    248  if(.not.bump .and. nnod==0) then
                                    +
                                    249  write(bort_str1,'("BUFRLIB: PARUSR - INPUT STRING (",A,") HAS")') str
                                    +
                                    250  write(bort_str2,'(18X,"NO STORE NODES")')
                                    +
                                    251  call bort2(bort_str1,bort_str2)
                                    +
                                    252  endif
                                    +
                                    253  if(nnod>i1) then
                                    +
                                    254  write(bort_str1,'("BUFRLIB: PARUSR - INPUT STRING (",A,")")') str
                                    +
                                    255  write(bort_str2,'(18X,"HAS",I5," STORE NODES (MNEMONICS) - THE LIMIT {THIRD (INPUT) ARGUMENT} IS",I5)') nnod,i1
                                    +
                                    256  call bort2(bort_str1,bort_str2)
                                    +
                                    257  endif
                                    +
                                    258 
                                    +
                                    259  irpc = -1
                                    +
                                    260  do i=1,nnod
                                    +
                                    261  if(nods(i)>0) then
                                    +
                                    262  if(irpc<0) irpc = lstjpb(nods(i),lun,'RPC')
                                    +
                                    263  if(irpc/=lstjpb(nods(i),lun,'RPC').and.iac==0) then
                                    +
                                    264  write(bort_str1,'("BUFRLIB: PARUSR - INPUT STRING (",A,") CONTAINS")') str
                                    +
                                    265  write(bort_str2,'(18X,"STORE NODES (MNEMONICS) THAT ARE IN MORE THAN ONE REPLICATION GROUP")')
                                    +
                                    266  call bort2(bort_str1,bort_str2)
                                    +
                                    267  endif
                                    +
                                    268  endif
                                    +
                                    269  enddo
                                    +
                                    270 
                                    +
                                    271  return
                                    +
                                    272 end subroutine parusr
                                    +
                                    273 
                                    +
                                    348 subroutine parutg(lun,io,utg,nod,kon,val)
                                    +
                                    349 
                                    +
                                    350  use moda_msgcwd
                                    +
                                    351  use moda_tables
                                    +
                                    352 
                                    +
                                    353  implicit none
                                    +
                                    354 
                                    +
                                    355  integer, intent(in) :: lun, io
                                    +
                                    356  integer, intent(out) :: nod, kon
                                    +
                                    357  integer, parameter :: nchk = 8, ncond = 6
                                    +
                                    358  integer, parameter :: iok(nchk) = (/-1, -1, -1, -1, -1, 0, 0, 0/)
                                    +
                                    359  integer ltg, icv, inod, i, j, num, ier
                                    +
                                    360 
                                    +
                                    361  character*(*), intent(in) :: utg
                                    +
                                    362  character*128 bort_str1, bort_str2
                                    +
                                    363  character*20 atag
                                    +
                                    364  character*3 atyp
                                    +
                                    365  character*3, parameter :: btyp(nchk) = (/'SUB','SEQ','REP','RPC','RPS','DRB','DRP','DRS'/)
                                    +
                                    366  character, parameter :: cond(ncond) = (/'=', '!', '<', '>', '^', '#'/)
                                    +
                                    367 
                                    +
                                    368  real, intent(out) :: val
                                    +
                                    369 
                                    +
                                    370  ! For now, set picky (see below) to always be .false.
                                    +
                                    371  logical, parameter :: picky = .false.
                                    +
                                    372 
                                    +
                                    373  atag = ' '
                                    +
                                    374  atyp = ' '
                                    +
                                    375  kon = 0
                                    +
                                    376  nod = 0
                                    +
                                    377  val = 0
                                    +
                                    378  ltg = min(20,len(utg))
                                    +
                                    379 
                                    +
                                    380  ! Parse utg, saving into atag only the characters prior to any condition character.
                                    +
                                    381 
                                    +
                                    382  ! But first, take care of the special case where utg denotes the short (i.e. 1-bit) delayed replication of a Table D
                                    +
                                    383  ! mnemonic. This will prevent confusion later on since '<' and '>' are each also valid as condition characters.
                                    +
                                    384  if((utg(1:1)=='<').and.(index(utg(3:),'>')/=0)) then
                                    +
                                    385  atag = utg
                                    +
                                    386  else
                                    +
                                    387  outer: do i=1,ltg
                                    +
                                    388  if(utg(i:i)==' ') exit
                                    +
                                    389  do j=1,ncond
                                    +
                                    390  if(utg(i:i)==cond(j)) then
                                    +
                                    391  kon = j
                                    +
                                    392  icv = i+1
                                    +
                                    393  exit outer
                                    +
                                    394  endif
                                    +
                                    395  enddo
                                    +
                                    396  atag(i:i) = utg(i:i)
                                    +
                                    397  enddo outer
                                    +
                                    398  endif
                                    +
                                    399 
                                    +
                                    400  ! Find the node associated with atag in the subset table
                                    +
                                    401 
                                    +
                                    402  inod = inode(lun)
                                    +
                                    403  do nod=inod,isc(inod)
                                    +
                                    404  if(atag==tag(nod)) then
                                    +
                                    405  ! We found it, now make sure it has a valid node type
                                    +
                                    406  if(kon==5) then
                                    +
                                    407  ! Condition char "^" must be associated with a delayed replication sequence (this is a "bump" node). This is an
                                    +
                                    408  ! obsolete feature but remains in the library for compatibility with older application programs.
                                    +
                                    409  if(typ(nod-1)/='DRP' .and. typ(nod-1)/='DRS') then
                                    +
                                    410  write(bort_str1,'("BUFRLIB: PARUTG - BUMP NODE (MNEMONIC ",A,")'// &
                                    +
                                    411  ' MUST REFER TO A DELAYED REPLICATION SEQUENCE, HERE TYPE IS ",A)') atag,typ(nod-1)
                                    +
                                    412  call bort(bort_str1)
                                    +
                                    413  endif
                                    +
                                    414  elseif(kon/=6) then
                                    +
                                    415  ! Allow reading (but not writing) of delayed replication factors.
                                    +
                                    416  atyp = typ(nod)
                                    +
                                    417  do i=1,nchk
                                    +
                                    418  if(atyp==btyp(i) .and. io>iok(i)) then
                                    +
                                    419  write(bort_str1,'("BUFRLIB: PARUTG - ILLEGAL NODE TYPE: ",A," FOR MNEMONIC ",A)') atyp,atag
                                    +
                                    420  call bort(bort_str1)
                                    +
                                    421  endif
                                    +
                                    422  enddo
                                    +
                                    423  endif
                                    +
                                    424  ! If it's a condition node, then get the condition value which is a number following it
                                    +
                                    425  if(kon/=0) then
                                    +
                                    426  call strnum(utg(icv:ltg),num,ier)
                                    +
                                    427  if(ier<0) then
                                    +
                                    428  write(bort_str1,'("BUFRLIB: PARUTG - CONDITION VALUE IN MNEMONIC ",A," CONTAINS NON-NUMERIC CHARACTERS")') utg
                                    +
                                    429  call bort(bort_str1)
                                    +
                                    430  endif
                                    +
                                    431  val = num
                                    +
                                    432  endif
                                    +
                                    433  return
                                    +
                                    434  endif
                                    +
                                    435  enddo
                                    +
                                    436 
                                    +
                                    437  ! atag was not found in the subset table
                                    +
                                    438 
                                    +
                                    439  ! So what do we want to do? We could be "picky" and abort right here, or we could allow for the possibility that, e.g. a
                                    +
                                    440  ! user application has been streamlined to always call subroutine ufbint() with the same str, even though some of the
                                    +
                                    441  ! mnemonics contained within that str may not exist within the sequence definition of every possible type/subtype that is
                                    +
                                    442  ! being written by the application. In such cases, by not being "picky", we could just allow the library to subsequently
                                    +
                                    443  ! (and quietly, if iprt happened to be set to -1 in common /quiet/) not actually store the value corresponding to such
                                    +
                                    444  ! mnemonics, rather than loudly complaining and aborting.
                                    +
                                    445 
                                    +
                                    446  if(kon==0 .and. (io==0 .or. atag=='NUL' .or. .not.picky)) then
                                    +
                                    447  nod = 0
                                    +
                                    448  else
                                    +
                                    449  write(bort_str1,'("BUFRLIB: PARUTG - TRYING TO WRITE A MNEMONIC'// &
                                    +
                                    450  ' (",A,") WHICH DOES NOT EXIST IN SUBSET TABLE")') atag
                                    +
                                    451  write(bort_str2,'(18X,"(UPON INPUT, IT CONTAINED THE CONDITION CHARACTER ",A,")")') utg(icv-1:icv-1)
                                    +
                                    452  call bort2(bort_str1,bort_str2)
                                    +
                                    453  endif
                                    +
                                    454 
                                    +
                                    455  return
                                    +
                                    456 end subroutine parutg
                                    +
                                    457 
                                    +
                                    472 subroutine parstr(str,tags,mtag,ntag,sep,limit80)
                                    +
                                    473 
                                    +
                                    474  implicit none
                                    +
                                    475 
                                    +
                                    476  integer, intent(in) :: mtag
                                    +
                                    477  integer, intent(out) :: ntag
                                    +
                                    478  integer i, lstr, ltag, nchr
                                    +
                                    479 
                                    +
                                    480  character*(*), intent(in) :: str
                                    +
                                    481  character*(*), intent(out) :: tags(mtag)
                                    +
                                    482  character, intent(in) :: sep
                                    +
                                    483  character*128 bort_str1, bort_str2
                                    +
                                    484 
                                    +
                                    485  logical, intent(in) :: limit80
                                    +
                                    486  logical substr
                                    +
                                    487 
                                    +
                                    488  lstr = len(str)
                                    +
                                    489  ltag = len(tags(1))
                                    +
                                    490  if( limit80 .and. (lstr>80) ) then
                                    +
                                    491  write(bort_str1,'("BUFRLIB: PARSTR - INPUT STRING (",A,") HAS ")') str
                                    +
                                    492  write(bort_str2,'(18X,"LENGTH (",I4,"), > LIMIT OF 80 CHAR.")') lstr
                                    +
                                    493  call bort2(bort_str1,bort_str2)
                                    +
                                    494  endif
                                    +
                                    495  ntag = 0
                                    +
                                    496  nchr = 0
                                    +
                                    497  substr = .false.
                                    +
                                    498 
                                    +
                                    499  do i=1,lstr
                                    +
                                    500  if( .not.substr .and. (str(i:i)/=sep) ) then
                                    +
                                    501  ntag = ntag+1
                                    +
                                    502  if(ntag>mtag) then
                                    +
                                    503  write(bort_str1,'("BUFRLIB: PARSTR - INPUT STRING (",A,") CONTAINS",I4)') str,ntag
                                    +
                                    504  write(bort_str2,'(18X,"SUBSTRINGS, EXCEEDING THE LIMIT {",I4," - THIRD (INPUT) ARGUMENT}")') mtag
                                    +
                                    505  call bort2(bort_str1,bort_str2)
                                    +
                                    506  endif
                                    +
                                    507  tags(ntag) = ' '
                                    +
                                    508  endif
                                    +
                                    509  if( substr .and. (str(i:i)==sep) ) nchr = 0
                                    +
                                    510  substr = str(i:i)/=sep
                                    +
                                    511  if(substr) then
                                    +
                                    512  nchr = nchr+1
                                    +
                                    513  if(nchr>ltag) then
                                    +
                                    514  write(bort_str1,'("BUFRLIB: PARSTR - INPUT STRING (",A,") ")') str
                                    +
                                    515  write(bort_str2,'(18X,"CONTAINS A PARSED SUBSTRING WITH LENGTH EXCEEDING THE MAXIMUM OF",I4," CHARACTERS")') ltag
                                    +
                                    516  call bort2(bort_str1,bort_str2)
                                    +
                                    517  endif
                                    +
                                    518  tags(ntag)(nchr:nchr) = str(i:i)
                                    +
                                    519  endif
                                    +
                                    520  enddo
                                    +
                                    521 
                                    +
                                    522  return
                                    +
                                    523 end subroutine parstr
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    subroutine bort2(str1, str2)
                                    Log two error messages, then abort the application program.
                                    Definition: borts.F90:39
                                    +
                                    recursive subroutine strnum(str, num, iret)
                                    Decode an integer from a character string.
                                    Definition: misc.F90:177
                                    +
                                    Declare arrays used to store information about the current BUFR message that is in the process of bei...
                                    +
                                    integer, dimension(:), allocatable inode
                                    Table A mnemonic for type of BUFR message.
                                    +
                                    Declare arrays and variables used to store the internal jump/link table.
                                    +
                                    integer, dimension(:), allocatable isc
                                    Scale factors corresponding to tag and typ:
                                    +
                                    character *3, dimension(:), allocatable typ
                                    Type indicators corresponding to tag:
                                    +
                                    character *10, dimension(:), allocatable tag
                                    Mnemonics in the jump/link table.
                                    +
                                    subroutine strcln
                                    Reset the internal mnemonic string cache.
                                    Definition: strings.F90:116
                                    +
                                    subroutine parstr(str, tags, mtag, ntag, sep, limit80)
                                    Parse a string containing one or more substrings into an array of substrings.
                                    Definition: strings.F90:473
                                    +
                                    subroutine parutg(lun, io, utg, nod, kon, val)
                                    Parse a mnemonic from a character string.
                                    Definition: strings.F90:349
                                    +
                                    subroutine string(str, lun, i1, io)
                                    Check whether a string is in the internal mnemonic string cache.
                                    Definition: strings.F90:25
                                    +
                                    subroutine parusr(str, lun, i1, io)
                                    Initiate the process to parse out mnemonics from a user-specified character string,...
                                    Definition: strings.F90:149
                                    +
                                    +
                                    + + + + diff --git a/stseq_8c.html b/stseq_8c.html index f923a8bc5..68fbc2db2 100644 --- a/stseq_8c.html +++ b/stseq_8c.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -212,9 +212,9 @@

                                    Definition at line 54 of file stseq.c.

                                    -

                                    References bort_f(), cadn30_f(), cmpia(), FXY_STR_LEN, ibfxyn_c, idfxyn_c, ifxy_f(), MIN_FXY_TABLED, nmtb_c, and nmtd_c.

                                    +

                                    References bort_f(), cadn30_f(), cmpia(), FXY_STR_LEN, ibfxyn_c, idfxyn_c, ifxy_f(), MIN_FXY_TABLED, nmtb_c, and nmtd_c.

                                    -

                                    Referenced by stseq().

                                    +

                                    Referenced by stseq().

                                    @@ -275,25 +275,27 @@

                                    Store information about a standard Table D descriptor within internal DX BUFR tables.

                                    -

                                    Given the bit-wise (integer) representation of a WMO-standard Table D descriptor, this subroutine uses the master BUFR tables to store all of the necessary information for that descriptor within the internal DX BUFR tables. Any child descriptors which are themselves Table D descriptors are automatically resolved via a recursive call to this same subroutine.

                                    +

                                    Given the WMO bit-wise (integer) representation of a standard Table D descriptor, this subroutine uses the master BUFR tables to store all of the necessary information for that descriptor within the internal DX BUFR tables. Any child descriptors which are themselves Table D descriptors are automatically resolved via a recursive call to this same subroutine.

                                    Parameters
                                    - - - - - - - + + + + + + +
                                    lun- File ID.
                                    irepct- Replication sequence counter for the current master table; used internally to keep track of which sequence names have already been defined, and thereby avoid contention within the internal DX BUFR Table D.
                                    idn- WMO bit-wise representation of FXY value for WMO-standard Table D descriptor
                                    nemo- Mnemonic corresponding to idn.
                                    cseq- Description corresponding to idn.
                                    cdesc- Array of WMO-standard child descriptors equivalent to idn.
                                    ncdesc- Number of WMO-standard child descriptors in cdesc.
                                    lun- File ID
                                    irepct- Replication sequence counter for the current master table; used internally to keep track of which sequence names have already been defined, and thereby avoid contention within the internal DX BUFR Table D
                                    idn- WMO bit-wise representation of FXY value for standard Table D descriptor
                                    nemo- Mnemonic corresponding to idn
                                    cseq- Description corresponding to idn
                                    cdesc- Array of WMO-standard child descriptors equivalent to idn
                                    ncdesc- Number of WMO-standard child descriptors in cdesc
                                    Author
                                    J. Ator
                                    Date
                                    2009-03-23
                                    -

                                    Definition at line 111 of file stseq.c.

                                    +

                                    Definition at line 107 of file stseq.c.

                                    -

                                    References bort_f(), cadn30_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, elemdx_f(), FXY_STR_LEN, icvidx(), idefxy_c, ifxy_f(), igetntbi_f(), igetprm_f(), igettdi_f(), imrkopr_f(), MAX_FXY_TABLEB, MIN_FXY_REPL, MIN_FXY_TABLED, MXNAF, ndelem_c, NEMO_STR_LEN, nemtab_f(), nummtb(), numtbd_f(), pktdd_f(), stntbi_f(), and strnum_f().

                                    +

                                    References bort_f(), cadn30_f(), cbbw_c, cbelem_c, cbmnem_c, cbscl_c, cbsref_c, cbunit_c, cdmnem_c, cdseq_c, elemdx_f(), FXY_STR_LEN, iafpk, icvidx(), idefxy_c, ifxy_f(), igetntbi_f(), igetprm_f(), igettdi_f(), imrkopr_f(), MAX_FXY_TABLEB, MIN_FXY_REPL, MIN_FXY_TABLED, ndelem_c, NEMO_STR_LEN, nemtab_f(), nummtb(), numtbd_f(), pktdd_f(), stntbi_f(), strnum_f(), and stseq().

                                    + +

                                    Referenced by stseq().

                                    diff --git a/stseq_8c_source.html b/stseq_8c_source.html index 784a03fc9..0d0445364 100644 --- a/stseq_8c_source.html +++ b/stseq_8c_source.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -110,13 +110,13 @@
                                    59 
                                    60  if ( *idn >= ifxy_f(MIN_FXY_TABLED) ) {
                                    61  *tab = 'D';
                                    -
                                    62  pifxyn = &idfxyn_c[0];
                                    -
                                    63  nmt = nmtd_c;
                                    +
                                    62  pifxyn = &idfxyn_c[0];
                                    +
                                    63  nmt = nmtd_c;
                                    64  }
                                    65  else {
                                    66  *tab = 'B';
                                    -
                                    67  pifxyn = &ibfxyn_c[0];
                                    -
                                    68  nmt = nmtb_c;
                                    +
                                    67  pifxyn = &ibfxyn_c[0];
                                    +
                                    68  nmt = nmtb_c;
                                    69  }
                                    70 
                                    71  pbs = bsearch(idn, pifxyn, (size_t) nmt, sizeof(int),
                                    @@ -132,416 +132,416 @@
                                    81  return;
                                    82 }
                                    83 
                                    -
                                    110 void
                                    -
                                    111 stseq(int lun, int *irepct, int idn, char *nemo,
                                    -
                                    112  char *cseq, int *cdesc, int ncdesc)
                                    -
                                    113 {
                                    -
                                    114  int i, j, nb, nd, ix, iy, iret, nbits;
                                    -
                                    115  int rpidn, pkint, ilen, imxcd, ipt, *rpdesc;
                                    -
                                    116 
                                    -
                                    117  char tab, adn[FXY_STR_LEN+1], adn2[FXY_STR_LEN+1], units[10], errstr[129];
                                    -
                                    118  char nemo2[NEMO_STR_LEN+1], rpseq[56], card[80], ctmp[4], cblk = ' ', czero = '0';
                                    -
                                    119 
                                    -
                                    120 /*
                                    -
                                    121 ** The following variables are declared as static so that they
                                    -
                                    122 ** automatically initialize to zero and remain unchanged between
                                    -
                                    123 ** recursive calls to this subroutine.
                                    -
                                    124 */
                                    -
                                    125  static int naf, iafpk[MXNAF];
                                    -
                                    126 
                                    -
                                    127 /*
                                    -
                                    128 ** Is idn already listed as an entry in the internal Table D?
                                    -
                                    129 ** If so, then there's no need to proceed any further.
                                    -
                                    130 */
                                    -
                                    131  numtbd_f(lun, idn, nemo2, NEMO_STR_LEN+1, &tab, &iret);
                                    -
                                    132  if ( ( iret > 0 ) && ( tab == 'D' ) ) return;
                                    -
                                    133 
                                    -
                                    134 /*
                                    -
                                    135 ** Start a new Table D entry for idn.
                                    -
                                    136 */
                                    -
                                    137  tab = 'D';
                                    -
                                    138  nd = igetntbi_f(lun, &tab);
                                    -
                                    139  cadn30_f(idn, adn, FXY_STR_LEN+1);
                                    -
                                    140  stntbi_f(nd, lun, adn, nemo, cseq);
                                    -
                                    141 
                                    -
                                    142 /*
                                    -
                                    143 ** Now, go through the list of child descriptors corresponding to idn.
                                    -
                                    144 */
                                    -
                                    145  imxcd = igetprm_f("MAXCD");
                                    -
                                    146 
                                    -
                                    147  for ( i = 0; i < ncdesc; i++ ) {
                                    -
                                    148  cadn30_f(cdesc[i], adn, FXY_STR_LEN+1); adn[6] = '\0';
                                    -
                                    149  strncpy(ctmp, &adn[1], 2); ctmp[2] = '\0';
                                    -
                                    150  strnum_f(ctmp, &ix, &iret);
                                    -
                                    151  strncpy(ctmp, &adn[3], 4); /* trailing null will be included in this copy */
                                    -
                                    152  strnum_f(ctmp, &iy, &iret);
                                    -
                                    153  if ( adn[0] == '3' ) {
                                    -
                                    154 /*
                                    -
                                    155 ** cdesc[i] is itself a Table D descriptor, so locate it within the
                                    -
                                    156 ** master table D and then store the contents within the internal
                                    -
                                    157 ** Table D via a recursive call to this same routine.
                                    -
                                    158 */
                                    -
                                    159  nummtb(&cdesc[i], &tab, &ipt);
                                    -
                                    160  if ( naf > 0 ) {
                                    -
                                    161 /*
                                    -
                                    162 ** There are associated fields in effect which will modify this
                                    -
                                    163 ** descriptor when storing it within the internal Table D. So
                                    -
                                    164 ** create a new sequence to store the contents of this descriptor
                                    -
                                    165 ** along with its associated fields.
                                    -
                                    166 */
                                    -
                                    167  rpidn = igettdi_f(lun);
                                    +
                                    106 void
                                    +
                                    107 stseq(int lun, int *irepct, int idn, char *nemo,
                                    +
                                    108  char *cseq, int *cdesc, int ncdesc)
                                    +
                                    109 {
                                    +
                                    110  int i, j, nb, nd, ix, iy, iret, nbits;
                                    +
                                    111  int rpidn, pkint, ilen, imxcd, imxnf, ipt, *rpdesc;
                                    +
                                    112 
                                    +
                                    113  char tab, adn[FXY_STR_LEN+1], adn2[FXY_STR_LEN+1], units[10], errstr[129];
                                    +
                                    114  char nemo2[NEMO_STR_LEN+1], rpseq[56], card[80], ctmp[4], cblk = ' ', czero = '0';
                                    +
                                    115 
                                    +
                                    116 /*
                                    +
                                    117 ** The following variable is declared as static so that it automatically initializes
                                    +
                                    118 ** to zero and remains unchanged between recursive calls to this subroutine.
                                    +
                                    119 */
                                    +
                                    120  static int naf;
                                    +
                                    121 
                                    +
                                    122 /*
                                    +
                                    123 ** Is idn already listed as an entry in the internal Table D?
                                    +
                                    124 ** If so, then there's no need to proceed any further.
                                    +
                                    125 */
                                    +
                                    126  numtbd_f(lun, idn, nemo2, NEMO_STR_LEN+1, &tab, &iret);
                                    +
                                    127  if ( ( iret > 0 ) && ( tab == 'D' ) ) return;
                                    +
                                    128 
                                    +
                                    129 /*
                                    +
                                    130 ** Start a new Table D entry for idn.
                                    +
                                    131 */
                                    +
                                    132  tab = 'D';
                                    +
                                    133  nd = igetntbi_f(lun, &tab);
                                    +
                                    134  cadn30_f(idn, adn, FXY_STR_LEN+1);
                                    +
                                    135  stntbi_f(nd, lun, adn, nemo, cseq);
                                    +
                                    136 
                                    +
                                    137 /*
                                    +
                                    138 ** Now, go through the list of child descriptors corresponding to idn.
                                    +
                                    139 */
                                    +
                                    140  imxcd = igetprm_f("MAXCD");
                                    +
                                    141  imxnf = igetprm_f("MXNAF");
                                    +
                                    142 
                                    +
                                    143  for ( i = 0; i < ncdesc; i++ ) {
                                    +
                                    144  cadn30_f(cdesc[i], adn, FXY_STR_LEN+1); adn[6] = '\0';
                                    +
                                    145  strncpy(ctmp, &adn[1], 2); ctmp[2] = '\0';
                                    +
                                    146  strnum_f(ctmp, &ix, &iret);
                                    +
                                    147  strncpy(ctmp, &adn[3], 4); /* trailing null will be included in this copy */
                                    +
                                    148  strnum_f(ctmp, &iy, &iret);
                                    +
                                    149  if ( adn[0] == '3' ) {
                                    +
                                    150 /*
                                    +
                                    151 ** cdesc[i] is itself a Table D descriptor, so locate it within the
                                    +
                                    152 ** master table D and then store the contents within the internal
                                    +
                                    153 ** Table D via a recursive call to this same routine.
                                    +
                                    154 */
                                    +
                                    155  nummtb(&cdesc[i], &tab, &ipt);
                                    +
                                    156  if ( naf > 0 ) {
                                    +
                                    157 /*
                                    +
                                    158 ** There are associated fields in effect which will modify this
                                    +
                                    159 ** descriptor when storing it within the internal Table D. So
                                    +
                                    160 ** create a new sequence to store the contents of this descriptor
                                    +
                                    161 ** along with its associated fields.
                                    +
                                    162 */
                                    +
                                    163  rpidn = igettdi_f(lun);
                                    +
                                    164 
                                    +
                                    165  sprintf(rpseq, "REPLICATION SEQUENCE %.3d", ++(*irepct));
                                    +
                                    166  memset(&rpseq[24], (int) cblk, 31);
                                    +
                                    167  sprintf(nemo2, "RPSEQ%.3d", *irepct);
                                    168 
                                    -
                                    169  sprintf(rpseq, "REPLICATION SEQUENCE %.3d", ++(*irepct));
                                    -
                                    170  memset(&rpseq[24], (int) cblk, 31);
                                    -
                                    171  sprintf(nemo2, "RPSEQ%.3d", *irepct);
                                    -
                                    172 
                                    -
                                    173  stseq(lun, irepct, rpidn, nemo2, rpseq,
                                    -
                                    174  &idefxy_c[icvidx(ipt,0,imxcd)],
                                    -
                                    175  ndelem_c[ipt]);
                                    -
                                    176  pkint = rpidn;
                                    -
                                    177 
                                    -
                                    178  }
                                    -
                                    179  else {
                                    -
                                    180 /*
                                    -
                                    181 ** Store cdesc[i] as is directly within the internal Table D.
                                    -
                                    182 */
                                    -
                                    183  stseq(lun, irepct, cdesc[i], &cdmnem_c[ipt][0],
                                    -
                                    184  &cdseq_c[ipt][0],
                                    -
                                    185  &idefxy_c[icvidx(ipt,0,imxcd)],
                                    -
                                    186  ndelem_c[ipt]);
                                    -
                                    187  pkint = cdesc[i];
                                    -
                                    188  }
                                    -
                                    189  }
                                    -
                                    190  else if ( adn[0] == '2' ) {
                                    +
                                    169  stseq(lun, irepct, rpidn, nemo2, rpseq,
                                    +
                                    170  &idefxy_c[icvidx(ipt,0,imxcd)],
                                    +
                                    171  ndelem_c[ipt]);
                                    +
                                    172  pkint = rpidn;
                                    +
                                    173 
                                    +
                                    174  }
                                    +
                                    175  else {
                                    +
                                    176 /*
                                    +
                                    177 ** Store cdesc[i] as is directly within the internal Table D.
                                    +
                                    178 */
                                    +
                                    179  stseq(lun, irepct, cdesc[i], &cdmnem_c[ipt][0],
                                    +
                                    180  &cdseq_c[ipt][0],
                                    +
                                    181  &idefxy_c[icvidx(ipt,0,imxcd)],
                                    +
                                    182  ndelem_c[ipt]);
                                    +
                                    183  pkint = cdesc[i];
                                    +
                                    184  }
                                    +
                                    185  }
                                    +
                                    186  else if ( adn[0] == '2' ) {
                                    +
                                    187 /*
                                    +
                                    188 ** cdesc[i] is an operator descriptor.
                                    +
                                    189 */
                                    +
                                    190  if ( ( ( ix >= 4 ) && ( ix <= 6 ) ) || ( imrkopr_f(adn) ) ) {
                                    191 /*
                                    -
                                    192 ** cdesc[i] is an operator descriptor.
                                    -
                                    193 */
                                    -
                                    194  if ( ( ( ix >= 4 ) && ( ix <= 6 ) ) || ( imrkopr_f(adn) ) ) {
                                    -
                                    195 /*
                                    -
                                    196 ** This is a 204YYY, 205YYY, 206YYY operator, or else a 223255,
                                    -
                                    197 ** 224255, 225255 or 232255 marker operator. In any case,
                                    -
                                    198 ** generate a Table B mnemonic to hold the corresponding data.
                                    -
                                    199 */
                                    -
                                    200  strncpy(nemo2, adn, 6);
                                    -
                                    201  memset(&nemo2[6], (int) cblk, 2);
                                    -
                                    202  nemo2[8] = '\0';
                                    -
                                    203 
                                    -
                                    204  if ( ( ix == 4 ) && ( iy == 0 ) ) {
                                    -
                                    205 /*
                                    -
                                    206 ** Cancel the most-recently added associated field.
                                    -
                                    207 */
                                    -
                                    208  if ( naf-- <= 0 ) {
                                    -
                                    209  sprintf(errstr, "BUFRLIB: STSEQ - TOO MANY ASSOCIATED"
                                    -
                                    210  " FIELD CANCELLATION OPERATORS");
                                    -
                                    211  bort_f(errstr);
                                    -
                                    212  }
                                    -
                                    213  }
                                    -
                                    214  else {
                                    -
                                    215 /*
                                    -
                                    216 ** Is nemo2 already listed as an entry within the internal
                                    -
                                    217 ** Table B?
                                    -
                                    218 */
                                    -
                                    219  nemtab_f(lun, nemo2, &pkint, &tab, &iret);
                                    -
                                    220  if ( ( iret == 0 ) || ( tab != 'B' ) ) {
                                    -
                                    221 /*
                                    -
                                    222 ** No, so create and store a new Table B entry for nemo2.
                                    -
                                    223 */
                                    -
                                    224  tab = 'B';
                                    -
                                    225  nb = igetntbi_f(lun, &tab);
                                    -
                                    226 
                                    -
                                    227  if ( ix == 4 ) {
                                    -
                                    228  sprintf(rpseq, "Associated field of %3d bits", iy);
                                    -
                                    229  nbits = iy;
                                    -
                                    230  strcpy(units, "NUMERIC");
                                    -
                                    231  }
                                    -
                                    232  else if ( ix == 5 ) {
                                    -
                                    233  sprintf(rpseq, "Text string of %3d bytes", iy);
                                    -
                                    234  nbits = iy*8;
                                    -
                                    235  strcpy(units, "CCITT IA5");
                                    -
                                    236  }
                                    -
                                    237  else if ( ix == 6 ) {
                                    -
                                    238  sprintf(rpseq, "Local descriptor of %3d bits", iy);
                                    -
                                    239  nbits = iy;
                                    -
                                    240  if ( nbits > 32 ) {
                                    -
                                    241  strcpy(units, "CCITT IA5");
                                    -
                                    242  }
                                    -
                                    243  else {
                                    -
                                    244  strcpy(units, "NUMERIC");
                                    -
                                    245  }
                                    -
                                    246  }
                                    -
                                    247  else { // 2-XX-255 marker operator
                                    -
                                    248  if ( ix == 23 ) {
                                    -
                                    249  sprintf(rpseq, "Substituted value");
                                    -
                                    250  }
                                    -
                                    251  else if ( ix == 24 ) {
                                    -
                                    252  sprintf(rpseq, "First-order statistical value");
                                    -
                                    253  }
                                    -
                                    254  else if ( ix == 25 ) {
                                    -
                                    255  sprintf(rpseq, "Difference statistical value");
                                    -
                                    256  }
                                    -
                                    257  else if ( ix == 32 ) {
                                    -
                                    258  sprintf(rpseq, "Replaced/retained value");
                                    -
                                    259  }
                                    -
                                    260  /* For now, set a default bit width and units. */
                                    -
                                    261  nbits = 8;
                                    -
                                    262  strcpy(units, "NUMERIC");
                                    -
                                    263  }
                                    -
                                    264  ilen = ( int ) strlen(rpseq);
                                    -
                                    265  memset(&rpseq[ilen], (int) cblk, 55 - ilen);
                                    -
                                    266 /*
                                    -
                                    267 ** Note that 49152 = 3*(2**14), so subtracting 49152 in the
                                    -
                                    268 ** following statement changes a Table D bit-wise FXY value into
                                    -
                                    269 ** a Table B bit-wise FXY value.
                                    -
                                    270 */
                                    -
                                    271  pkint = (igettdi_f(lun) - 49152);
                                    -
                                    272  cadn30_f(pkint, adn2, FXY_STR_LEN+1);
                                    -
                                    273 
                                    -
                                    274  stntbi_f(nb, lun, adn2, nemo2, rpseq);
                                    -
                                    275 
                                    -
                                    276  /* Initialize card to all blanks. */
                                    -
                                    277  memset(card, (int) cblk, sizeof( card ));
                                    -
                                    278 
                                    -
                                    279  strncpy(&card[2], nemo2, 8);
                                    -
                                    280  memcpy(&card[16], &czero, 1);
                                    -
                                    281  memcpy(&card[30], &czero, 1);
                                    -
                                    282  sprintf(&card[33], "%4d", nbits);
                                    -
                                    283  strcpy(&card[40], units);
                                    -
                                    284  card[40+strlen(units)] = cblk; /* overwrite trailing null */
                                    -
                                    285  elemdx_f(card, lun);
                                    -
                                    286  }
                                    -
                                    287  if ( ix == 4 ) {
                                    -
                                    288 /*
                                    -
                                    289 ** Add an associated field.
                                    -
                                    290 */
                                    -
                                    291  if ( naf >= MXNAF ) {
                                    -
                                    292  sprintf(errstr, "BUFRLIB: STSEQ - TOO MANY ASSOCIATED"
                                    -
                                    293  " FIELDS ARE IN EFFECT AT THE SAME TIME");
                                    -
                                    294  bort_f(errstr);
                                    -
                                    295  }
                                    -
                                    296  iafpk[naf++] = pkint;
                                    -
                                    297  }
                                    -
                                    298  }
                                    -
                                    299  if ( ix == 6 ) {
                                    -
                                    300 /*
                                    -
                                    301 ** Skip over the local descriptor placeholder.
                                    -
                                    302 */
                                    -
                                    303  if ( ++i >= ncdesc ) {
                                    -
                                    304  sprintf(errstr, "BUFRLIB: STSEQ - COULD NOT FIND LOCAL"
                                    -
                                    305  " DESCRIPTOR PLACEHOLDER FOR %s", adn);
                                    -
                                    306  bort_f(errstr);
                                    -
                                    307  }
                                    -
                                    308  }
                                    -
                                    309  }
                                    -
                                    310  else {
                                    -
                                    311  pkint = cdesc[i];
                                    -
                                    312  }
                                    -
                                    313  }
                                    -
                                    314  else if ( adn[0] == '1' ) {
                                    -
                                    315 /*
                                    -
                                    316 ** cdesc[i] is a replication descriptor, so create a sequence
                                    -
                                    317 ** consisting of the set of replicated descriptors and then immediately
                                    -
                                    318 ** store that sequence within the internal Table D via a recursive call
                                    -
                                    319 ** to this same routine.
                                    -
                                    320 **
                                    -
                                    321 ** See subroutine BFRINI and COMMON /REPTAB/ for the source of the FXY
                                    -
                                    322 ** values referenced in the following block. Note we are guaranteed
                                    -
                                    323 ** that 0 <= iy <= 255 since adn was generated using subroutine CADN30.
                                    -
                                    324 */
                                    -
                                    325  if ( iy == 0 ) { /* delayed replication */
                                    -
                                    326  if ( ( i+1 ) >= ncdesc ) {
                                    -
                                    327  sprintf(errstr, "BUFRLIB: STSEQ - COULD NOT FIND DELAYED "
                                    -
                                    328  "DESCRIPTOR REPLICATION FACTOR FOR %s", adn);
                                    -
                                    329  bort_f(errstr);
                                    -
                                    330  }
                                    -
                                    331  else if ( cdesc[i+1] == ifxy_f("031002") ) {
                                    -
                                    332  pkint = ifxy_f("360001");
                                    -
                                    333  }
                                    -
                                    334  else if ( cdesc[i+1] == ifxy_f("031001") ) {
                                    -
                                    335  pkint = ifxy_f("360002");
                                    -
                                    336  }
                                    -
                                    337  else if ( cdesc[i+1] == ifxy_f("031000") ) {
                                    -
                                    338  pkint = ifxy_f("360004");
                                    -
                                    339  }
                                    -
                                    340  else {
                                    -
                                    341  sprintf(errstr, "BUFRLIB: STSEQ - UNKNOWN DELAYED "
                                    -
                                    342  "DESCRIPTOR REPLICATION FACTOR FOR %s", adn);
                                    -
                                    343  bort_f(errstr);
                                    -
                                    344  }
                                    -
                                    345  i += 2;
                                    +
                                    192 ** This is a 204YYY, 205YYY, 206YYY operator, or else a 223255,
                                    +
                                    193 ** 224255, 225255 or 232255 marker operator. In any case,
                                    +
                                    194 ** generate a Table B mnemonic to hold the corresponding data.
                                    +
                                    195 */
                                    +
                                    196  strncpy(nemo2, adn, 6);
                                    +
                                    197  memset(&nemo2[6], (int) cblk, 2);
                                    +
                                    198  nemo2[8] = '\0';
                                    +
                                    199 
                                    +
                                    200  if ( ( ix == 4 ) && ( iy == 0 ) ) {
                                    +
                                    201 /*
                                    +
                                    202 ** Cancel the most-recently added associated field.
                                    +
                                    203 */
                                    +
                                    204  if ( naf-- <= 0 ) {
                                    +
                                    205  sprintf(errstr, "BUFRLIB: STSEQ - TOO MANY ASSOCIATED"
                                    +
                                    206  " FIELD CANCELLATION OPERATORS");
                                    +
                                    207  bort_f(errstr);
                                    +
                                    208  }
                                    +
                                    209  }
                                    +
                                    210  else {
                                    +
                                    211 /*
                                    +
                                    212 ** Is nemo2 already listed as an entry within the internal
                                    +
                                    213 ** Table B?
                                    +
                                    214 */
                                    +
                                    215  nemtab_f(lun, nemo2, &pkint, &tab, &iret);
                                    +
                                    216  if ( ( iret == 0 ) || ( tab != 'B' ) ) {
                                    +
                                    217 /*
                                    +
                                    218 ** No, so create and store a new Table B entry for nemo2.
                                    +
                                    219 */
                                    +
                                    220  tab = 'B';
                                    +
                                    221  nb = igetntbi_f(lun, &tab);
                                    +
                                    222 
                                    +
                                    223  if ( ix == 4 ) {
                                    +
                                    224  sprintf(rpseq, "Associated field of %3d bits", iy);
                                    +
                                    225  nbits = iy;
                                    +
                                    226  strcpy(units, "NUMERIC");
                                    +
                                    227  }
                                    +
                                    228  else if ( ix == 5 ) {
                                    +
                                    229  sprintf(rpseq, "Text string of %3d bytes", iy);
                                    +
                                    230  nbits = iy*8;
                                    +
                                    231  strcpy(units, "CCITT IA5");
                                    +
                                    232  }
                                    +
                                    233  else if ( ix == 6 ) {
                                    +
                                    234  sprintf(rpseq, "Local descriptor of %3d bits", iy);
                                    +
                                    235  nbits = iy;
                                    +
                                    236  if ( nbits > 32 ) {
                                    +
                                    237  strcpy(units, "CCITT IA5");
                                    +
                                    238  }
                                    +
                                    239  else {
                                    +
                                    240  strcpy(units, "NUMERIC");
                                    +
                                    241  }
                                    +
                                    242  }
                                    +
                                    243  else { // 2-XX-255 marker operator
                                    +
                                    244  if ( ix == 23 ) {
                                    +
                                    245  sprintf(rpseq, "Substituted value");
                                    +
                                    246  }
                                    +
                                    247  else if ( ix == 24 ) {
                                    +
                                    248  sprintf(rpseq, "First-order statistical value");
                                    +
                                    249  }
                                    +
                                    250  else if ( ix == 25 ) {
                                    +
                                    251  sprintf(rpseq, "Difference statistical value");
                                    +
                                    252  }
                                    +
                                    253  else if ( ix == 32 ) {
                                    +
                                    254  sprintf(rpseq, "Replaced/retained value");
                                    +
                                    255  }
                                    +
                                    256  /* For now, set a default bit width and units. */
                                    +
                                    257  nbits = 8;
                                    +
                                    258  strcpy(units, "NUMERIC");
                                    +
                                    259  }
                                    +
                                    260  ilen = ( int ) strlen(rpseq);
                                    +
                                    261  memset(&rpseq[ilen], (int) cblk, 55 - ilen);
                                    +
                                    262 /*
                                    +
                                    263 ** Note that 49152 = 3*(2**14), so subtracting 49152 in the
                                    +
                                    264 ** following statement changes a WMO Table D bit-wise FXY value into
                                    +
                                    265 ** a WMO Table B bit-wise FXY value.
                                    +
                                    266 */
                                    +
                                    267  pkint = (igettdi_f(lun) - 49152);
                                    +
                                    268  cadn30_f(pkint, adn2, FXY_STR_LEN+1);
                                    +
                                    269 
                                    +
                                    270  stntbi_f(nb, lun, adn2, nemo2, rpseq);
                                    +
                                    271 
                                    +
                                    272  /* Initialize card to all blanks. */
                                    +
                                    273  memset(card, (int) cblk, sizeof( card ));
                                    +
                                    274 
                                    +
                                    275  strncpy(&card[2], nemo2, 8);
                                    +
                                    276  memcpy(&card[16], &czero, 1);
                                    +
                                    277  memcpy(&card[30], &czero, 1);
                                    +
                                    278  sprintf(&card[33], "%4d", nbits);
                                    +
                                    279  strcpy(&card[40], units);
                                    +
                                    280  card[40+strlen(units)] = cblk; /* overwrite trailing null */
                                    +
                                    281  elemdx_f(card, lun);
                                    +
                                    282  }
                                    +
                                    283  if ( ix == 4 ) {
                                    +
                                    284 /*
                                    +
                                    285 ** Add an associated field.
                                    +
                                    286 */
                                    +
                                    287  if ( naf >= imxnf ) {
                                    +
                                    288  sprintf(errstr, "BUFRLIB: STSEQ - TOO MANY ASSOCIATED"
                                    +
                                    289  " FIELDS ARE IN EFFECT AT THE SAME TIME");
                                    +
                                    290  bort_f(errstr);
                                    +
                                    291  }
                                    +
                                    292  iafpk[naf++] = pkint;
                                    +
                                    293  }
                                    +
                                    294  }
                                    +
                                    295  if ( ix == 6 ) {
                                    +
                                    296 /*
                                    +
                                    297 ** Skip over the local descriptor placeholder.
                                    +
                                    298 */
                                    +
                                    299  if ( ++i >= ncdesc ) {
                                    +
                                    300  sprintf(errstr, "BUFRLIB: STSEQ - COULD NOT FIND LOCAL"
                                    +
                                    301  " DESCRIPTOR PLACEHOLDER FOR %s", adn);
                                    +
                                    302  bort_f(errstr);
                                    +
                                    303  }
                                    +
                                    304  }
                                    +
                                    305  }
                                    +
                                    306  else {
                                    +
                                    307  pkint = cdesc[i];
                                    +
                                    308  }
                                    +
                                    309  }
                                    +
                                    310  else if ( adn[0] == '1' ) {
                                    +
                                    311 /*
                                    +
                                    312 ** cdesc[i] is a replication descriptor, so create a sequence
                                    +
                                    313 ** consisting of the set of replicated descriptors and then immediately
                                    +
                                    314 ** store that sequence within the internal Table D via a recursive call
                                    +
                                    315 ** to this same routine.
                                    +
                                    316 **
                                    +
                                    317 ** See module @ref modv_vars for the source of the FXY values referenced
                                    +
                                    318 ** in the following block. Note we are guaranteed that 0 <= iy <= 255,
                                    +
                                    319 ** since adn was generated using subroutine cadn30_f().
                                    +
                                    320 */
                                    +
                                    321  if ( iy == 0 ) { /* delayed replication */
                                    +
                                    322  if ( ( i+1 ) >= ncdesc ) {
                                    +
                                    323  sprintf(errstr, "BUFRLIB: STSEQ - COULD NOT FIND DELAYED "
                                    +
                                    324  "DESCRIPTOR REPLICATION FACTOR FOR %s", adn);
                                    +
                                    325  bort_f(errstr);
                                    +
                                    326  }
                                    +
                                    327  else if ( cdesc[i+1] == ifxy_f("031002") ) {
                                    +
                                    328  pkint = ifxy_f("360001");
                                    +
                                    329  }
                                    +
                                    330  else if ( cdesc[i+1] == ifxy_f("031001") ) {
                                    +
                                    331  pkint = ifxy_f("360002");
                                    +
                                    332  }
                                    +
                                    333  else if ( cdesc[i+1] == ifxy_f("031000") ) {
                                    +
                                    334  pkint = ifxy_f("360004");
                                    +
                                    335  }
                                    +
                                    336  else {
                                    +
                                    337  sprintf(errstr, "BUFRLIB: STSEQ - UNKNOWN DELAYED "
                                    +
                                    338  "DESCRIPTOR REPLICATION FACTOR FOR %s", adn);
                                    +
                                    339  bort_f(errstr);
                                    +
                                    340  }
                                    +
                                    341  i += 2;
                                    +
                                    342  }
                                    +
                                    343  else { /* regular replication */
                                    +
                                    344  pkint = ifxy_f(MIN_FXY_REPL) + iy;
                                    +
                                    345  i++;
                                    346  }
                                    -
                                    347  else { /* regular replication */
                                    -
                                    348  pkint = ifxy_f(MIN_FXY_REPL) + iy;
                                    -
                                    349  i++;
                                    -
                                    350  }
                                    -
                                    351 /*
                                    -
                                    352 ** Store this replication descriptor within the table D entry for
                                    -
                                    353 ** this parent.
                                    -
                                    354 */
                                    -
                                    355  pktdd_f(nd, lun, pkint, &iret);
                                    -
                                    356  if ( iret < 0 ) {
                                    -
                                    357  strncpy(nemo2, nemo, 8);
                                    -
                                    358  nemo2[8] = '\0';
                                    -
                                    359  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD WHEN "
                                    -
                                    360  "STORING REPLICATOR FOR PARENT MNEMONIC %s", nemo2);
                                    -
                                    361  bort_f(errstr);
                                    -
                                    362  }
                                    -
                                    363 /*
                                    -
                                    364 ** Note we are guaranteed that 0 < ix <= 63 since adn was generated
                                    -
                                    365 ** using subroutine CADN30.
                                    -
                                    366 */
                                    -
                                    367  if ( ix > ( ncdesc - i ) ) {
                                    -
                                    368  sprintf(errstr, "BUFRLIB: STSEQ - NOT ENOUGH REMAINING CHILD "
                                    -
                                    369  "DESCRIPTORS TO COMPLETE REPLICATION FOR %s", adn);
                                    -
                                    370  bort_f(errstr);
                                    -
                                    371  }
                                    -
                                    372  else if ( ( ix == 1 ) && ( cdesc[i] >= ifxy_f(MIN_FXY_TABLED) ) ) {
                                    -
                                    373 /*
                                    -
                                    374 ** The only thing being replicated is a single Table D descriptor,
                                    -
                                    375 ** so there's no need to invent a new sequence for this replication
                                    -
                                    376 ** (this is a special case!)
                                    -
                                    377 */
                                    -
                                    378  nummtb(&cdesc[i], &tab, &ipt);
                                    -
                                    379  stseq(lun, irepct, cdesc[i], &cdmnem_c[ipt][0],
                                    -
                                    380  &cdseq_c[ipt][0],
                                    -
                                    381  &idefxy_c[icvidx(ipt,0,imxcd)],
                                    -
                                    382  ndelem_c[ipt]);
                                    -
                                    383  pkint = cdesc[i];
                                    -
                                    384  }
                                    -
                                    385  else {
                                    -
                                    386 /*
                                    -
                                    387 ** Store the ix descriptors to be replicated in a local list, then
                                    -
                                    388 ** get an FXY value to use with this list and generate a unique
                                    -
                                    389 ** mnemonic and description as well.
                                    -
                                    390 */
                                    -
                                    391 
                                    -
                                    392  if ( ( rpdesc = malloc( imxcd * sizeof(int) ) ) == NULL ) {
                                    -
                                    393  sprintf(errstr, "BUFRLIB: STSEQ - UNABLE TO ALLOCATE SPACE"
                                    -
                                    394  " FOR RPDESC");
                                    -
                                    395  bort_f(errstr);
                                    +
                                    347 /*
                                    +
                                    348 ** Store this replication descriptor within the table D entry for
                                    +
                                    349 ** this parent.
                                    +
                                    350 */
                                    +
                                    351  pktdd_f(nd, lun, pkint, &iret);
                                    +
                                    352  if ( iret < 0 ) {
                                    +
                                    353  strncpy(nemo2, nemo, 8);
                                    +
                                    354  nemo2[8] = '\0';
                                    +
                                    355  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD WHEN "
                                    +
                                    356  "STORING REPLICATOR FOR PARENT MNEMONIC %s", nemo2);
                                    +
                                    357  bort_f(errstr);
                                    +
                                    358  }
                                    +
                                    359 /*
                                    +
                                    360 ** Note we are guaranteed that 0 < ix <= 63 since adn was generated
                                    +
                                    361 ** using subroutine cadn30_f().
                                    +
                                    362 */
                                    +
                                    363  if ( ix > ( ncdesc - i ) ) {
                                    +
                                    364  sprintf(errstr, "BUFRLIB: STSEQ - NOT ENOUGH REMAINING CHILD "
                                    +
                                    365  "DESCRIPTORS TO COMPLETE REPLICATION FOR %s", adn);
                                    +
                                    366  bort_f(errstr);
                                    +
                                    367  }
                                    +
                                    368  else if ( ( ix == 1 ) && ( cdesc[i] >= ifxy_f(MIN_FXY_TABLED) ) ) {
                                    +
                                    369 /*
                                    +
                                    370 ** The only thing being replicated is a single Table D descriptor,
                                    +
                                    371 ** so there's no need to invent a new sequence for this replication
                                    +
                                    372 ** (this is a special case!)
                                    +
                                    373 */
                                    +
                                    374  nummtb(&cdesc[i], &tab, &ipt);
                                    +
                                    375  stseq(lun, irepct, cdesc[i], &cdmnem_c[ipt][0],
                                    +
                                    376  &cdseq_c[ipt][0],
                                    +
                                    377  &idefxy_c[icvidx(ipt,0,imxcd)],
                                    +
                                    378  ndelem_c[ipt]);
                                    +
                                    379  pkint = cdesc[i];
                                    +
                                    380  }
                                    +
                                    381  else {
                                    +
                                    382 /*
                                    +
                                    383 ** Store the ix descriptors to be replicated in a local list, then
                                    +
                                    384 ** get an FXY value to use with this list and generate a unique
                                    +
                                    385 ** mnemonic and description as well.
                                    +
                                    386 */
                                    +
                                    387 
                                    +
                                    388  if ( ( rpdesc = malloc( imxcd * sizeof(int) ) ) == NULL ) {
                                    +
                                    389  sprintf(errstr, "BUFRLIB: STSEQ - UNABLE TO ALLOCATE SPACE"
                                    +
                                    390  " FOR RPDESC");
                                    +
                                    391  bort_f(errstr);
                                    +
                                    392  }
                                    +
                                    393 
                                    +
                                    394  for ( j = 0; j < ix; j++ ) {
                                    +
                                    395  rpdesc[j] = cdesc[i+j];
                                    396  }
                                    397 
                                    -
                                    398  for ( j = 0; j < ix; j++ ) {
                                    -
                                    399  rpdesc[j] = cdesc[i+j];
                                    -
                                    400  }
                                    -
                                    401 
                                    -
                                    402  rpidn = igettdi_f(lun);
                                    +
                                    398  rpidn = igettdi_f(lun);
                                    +
                                    399 
                                    +
                                    400  sprintf(rpseq, "REPLICATION SEQUENCE %.3d", ++(*irepct));
                                    +
                                    401  memset(&rpseq[24], (int) cblk, 31);
                                    +
                                    402  sprintf(nemo2, "RPSEQ%.3d", *irepct);
                                    403 
                                    -
                                    404  sprintf(rpseq, "REPLICATION SEQUENCE %.3d", ++(*irepct));
                                    -
                                    405  memset(&rpseq[24], (int) cblk, 31);
                                    -
                                    406  sprintf(nemo2, "RPSEQ%.3d", *irepct);
                                    +
                                    404  stseq(lun, irepct, rpidn, nemo2, rpseq, rpdesc, ix);
                                    +
                                    405 
                                    +
                                    406  free(rpdesc);
                                    407 
                                    -
                                    408  stseq(lun, irepct, rpidn, nemo2, rpseq, rpdesc, ix);
                                    -
                                    409 
                                    -
                                    410  free(rpdesc);
                                    -
                                    411 
                                    -
                                    412  pkint = rpidn;
                                    -
                                    413  i += ix - 1;
                                    -
                                    414  }
                                    -
                                    415  }
                                    -
                                    416  else {
                                    -
                                    417 /*
                                    -
                                    418 ** cdesc[i] is a Table B descriptor.
                                    -
                                    419 **
                                    -
                                    420 ** Is cdesc[i] already listed as an entry in the internal Table B?
                                    -
                                    421 */
                                    -
                                    422  numtbd_f(lun, cdesc[i], nemo2, NEMO_STR_LEN+1, &tab, &iret);
                                    -
                                    423  if ( ( iret == 0 ) || ( tab != 'B' ) ) {
                                    +
                                    408  pkint = rpidn;
                                    +
                                    409  i += ix - 1;
                                    +
                                    410  }
                                    +
                                    411  }
                                    +
                                    412  else {
                                    +
                                    413 /*
                                    +
                                    414 ** cdesc[i] is a Table B descriptor.
                                    +
                                    415 **
                                    +
                                    416 ** Is cdesc[i] already listed as an entry in the internal Table B?
                                    +
                                    417 */
                                    +
                                    418  numtbd_f(lun, cdesc[i], nemo2, NEMO_STR_LEN+1, &tab, &iret);
                                    +
                                    419  if ( ( iret == 0 ) || ( tab != 'B' ) ) {
                                    +
                                    420 /*
                                    +
                                    421 ** No, so search for it within the master table B.
                                    +
                                    422 */
                                    +
                                    423  nummtb(&cdesc[i], &tab, &ipt);
                                    424 /*
                                    -
                                    425 ** No, so search for it within the master table B.
                                    +
                                    425 ** Start a new Table B entry for cdesc[i].
                                    426 */
                                    -
                                    427  nummtb(&cdesc[i], &tab, &ipt);
                                    -
                                    428 /*
                                    -
                                    429 ** Start a new Table B entry for cdesc[i].
                                    -
                                    430 */
                                    -
                                    431  nb = igetntbi_f(lun, &tab);
                                    -
                                    432  cadn30_f(cdesc[i], adn2, FXY_STR_LEN+1);
                                    -
                                    433  stntbi_f(nb, lun, adn2, &cbmnem_c[ipt][0], &cbelem_c[ipt][0]);
                                    -
                                    434 
                                    -
                                    435  /* Initialize card to all blanks. */
                                    -
                                    436  memset(card, (int) cblk, sizeof( card ));
                                    -
                                    437 
                                    -
                                    438  strncpy(&card[2], &cbmnem_c[ipt][0], 8);
                                    -
                                    439  strncpy(&card[13], &cbscl_c[ipt][0], 4);
                                    -
                                    440  strncpy(&card[19], &cbsref_c[ipt][0], 12);
                                    -
                                    441  strncpy(&card[33], &cbbw_c[ipt][0], 4);
                                    -
                                    442  strncpy(&card[40], &cbunit_c[ipt][0], 24);
                                    -
                                    443  elemdx_f(card, lun);
                                    -
                                    444  }
                                    -
                                    445  pkint = cdesc[i];
                                    -
                                    446  }
                                    -
                                    447  if (strncmp( adn, "204", 3) != 0 ) {
                                    -
                                    448 /*
                                    -
                                    449 ** Store this child descriptor within the table D entry for this
                                    -
                                    450 ** parent, preceding it with any associated fields that are currently
                                    -
                                    451 ** in effect.
                                    -
                                    452 **
                                    -
                                    453 ** Note that associated fields are only applied to Table B descriptors,
                                    -
                                    454 ** except for those in Class 31.
                                    -
                                    455 */
                                    -
                                    456  if ( ( naf > 0 ) && ( pkint <= ifxy_f(MAX_FXY_TABLEB) ) &&
                                    -
                                    457  ( ( pkint < ifxy_f("031000") ) ||
                                    -
                                    458  ( pkint > ifxy_f("031255") ) ) ) {
                                    -
                                    459  for ( j = 0; j < naf; j++ ) {
                                    -
                                    460  pktdd_f(nd, lun, iafpk[j], &iret);
                                    -
                                    461  if ( iret < 0 ) {
                                    -
                                    462  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD "
                                    -
                                    463  "WHEN STORING ASSOCIATED FIELDS");
                                    -
                                    464  bort_f(errstr);
                                    -
                                    465  }
                                    -
                                    466  }
                                    -
                                    467  }
                                    -
                                    468 /*
                                    -
                                    469 ** Store the child descriptor.
                                    -
                                    470 */
                                    -
                                    471  pktdd_f(nd, lun, pkint, &iret);
                                    -
                                    472  if ( iret < 0 ) {
                                    -
                                    473  strncpy(nemo2, nemo, 8);
                                    -
                                    474  nemo2[8] = '\0';
                                    -
                                    475  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD WHEN "
                                    -
                                    476  "STORING CHILD FOR PARENT MNEMONIC %s", nemo2);
                                    -
                                    477  bort_f(errstr);
                                    -
                                    478  }
                                    -
                                    479  }
                                    -
                                    480  }
                                    -
                                    481 }
                                    +
                                    427  nb = igetntbi_f(lun, &tab);
                                    +
                                    428  cadn30_f(cdesc[i], adn2, FXY_STR_LEN+1);
                                    +
                                    429  stntbi_f(nb, lun, adn2, &cbmnem_c[ipt][0], &cbelem_c[ipt][0]);
                                    +
                                    430 
                                    +
                                    431  /* Initialize card to all blanks. */
                                    +
                                    432  memset(card, (int) cblk, sizeof( card ));
                                    +
                                    433 
                                    +
                                    434  strncpy(&card[2], &cbmnem_c[ipt][0], 8);
                                    +
                                    435  strncpy(&card[13], &cbscl_c[ipt][0], 4);
                                    +
                                    436  strncpy(&card[19], &cbsref_c[ipt][0], 12);
                                    +
                                    437  strncpy(&card[33], &cbbw_c[ipt][0], 4);
                                    +
                                    438  strncpy(&card[40], &cbunit_c[ipt][0], 24);
                                    +
                                    439  elemdx_f(card, lun);
                                    +
                                    440  }
                                    +
                                    441  pkint = cdesc[i];
                                    +
                                    442  }
                                    +
                                    443  if (strncmp( adn, "204", 3) != 0 ) {
                                    +
                                    444 /*
                                    +
                                    445 ** Store this child descriptor within the table D entry for this
                                    +
                                    446 ** parent, preceding it with any associated fields that are currently
                                    +
                                    447 ** in effect.
                                    +
                                    448 **
                                    +
                                    449 ** Note that associated fields are only applied to Table B descriptors,
                                    +
                                    450 ** except for those in Class 31.
                                    +
                                    451 */
                                    +
                                    452  if ( ( naf > 0 ) && ( pkint <= ifxy_f(MAX_FXY_TABLEB) ) &&
                                    +
                                    453  ( ( pkint < ifxy_f("031000") ) ||
                                    +
                                    454  ( pkint > ifxy_f("031255") ) ) ) {
                                    +
                                    455  for ( j = 0; j < naf; j++ ) {
                                    +
                                    456  pktdd_f(nd, lun, iafpk[j], &iret);
                                    +
                                    457  if ( iret < 0 ) {
                                    +
                                    458  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD "
                                    +
                                    459  "WHEN STORING ASSOCIATED FIELDS");
                                    +
                                    460  bort_f(errstr);
                                    +
                                    461  }
                                    +
                                    462  }
                                    +
                                    463  }
                                    +
                                    464 /*
                                    +
                                    465 ** Store the child descriptor.
                                    +
                                    466 */
                                    +
                                    467  pktdd_f(nd, lun, pkint, &iret);
                                    +
                                    468  if ( iret < 0 ) {
                                    +
                                    469  strncpy(nemo2, nemo, 8);
                                    +
                                    470  nemo2[8] = '\0';
                                    +
                                    471  sprintf(errstr, "BUFRLIB: STSEQ - BAD RETURN FROM PKTDD WHEN "
                                    +
                                    472  "STORING CHILD FOR PARENT MNEMONIC %s", nemo2);
                                    +
                                    473  bort_f(errstr);
                                    +
                                    474  }
                                    +
                                    475  }
                                    +
                                    476  }
                                    +
                                    477 }
                                    int igetprm_f(char *cprmnm)
                                    Get the current value of a parameter.
                                    void nemtab_f(int lun, const char *mnemonic, int *descriptor, char *table_type, int *table_idx)
                                    Get information about a descriptor.
                                    Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                    int igettdi_f(int iflag)
                                    Get the next usable Table D index for the current master table, or reset the index.
                                    void cadn30_f(int idn, char *adn, int adn_str_len)
                                    Convert an FXY value from its WMO bit-wise representation to its six-character representation.
                                    -
                                    #define FXY_STR_LEN
                                    Size of a character string needed to store an FXY value.
                                    Definition: bufrlib.h:54
                                    +
                                    #define FXY_STR_LEN
                                    Size of a character string needed to store an FXY value.
                                    Definition: bufrlib.h:34
                                    void elemdx_f(char *card, int lun)
                                    Decode the scale factor, reference value, bit width, and units from a Table B mnemonic definition.
                                    int imrkopr_f(char *nemo)
                                    Check whether a specified mnemonic is a Table C marker operator.
                                    -
                                    #define MXNAF
                                    Maximum number of associated fields that can be in effect at any given time for a Table B descriptor.
                                    Definition: bufrlib.h:51
                                    void numtbd_f(int lun, int idn, char *nemo, int nemo_str_len, char *tab, int *iret)
                                    Search for a Table B or Table D descriptor within the internal DX BUFR tables.
                                    void bort_f(char *errstr)
                                    Log one error message and abort application program.
                                    void stntbi_f(int n, int lun, char *numb, char *nemo, char *celsq)
                                    Store a new entry within the internal BUFR Table B or D.
                                    -
                                    #define MIN_FXY_REPL
                                    Character string containing minimum FXY value for a replication descriptor.
                                    Definition: bufrlib.h:57
                                    -
                                    #define MIN_FXY_TABLED
                                    Character string containing minimum FXY value for a Table D descriptor.
                                    Definition: bufrlib.h:60
                                    +
                                    #define MIN_FXY_REPL
                                    Character string containing minimum FXY value for a replication descriptor.
                                    Definition: bufrlib.h:37
                                    +
                                    #define MIN_FXY_TABLED
                                    Character string containing minimum FXY value for a Table D descriptor.
                                    Definition: bufrlib.h:40
                                    int ifxy_f(char *cfxy)
                                    Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
                                    void strnum_f(char *str, int *num, int *iret)
                                    Decode an integer from a character string.
                                    -
                                    #define NEMO_STR_LEN
                                    Size of a character string needed to store a mnemonic.
                                    Definition: bufrlib.h:66
                                    -
                                    #define MAX_FXY_TABLEB
                                    Character string containing maximum FXY value for a Table B descriptor.
                                    Definition: bufrlib.h:63
                                    +
                                    #define NEMO_STR_LEN
                                    Size of a character string needed to store a mnemonic.
                                    Definition: bufrlib.h:46
                                    +
                                    #define MAX_FXY_TABLEB
                                    Character string containing maximum FXY value for a Table B descriptor.
                                    Definition: bufrlib.h:43
                                    +
                                    int icvidx(int ii, int jj, int numjj)
                                    Computes a unique 1-dimensional array index from 2-dimensional indices.
                                    Definition: icvidx.c:22
                                    void pktdd_f(int id, int lun, int idn, int *iret)
                                    Store information about a child mnemonic within the internal arrays.
                                    int igetntbi_f(int lun, char *table_type)
                                    Get the next index for storing an entry within an internal DX BUFR table.
                                    -
                                    int icvidx(int ii, int jj, int numjj)
                                    Computes a unique 1-dimensional array index from 2-dimensional indices.
                                    Definition: icvidx.c:22
                                    Declare variables for internal storage of master Table B and Table D entries.
                                    -
                                    char(* cbunit_c)[24]
                                    Master Table B units; copied from Fortran cbunit array.
                                    -
                                    int * idfxyn_c
                                    Bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                    -
                                    char(* cdmnem_c)[8]
                                    Master Table D mnemonics; copied from Fortran cdmnem array.
                                    -
                                    char(* cbelem_c)[120]
                                    Master Table B element names; copied from Fortran cbelem array.
                                    -
                                    int * ndelem_c
                                    Number of child descriptors for master Table D sequence; copied from Fortran ndelem array.
                                    -
                                    int nmtd_c
                                    Number of master Table D entries; copied from Fortran nmtd variable.
                                    -
                                    int * idefxy_c
                                    Bit-wise representations of child descriptors for master Table D sequence; copied from Fortran idefxy...
                                    -
                                    char(* cbbw_c)[4]
                                    Master Table B bit widths; copied from Fortran cbbw array.
                                    -
                                    char(* cbsref_c)[12]
                                    Master Table B reference value; copied from Fortran cbsref array.
                                    -
                                    char(* cdseq_c)[120]
                                    Master Table D sequence names; copied from Fortran cdseq array.
                                    -
                                    int * ibfxyn_c
                                    Bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                    -
                                    int nmtb_c
                                    Number of master Table B entries; copied from Fortran nmtb variable.
                                    -
                                    char(* cbscl_c)[4]
                                    Master Table B scale factors; copied from Fortran cbscl array.
                                    -
                                    char(* cbmnem_c)[8]
                                    Master Table B mnemonics; copied from Fortran cbmnem array.
                                    +
                                    int * idefxy_c
                                    WMO bit-wise representations of child descriptors for master Table D sequences; copied from Fortran i...
                                    +
                                    char(* cbsref_c)[12]
                                    Master Table B reference values; copied from Fortran cbsref array.
                                    +
                                    char(* cbelem_c)[120]
                                    Master Table B element names; copied from Fortran cbelem array.
                                    +
                                    int * idfxyn_c
                                    WMO bit-wise representations of master Table D FXY numbers; copied from Fortran idfxyn array.
                                    +
                                    char(* cdmnem_c)[8]
                                    Master Table D mnemonics; copied from Fortran cdmnem array.
                                    +
                                    char(* cdseq_c)[120]
                                    Master Table D sequence names; copied from Fortran cdseq array.
                                    +
                                    char(* cbscl_c)[4]
                                    Master Table B scale factors; copied from Fortran cbscl array.
                                    +
                                    char(* cbunit_c)[24]
                                    Master Table B units; copied from Fortran cbunit array.
                                    +
                                    char(* cbmnem_c)[8]
                                    Master Table B mnemonics; copied from Fortran cbmnem array.
                                    +
                                    char(* cbbw_c)[4]
                                    Master Table B bit widths; copied from Fortran cbbw array.
                                    +
                                    int nmtd_c
                                    Number of master Table D entries; copied from Fortran nmtd variable.
                                    +
                                    int * iafpk
                                    WMO bit-wise representations of associated fields within master Table D sequences.
                                    +
                                    int * ibfxyn_c
                                    WMO bit-wise representations of master Table B FXY numbers; copied from Fortran ibfxyn array.
                                    +
                                    int nmtb_c
                                    Number of master Table B entries; copied from Fortran nmtb variable.
                                    +
                                    int * ndelem_c
                                    Number of child descriptors for master Table D sequences; copied from Fortran ndelem array.
                                    void nummtb(int *idn, char *tab, int *ipt)
                                    Search for an entry in the BUFR master table.
                                    Definition: stseq.c:54
                                    -
                                    void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
                                    Store information about a standard Table D descriptor within internal DX BUFR tables.
                                    Definition: stseq.c:111
                                    +
                                    void stseq(int lun, int *irepct, int idn, char *nemo, char *cseq, int *cdesc, int ncdesc)
                                    Store information about a standard Table D descriptor within internal DX BUFR tables.
                                    Definition: stseq.c:107
                                    int cmpia(const void *pf1, const void *pf2)
                                    Define a comparison between two integers.
                                    Definition: stseq.c:28
                                    diff --git a/tankrcpt_8F90.html b/tankrcpt_8F90.html new file mode 100644 index 000000000..5c4e0967b --- /dev/null +++ b/tankrcpt_8F90.html @@ -0,0 +1,436 @@ + + + + + + + +NCEPLIBS-bufr: tankrcpt.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    tankrcpt.F90 File Reference
                                    +
                                    +
                                    + +

                                    Read and write tank receipt times within BUFR messages. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    recursive subroutine atrcpt (msgin, lmsgot, msgot)
                                     Read an input message and output an equivalent BUFR message with a tank receipt time added to Section 1. More...
                                     
                                    recursive subroutine rtrcpt (lunit, iyr, imo, idy, ihr, imi, iret)
                                     Read the tank receipt time (if one exists) from Section 1 of a BUFR message. More...
                                     
                                    recursive subroutine rtrcptb (mbay, iyr, imo, idy, ihr, imi, iret)
                                     Read the tank receipt time (if one exists) from Section 1 of a BUFR message. More...
                                     
                                    recursive subroutine strcpt (cf, iyr, imo, idy, ihr, imi)
                                     Specify a tank receipt time to be included within Section 1 of all BUFR messages output by future calls to message-writing subroutines and subset-writing subroutines. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Read and write tank receipt times within BUFR messages.

                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition in file tankrcpt.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ atrcpt()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine atrcpt (integer, dimension(*), intent(in) msgin,
                                    integer, intent(in) lmsgot,
                                    integer, dimension(*), intent(out) msgot 
                                    )
                                    +
                                    + +

                                    Read an input message and output an equivalent BUFR message with a tank receipt time added to Section 1.

                                    +

                                    The tank receipt time to be added must have been specified via a previous call to subroutine strcpt(). This subroutine performs the same function as subroutine strcpt() when the latter is called with CF = 'Y', except that the latter subroutine operates on BUFR messages internally within the software, whereas this subroutine operates on a single BUFR message passed in via a memory array.

                                    +
                                    Remarks
                                      +
                                    • msgin and msgot must be separate arrays
                                    • +
                                    • msgot will be longer in length than msgin, so the user must allow for extra space when allocating msgot within the application program
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + + +
                                    msgin- BUFR message
                                    lmsgot- Dimensioned size (in integers) of msgot; used by the subroutine to ensure that it doesn't overflow the msgot array
                                    msgot- Copy of msgin with a tank receipt time added to Section 1
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 23 of file tankrcpt.F90.

                                    + +

                                    References bort(), getlens(), moda_tnkrcp::itrdy, moda_tnkrcp::itrhr, moda_tnkrcp::itrmi, moda_tnkrcp::itrmo, moda_tnkrcp::itryr, iupbs01(), mvb(), pkb(), and x84().

                                    + +

                                    Referenced by msgwrt().

                                    + +
                                    +
                                    + +

                                    ◆ rtrcpt()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine rtrcpt (integer, intent(in) lunit,
                                    integer, intent(out) iyr,
                                    integer, intent(out) imo,
                                    integer, intent(out) idy,
                                    integer, intent(out) ihr,
                                    integer, intent(out) imi,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Read the tank receipt time (if one exists) from Section 1 of a BUFR message.

                                    +

                                    This subroutine is similar to subroutine rtrcptb(), except that rtrcptb() operates on a BUFR message passed in via a memory array, whereas this subroutine operates on the BUFR message that was read into internal arrays via the most recent call to any of the other message-reading subroutines for a specified Fortran logical unit.

                                    +
                                    Parameters
                                    + + + + + + + + +
                                    lunit- Fortran logical unit number for BUFR file
                                    iyr- Tank receipt year
                                    imo- Tank receipt month
                                    idy- Tank receipt day
                                    ihr- Tank receipt hour
                                    imi- Tank receipt minute
                                    iret- return code
                                      +
                                    • 0 = normal return
                                    • +
                                    • -1 = no tank receipt time exists within the BUFR message currently open for input within internal arrays
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 186 of file tankrcpt.F90.

                                    + +

                                    References bort(), moda_bitbuf::mbay, rtrcptb(), status(), x48(), and x84().

                                    + +
                                    +
                                    + +

                                    ◆ rtrcptb()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine rtrcptb (integer, dimension(*), intent(in) mbay,
                                    integer, intent(out) iyr,
                                    integer, intent(out) imo,
                                    integer, intent(out) idy,
                                    integer, intent(out) ihr,
                                    integer, intent(out) imi,
                                    integer, intent(out) iret 
                                    )
                                    +
                                    + +

                                    Read the tank receipt time (if one exists) from Section 1 of a BUFR message.

                                    +

                                    This subroutine is similar to subroutine rtrcpt(), except that it operates on a BUFR message passed in via a memory array, whereas rtrcpt() operates on the BUFR message that was read into internal arrays via the most recent call to any of the other message-reading subroutines for a specified Fortran logical unit.

                                    +
                                    Parameters
                                    + + + + + + + + +
                                    mbay- BUFR message
                                    iyr- Tank receipt year
                                    imo- Tank receipt month
                                    idy- Tank receipt day
                                    ihr- Tank receipt hour
                                    imi- Tank receipt minute
                                    iret- return code:
                                      +
                                    • 0 = normal return
                                    • +
                                    • -1 = no tank receipt time exists within mbay
                                    • +
                                    +
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2013-10-07
                                    + +

                                    Definition at line 113 of file tankrcpt.F90.

                                    + +

                                    References iupb(), iupbs01(), and x48().

                                    + +

                                    Referenced by fdebufr_c(), and rtrcpt().

                                    + +
                                    +
                                    + +

                                    ◆ strcpt()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    recursive subroutine strcpt (character*1, intent(in) cf,
                                    integer, intent(in) iyr,
                                    integer, intent(in) imo,
                                    integer, intent(in) idy,
                                    integer, intent(in) ihr,
                                    integer, intent(in) imi 
                                    )
                                    +
                                    + +

                                    Specify a tank receipt time to be included within Section 1 of all BUFR messages output by future calls to message-writing subroutines and subset-writing subroutines.

                                    +

                                    This subroutine can be called at any time after the first call to subroutine openbf(), and the specified value for cf will remain in effect for all future calls to message-writing subroutines and subset-writing subroutines, for all Fortran logical units that are open for output within the application program, unless a subsequent call is made to this subroutine to reset the value of cf again. If this subroutine is never called, a default value of 'N' is used for cf, as set within module moda_tnkrcp.

                                    +

                                    Whenever this subroutine is called with cf = 'N', the values in iyr, imo, idy, ihr, and imi are ignored.

                                    +
                                    Remarks
                                      +
                                    • Tank receipt time is an NCEP extension to Section 1 of the official WMO BUFR regulations. However, it's encoded by the NCEPLIBS-bufr software in such a way that its inclusion within an output BUFR message is still fully compliant with the regulations.
                                    • +
                                    +
                                    +
                                    Parameters
                                    + + + + + + + +
                                    cf- Flag indicating whether future BUFR output messages should include the tank receipt time defined by iyr, imo, idy, ihr, and imi:
                                      +
                                    • 'N' = No (the default)
                                    • +
                                    • 'Y' = Yes
                                    • +
                                    +
                                    iyr- Tank receipt year
                                    imo- Tank receipt month
                                    idy- Tank receipt day
                                    ihr- Tank receipt hour
                                    imi- Tank receipt minute
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2009-03-23
                                    + +

                                    Definition at line 257 of file tankrcpt.F90.

                                    + +

                                    References bort(), capit(), moda_tnkrcp::ctrt, moda_tnkrcp::itrdy, moda_tnkrcp::itrhr, moda_tnkrcp::itrmi, moda_tnkrcp::itrmo, moda_tnkrcp::itryr, and x84().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/tankrcpt_8F90.js b/tankrcpt_8F90.js new file mode 100644 index 000000000..27e0357c9 --- /dev/null +++ b/tankrcpt_8F90.js @@ -0,0 +1,7 @@ +var tankrcpt_8F90 = +[ + [ "atrcpt", "tankrcpt_8F90.html#adca31c0fc592e5bf04c10572b26c85b1", null ], + [ "rtrcpt", "tankrcpt_8F90.html#a5d6fa241d34622347252bf41b73d8610", null ], + [ "rtrcptb", "tankrcpt_8F90.html#a9ae992beefc572ef3ae02a330b221ffa", null ], + [ "strcpt", "tankrcpt_8F90.html#a24ba916e2d398ca162381b0d8b3f54fe", null ] +]; \ No newline at end of file diff --git a/tankrcpt_8F90_source.html b/tankrcpt_8F90_source.html new file mode 100644 index 000000000..0804cfcb8 --- /dev/null +++ b/tankrcpt_8F90_source.html @@ -0,0 +1,344 @@ + + + + + + + +NCEPLIBS-bufr: tankrcpt.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    tankrcpt.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    4 
                                    +
                                    23 recursive subroutine atrcpt(msgin,lmsgot,msgot)
                                    +
                                    24 
                                    +
                                    25  use modv_vars, only: im8b, nbytw
                                    +
                                    26 
                                    +
                                    27  use moda_tnkrcp
                                    +
                                    28 
                                    +
                                    29  implicit none
                                    +
                                    30 
                                    +
                                    31  integer, intent(in) :: msgin(*), lmsgot
                                    +
                                    32  integer, intent(out) :: msgot(*)
                                    +
                                    33  integer my_lmsgot, len0, len1, l2, l3, l4, l5, iad1, iad2, lenm, lenmot, len1ot, ibit, iupbs01
                                    +
                                    34 
                                    +
                                    35  ! Check for I8 integers.
                                    +
                                    36 
                                    +
                                    37  if(im8b) then
                                    +
                                    38  im8b=.false.
                                    +
                                    39 
                                    +
                                    40  call x84 ( lmsgot, my_lmsgot, 1 )
                                    +
                                    41  call atrcpt ( msgin, my_lmsgot*2, msgot )
                                    +
                                    42 
                                    +
                                    43  im8b=.true.
                                    +
                                    44  return
                                    +
                                    45  endif
                                    +
                                    46 
                                    +
                                    47  ! Get some section lengths and addresses from the input message.
                                    +
                                    48 
                                    +
                                    49  call getlens(msgin,1,len0,len1,l2,l3,l4,l5)
                                    +
                                    50 
                                    +
                                    51  iad1 = len0
                                    +
                                    52  iad2 = iad1 + len1
                                    +
                                    53 
                                    +
                                    54  lenm = iupbs01(msgin,'LENM')
                                    +
                                    55 
                                    +
                                    56  ! Check for overflow of the output array. Note that the new message will be 6 bytes longer than the input message.
                                    +
                                    57 
                                    +
                                    58  lenmot = lenm + 6
                                    +
                                    59  if(lenmot>(lmsgot*nbytw)) &
                                    +
                                    60  call bort('BUFRLIB: ATRCPT - OVERFLOW OF OUTPUT MESSAGE ARRAY; TRY A LARGER DIMENSION FOR THIS ARRAY')
                                    +
                                    61 
                                    +
                                    62  len1ot = len1 + 6
                                    +
                                    63 
                                    +
                                    64  ! Write Section 0 of the new message into the output array.
                                    +
                                    65 
                                    +
                                    66  call mvb ( msgin, 1, msgot, 1, 4 )
                                    +
                                    67  ibit = 32
                                    +
                                    68  call pkb ( lenmot, 24, msgot, ibit )
                                    +
                                    69  call mvb ( msgin, 8, msgot, 8, 1 )
                                    +
                                    70 
                                    +
                                    71  ! Store the length of the new Section 1.
                                    +
                                    72 
                                    +
                                    73  ibit = iad1*8
                                    +
                                    74  call pkb ( len1ot, 24, msgot, ibit )
                                    +
                                    75 
                                    +
                                    76  ! Copy the remainder of Section 1 from the input array to the output array.
                                    +
                                    77 
                                    +
                                    78  call mvb ( msgin, iad1+4, msgot, (ibit/8)+1, len1-3 )
                                    +
                                    79 
                                    +
                                    80  ! Append the tank receipt time data to the new Section 1.
                                    +
                                    81 
                                    +
                                    82  ibit = iad2*8
                                    +
                                    83  call pkb ( itryr, 16, msgot, ibit )
                                    +
                                    84  call pkb ( itrmo, 8, msgot, ibit )
                                    +
                                    85  call pkb ( itrdy, 8, msgot, ibit )
                                    +
                                    86  call pkb ( itrhr, 8, msgot, ibit )
                                    +
                                    87  call pkb ( itrmi, 8, msgot, ibit )
                                    +
                                    88 
                                    +
                                    89  ! Copy Sections 2, 3, 4 and 5 from the input array to the output array.
                                    +
                                    90 
                                    +
                                    91  call mvb ( msgin, iad2+1, msgot, (ibit/8)+1, lenm-iad2 )
                                    +
                                    92 
                                    +
                                    93  return
                                    +
                                    94 end subroutine atrcpt
                                    +
                                    95 
                                    +
                                    113 recursive subroutine rtrcptb(mbay,iyr,imo,idy,ihr,imi,iret)
                                    +
                                    114 
                                    +
                                    115  use modv_vars, only: im8b
                                    +
                                    116 
                                    +
                                    117  implicit none
                                    +
                                    118 
                                    +
                                    119  integer, intent(in) :: mbay(*)
                                    +
                                    120  integer, intent(out) :: iyr, imo, idy, ihr, imi, iret
                                    +
                                    121  integer is1byt, imgbyt, iupbs01, iupb
                                    +
                                    122 
                                    +
                                    123  ! Check for I8 integers.
                                    +
                                    124 
                                    +
                                    125  if(im8b) then
                                    +
                                    126  im8b=.false.
                                    +
                                    127 
                                    +
                                    128  call rtrcptb(mbay,iyr,imo,idy,ihr,imi,iret)
                                    +
                                    129  call x48(iyr,iyr,1)
                                    +
                                    130  call x48(imo,imo,1)
                                    +
                                    131  call x48(idy,idy,1)
                                    +
                                    132  call x48(ihr,ihr,1)
                                    +
                                    133  call x48(imi,imi,1)
                                    +
                                    134  call x48(iret,iret,1)
                                    +
                                    135 
                                    +
                                    136  im8b=.true.
                                    +
                                    137  return
                                    +
                                    138  endif
                                    +
                                    139 
                                    +
                                    140  iret = -1
                                    +
                                    141 
                                    +
                                    142  ! Check whether the message contains a tank receipt time.
                                    +
                                    143 
                                    +
                                    144  if(iupbs01(mbay,'BEN')==4) then
                                    +
                                    145  is1byt = 23
                                    +
                                    146  else
                                    +
                                    147  is1byt = 19
                                    +
                                    148  endif
                                    +
                                    149  if( (is1byt+5) > iupbs01(mbay,'LEN1') ) return
                                    +
                                    150 
                                    +
                                    151  ! Unpack the tank receipt time.
                                    +
                                    152 
                                    +
                                    153  ! Note that is1byt is a starting byte number relative to the beginning of Section 1, so we still need to account for
                                    +
                                    154  ! Section 0 when specifying the actual byte numbers to unpack within the overall message.
                                    +
                                    155 
                                    +
                                    156  imgbyt = is1byt + iupbs01(mbay,'LEN0')
                                    +
                                    157 
                                    +
                                    158  iyr = iupb(mbay,imgbyt,16)
                                    +
                                    159  imo = iupb(mbay,imgbyt+2,8)
                                    +
                                    160  idy = iupb(mbay,imgbyt+3,8)
                                    +
                                    161  ihr = iupb(mbay,imgbyt+4,8)
                                    +
                                    162  imi = iupb(mbay,imgbyt+5,8)
                                    +
                                    163 
                                    +
                                    164  iret = 0
                                    +
                                    165 
                                    +
                                    166  return
                                    +
                                    167 end subroutine rtrcptb
                                    +
                                    168 
                                    +
                                    186 recursive subroutine rtrcpt(lunit,iyr,imo,idy,ihr,imi,iret)
                                    +
                                    187 
                                    +
                                    188  use modv_vars, only: im8b
                                    +
                                    189 
                                    +
                                    190  use moda_bitbuf
                                    +
                                    191 
                                    +
                                    192  implicit none
                                    +
                                    193 
                                    +
                                    194  integer, intent(in) :: lunit
                                    +
                                    195  integer, intent(out) :: iyr, imo, idy, ihr, imi, iret
                                    +
                                    196  integer my_lunit, lun, il, im
                                    +
                                    197 
                                    +
                                    198  ! Check for I8 integers.
                                    +
                                    199 
                                    +
                                    200  if(im8b) then
                                    +
                                    201  im8b=.false.
                                    +
                                    202 
                                    +
                                    203  call x84(lunit,my_lunit,1)
                                    +
                                    204  call rtrcpt(my_lunit,iyr,imo,idy,ihr,imi,iret)
                                    +
                                    205  call x48(iyr,iyr,1)
                                    +
                                    206  call x48(imo,imo,1)
                                    +
                                    207  call x48(idy,idy,1)
                                    +
                                    208  call x48(ihr,ihr,1)
                                    +
                                    209  call x48(imi,imi,1)
                                    +
                                    210  call x48(iret,iret,1)
                                    +
                                    211 
                                    +
                                    212  im8b=.true.
                                    +
                                    213  return
                                    +
                                    214  endif
                                    +
                                    215 
                                    +
                                    216  ! Check the file status.
                                    +
                                    217 
                                    +
                                    218  call status(lunit,lun,il,im)
                                    +
                                    219  if(il==0) call bort('BUFRLIB: RTRCPT - INPUT BUFR FILE IS CLOSED; IT MUST BE OPEN FOR INPUT')
                                    +
                                    220  if(il>0) call bort('BUFRLIB: RTRCPT - INPUT BUFR FILE IS OPEN FOR OUTPUT; IT MUST BE OPEN FOR INPUT')
                                    +
                                    221  if(im==0) call bort('BUFRLIB: RTRCPT - A MESSAGE MUST BE OPEN IN INPUT BUFR FILE; NONE ARE')
                                    +
                                    222 
                                    +
                                    223  ! Unpack the tank receipt time.
                                    +
                                    224 
                                    +
                                    225  call rtrcptb(mbay(1,lun),iyr,imo,idy,ihr,imi,iret)
                                    +
                                    226 
                                    +
                                    227  return
                                    +
                                    228 end subroutine rtrcpt
                                    +
                                    229 
                                    +
                                    257 recursive subroutine strcpt(cf,iyr,imo,idy,ihr,imi)
                                    +
                                    258 
                                    +
                                    259  use modv_vars, only: im8b
                                    +
                                    260 
                                    +
                                    261  use moda_tnkrcp
                                    +
                                    262 
                                    +
                                    263  implicit none
                                    +
                                    264 
                                    +
                                    265  character*1, intent(in) :: cf
                                    +
                                    266  character*128 bort_str
                                    +
                                    267 
                                    +
                                    268  integer, intent(in) :: iyr, imo, idy, ihr, imi
                                    +
                                    269  integer my_iyr, my_imo, my_idy, my_ihr, my_imi
                                    +
                                    270 
                                    +
                                    271  ! Check for I8 integers
                                    +
                                    272 
                                    +
                                    273  if(im8b) then
                                    +
                                    274  im8b=.false.
                                    +
                                    275 
                                    +
                                    276  call x84(iyr,my_iyr,1)
                                    +
                                    277  call x84(imo,my_imo,1)
                                    +
                                    278  call x84(idy,my_idy,1)
                                    +
                                    279  call x84(ihr,my_ihr,1)
                                    +
                                    280  call x84(imi,my_imi,1)
                                    +
                                    281  call strcpt(cf,my_iyr,my_imo,my_idy,my_ihr,my_imi)
                                    +
                                    282 
                                    +
                                    283  im8b=.true.
                                    +
                                    284  return
                                    +
                                    285  endif
                                    +
                                    286 
                                    +
                                    287  call capit(cf)
                                    +
                                    288  if(cf/='Y' .and. cf/='N') then
                                    +
                                    289  write(bort_str,'("BUFRLIB: STRCPT - INPUT ARGUMENT IS ",A1,", IT MUST BE EITHER Y OR N")') cf
                                    +
                                    290  call bort(bort_str)
                                    +
                                    291  endif
                                    +
                                    292 
                                    +
                                    293  ctrt = cf
                                    +
                                    294  if(ctrt=='Y') then
                                    +
                                    295  itryr = iyr
                                    +
                                    296  itrmo = imo
                                    +
                                    297  itrdy = idy
                                    +
                                    298  itrhr = ihr
                                    +
                                    299  itrmi = imi
                                    +
                                    300  endif
                                    +
                                    301 
                                    +
                                    302  return
                                    +
                                    303 end subroutine strcpt
                                    +
                                    subroutine bort(str)
                                    Log an error message, then abort the application program.
                                    Definition: borts.F90:15
                                    +
                                    recursive integer function iupb(mbay, nbyt, nbit)
                                    Decode an integer value from within a specified number of bits of an integer array,...
                                    Definition: cidecode.F90:226
                                    +
                                    subroutine pkb(nval, nbits, ibay, ibit)
                                    Encode an integer value within a specified number of bits of an integer array, starting at the bit im...
                                    Definition: ciencode.F90:140
                                    +
                                    subroutine mvb(ib1, nb1, ib2, nb2, nbm)
                                    Copy a specified number of bytes from one packed binary array to another.
                                    Definition: copydata.F90:731
                                    +
                                    subroutine capit(str)
                                    Capitalize all of the alphabetic characters in a string.
                                    Definition: misc.F90:355
                                    +
                                    Declare arrays and variables used to store BUFR messages internally for multiple file IDs.
                                    +
                                    integer, dimension(:,:), allocatable mbay
                                    Current BUFR message for each file ID.
                                    +
                                    Declare variables used to store tank receipt time information within Section 1 of BUFR messages.
                                    +
                                    integer itrhr
                                    Tank receipt hour.
                                    +
                                    integer itryr
                                    Tank receipt year.
                                    +
                                    integer itrdy
                                    Tank receipt day.
                                    +
                                    character *1 ctrt
                                    Flag indicating whether tank receipt times are to be included within output BUFR messages; this varia...
                                    +
                                    integer itrmi
                                    Tank receipt minute.
                                    +
                                    integer itrmo
                                    Tank receipt month.
                                    +
                                    recursive subroutine status(lunit, lun, il, im)
                                    Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
                                    +
                                    recursive subroutine getlens(mbay, ll, len0, len1, len2, len3, len4, len5)
                                    Read the section lengths of a BUFR message, up to a specified point in the message.
                                    +
                                    recursive integer function iupbs01(mbay, s01mnem)
                                    Read a specified value from within Section 0 or Section 1 of a BUFR message.
                                    Definition: s013vals.F90:247
                                    +
                                    recursive subroutine strcpt(cf, iyr, imo, idy, ihr, imi)
                                    Specify a tank receipt time to be included within Section 1 of all BUFR messages output by future cal...
                                    Definition: tankrcpt.F90:258
                                    +
                                    recursive subroutine rtrcpt(lunit, iyr, imo, idy, ihr, imi, iret)
                                    Read the tank receipt time (if one exists) from Section 1 of a BUFR message.
                                    Definition: tankrcpt.F90:187
                                    +
                                    recursive subroutine rtrcptb(mbay, iyr, imo, idy, ihr, imi, iret)
                                    Read the tank receipt time (if one exists) from Section 1 of a BUFR message.
                                    Definition: tankrcpt.F90:114
                                    +
                                    recursive subroutine atrcpt(msgin, lmsgot, msgot)
                                    Read an input message and output an equivalent BUFR message with a tank receipt time added to Section...
                                    Definition: tankrcpt.F90:24
                                    +
                                    subroutine x48(iin4, iout8, nval)
                                    Encode one or more 4-byte integer values as 8-byte integer values.
                                    Definition: x4884.F90:18
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/x4884_8F90.html b/x4884_8F90.html new file mode 100644 index 000000000..731339c8e --- /dev/null +++ b/x4884_8F90.html @@ -0,0 +1,263 @@ + + + + + + + +NCEPLIBS-bufr: x4884.F90 File Reference + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    + +
                                    +
                                    x4884.F90 File Reference
                                    +
                                    +
                                    + +

                                    Convert between 4-byte integers and 8-byte integers. +More...

                                    + +

                                    Go to the source code of this file.

                                    + + + + + + + + + + + +

                                    +Functions/Subroutines

                                    subroutine setim8b (int8b)
                                     Specify whether all integer arguments to NCEPLIBS-bufr subprograms from Fortran will use 8-byte integers. More...
                                     
                                    subroutine x48 (iin4, iout8, nval)
                                     Encode one or more 4-byte integer values as 8-byte integer values. More...
                                     
                                    subroutine x84 (iin8, iout4, nval)
                                     Encode one or more 8-byte integer values as 4-byte integer values. More...
                                     
                                    +

                                    Detailed Description

                                    +

                                    Convert between 4-byte integers and 8-byte integers.

                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2022-10-12
                                    + +

                                    Definition in file x4884.F90.

                                    +

                                    Function/Subroutine Documentation

                                    + +

                                    ◆ setim8b()

                                    + +
                                    +
                                    + + + + + + + + +
                                    subroutine setim8b (logical, intent(in) int8b)
                                    +
                                    + +

                                    Specify whether all integer arguments to NCEPLIBS-bufr subprograms from Fortran will use 8-byte integers.

                                    +

                                    The default value is .false., meaning that if this subroutine is never called, then the NCEPLIBS-bufr will expect that all future calls from the application program will use 4-byte integer arguments. Otherwise, the specification in any call to this subroutine remains in effect unless and until it is overridden by a subsequent future call to this same subroutine.

                                    +
                                    Parameters
                                    + + +
                                    int8b- .true. iff 8-byte integers will be used for all integer arguments passed to and from all future calls to NCEPLIBS-bufr subprograms from within the application program
                                    +
                                    +
                                    +
                                    Author
                                    J. Ator
                                    +
                                    Date
                                    2022-09-01
                                    + +

                                    Definition at line 106 of file x4884.F90.

                                    + +
                                    +
                                    + +

                                    ◆ x48()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine x48 (integer, dimension(*), intent(in) iin4,
                                    integer, dimension(*), intent(out) iout8,
                                    integer, intent(in) nval 
                                    )
                                    +
                                    + +

                                    Encode one or more 4-byte integer values as 8-byte integer values.

                                    +
                                    Note
                                    iin4 and iout8 may be the same array, as long as the underlying memory contains sufficient space for the equivalent number of 8-byte integer values.
                                    +
                                    Parameters
                                    + + + + +
                                    iin4- Value(s) encoded as 4-byte integers
                                    iout8- Value(s) from iin4 now re-encoded as 8-byte integers
                                    nval- Number of values in iin4 to be re-encoded
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2022-10-12
                                    + +

                                    Definition at line 17 of file x4884.F90.

                                    + +

                                    References mvb().

                                    + +

                                    Referenced by copysb(), datebf(), dumpbf(), fortran_close(), fortran_open(), getabdb(), getcfmng(), getlens(), gets1loc(), gettagpr(), gettagre(), igetdate(), ireadmg(), ireadmm(), ireadns(), mesgbc(), mesgbf(), nemdefs(), nemspecs(), openbt(), rdmemm(), rdmems(), readerme(), readmg(), readmm(), readns(), readsb(), rtrcpt(), rtrcptb(), setvalnb(), status(), strnum(), ufbcnt(), ufbevn(), ufbget(), ufbin3(), ufbint(), ufbinx(), ufbmem(), ufbmex(), ufbmms(), ufbmns(), ufbovr(), ufbpos(), ufbqcd(), ufbrep(), ufbrms(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), upds3(), upftbv(), and writsa().

                                    + +
                                    +
                                    + +

                                    ◆ x84()

                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + +
                                    subroutine x84 (integer, dimension(*), intent(in) iin8,
                                    integer, dimension(*), intent(out) iout4,
                                    integer, intent(in) nval 
                                    )
                                    +
                                    + +

                                    Encode one or more 8-byte integer values as 4-byte integer values.

                                    +
                                    Note
                                    iin8 and iout4 may be the same array.
                                    +
                                    Parameters
                                    + + + + +
                                    iin8- Value(s) encoded as 8-byte integers
                                    iout4- Value(s) from iin8 now re-encoded as 4-byte integers
                                    nval- Number of values in iin8 to be re-encoded
                                    +
                                    +
                                    +
                                    Author
                                    J. Woollen
                                    +
                                    Date
                                    2022-10-12
                                    + +

                                    Definition at line 64 of file x4884.F90.

                                    + +

                                    References mvb().

                                    + +

                                    Referenced by atrcpt(), closbf(), closmg(), cnved4(), copybf(), copymg(), copysb(), cpymem(), datebf(), datelen(), drfini(), dumpbf(), dxdump(), fortran_close(), fortran_open(), getabdb(), getcfmng(), getlens(), gets1loc(), gettagpr(), gettagre(), getvalnb(), hold4wlc(), i4dy(), icbfms(), icopysb(), ifbget(), igetsc(), invmrg(), ipkm(), ireadmg(), ireadmm(), ireadns(), ireadsb(), isetprm(), iupb(), iupm(), iupvs01(), lcmgdf(), maxout(), mesgbc(), mesgbf(), minimg(), mtinfo(), nemdefs(), nemspecs(), nmsub(), openbf(), openbt(), openmb(), openmg(), pkbs1(), pkftbv(), pkvs01(), rdmemm(), rdmems(), rdmgsb(), readerme(), readlc(), readmg(), readmm(), readns(), readsb(), rtrcpt(), setblock(), setvalnb(), status(), stndrd(), strcpt(), ufbcnt(), ufbcpy(), ufbcup(), ufbdmp(), ufbevn(), ufbget(), ufbin3(), ufbint(), ufbinx(), ufbmem(), ufbmex(), ufbmms(), ufbmns(), ufbovr(), ufbpos(), ufbqcd(), ufbqcp(), ufbrep(), ufbrms(), ufbseq(), ufbstp(), ufbtab(), ufbtam(), ufdump(), upds3(), upftbv(), wrdxtb(), writcp(), writlc(), writsa(), and writsb().

                                    + +
                                    +
                                    +
                                    +
                                    + + + + diff --git a/x4884_8F90.js b/x4884_8F90.js new file mode 100644 index 000000000..cd15b640c --- /dev/null +++ b/x4884_8F90.js @@ -0,0 +1,6 @@ +var x4884_8F90 = +[ + [ "setim8b", "x4884_8F90.html#a156e77d86141acd042efd97146dd18cf", null ], + [ "x48", "x4884_8F90.html#a5b19b8932da48639e6bcaeefc4d03bfb", null ], + [ "x84", "x4884_8F90.html#aa1e012dbd8da45797592cc65a399d71d", null ] +]; \ No newline at end of file diff --git a/x4884_8F90_source.html b/x4884_8F90_source.html new file mode 100644 index 000000000..f8152d506 --- /dev/null +++ b/x4884_8F90_source.html @@ -0,0 +1,182 @@ + + + + + + + +NCEPLIBS-bufr: x4884.F90 Source File + + + + + + + + + + + + + +
                                    +
                                    + + + + + + +
                                    +
                                    NCEPLIBS-bufr +  12.1.0 +
                                    +
                                    +
                                    + + + + + + + +
                                    +
                                    + +
                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    + + +
                                    + +
                                    + +
                                    +
                                    +
                                    x4884.F90
                                    +
                                    +
                                    +Go to the documentation of this file.
                                    1 
                                    +
                                    5 
                                    +
                                    17 subroutine x48(iin4,iout8,nval)
                                    +
                                    18 
                                    +
                                    19  implicit none
                                    +
                                    20 
                                    +
                                    21  integer, intent(in) :: iin4(*), nval
                                    +
                                    22  integer, intent(out) :: iout8(*)
                                    +
                                    23 
                                    +
                                    24  integer, parameter :: zero = 0, ones = -1
                                    +
                                    25 
                                    +
                                    26  integer k, l, itmp, ilo, ihi
                                    +
                                    27 
                                    +
                                    28  ! ihi points to the first byte of the high-order (i.e. most significant) 4-byte integer word within an 8-byte integer word.
                                    +
                                    29  ! ilo points to the first byte of the low-order (i.e. least significant) 4-byte integer word within an 8-byte integer word.
                                    +
                                    30 
                                    +
                                    31 #ifdef BIG_ENDIAN
                                    +
                                    32  ihi=1
                                    +
                                    33  ilo=5
                                    +
                                    34 #else
                                    +
                                    35  ihi=5
                                    +
                                    36  ilo=1
                                    +
                                    37 #endif
                                    +
                                    38 
                                    +
                                    39  ! Re-encode the 4-byte values as 8-byte values.
                                    +
                                    40 
                                    +
                                    41  do k = nval,1,-1
                                    +
                                    42  l=2*k-1
                                    +
                                    43  call mvb(iin4(k),1,itmp,ilo,4)
                                    +
                                    44  iout8(l)=itmp
                                    +
                                    45  if(iout8(l)<0) then
                                    +
                                    46  call mvb(ones,1,iout8(l),ihi,4)
                                    +
                                    47  else
                                    +
                                    48  call mvb(zero,1,iout8(l),ihi,4)
                                    +
                                    49  endif
                                    +
                                    50  enddo
                                    +
                                    51 
                                    +
                                    52  return
                                    +
                                    53 end subroutine x48
                                    +
                                    54 
                                    +
                                    64 subroutine x84(iin8,iout4,nval)
                                    +
                                    65  implicit none
                                    +
                                    66 
                                    +
                                    67  integer, intent(in) :: iin8(*), nval
                                    +
                                    68  integer, intent(out) :: iout4(*)
                                    +
                                    69 
                                    +
                                    70  integer k, l, itmp, ilo
                                    +
                                    71 
                                    +
                                    72  ! ilo points to the first byte of the low-order (i.e. least significant) 4-byte integer word within an 8-byte integer word.
                                    +
                                    73 
                                    +
                                    74 #ifdef BIG_ENDIAN
                                    +
                                    75  ilo=5
                                    +
                                    76 #else
                                    +
                                    77  ilo=1
                                    +
                                    78 #endif
                                    +
                                    79 
                                    +
                                    80  ! Re-encode the 8-byte values as 4-byte values.
                                    +
                                    81 
                                    +
                                    82  do k = 1, nval
                                    +
                                    83  l=2*k-1
                                    +
                                    84  call mvb(iin8(l),ilo,itmp,1,4)
                                    +
                                    85  iout4(k)=itmp
                                    +
                                    86  enddo
                                    +
                                    87 
                                    +
                                    88  return
                                    +
                                    89 end subroutine x84
                                    +
                                    90 
                                    +
                                    106 subroutine setim8b ( int8b )
                                    +
                                    107 
                                    +
                                    108  use modv_vars, only: im8b
                                    +
                                    109 
                                    +
                                    110  implicit none
                                    +
                                    111 
                                    +
                                    112  logical, intent(in) :: int8b
                                    +
                                    113 
                                    +
                                    114  im8b = int8b
                                    +
                                    115 
                                    +
                                    116 return
                                    +
                                    117 end subroutine setim8b
                                    +
                                    subroutine mvb(ib1, nb1, ib2, nb2, nbm)
                                    Copy a specified number of bytes from one packed binary array to another.
                                    Definition: copydata.F90:731
                                    +
                                    subroutine setim8b(int8b)
                                    Specify whether all integer arguments to NCEPLIBS-bufr subprograms from Fortran will use 8-byte integ...
                                    Definition: x4884.F90:107
                                    +
                                    subroutine x48(iin4, iout8, nval)
                                    Encode one or more 4-byte integer values as 8-byte integer values.
                                    Definition: x4884.F90:18
                                    +
                                    subroutine x84(iin8, iout4, nval)
                                    Encode one or more 8-byte integer values as 4-byte integer values.
                                    Definition: x4884.F90:65
                                    +
                                    +
                                    + + + + diff --git a/xbfmg_8c.html b/xbfmg_8c.html index 393e494dd..64d5e4548 100644 --- a/xbfmg_8c.html +++ b/xbfmg_8c.html @@ -26,7 +26,7 @@
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0
                                    @@ -97,7 +97,7 @@ #include <libgen.h>
                                    #include <unistd.h>
                                    #include <sys/stat.h>
                                    -#include "bufrlib.h"
                                    +#include "bufr_interface.h"

                                    Go to the source code of this file.

                                    @@ -189,7 +189,7 @@

                                    Definition at line 95 of file xbfmg.c.

                                    -

                                    References bvers_f(), iupb_f(), moda_bufrmg::msglen, prtusage(), VERS_STR_LEN, and wrdlen_f().

                                    +

                                    References bvers_f(), iupbs01_f(), moda_bufrmg::msglen, prtusage(), and VERS_STR_LEN.

                                    diff --git a/xbfmg_8c_source.html b/xbfmg_8c_source.html index 97a1e5186..791c8cf5c 100644 --- a/xbfmg_8c_source.html +++ b/xbfmg_8c_source.html @@ -26,7 +26,7 @@

                                    @@ -94,7 +94,7 @@
                                    11 #include <unistd.h>
                                    12 #include <sys/stat.h>
                                    13 
                                    -
                                    14 #include "bufrlib.h"
                                    +
                                    14 #include "bufr_interface.h"
                                    15 
                                    23 void prtusage( char *prgnam ) {
                                    24  printf( "\nUSAGE: %s [-v] [-h] [-g] bufrfile\n\n", prgnam );
                                    @@ -130,13 +130,13 @@
                                    102 
                                    103  char *outfile, *outfile_temp;
                                    104 
                                    -
                                    105  char bvstr[VERS_STR_LEN+1];
                                    +
                                    105  char bvstr[VERS_STR_LEN+1];
                                    106 
                                    107  int ch;
                                    108 
                                    109  FILE *fp;
                                    110 
                                    -
                                    111  int msglen, wkint;
                                    +
                                    111  int msglen, wkint[2];
                                    112 
                                    113  unsigned long i, filesize, noutfile;
                                    114 
                                    @@ -146,8 +146,8 @@
                                    118  while ( ( ch = getopt ( argc, argv, "vgh" ) ) != EOF ) {
                                    119  switch ( ch ) {
                                    120  case 'v':
                                    -
                                    121  bvers_f( bvstr, VERS_STR_LEN+1 );
                                    -
                                    122  printf( "This is xbfmg v4.0.0, built with NCEPLIBS-bufr v%s\n", bvstr );
                                    +
                                    121  bvers_f( bvstr, VERS_STR_LEN+1 );
                                    +
                                    122  printf( "This is the xbfmg utility, built with NCEPLIBS-bufr v%s\n", bvstr );
                                    123  return 0;
                                    124  case 'g':
                                    125  save_GTSbull = 1;
                                    @@ -221,95 +221,89 @@
                                    193  }
                                    194 
                                    195  /*
                                    -
                                    196  ** Call wrdlen function to initialize NCEPLIBS-bufr and determine machine endianness.
                                    -
                                    197  */
                                    -
                                    198  wrdlen_f( );
                                    -
                                    199 
                                    -
                                    200  /*
                                    -
                                    201  ** Locate each BUFR message within the input file and write each one to a separate output file.
                                    -
                                    202  **
                                    -
                                    203  ** Note that we can't use the intrinsic C strstr function to locate the "BUFR" and "7777"
                                    -
                                    204  ** strings within the file, because the file could contain embedded NULL characters.
                                    -
                                    205  */
                                    -
                                    206  noutfile = 0;
                                    -
                                    207  pmsg = psb = pc;
                                    -
                                    208  while ( 1 ) {
                                    -
                                    209  while ( ( ( pmsg - pc + 4 ) < filesize ) &&
                                    -
                                    210  ( ( *(pmsg) != 'B' ) ||
                                    -
                                    211  ( *(pmsg + 1) != 'U' ) ||
                                    -
                                    212  ( *(pmsg + 2) != 'F' ) ||
                                    -
                                    213  ( *(pmsg + 3) != 'R' ) ) ) {
                                    -
                                    214  if ( *pmsg == '\x01' ) psb = pmsg;
                                    -
                                    215  pmsg++;
                                    -
                                    216  }
                                    -
                                    217  if ( ( pmsg - pc + 4 ) >= filesize ) {
                                    -
                                    218  free( pc );
                                    -
                                    219  free( outfile_temp );
                                    -
                                    220  free( outfile );
                                    -
                                    221  return 0;
                                    -
                                    222  }
                                    -
                                    223 
                                    -
                                    224  /*
                                    -
                                    225  ** Open a new output file for this message.
                                    -
                                    226  */
                                    -
                                    227  sprintf( outfile, "%s.%06lu", outfile_temp, ++noutfile );
                                    -
                                    228  if ( ( fp = fopen( outfile, "wb" ) ) == NULL ) {
                                    -
                                    229  printf( "\nERROR: Could not open output file %s!\n", outfile );
                                    -
                                    230  return -1;
                                    -
                                    231  }
                                    -
                                    232 
                                    -
                                    233  /*
                                    -
                                    234  ** If requested, write the preceding GTS bulletin information to the output file.
                                    -
                                    235  */
                                    -
                                    236  if ( save_GTSbull ) {
                                    -
                                    237  while ( psb < pmsg ) {
                                    -
                                    238  fputc( *psb++, fp );
                                    -
                                    239  }
                                    -
                                    240  }
                                    -
                                    241 
                                    -
                                    242  /*
                                    -
                                    243  ** Read the BUFR message length from Section 0.
                                    -
                                    244  */
                                    -
                                    245  memcpy( &wkint, ( pmsg + 4 ), 3 );
                                    -
                                    246  msglen = iupb_f( &wkint, 1, 24 );
                                    -
                                    247 
                                    -
                                    248  /*
                                    -
                                    249  ** Write the BUFR message to the output file.
                                    -
                                    250  */
                                    -
                                    251  if ( ( pmsg + msglen - pc - 1 ) <= filesize ) {
                                    -
                                    252  for ( i = 1; i <= msglen; i++ ) {
                                    -
                                    253  fputc( *pmsg++, fp );
                                    -
                                    254  }
                                    -
                                    255  }
                                    -
                                    256 
                                    -
                                    257  /*
                                    -
                                    258  ** Make sure that the "7777" indicator is in the expected place.
                                    -
                                    259  */
                                    -
                                    260  if ( ( *(pmsg - 4) != '7' ) || ( *(pmsg - 3) != '7' ) ||
                                    -
                                    261  ( *(pmsg - 2) != '7' ) || ( *(pmsg - 1) != '7' ) ) {
                                    -
                                    262  printf( "\nERROR: Could not find 7777 indicator in output file %s!\n",
                                    -
                                    263  outfile );
                                    -
                                    264  }
                                    -
                                    265 
                                    -
                                    266  /*
                                    -
                                    267  ** If requested, append GTS bulletin tail markers to the output file.
                                    -
                                    268  */
                                    -
                                    269  if ( save_GTSbull ) {
                                    -
                                    270  fputc( '\x0d', fp );
                                    -
                                    271  fputc( '\x0d', fp );
                                    -
                                    272  fputc( '\x0a', fp );
                                    -
                                    273  fputc( '\x03', fp );
                                    -
                                    274  }
                                    -
                                    275 
                                    -
                                    276  fclose( fp );
                                    -
                                    277  }
                                    -
                                    278 }
                                    +
                                    196  ** Locate each BUFR message within the input file and write each one to a separate output file.
                                    +
                                    197  **
                                    +
                                    198  ** Note that we can't use the intrinsic C strstr function to locate the "BUFR" and "7777"
                                    +
                                    199  ** strings within the file, because the file could contain embedded NULL characters.
                                    +
                                    200  */
                                    +
                                    201  noutfile = 0;
                                    +
                                    202  pmsg = psb = pc;
                                    +
                                    203  while ( 1 ) {
                                    +
                                    204  while ( ( ( pmsg - pc + 4 ) < filesize ) &&
                                    +
                                    205  ( ( *(pmsg) != 'B' ) ||
                                    +
                                    206  ( *(pmsg + 1) != 'U' ) ||
                                    +
                                    207  ( *(pmsg + 2) != 'F' ) ||
                                    +
                                    208  ( *(pmsg + 3) != 'R' ) ) ) {
                                    +
                                    209  if ( *pmsg == '\x01' ) psb = pmsg;
                                    +
                                    210  pmsg++;
                                    +
                                    211  }
                                    +
                                    212  if ( ( pmsg - pc + 4 ) >= filesize ) {
                                    +
                                    213  free( pc );
                                    +
                                    214  free( outfile_temp );
                                    +
                                    215  free( outfile );
                                    +
                                    216  return 0;
                                    +
                                    217  }
                                    +
                                    218 
                                    +
                                    219  /*
                                    +
                                    220  ** Open a new output file for this message.
                                    +
                                    221  */
                                    +
                                    222  sprintf( outfile, "%s.%06lu", outfile_temp, ++noutfile );
                                    +
                                    223  if ( ( fp = fopen( outfile, "wb" ) ) == NULL ) {
                                    +
                                    224  printf( "\nERROR: Could not open output file %s!\n", outfile );
                                    +
                                    225  return -1;
                                    +
                                    226  }
                                    +
                                    227 
                                    +
                                    228  /*
                                    +
                                    229  ** If requested, write the preceding GTS bulletin information to the output file.
                                    +
                                    230  */
                                    +
                                    231  if ( save_GTSbull ) {
                                    +
                                    232  while ( psb < pmsg ) {
                                    +
                                    233  fputc( *psb++, fp );
                                    +
                                    234  }
                                    +
                                    235  }
                                    +
                                    236 
                                    +
                                    237  /*
                                    +
                                    238  ** Read the BUFR message length from Section 0.
                                    +
                                    239  */
                                    +
                                    240  memcpy( wkint, pmsg, 8 );
                                    +
                                    241  msglen = iupbs01_f( wkint, "LENM" );
                                    +
                                    242 
                                    +
                                    243  /*
                                    +
                                    244  ** Write the BUFR message to the output file.
                                    +
                                    245  */
                                    +
                                    246  if ( ( pmsg + msglen - pc - 1 ) <= filesize ) {
                                    +
                                    247  for ( i = 1; i <= msglen; i++ ) {
                                    +
                                    248  fputc( *pmsg++, fp );
                                    +
                                    249  }
                                    +
                                    250  }
                                    +
                                    251 
                                    +
                                    252  /*
                                    +
                                    253  ** Make sure that the "7777" indicator is in the expected place.
                                    +
                                    254  */
                                    +
                                    255  if ( ( *(pmsg - 4) != '7' ) || ( *(pmsg - 3) != '7' ) ||
                                    +
                                    256  ( *(pmsg - 2) != '7' ) || ( *(pmsg - 1) != '7' ) ) {
                                    +
                                    257  printf( "\nERROR: Could not find 7777 indicator in output file %s!\n",
                                    +
                                    258  outfile );
                                    +
                                    259  }
                                    +
                                    260 
                                    +
                                    261  /*
                                    +
                                    262  ** If requested, append GTS bulletin tail markers to the output file.
                                    +
                                    263  */
                                    +
                                    264  if ( save_GTSbull ) {
                                    +
                                    265  fputc( '\x0d', fp );
                                    +
                                    266  fputc( '\x0d', fp );
                                    +
                                    267  fputc( '\x0a', fp );
                                    +
                                    268  fputc( '\x03', fp );
                                    +
                                    269  }
                                    +
                                    270 
                                    +
                                    271  fclose( fp );
                                    +
                                    272  }
                                    +
                                    273 }
                                    +
                                    Enable a number of NCEPLIBS-bufr subprograms to be called from within C and C++ application programs.
                                    +
                                    #define VERS_STR_LEN
                                    Size of a character string needed to store a library version number.
                                    +
                                    int iupbs01_f(int *bufr, char *mnemonic)
                                    Read a data value from Section 0 or Section 1 of a BUFR message.
                                    void bvers_f(char *cverstr, int cverstr_len)
                                    Get the version number of the NCEPLIBS-bufr software.
                                    -
                                    Enable a number of NCEPLIBS-bufr subprograms to be called from within the C part of the library.
                                    -
                                    #define VERS_STR_LEN
                                    Size of a character string needed to store a library version number.
                                    Definition: bufrlib.h:72
                                    -
                                    void wrdlen_f(void)
                                    Determine important information about the local machine.
                                    -
                                    int iupb_f(int *mbay, int nbyt, int nbit)
                                    Decode an integer value from an integer array.
                                    -
                                    integer, dimension(:), allocatable msglen
                                    Length (in integers) of BUFR message most recently written to each output I/O stream.
                                    +
                                    integer, dimension(:), allocatable msglen
                                    Length (in integers) of BUFR message most recently written to each output file ID.
                                    int main(int argc, char *argv[])
                                    This program splits a single file containing one or more BUFR messages into one or more BUFR files ea...
                                    Definition: xbfmg.c:95
                                    void prtusage(char *prgnam)
                                    This function prints program usage information to standard output.
                                    Definition: xbfmg.c:23
                                    NCEPLIBS-bufr -  12.0.1 +  12.1.0